@vibesdotdev/storage 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/SPEC.md +60 -0
- package/dist/adapters/index.d.ts +14 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/bridge/index.d.ts +3 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +2 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/storage-kind-bridge.d.ts +27 -0
- package/dist/bridge/storage-kind-bridge.d.ts.map +1 -0
- package/dist/bridge/storage-kind-bridge.js +110 -0
- package/dist/bridge/storage-kind-bridge.js.map +1 -0
- package/dist/bridge/types.d.ts +45 -0
- package/dist/bridge/types.d.ts.map +1 -0
- package/dist/bridge/types.js +8 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.js +18 -0
- package/dist/cli/commands/list/storage.list.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts +11 -0
- package/dist/cli/commands/list/storage.list.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/list/storage.list.cli-command.impl.js +48 -0
- package/dist/cli/commands/list/storage.list.cli-command.impl.js.map +1 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.js +26 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts +13 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js +136 -0
- package/dist/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.js.map +1 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.js +26 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts +13 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js +165 -0
- package/dist/cli/commands/sync/push/storage.sync.push.cli-command.impl.js.map +1 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.js +20 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts +12 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js +95 -0
- package/dist/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.js.map +1 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.js +15 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts +13 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js +150 -0
- package/dist/cli/commands/sync/status/storage.sync.status.cli-command.impl.js.map +1 -0
- package/dist/cli/context.consumer.d.ts +26 -0
- package/dist/cli/context.consumer.d.ts.map +1 -0
- package/dist/cli/context.consumer.js +164 -0
- package/dist/cli/context.consumer.js.map +1 -0
- package/dist/cli/storage.cli-group.descriptor.d.ts +4 -0
- package/dist/cli/storage.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/storage.cli-group.descriptor.js +11 -0
- package/dist/cli/storage.cli-group.descriptor.js.map +1 -0
- package/dist/cli/storage.sync.cli-group.descriptor.d.ts +4 -0
- package/dist/cli/storage.sync.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/storage.sync.cli-group.descriptor.js +12 -0
- package/dist/cli/storage.sync.cli-group.descriptor.js.map +1 -0
- package/dist/cli/types.d.ts +26 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +11 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/client/index.d.ts +10 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +10 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/list-browsable-adapters.d.ts +31 -0
- package/dist/client/list-browsable-adapters.d.ts.map +1 -0
- package/dist/client/list-browsable-adapters.js +40 -0
- package/dist/client/list-browsable-adapters.js.map +1 -0
- package/dist/daemon/commands/sync.d.ts +23 -0
- package/dist/daemon/commands/sync.d.ts.map +1 -0
- package/dist/daemon/commands/sync.js +169 -0
- package/dist/daemon/commands/sync.js.map +1 -0
- package/dist/docs/adapters.docs.descriptor.d.ts +4 -0
- package/dist/docs/adapters.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/adapters.docs.descriptor.js +223 -0
- package/dist/docs/adapters.docs.descriptor.js.map +1 -0
- package/dist/docs/manifests.docs.descriptor.d.ts +4 -0
- package/dist/docs/manifests.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/manifests.docs.descriptor.js +316 -0
- package/dist/docs/manifests.docs.descriptor.js.map +1 -0
- package/dist/docs/records.docs.descriptor.d.ts +4 -0
- package/dist/docs/records.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/records.docs.descriptor.js +269 -0
- package/dist/docs/records.docs.descriptor.js.map +1 -0
- package/dist/docs/sync.docs.descriptor.d.ts +4 -0
- package/dist/docs/sync.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/sync.docs.descriptor.js +279 -0
- package/dist/docs/sync.docs.descriptor.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/adapter.d.ts +382 -0
- package/dist/interfaces/adapter.d.ts.map +1 -0
- package/dist/interfaces/adapter.js +11 -0
- package/dist/interfaces/adapter.js.map +1 -0
- package/dist/interfaces/document-store.d.ts +62 -0
- package/dist/interfaces/document-store.d.ts.map +1 -0
- package/dist/interfaces/document-store.js +8 -0
- package/dist/interfaces/document-store.js.map +1 -0
- package/dist/interfaces/index.d.ts +17 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +24 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/key-value.d.ts +95 -0
- package/dist/interfaces/key-value.d.ts.map +1 -0
- package/dist/interfaces/key-value.js +8 -0
- package/dist/interfaces/key-value.js.map +1 -0
- package/dist/interfaces/query-builder.d.ts +31 -0
- package/dist/interfaces/query-builder.d.ts.map +1 -0
- package/dist/interfaces/query-builder.js +11 -0
- package/dist/interfaces/query-builder.js.map +1 -0
- package/dist/interfaces/record/index.d.ts +7 -0
- package/dist/interfaces/record/index.d.ts.map +1 -0
- package/dist/interfaces/record/index.js +7 -0
- package/dist/interfaces/record/index.js.map +1 -0
- package/dist/interfaces/record/interface.d.ts +593 -0
- package/dist/interfaces/record/interface.d.ts.map +1 -0
- package/dist/interfaces/record/interface.js +49 -0
- package/dist/interfaces/record/interface.js.map +1 -0
- package/dist/interfaces/repository.d.ts +262 -0
- package/dist/interfaces/repository.d.ts.map +1 -0
- package/dist/interfaces/repository.js +8 -0
- package/dist/interfaces/repository.js.map +1 -0
- package/dist/interfaces/schema/index.d.ts +8 -0
- package/dist/interfaces/schema/index.d.ts.map +1 -0
- package/dist/interfaces/schema/index.js +10 -0
- package/dist/interfaces/schema/index.js.map +1 -0
- package/dist/interfaces/schema/schema-interface.d.ts +516 -0
- package/dist/interfaces/schema/schema-interface.d.ts.map +1 -0
- package/dist/interfaces/schema/schema-interface.js +31 -0
- package/dist/interfaces/schema/schema-interface.js.map +1 -0
- package/dist/interfaces/schema/table-interface.d.ts +250 -0
- package/dist/interfaces/schema/table-interface.d.ts.map +1 -0
- package/dist/interfaces/schema/table-interface.js +31 -0
- package/dist/interfaces/schema/table-interface.js.map +1 -0
- package/dist/interfaces/storage-consumer-fs.d.ts +40 -0
- package/dist/interfaces/storage-consumer-fs.d.ts.map +1 -0
- package/dist/interfaces/storage-consumer-fs.js +42 -0
- package/dist/interfaces/storage-consumer-fs.js.map +1 -0
- package/dist/manifest/base.d.ts +187 -0
- package/dist/manifest/base.d.ts.map +1 -0
- package/dist/manifest/base.js +516 -0
- package/dist/manifest/base.js.map +1 -0
- package/dist/manifest/cloud-sync.consumer.d.ts +7 -0
- package/dist/manifest/cloud-sync.consumer.d.ts.map +1 -0
- package/dist/manifest/cloud-sync.consumer.js +82 -0
- package/dist/manifest/cloud-sync.consumer.js.map +1 -0
- package/dist/manifest/index.d.ts +7 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +7 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/source-policy.d.ts +8 -0
- package/dist/manifest/source-policy.d.ts.map +1 -0
- package/dist/manifest/source-policy.js +62 -0
- package/dist/manifest/source-policy.js.map +1 -0
- package/dist/paths.d.ts +6 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +152 -0
- package/dist/paths.js.map +1 -0
- package/dist/policy/context.d.ts +9 -0
- package/dist/policy/context.d.ts.map +1 -0
- package/dist/policy/context.js +29 -0
- package/dist/policy/context.js.map +1 -0
- package/dist/policy/index.d.ts +4 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +4 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/overrides.d.ts +40 -0
- package/dist/policy/overrides.d.ts.map +1 -0
- package/dist/policy/overrides.js +37 -0
- package/dist/policy/overrides.js.map +1 -0
- package/dist/policy/persistence.d.ts +38 -0
- package/dist/policy/persistence.d.ts.map +1 -0
- package/dist/policy/persistence.js +65 -0
- package/dist/policy/persistence.js.map +1 -0
- package/dist/policy/types.d.ts +21 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +7 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/record/base.d.ts +186 -0
- package/dist/record/base.d.ts.map +1 -0
- package/dist/record/base.js +1437 -0
- package/dist/record/base.js.map +1 -0
- package/dist/record/events.d.ts +71 -0
- package/dist/record/events.d.ts.map +1 -0
- package/dist/record/events.js +52 -0
- package/dist/record/events.js.map +1 -0
- package/dist/record/extensions.d.ts +51 -0
- package/dist/record/extensions.d.ts.map +1 -0
- package/dist/record/extensions.js +222 -0
- package/dist/record/extensions.js.map +1 -0
- package/dist/record/index.d.ts +7 -0
- package/dist/record/index.d.ts.map +1 -0
- package/dist/record/index.js +7 -0
- package/dist/record/index.js.map +1 -0
- package/dist/resolver/storage-backed-resolver.d.ts +23 -0
- package/dist/resolver/storage-backed-resolver.d.ts.map +1 -0
- package/dist/resolver/storage-backed-resolver.js +187 -0
- package/dist/resolver/storage-backed-resolver.js.map +1 -0
- package/dist/schemas/adapter-descriptor.d.ts +108 -0
- package/dist/schemas/adapter-descriptor.d.ts.map +1 -0
- package/dist/schemas/adapter-descriptor.js +101 -0
- package/dist/schemas/adapter-descriptor.js.map +1 -0
- package/dist/schemas/index.d.ts +14 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +12 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/manifest-descriptor.d.ts +110 -0
- package/dist/schemas/manifest-descriptor.d.ts.map +1 -0
- package/dist/schemas/manifest-descriptor.js +114 -0
- package/dist/schemas/manifest-descriptor.js.map +1 -0
- package/dist/schemas/record/descriptor.d.ts +570 -0
- package/dist/schemas/record/descriptor.d.ts.map +1 -0
- package/dist/schemas/record/descriptor.js +389 -0
- package/dist/schemas/record/descriptor.js.map +1 -0
- package/dist/schemas/record/index.d.ts +8 -0
- package/dist/schemas/record/index.d.ts.map +1 -0
- package/dist/schemas/record/index.js +7 -0
- package/dist/schemas/record/index.js.map +1 -0
- package/dist/schemas/record/relation.d.ts +36 -0
- package/dist/schemas/record/relation.d.ts.map +1 -0
- package/dist/schemas/record/relation.js +37 -0
- package/dist/schemas/record/relation.js.map +1 -0
- package/dist/schemas/schema/descriptor.d.ts +231 -0
- package/dist/schemas/schema/descriptor.d.ts.map +1 -0
- package/dist/schemas/schema/descriptor.js +205 -0
- package/dist/schemas/schema/descriptor.js.map +1 -0
- package/dist/schemas/schema/index.d.ts +7 -0
- package/dist/schemas/schema/index.d.ts.map +1 -0
- package/dist/schemas/schema/index.js +7 -0
- package/dist/schemas/schema/index.js.map +1 -0
- package/dist/schemas/sync-bridge-descriptor.d.ts +124 -0
- package/dist/schemas/sync-bridge-descriptor.d.ts.map +1 -0
- package/dist/schemas/sync-bridge-descriptor.js +67 -0
- package/dist/schemas/sync-bridge-descriptor.js.map +1 -0
- package/dist/server/manifest-route.d.ts +92 -0
- package/dist/server/manifest-route.d.ts.map +1 -0
- package/dist/server/manifest-route.js +226 -0
- package/dist/server/manifest-route.js.map +1 -0
- package/dist/storage-policy.context.descriptor.d.ts +16 -0
- package/dist/storage-policy.context.descriptor.d.ts.map +1 -0
- package/dist/storage-policy.context.descriptor.js +16 -0
- package/dist/storage-policy.context.descriptor.js.map +1 -0
- package/dist/storage-policy.context.server.d.ts +14 -0
- package/dist/storage-policy.context.server.d.ts.map +1 -0
- package/dist/storage-policy.context.server.js +27 -0
- package/dist/storage-policy.context.server.js.map +1 -0
- package/dist/storage.plugin.d.ts +38 -0
- package/dist/storage.plugin.d.ts.map +1 -0
- package/dist/storage.plugin.js +204 -0
- package/dist/storage.plugin.js.map +1 -0
- package/dist/sync/cloud-pull.d.ts +15 -0
- package/dist/sync/cloud-pull.d.ts.map +1 -0
- package/dist/sync/cloud-pull.js +130 -0
- package/dist/sync/cloud-pull.js.map +1 -0
- package/dist/sync/cloud-record-crud-config.d.ts +19 -0
- package/dist/sync/cloud-record-crud-config.d.ts.map +1 -0
- package/dist/sync/cloud-record-crud-config.js +22 -0
- package/dist/sync/cloud-record-crud-config.js.map +1 -0
- package/dist/sync/record-sync-bridge.d.ts +5 -0
- package/dist/sync/record-sync-bridge.d.ts.map +1 -0
- package/dist/sync/record-sync-bridge.js +121 -0
- package/dist/sync/record-sync-bridge.js.map +1 -0
- package/dist/sync/resolve-sync-target.d.ts +23 -0
- package/dist/sync/resolve-sync-target.d.ts.map +1 -0
- package/dist/sync/resolve-sync-target.js +45 -0
- package/dist/sync/resolve-sync-target.js.map +1 -0
- package/dist/sync/schemas/cloud-pull.d.ts +25 -0
- package/dist/sync/schemas/cloud-pull.d.ts.map +1 -0
- package/dist/sync/schemas/cloud-pull.js +7 -0
- package/dist/sync/schemas/cloud-pull.js.map +1 -0
- package/dist/sync/schemas/index.d.ts +9 -0
- package/dist/sync/schemas/index.d.ts.map +1 -0
- package/dist/sync/schemas/index.js +9 -0
- package/dist/sync/schemas/index.js.map +1 -0
- package/dist/sync/schemas/sync-helpers.d.ts +17 -0
- package/dist/sync/schemas/sync-helpers.d.ts.map +1 -0
- package/dist/sync/schemas/sync-helpers.js +7 -0
- package/dist/sync/schemas/sync-helpers.js.map +1 -0
- package/dist/sync/schemas/sync-state.d.ts +65 -0
- package/dist/sync/schemas/sync-state.d.ts.map +1 -0
- package/dist/sync/schemas/sync-state.js +32 -0
- package/dist/sync/schemas/sync-state.js.map +1 -0
- package/dist/sync/sync-bridge.d.ts +80 -0
- package/dist/sync/sync-bridge.d.ts.map +1 -0
- package/dist/sync/sync-bridge.js +617 -0
- package/dist/sync/sync-bridge.js.map +1 -0
- package/dist/sync/sync-manifest.d.ts +20 -0
- package/dist/sync/sync-manifest.d.ts.map +1 -0
- package/dist/sync/sync-manifest.js +140 -0
- package/dist/sync/sync-manifest.js.map +1 -0
- package/dist/sync/sync-state.consumer.d.ts +23 -0
- package/dist/sync/sync-state.consumer.d.ts.map +1 -0
- package/dist/sync/sync-state.consumer.js +111 -0
- package/dist/sync/sync-state.consumer.js.map +1 -0
- package/dist/transform/index.d.ts +75 -0
- package/dist/transform/index.d.ts.map +1 -0
- package/dist/transform/index.js +81 -0
- package/dist/transform/index.js.map +1 -0
- package/dist/transform/transform-descriptor.d.ts +51 -0
- package/dist/transform/transform-descriptor.d.ts.map +1 -0
- package/dist/transform/transform-descriptor.js +30 -0
- package/dist/transform/transform-descriptor.js.map +1 -0
- package/dist/tui/storage-explorer.descriptor.d.ts +14 -0
- package/dist/tui/storage-explorer.descriptor.d.ts.map +1 -0
- package/dist/tui/storage-explorer.descriptor.js +29 -0
- package/dist/tui/storage-explorer.descriptor.js.map +1 -0
- package/dist/tui/storage-explorer.impl.consumer.d.ts +11 -0
- package/dist/tui/storage-explorer.impl.consumer.d.ts.map +1 -0
- package/dist/tui/storage-explorer.impl.consumer.js +13 -0
- package/dist/tui/storage-explorer.impl.consumer.js.map +1 -0
- package/dist/tui/storage-open.descriptor.d.ts +14 -0
- package/dist/tui/storage-open.descriptor.d.ts.map +1 -0
- package/dist/tui/storage-open.descriptor.js +28 -0
- package/dist/tui/storage-open.descriptor.js.map +1 -0
- package/dist/tui/storage-open.impl.consumer.d.ts +11 -0
- package/dist/tui/storage-open.impl.consumer.d.ts.map +1 -0
- package/dist/tui/storage-open.impl.consumer.js +13 -0
- package/dist/tui/storage-open.impl.consumer.js.map +1 -0
- package/dist/utils/error-context.d.ts +2 -0
- package/dist/utils/error-context.d.ts.map +1 -0
- package/dist/utils/error-context.js +17 -0
- package/dist/utils/error-context.js.map +1 -0
- package/package.json +241 -0
- package/src/adapters/index.ts +13 -0
- package/src/bridge/index.ts +2 -0
- package/src/bridge/storage-kind-bridge.ts +131 -0
- package/src/bridge/types.ts +46 -0
- package/src/cli/commands/list/storage.list.cli-command.descriptor.ts +20 -0
- package/src/cli/commands/list/storage.list.cli-command.impl.ts +72 -0
- package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.descriptor.ts +28 -0
- package/src/cli/commands/sync/pull/storage.sync.pull.cli-command.impl.ts +171 -0
- package/src/cli/commands/sync/push/storage.sync.push.cli-command.descriptor.ts +28 -0
- package/src/cli/commands/sync/push/storage.sync.push.cli-command.impl.ts +213 -0
- package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.ts +22 -0
- package/src/cli/commands/sync/resolve/storage.sync.resolve.cli-command.impl.ts +129 -0
- package/src/cli/commands/sync/status/storage.sync.status.cli-command.descriptor.ts +17 -0
- package/src/cli/commands/sync/status/storage.sync.status.cli-command.impl.ts +192 -0
- package/src/cli/context.consumer.ts +195 -0
- package/src/cli/storage.cli-group.descriptor.ts +13 -0
- package/src/cli/storage.sync.cli-group.descriptor.ts +14 -0
- package/src/cli/types.ts +25 -0
- package/src/client/index.ts +10 -0
- package/src/client/list-browsable-adapters.ts +42 -0
- package/src/daemon/commands/sync.ts +225 -0
- package/src/docs/adapters.docs.descriptor.ts +225 -0
- package/src/docs/manifests.docs.descriptor.ts +318 -0
- package/src/docs/records.docs.descriptor.ts +271 -0
- package/src/docs/sync.docs.descriptor.ts +281 -0
- package/src/index.ts +109 -0
- package/src/interfaces/adapter.ts +451 -0
- package/src/interfaces/document-store.ts +74 -0
- package/src/interfaces/index.ts +117 -0
- package/src/interfaces/key-value.ts +112 -0
- package/src/interfaces/query-builder.ts +31 -0
- package/src/interfaces/record/index.ts +58 -0
- package/src/interfaces/record/interface.ts +723 -0
- package/src/interfaces/repository.ts +300 -0
- package/src/interfaces/schema/index.ts +37 -0
- package/src/interfaces/schema/schema-interface.ts +586 -0
- package/src/interfaces/schema/table-interface.ts +314 -0
- package/src/interfaces/storage-consumer-fs.ts +66 -0
- package/src/manifest/base.ts +594 -0
- package/src/manifest/cloud-sync.consumer.ts +120 -0
- package/src/manifest/index.ts +7 -0
- package/src/manifest/source-policy.ts +74 -0
- package/src/paths.ts +171 -0
- package/src/policy/context.ts +30 -0
- package/src/policy/index.ts +20 -0
- package/src/policy/overrides.ts +46 -0
- package/src/policy/persistence.ts +117 -0
- package/src/policy/types.ts +28 -0
- package/src/record/base.ts +1872 -0
- package/src/record/events.ts +56 -0
- package/src/record/extensions.ts +308 -0
- package/src/record/index.ts +7 -0
- package/src/resolver/storage-backed-resolver.ts +255 -0
- package/src/schemas/adapter-descriptor.ts +128 -0
- package/src/schemas/index.ts +104 -0
- package/src/schemas/manifest-descriptor.ts +143 -0
- package/src/schemas/record/descriptor.ts +621 -0
- package/src/schemas/record/index.ts +60 -0
- package/src/schemas/record/relation.ts +49 -0
- package/src/schemas/schema/descriptor.ts +278 -0
- package/src/schemas/schema/index.ts +14 -0
- package/src/schemas/sync-bridge-descriptor.ts +143 -0
- package/src/server/manifest-route.ts +319 -0
- package/src/storage-policy.context.descriptor.ts +17 -0
- package/src/storage-policy.context.server.ts +34 -0
- package/src/storage.plugin.ts +264 -0
- package/src/sync/cloud-pull.ts +202 -0
- package/src/sync/cloud-record-crud-config.ts +41 -0
- package/src/sync/record-sync-bridge.ts +183 -0
- package/src/sync/resolve-sync-target.ts +57 -0
- package/src/sync/schemas/cloud-pull.ts +26 -0
- package/src/sync/schemas/index.ts +18 -0
- package/src/sync/schemas/sync-helpers.ts +18 -0
- package/src/sync/schemas/sync-state.ts +41 -0
- package/src/sync/sync-bridge.ts +763 -0
- package/src/sync/sync-manifest.ts +212 -0
- package/src/sync/sync-state.consumer.ts +144 -0
- package/src/transform/index.ts +130 -0
- package/src/transform/transform-descriptor.ts +53 -0
- package/src/tui/storage-explorer.descriptor.ts +32 -0
- package/src/tui/storage-explorer.impl.consumer.ts +14 -0
- package/src/tui/storage-open.descriptor.ts +31 -0
- package/src/tui/storage-open.impl.consumer.ts +14 -0
- package/src/utils/error-context.ts +19 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { StorageManifest } from '../manifest/base.js';
|
|
2
|
+
import { resolveAdapterOrderBySource, resolveScopeForSource, resolveSourceFromAdapter } from '../manifest/source-policy.js';
|
|
3
|
+
export class StorageBackedResolver {
|
|
4
|
+
context;
|
|
5
|
+
manifestId;
|
|
6
|
+
manifestKind;
|
|
7
|
+
targetKind;
|
|
8
|
+
constructor(descriptor, context) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
this.manifestId = descriptor.manifestId;
|
|
11
|
+
this.manifestKind = descriptor.manifestKind ?? 'storage/manifest';
|
|
12
|
+
this.targetKind = descriptor.targetKind;
|
|
13
|
+
}
|
|
14
|
+
async fetch(id, options) {
|
|
15
|
+
const cached = options?.cache?.getDescriptors()?.find((descriptor) => descriptor.id === id);
|
|
16
|
+
if (cached)
|
|
17
|
+
return cached;
|
|
18
|
+
const bridgeConfig = this.getBridgeConfig();
|
|
19
|
+
if (!bridgeConfig)
|
|
20
|
+
return null;
|
|
21
|
+
const items = await this.loadItems(bridgeConfig);
|
|
22
|
+
if (!items)
|
|
23
|
+
return null;
|
|
24
|
+
let resolved = null;
|
|
25
|
+
for (const sourced of items) {
|
|
26
|
+
if (bridgeConfig.filter && !bridgeConfig.filter(sourced.item))
|
|
27
|
+
continue;
|
|
28
|
+
const descriptor = bridgeConfig.toDescriptor(sourced.item);
|
|
29
|
+
if (descriptor.id === id) {
|
|
30
|
+
resolved = this.withRuntimeSource(descriptor, sourced.source);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (resolved && options?.cache) {
|
|
34
|
+
const cacheLimit = options.maxCacheSize ?? 1000;
|
|
35
|
+
const descriptors = await this.fetchAll({ maxCacheSize: cacheLimit });
|
|
36
|
+
if (descriptors.length <= cacheLimit)
|
|
37
|
+
options.cache.setDescriptors(descriptors);
|
|
38
|
+
}
|
|
39
|
+
return resolved;
|
|
40
|
+
}
|
|
41
|
+
async fetchAll(options) {
|
|
42
|
+
const cached = options?.cache?.getDescriptors();
|
|
43
|
+
if (cached)
|
|
44
|
+
return this.applyLimit(cached, options?.limit);
|
|
45
|
+
const bridgeConfig = this.getBridgeConfig();
|
|
46
|
+
if (!bridgeConfig)
|
|
47
|
+
return [];
|
|
48
|
+
const items = await this.loadItems(bridgeConfig);
|
|
49
|
+
if (!items)
|
|
50
|
+
return [];
|
|
51
|
+
const descriptorsById = new Map();
|
|
52
|
+
for (const sourced of items) {
|
|
53
|
+
if (bridgeConfig.filter && !bridgeConfig.filter(sourced.item))
|
|
54
|
+
continue;
|
|
55
|
+
const descriptor = bridgeConfig.toDescriptor(sourced.item);
|
|
56
|
+
descriptorsById.set(descriptor.id, this.withRuntimeSource(descriptor, sourced.source));
|
|
57
|
+
}
|
|
58
|
+
const descriptors = [...descriptorsById.values()];
|
|
59
|
+
const cacheLimit = options?.maxCacheSize ?? 1000;
|
|
60
|
+
if (options?.cache && descriptors.length <= cacheLimit) {
|
|
61
|
+
options.cache.setDescriptors(descriptors);
|
|
62
|
+
}
|
|
63
|
+
return this.applyLimit(descriptors, options?.limit);
|
|
64
|
+
}
|
|
65
|
+
applyLimit(descriptors, limit) {
|
|
66
|
+
if (!limit || limit < 1)
|
|
67
|
+
return descriptors;
|
|
68
|
+
return descriptors.slice(0, limit);
|
|
69
|
+
}
|
|
70
|
+
async loadItems(_bridgeConfig) {
|
|
71
|
+
const manifestDescriptor = this.getManifestDescriptor();
|
|
72
|
+
if (!manifestDescriptor)
|
|
73
|
+
return null;
|
|
74
|
+
const adapterIds = this.getOrderedAdapters(manifestDescriptor);
|
|
75
|
+
if (adapterIds.length === 0)
|
|
76
|
+
return null;
|
|
77
|
+
const sourceData = await Promise.all(adapterIds.map(async (adapterId) => ({
|
|
78
|
+
source: resolveSourceFromAdapter(adapterId),
|
|
79
|
+
data: await this.loadFromAdapter(manifestDescriptor, adapterId)
|
|
80
|
+
})));
|
|
81
|
+
const items = this.mergeSourcedItems(sourceData);
|
|
82
|
+
if (items.length === 0)
|
|
83
|
+
return null;
|
|
84
|
+
return items;
|
|
85
|
+
}
|
|
86
|
+
getManifestDescriptor() {
|
|
87
|
+
const runtime = this.context.runtime;
|
|
88
|
+
if (!runtime.hasKind(this.manifestKind))
|
|
89
|
+
return null;
|
|
90
|
+
const descriptor = runtime.assets(this.manifestKind).descriptor(this.manifestId);
|
|
91
|
+
if (!descriptor || typeof descriptor !== 'object')
|
|
92
|
+
return null;
|
|
93
|
+
return descriptor;
|
|
94
|
+
}
|
|
95
|
+
getOrderedAdapters(descriptor) {
|
|
96
|
+
return resolveAdapterOrderBySource(Array.isArray(descriptor.allowedAdapters) ? descriptor.allowedAdapters : []);
|
|
97
|
+
}
|
|
98
|
+
async loadFromAdapter(descriptor, adapterId) {
|
|
99
|
+
try {
|
|
100
|
+
const patched = this.patchDescriptorForAdapter(descriptor, adapterId);
|
|
101
|
+
const manifest = new StorageManifest(patched, this.context);
|
|
102
|
+
return await manifest.load();
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
patchDescriptorForAdapter(descriptor, adapterId) {
|
|
109
|
+
const source = resolveSourceFromAdapter(adapterId);
|
|
110
|
+
const allowedAdapters = [
|
|
111
|
+
adapterId,
|
|
112
|
+
...(descriptor.allowedAdapters ?? []).filter((id) => id !== adapterId)
|
|
113
|
+
];
|
|
114
|
+
const adapterConfig = { ...descriptor.adapterConfig };
|
|
115
|
+
if (adapterId === 'storage.json') {
|
|
116
|
+
const jsonConfig = adapterConfig['storage.json'];
|
|
117
|
+
if (!jsonConfig || typeof jsonConfig !== 'object') {
|
|
118
|
+
adapterConfig['storage.json'] = { filename: `${descriptor.namespace}.json` };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const scopePaths = descriptor.scopePaths ? { ...descriptor.scopePaths } : undefined;
|
|
122
|
+
if (source === 'project-file' && adapterId === 'storage.json') {
|
|
123
|
+
const nextScopePaths = scopePaths ?? {};
|
|
124
|
+
nextScopePaths.project = '{workspace}';
|
|
125
|
+
nextScopePaths.local = '{workspace}';
|
|
126
|
+
return {
|
|
127
|
+
...descriptor,
|
|
128
|
+
allowedAdapters,
|
|
129
|
+
defaultAdapter: adapterId,
|
|
130
|
+
scope: resolveScopeForSource(source, descriptor.scope),
|
|
131
|
+
scopePaths: nextScopePaths,
|
|
132
|
+
adapterConfig
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
...descriptor,
|
|
137
|
+
allowedAdapters,
|
|
138
|
+
defaultAdapter: adapterId,
|
|
139
|
+
scope: source ? resolveScopeForSource(source, descriptor.scope) : descriptor.scope,
|
|
140
|
+
scopePaths,
|
|
141
|
+
adapterConfig
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
mergeSourcedItems(values) {
|
|
145
|
+
const byId = new Map();
|
|
146
|
+
const loose = [];
|
|
147
|
+
for (const entry of values) {
|
|
148
|
+
if (entry.data === null || entry.data === undefined)
|
|
149
|
+
continue;
|
|
150
|
+
for (const item of this.asItems(entry.data)) {
|
|
151
|
+
if (item && typeof item === 'object' && typeof item.id === 'string') {
|
|
152
|
+
const id = item.id;
|
|
153
|
+
if (!byId.has(id))
|
|
154
|
+
byId.set(id, { item, source: entry.source });
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
loose.push({ item, source: entry.source });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return [...loose, ...byId.values()];
|
|
161
|
+
}
|
|
162
|
+
asItems(data) {
|
|
163
|
+
if (!data)
|
|
164
|
+
return [];
|
|
165
|
+
if (Array.isArray(data))
|
|
166
|
+
return data;
|
|
167
|
+
if (typeof data === 'object' && data !== null && data.constructor === Object) {
|
|
168
|
+
return Object.values(data);
|
|
169
|
+
}
|
|
170
|
+
return [data];
|
|
171
|
+
}
|
|
172
|
+
withRuntimeSource(descriptor, source) {
|
|
173
|
+
if (!source)
|
|
174
|
+
return descriptor;
|
|
175
|
+
return Object.assign({}, descriptor, { runtimeSource: source });
|
|
176
|
+
}
|
|
177
|
+
getBridgeConfig() {
|
|
178
|
+
const runtime = this.context.runtime;
|
|
179
|
+
if (!runtime.hasKind(this.manifestKind))
|
|
180
|
+
return null;
|
|
181
|
+
const manifestDescriptor = runtime.assets(this.manifestKind).descriptor(this.manifestId);
|
|
182
|
+
if (!manifestDescriptor?.providesRuntimeKinds)
|
|
183
|
+
return null;
|
|
184
|
+
return (manifestDescriptor.providesRuntimeKinds[this.targetKind] ?? null);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=storage-backed-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-backed-resolver.js","sourceRoot":"","sources":["../../src/resolver/storage-backed-resolver.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EAExB,MAAM,2BAA2B,CAAC;AASnC,MAAM,OAAO,qBAAqB;IAOxB;IANQ,UAAU,CAAS;IACnB,YAAY,CAAyC;IACrD,UAAU,CAAS;IAEpC,YACC,UAAqC,EAC7B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAE5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,kBAAkB,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CACV,EAAU,EACV,OAAqC;QAErC,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC,UAA6B,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,QAAQ,GAA6B,IAAI,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAExE,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1B,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YACtE,IAAI,WAAW,CAAC,MAAM,IAAI,UAAU;gBAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwC;QACtD,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxE,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;QACjD,IAAI,OAAO,EAAE,KAAK,IAAI,WAAW,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,UAAU,CACjB,WAAgC,EAChC,KAAyB;QAEzB,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,WAAW,CAAC;QAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,SAAS,CACtB,aAAsC;QAEtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxD,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACpC,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC;YAC3C,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,SAAS,CAAC;SAC/D,CAAC,CAAC,CACH,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,qBAAqB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAG5B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAErD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,UAAgC,CAAC;IACzC,CAAC;IAEO,kBAAkB,CAAC,UAA8B;QACxD,OAAO,2BAA2B,CACjC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC5B,UAA8B,EAC9B,SAAiB;QAEjB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,OAAoC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACzF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,yBAAyB,CAChC,UAA8B,EAC9B,SAAiB;QAEjB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG;YACvB,SAAS;YACT,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC;SAC9E,CAAC;QACF,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnD,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,SAAS,OAAO,EAAE,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,MAAM,KAAK,cAAc,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,UAAU,IAAI,EAAE,CAAC;YACxC,cAAc,CAAC,OAAO,GAAG,aAAa,CAAC;YACvC,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC;YACrC,OAAO;gBACN,GAAG,UAAU;gBACb,eAAe;gBACf,cAAc,EAAE,SAAS;gBACzB,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;gBACtD,UAAU,EAAE,cAAc;gBAC1B,aAAa;aACS,CAAC;QACzB,CAAC;QACD,OAAO;YACN,GAAG,UAAU;YACb,eAAe;YACf,cAAc,EAAE,SAAS;YACzB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;YAClF,UAAU;YACV,aAAa;SACS,CAAC;IACzB,CAAC;IAEO,iBAAiB,CACxB,MAA0E;QAE1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;QACpD,MAAM,KAAK,GAA0B,EAAE,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS;YAC9D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAAyB,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3F,MAAM,EAAE,GAAI,IAAuB,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,SAAS;gBACV,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;QAED,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,OAAO,CAAC,IAAa;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,iBAAiB,CACxB,UAA6B,EAC7B,MAAiC;QAEjC,IAAI,CAAC,MAAM;YAAE,OAAO,UAAU,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAsB,CAAC;IACtF,CAAC;IAEO,eAAe;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAK5B,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAErD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAE3E,CAAC;QAEb,IAAI,CAAC,kBAAkB,EAAE,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAE3D,OAAO,CACL,kBAAkB,CAAC,oBAAgE,CACnF,IAAI,CAAC,UAAU,CACf,IAAI,IAAI,CACT,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Adapter Descriptor Schema
|
|
3
|
+
*
|
|
4
|
+
* Schema for storage/adapter kind descriptors.
|
|
5
|
+
* Extends base descriptor with storage-specific fields.
|
|
6
|
+
*/
|
|
7
|
+
import * as z from 'zod/v4';
|
|
8
|
+
/**
|
|
9
|
+
* Storage protocols supported by adapters
|
|
10
|
+
*/
|
|
11
|
+
export declare const StorageProtocolSchema: z.ZodEnum<{
|
|
12
|
+
document: "document";
|
|
13
|
+
keyvalue: "keyvalue";
|
|
14
|
+
repository: "repository";
|
|
15
|
+
record: "record";
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Coarse-grained adapter capabilities surfaced to consumers.
|
|
19
|
+
*
|
|
20
|
+
* - `list` — adapter can enumerate items in a container (document protocol's `list()`).
|
|
21
|
+
* - `read` — adapter can read existing items.
|
|
22
|
+
* - `write` — adapter can create / update / delete items.
|
|
23
|
+
* - `browse` — adapter implements `list(driveId, path) → StorageEntry[]` and
|
|
24
|
+
* `listDrives() → StorageDrive[]` for foldered cloud-storage browsing
|
|
25
|
+
* (SharePoint, OneDrive, Google Drive, etc.). Consumers like the
|
|
26
|
+
* AI model-source picker filter on this capability to surface
|
|
27
|
+
* browsable backends.
|
|
28
|
+
*/
|
|
29
|
+
export declare const StorageCapabilitySchema: z.ZodEnum<{
|
|
30
|
+
list: "list";
|
|
31
|
+
read: "read";
|
|
32
|
+
write: "write";
|
|
33
|
+
browse: "browse";
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Storage adapter descriptor schema
|
|
37
|
+
*/
|
|
38
|
+
export declare const StorageAdapterDescriptorSchema: z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
name: z.ZodOptional<z.ZodString>;
|
|
41
|
+
description: z.ZodOptional<z.ZodString>;
|
|
42
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
44
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
48
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
49
|
+
kind: z.ZodLiteral<"storage/adapter">;
|
|
50
|
+
protocols: z.ZodArray<z.ZodEnum<{
|
|
51
|
+
document: "document";
|
|
52
|
+
keyvalue: "keyvalue";
|
|
53
|
+
repository: "repository";
|
|
54
|
+
record: "record";
|
|
55
|
+
}>>;
|
|
56
|
+
capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
57
|
+
list: "list";
|
|
58
|
+
read: "read";
|
|
59
|
+
write: "write";
|
|
60
|
+
browse: "browse";
|
|
61
|
+
}>>>;
|
|
62
|
+
requiresPairSchema: z.ZodDefault<z.ZodBoolean>;
|
|
63
|
+
supportsTransactions: z.ZodDefault<z.ZodBoolean>;
|
|
64
|
+
supportsTTL: z.ZodDefault<z.ZodBoolean>;
|
|
65
|
+
supportsSearch: z.ZodDefault<z.ZodBoolean>;
|
|
66
|
+
supportsFTS: z.ZodDefault<z.ZodBoolean>;
|
|
67
|
+
persistent: z.ZodDefault<z.ZodBoolean>;
|
|
68
|
+
supportsSubscription: z.ZodDefault<z.ZodBoolean>;
|
|
69
|
+
supportsHierarchy: z.ZodDefault<z.ZodBoolean>;
|
|
70
|
+
supportsComputedFields: z.ZodDefault<z.ZodBoolean>;
|
|
71
|
+
supportsSideEffects: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
supportsRawQueries: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
export type StorageProtocol = z.infer<typeof StorageProtocolSchema>;
|
|
75
|
+
export type StorageCapability = z.infer<typeof StorageCapabilitySchema>;
|
|
76
|
+
export type StorageAdapterDescriptor = z.infer<typeof StorageAdapterDescriptorSchema>;
|
|
77
|
+
/**
|
|
78
|
+
* A logical "drive" inside a browsable storage adapter — a top-level
|
|
79
|
+
* container the consumer picks before drilling into folders.
|
|
80
|
+
*
|
|
81
|
+
* For SharePoint: a `site`. For OneDrive: the user's default drive.
|
|
82
|
+
* For Google Drive (future): a "My Drive" or "Shared Drive" entry.
|
|
83
|
+
*
|
|
84
|
+
* Returned by `adapter.listDrives()`.
|
|
85
|
+
*/
|
|
86
|
+
export declare const StorageDriveSchema: z.ZodObject<{
|
|
87
|
+
id: z.ZodString;
|
|
88
|
+
name: z.ZodString;
|
|
89
|
+
kind: z.ZodString;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
export type StorageDrive = z.infer<typeof StorageDriveSchema>;
|
|
92
|
+
/**
|
|
93
|
+
* A single entry returned by `adapter.list(driveId, path)` —
|
|
94
|
+
* a file or directory inside a browsable storage adapter.
|
|
95
|
+
*/
|
|
96
|
+
export declare const StorageEntrySchema: z.ZodObject<{
|
|
97
|
+
id: z.ZodString;
|
|
98
|
+
name: z.ZodString;
|
|
99
|
+
path: z.ZodString;
|
|
100
|
+
kind: z.ZodEnum<{
|
|
101
|
+
file: "file";
|
|
102
|
+
directory: "directory";
|
|
103
|
+
}>;
|
|
104
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
modifiedAt: z.ZodOptional<z.ZodString>;
|
|
106
|
+
}, z.core.$strip>;
|
|
107
|
+
export type StorageEntry = z.infer<typeof StorageEntrySchema>;
|
|
108
|
+
//# sourceMappingURL=adapter-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-descriptor.d.ts","sourceRoot":"","sources":["../../src/schemas/adapter-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;EAA2D,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;;;;;EAA8C,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CzC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;iBAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Adapter Descriptor Schema
|
|
3
|
+
*
|
|
4
|
+
* Schema for storage/adapter kind descriptors.
|
|
5
|
+
* Extends base descriptor with storage-specific fields.
|
|
6
|
+
*/
|
|
7
|
+
import * as z from 'zod/v4';
|
|
8
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
|
|
9
|
+
/**
|
|
10
|
+
* Storage protocols supported by adapters
|
|
11
|
+
*/
|
|
12
|
+
export const StorageProtocolSchema = z.enum(['document', 'keyvalue', 'repository', 'record']);
|
|
13
|
+
/**
|
|
14
|
+
* Coarse-grained adapter capabilities surfaced to consumers.
|
|
15
|
+
*
|
|
16
|
+
* - `list` — adapter can enumerate items in a container (document protocol's `list()`).
|
|
17
|
+
* - `read` — adapter can read existing items.
|
|
18
|
+
* - `write` — adapter can create / update / delete items.
|
|
19
|
+
* - `browse` — adapter implements `list(driveId, path) → StorageEntry[]` and
|
|
20
|
+
* `listDrives() → StorageDrive[]` for foldered cloud-storage browsing
|
|
21
|
+
* (SharePoint, OneDrive, Google Drive, etc.). Consumers like the
|
|
22
|
+
* AI model-source picker filter on this capability to surface
|
|
23
|
+
* browsable backends.
|
|
24
|
+
*/
|
|
25
|
+
export const StorageCapabilitySchema = z.enum(['list', 'read', 'write', 'browse']);
|
|
26
|
+
/**
|
|
27
|
+
* Storage adapter descriptor schema
|
|
28
|
+
*/
|
|
29
|
+
export const StorageAdapterDescriptorSchema = RuntimeDescriptorSchema.extend({
|
|
30
|
+
kind: z.literal('storage/adapter'),
|
|
31
|
+
/** Storage protocols supported by this adapter */
|
|
32
|
+
protocols: z.array(StorageProtocolSchema),
|
|
33
|
+
/**
|
|
34
|
+
* Coarse-grained capability flags consumed by clients that
|
|
35
|
+
* want to filter adapters by what they can do. `browse` implies the
|
|
36
|
+
* adapter implements `list(driveId, path)` + `listDrives()`.
|
|
37
|
+
*/
|
|
38
|
+
capabilities: z.array(StorageCapabilitySchema).default(['read', 'write']),
|
|
39
|
+
/** Whether adapter requires pair schema (key + value) for main storage */
|
|
40
|
+
requiresPairSchema: z.boolean().default(false),
|
|
41
|
+
/** Whether adapter supports transactions */
|
|
42
|
+
supportsTransactions: z.boolean().default(false),
|
|
43
|
+
/** Whether adapter supports TTL (for caches) */
|
|
44
|
+
supportsTTL: z.boolean().default(false),
|
|
45
|
+
/** Whether adapter supports full-text search */
|
|
46
|
+
supportsSearch: z.boolean().default(false),
|
|
47
|
+
/** Whether adapter supports full-text search (alias for supportsSearch) */
|
|
48
|
+
supportsFTS: z.boolean().default(false),
|
|
49
|
+
/** Whether adapter is persistent (survives restarts) */
|
|
50
|
+
persistent: z.boolean().default(false),
|
|
51
|
+
/** Whether adapter supports change subscriptions */
|
|
52
|
+
supportsSubscription: z.boolean().default(false),
|
|
53
|
+
/** Whether adapter supports hierarchical/recursive queries */
|
|
54
|
+
supportsHierarchy: z.boolean().default(false),
|
|
55
|
+
/** Whether adapter supports computed fields (aggregations) */
|
|
56
|
+
supportsComputedFields: z.boolean().default(false),
|
|
57
|
+
/** Whether adapter supports cross-table side effects */
|
|
58
|
+
supportsSideEffects: z.boolean().default(false),
|
|
59
|
+
/** Whether adapter supports raw SQL queries */
|
|
60
|
+
supportsRawQueries: z.boolean().default(false)
|
|
61
|
+
});
|
|
62
|
+
// Browse — drive + entry shapes for `browse`-capable adapters
|
|
63
|
+
/**
|
|
64
|
+
* A logical "drive" inside a browsable storage adapter — a top-level
|
|
65
|
+
* container the consumer picks before drilling into folders.
|
|
66
|
+
*
|
|
67
|
+
* For SharePoint: a `site`. For OneDrive: the user's default drive.
|
|
68
|
+
* For Google Drive (future): a "My Drive" or "Shared Drive" entry.
|
|
69
|
+
*
|
|
70
|
+
* Returned by `adapter.listDrives()`.
|
|
71
|
+
*/
|
|
72
|
+
export const StorageDriveSchema = z.object({
|
|
73
|
+
/** Stable provider-side identifier for the drive (site id, drive id, etc.). */
|
|
74
|
+
id: z.string(),
|
|
75
|
+
/** Human-readable name. */
|
|
76
|
+
name: z.string(),
|
|
77
|
+
/**
|
|
78
|
+
* Provider-specific drive kind. Free-form by design — consumers do
|
|
79
|
+
* not match on this. Example values: `'site'`, `'drive'`, `'shared'`.
|
|
80
|
+
*/
|
|
81
|
+
kind: z.string()
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* A single entry returned by `adapter.list(driveId, path)` —
|
|
85
|
+
* a file or directory inside a browsable storage adapter.
|
|
86
|
+
*/
|
|
87
|
+
export const StorageEntrySchema = z.object({
|
|
88
|
+
/** Stable provider-side identifier (drive item id, blob id, etc.). */
|
|
89
|
+
id: z.string(),
|
|
90
|
+
/** Display name (e.g. `Quarterly Report.pdf`). */
|
|
91
|
+
name: z.string(),
|
|
92
|
+
/** Path relative to the drive root, including the entry's own name. */
|
|
93
|
+
path: z.string(),
|
|
94
|
+
/** File vs directory discriminator. */
|
|
95
|
+
kind: z.enum(['file', 'directory']),
|
|
96
|
+
/** Size in bytes when known (directories omit this). */
|
|
97
|
+
sizeBytes: z.number().int().optional(),
|
|
98
|
+
/** Last modified timestamp (ISO 8601, when known). */
|
|
99
|
+
modifiedAt: z.string().optional()
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=adapter-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-descriptor.js","sourceRoot":"","sources":["../../src/schemas/adapter-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAElC,kDAAkD;IAClD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAEzC;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzE,0EAA0E;IAC1E,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE9C,4CAA4C;IAC5C,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEhD,gDAAgD;IAChD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEvC,gDAAgD;IAChD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE1C,2EAA2E;IAC3E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEvC,wDAAwD;IACxD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEtC,oDAAoD;IACpD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEhD,8DAA8D;IAC9D,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE7C,8DAA8D;IAC9D,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAElD,wDAAwD;IACxD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE/C,+CAA+C;IAC/C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAMH,8DAA8D;AAE9D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,+EAA+E;IAC/E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,2BAA2B;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,sEAAsE;IACtE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,kDAAkD;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,uEAAuE;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,uCAAuC;IACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,wDAAwD;IACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,sDAAsD;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Schemas
|
|
3
|
+
*
|
|
4
|
+
* Export all storage-related schemas and types.
|
|
5
|
+
*/
|
|
6
|
+
export { StorageProtocolSchema, StorageCapabilitySchema, StorageAdapterDescriptorSchema, StorageDriveSchema, StorageEntrySchema } from './adapter-descriptor';
|
|
7
|
+
export type { StorageProtocol, StorageCapability, StorageAdapterDescriptor, StorageDrive, StorageEntry } from './adapter-descriptor';
|
|
8
|
+
export { StorageScopeSchema, StorageDataTypeSchema, StorageCloudApiAdapterConfigSchema, StorageManifestDescriptorSchema, } from './manifest-descriptor';
|
|
9
|
+
export type { StorageScope, StorageDataType, StorageCloudApiAdapterConfig, StorageManifestDescriptor } from './manifest-descriptor';
|
|
10
|
+
export { StorageRecordDescriptorSchema, StorageSyncConfigSchema, StorageRemoteCrudSchema, StorageRemoteConfigSchema, StoragePersistenceModeSchema, StoragePersistencePolicySchema, StorageOwnershipFilterSchema, StorageRelationTypeSchema, StorageRelationSchema, StorageIndexSchema, StorageMigrationSchema, StorageFieldConfigSchema, StorageFtsConfigSchema, StorageComputedFieldSchema, StorageHierarchyConfigSchema, StorageSideEffectOperationSchema, StorageSideEffectSchema, StorageSideEffectsConfigSchema } from './record';
|
|
11
|
+
export type { StorageRecordDescriptor, StorageRecordDescriptorInput, StorageSyncConfig, StorageRemoteCrud, StorageRemoteConfig, StoragePersistenceMode, StoragePersistencePolicy, StorageOwnershipFilter, StorageSyncContext, StorageRecordLocalSyncContext, StorageRecordRemoteSyncContext, StorageRecordSyncHooks, StorageRelationType, StorageRelation, StorageIndex, StorageIndexInput, StorageMigration, StorageMigrationInput, StorageFieldConfig, StorageFieldConfigInput, StorageFtsConfig, StorageFtsConfigInput, StorageComputedField, StorageComputedFieldInput, StorageHierarchyConfig, StorageHierarchyConfigInput, StorageSideEffectOperation, StorageSideEffect, StorageSideEffectInput, StorageSideEffectsConfig, StorageSideEffectsConfigInput } from './record';
|
|
12
|
+
export { StorageSchemaDescriptorSchema, StorageTableDefinitionSchema, MigrationSourceSchema } from './schema';
|
|
13
|
+
export type { StorageSchemaDescriptor, StorageTableDefinition, MigrationSource } from './schema';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,kBAAkB,EAClB,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACX,YAAY,EACZ,eAAe,EACf,4BAA4B,EAC5B,yBAAyB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,YAAY,EACX,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,UAAU,CAAC;AAElB,YAAY,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Schemas
|
|
3
|
+
*
|
|
4
|
+
* Export all storage-related schemas and types.
|
|
5
|
+
*/
|
|
6
|
+
export { StorageProtocolSchema, StorageCapabilitySchema, StorageAdapterDescriptorSchema, StorageDriveSchema, StorageEntrySchema } from './adapter-descriptor.js';
|
|
7
|
+
export { StorageScopeSchema, StorageDataTypeSchema, StorageCloudApiAdapterConfigSchema, StorageManifestDescriptorSchema, } from './manifest-descriptor.js';
|
|
8
|
+
// Storage record kind (single table CRUD operations)
|
|
9
|
+
export { StorageRecordDescriptorSchema, StorageSyncConfigSchema, StorageRemoteCrudSchema, StorageRemoteConfigSchema, StoragePersistenceModeSchema, StoragePersistencePolicySchema, StorageOwnershipFilterSchema, StorageRelationTypeSchema, StorageRelationSchema, StorageIndexSchema, StorageMigrationSchema, StorageFieldConfigSchema, StorageFtsConfigSchema, StorageComputedFieldSchema, StorageHierarchyConfigSchema, StorageSideEffectOperationSchema, StorageSideEffectSchema, StorageSideEffectsConfigSchema } from './record';
|
|
10
|
+
// Storage schema kind (multi-table schemas with relations)
|
|
11
|
+
export { StorageSchemaDescriptorSchema, StorageTableDefinitionSchema, MigrationSourceSchema } from './schema';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACN,kBAAkB,EAClB,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAS/B,qDAAqD;AACrD,OAAO,EACN,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAoClB,2DAA2D;AAC3D,OAAO,EACN,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Manifest Descriptor Schema
|
|
3
|
+
*
|
|
4
|
+
* Schema for storage/manifest kind descriptors.
|
|
5
|
+
* Describes a data type that can be stored.
|
|
6
|
+
*/
|
|
7
|
+
import * as z from 'zod/v4';
|
|
8
|
+
/**
|
|
9
|
+
* Storage scope for path resolution
|
|
10
|
+
*/
|
|
11
|
+
export declare const StorageScopeSchema: z.ZodEnum<{
|
|
12
|
+
global: "global";
|
|
13
|
+
project: "project";
|
|
14
|
+
local: "local";
|
|
15
|
+
auto: "auto";
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Canonical storage data shape.
|
|
19
|
+
*
|
|
20
|
+
* - raw: keyed raw text values
|
|
21
|
+
* - records: structured row collection with CRUD semantics
|
|
22
|
+
* - objects: keyed JSON/blob objects or a whole document object
|
|
23
|
+
*/
|
|
24
|
+
export declare const StorageDataTypeSchema: z.ZodEnum<{
|
|
25
|
+
raw: "raw";
|
|
26
|
+
records: "records";
|
|
27
|
+
objects: "objects";
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Per-scope path configuration
|
|
31
|
+
* Allows manifests to customize base paths for each scope
|
|
32
|
+
*/
|
|
33
|
+
export declare const ScopePathConfigSchema: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
global: z.ZodOptional<z.ZodString>;
|
|
35
|
+
project: z.ZodOptional<z.ZodString>;
|
|
36
|
+
local: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>>;
|
|
38
|
+
/**
|
|
39
|
+
* Adapter-specific configuration
|
|
40
|
+
* Each adapter can define its own config shape
|
|
41
|
+
*
|
|
42
|
+
* Examples:
|
|
43
|
+
* - storage.drizzle: { tableName: 'ai_models', transforms: { toDb, fromDb } }
|
|
44
|
+
* - storage.localdb: { tableName: 'ai_models', createTable: 'CREATE TABLE...', dbName: 'custom.db', migrationKey: 'my-migrations' }
|
|
45
|
+
* - storage.json: { filename: 'ai-models.json' }
|
|
46
|
+
* - storage.cloud-api: { endpoint: '/api/models', ownerApp: 'ai' }
|
|
47
|
+
*/
|
|
48
|
+
export declare const StorageAdapterConfigSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
49
|
+
export declare const StorageCloudApiAdapterConfigSchema: z.ZodObject<{
|
|
50
|
+
ownerApp: z.ZodOptional<z.ZodString>;
|
|
51
|
+
endpoint: z.ZodOptional<z.ZodString>;
|
|
52
|
+
apiEndpoint: z.ZodOptional<z.ZodString>;
|
|
53
|
+
idField: z.ZodDefault<z.ZodString>;
|
|
54
|
+
transform: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
from: z.ZodOptional<z.ZodString>;
|
|
56
|
+
to: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
/**
|
|
60
|
+
* Storage manifest descriptor schema
|
|
61
|
+
*/
|
|
62
|
+
export declare const StorageManifestDescriptorSchema: z.ZodObject<{
|
|
63
|
+
id: z.ZodString;
|
|
64
|
+
name: z.ZodOptional<z.ZodString>;
|
|
65
|
+
description: z.ZodOptional<z.ZodString>;
|
|
66
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
68
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
71
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
72
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
|
+
kind: z.ZodLiteral<"storage/manifest">;
|
|
74
|
+
namespace: z.ZodString;
|
|
75
|
+
schema: z.ZodUnknown;
|
|
76
|
+
dataType: z.ZodOptional<z.ZodEnum<{
|
|
77
|
+
raw: "raw";
|
|
78
|
+
records: "records";
|
|
79
|
+
objects: "objects";
|
|
80
|
+
}>>;
|
|
81
|
+
idField: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
82
|
+
collectionField: z.ZodOptional<z.ZodString>;
|
|
83
|
+
allowedAdapters: z.ZodArray<z.ZodString>;
|
|
84
|
+
defaultAdapter: z.ZodOptional<z.ZodString>;
|
|
85
|
+
adapterConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
86
|
+
scope: z.ZodDefault<z.ZodEnum<{
|
|
87
|
+
global: "global";
|
|
88
|
+
project: "project";
|
|
89
|
+
local: "local";
|
|
90
|
+
auto: "auto";
|
|
91
|
+
}>>;
|
|
92
|
+
scopePaths: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
global: z.ZodOptional<z.ZodString>;
|
|
94
|
+
project: z.ZodOptional<z.ZodString>;
|
|
95
|
+
local: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$strip>>;
|
|
97
|
+
sensitiveFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
98
|
+
customTables: z.ZodDefault<z.ZodBoolean>;
|
|
99
|
+
migrationKey: z.ZodOptional<z.ZodString>;
|
|
100
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
internal: z.ZodDefault<z.ZodBoolean>;
|
|
102
|
+
configManifestId: z.ZodOptional<z.ZodString>;
|
|
103
|
+
providesRuntimeKinds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
export type StorageScope = z.infer<typeof StorageScopeSchema>;
|
|
106
|
+
export type StorageDataType = z.infer<typeof StorageDataTypeSchema>;
|
|
107
|
+
export type ScopePathConfig = z.infer<typeof ScopePathConfigSchema>;
|
|
108
|
+
export type StorageCloudApiAdapterConfig = z.infer<typeof StorageCloudApiAdapterConfigSchema>;
|
|
109
|
+
export type StorageManifestDescriptor = z.infer<typeof StorageManifestDescriptorSchema>;
|
|
110
|
+
//# sourceMappingURL=manifest-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-descriptor.d.ts","sourceRoot":"","sources":["../../src/schemas/manifest-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;EAAiD,CAAC;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;EAAwC,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;kBAMtB,CAAC;AAEb;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,wCAAoC,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;;;;;;iBAgB7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmE1C,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|