@vibesdotdev/storage 1.0.0-rc.6 → 1.0.0-rc.9
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/dist/adapters/drizzle/drizzle.adapter.impl.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle.adapter.impl.js +2 -56
- package/dist/adapters/drizzle/drizzle.adapter.impl.js.map +1 -1
- package/dist/adapters/drizzle/host-database.d.ts +14 -0
- package/dist/adapters/drizzle/host-database.d.ts.map +1 -0
- package/dist/adapters/drizzle/host-database.js +64 -0
- package/dist/adapters/drizzle/host-database.js.map +1 -0
- package/dist/adapters/drizzle/keyed-document-store.d.ts +35 -0
- package/dist/adapters/drizzle/keyed-document-store.d.ts.map +1 -0
- package/dist/adapters/drizzle/keyed-document-store.js +136 -0
- package/dist/adapters/drizzle/keyed-document-store.js.map +1 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.d.ts.map +1 -1
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js +2 -0
- package/dist/adapters/drizzle/storage-adapter-drizzle.plugin.js.map +1 -1
- package/dist/adapters/drizzle/test.d.ts +16 -0
- package/dist/adapters/drizzle/test.d.ts.map +1 -1
- package/dist/adapters/drizzle/test.js +28 -0
- package/dist/adapters/drizzle/test.js.map +1 -1
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.d.ts +4 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.js +28 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.js.map +1 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.d.ts +26 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.js +82 -0
- package/dist/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.js.map +1 -0
- package/dist/cli/plugin.d.ts.map +1 -1
- package/dist/cli/plugin.js +5 -2
- package/dist/cli/plugin.js.map +1 -1
- package/dist/cli/storage.sync.cli-group.descriptor.js +1 -1
- package/dist/cli/storage.sync.cli-group.descriptor.js.map +1 -1
- package/dist/docs/sync.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/sync.docs.descriptor.js +28 -1
- package/dist/docs/sync.docs.descriptor.js.map +1 -1
- package/dist/manifest/base.d.ts +36 -0
- package/dist/manifest/base.d.ts.map +1 -1
- package/dist/manifest/base.js +208 -3
- package/dist/manifest/base.js.map +1 -1
- package/dist/path-policy.d.ts +10 -5
- package/dist/path-policy.d.ts.map +1 -1
- package/dist/path-policy.js +13 -5
- package/dist/path-policy.js.map +1 -1
- package/dist/paths.js +2 -2
- package/dist/paths.js.map +1 -1
- package/dist/schemas/manifest-descriptor.d.ts +1 -0
- package/dist/schemas/manifest-descriptor.d.ts.map +1 -1
- package/dist/schemas/manifest-descriptor.js +9 -0
- package/dist/schemas/manifest-descriptor.js.map +1 -1
- package/dist/schemas/manifest-migration.d.ts +34 -0
- package/dist/schemas/manifest-migration.d.ts.map +1 -0
- package/dist/schemas/manifest-migration.js +25 -0
- package/dist/schemas/manifest-migration.js.map +1 -0
- package/dist/storage.plugin.d.ts.map +1 -1
- package/dist/storage.plugin.js +6 -8
- package/dist/storage.plugin.js.map +1 -1
- package/dist/sync/migrate-declared.d.ts +23 -0
- package/dist/sync/migrate-declared.d.ts.map +1 -0
- package/dist/sync/migrate-declared.js +64 -0
- package/dist/sync/migrate-declared.js.map +1 -0
- package/dist/sync/schemas/sync-state.d.ts +1 -0
- package/dist/sync/schemas/sync-state.d.ts.map +1 -1
- package/dist/sync/schemas/sync-state.js +7 -1
- package/dist/sync/schemas/sync-state.js.map +1 -1
- package/dist/sync/sync-state.client.d.ts +1 -0
- package/dist/sync/sync-state.client.d.ts.map +1 -1
- package/package.json +52 -19
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyed-document-store.js","sourceRoot":"","sources":["../../../src/adapters/drizzle/keyed-document-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-adapter-drizzle.plugin.d.ts","sourceRoot":"","sources":["../../../src/adapters/drizzle/storage-adapter-drizzle.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAA8B,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAA0C,EACzC,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAGpE,QAAA,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"storage-adapter-drizzle.plugin.d.ts","sourceRoot":"","sources":["../../../src/adapters/drizzle/storage-adapter-drizzle.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAA8B,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAA0C,EACzC,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAGpE,QAAA,MAAM,gBAAgB,EAAE,wBAuBvB,CAAC;AAmBF;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAO7G;AAED,eAAO,MAAM,2BAA2B,6CAkBtC,CAAC;AAEH,eAAe,2BAA2B,CAAC;AAG3C,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,CAAC"}
|
|
@@ -25,6 +25,8 @@ const libsqlDescriptor = {
|
|
|
25
25
|
enabled: true,
|
|
26
26
|
protocols: ['document', 'record'],
|
|
27
27
|
basePathSemantics: 'unused',
|
|
28
|
+
// Like `storage.drizzle`: a document lives in a table the manifest binds, so it is offered only to a manifest that declares `adapterConfig['storage.drizzle.libsql']`.
|
|
29
|
+
requiresManifestBinding: true,
|
|
28
30
|
capabilities: ['read', 'write'],
|
|
29
31
|
requiresPairSchema: false,
|
|
30
32
|
supportsTransactions: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-adapter-drizzle.plugin.js","sourceRoot":"","sources":["../../../src/adapters/drizzle/storage-adapter-drizzle.plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage-adapter-drizzle.plugin.js","sourceRoot":"","sources":["../../../src/adapters/drizzle/storage-adapter-drizzle.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,mBAAmB,EAAmB,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,oCAAoC,MAAM,oDAAoD,CAAC;AACtG,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,iCAAiC,EAAE,EACzC,6BAA6B,EAE7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAEpE,4BAA4B;AAC5B,MAAM,gBAAgB,GAA6B;IAClD,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,kEAAkE;IAC/E,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;IACxD,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IACjC,iBAAiB,EAAE,QAAQ;IAC3B,uKAAuK;IACvK,uBAAuB,EAAE,IAAI;IAC7B,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,KAAK;IACzB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,oBAAoB,EAAE,KAAK;IAC3B,iBAAiB,EAAE,KAAK;IACxB,sBAAsB,EAAE,IAAI;IAC5B,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,KAAK;CACzB,CAAC;AAEF,SAAS,sBAAsB,CAAC,UAAoC;IACnE,OAAO;QACN,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QACpC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;QACzE,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;QACrD,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;QACrD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;QACzD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;KACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAmB,EAAE,UAAoC;IACtG,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAuB,6BAA6B,CAAC,CAAC;QACxF,OAAO,oBAAoB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;IAC9D,EAAE,EAAE,uCAAuC;IAC3C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACV,6KAA6K;IAC9K,YAAY,EAAE,CAAC,SAAS,CAAC;IAEzB,WAAW,EAAE;QACZ,gBAAgB;QAChB,iCAAiC;QACjC,oCAAoC;KACpC;IACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;QAClE,6BAA6B,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC5D,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,2BAA2B,CAAC;AAE3C,2FAA2F;AAC3F,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,6BAA6B,EAE7B,CAAC"}
|
|
@@ -57,4 +57,20 @@ export interface TestDrizzleDb<TSchema extends DrizzleSchemaRecord> {
|
|
|
57
57
|
* pool. Caller is responsible for `close()` in teardown.
|
|
58
58
|
*/
|
|
59
59
|
export declare function createTestDrizzleDb<TSchema extends DrizzleSchemaRecord>(schema: TSchema, options?: CreateTestDrizzleDbOptions): Promise<TestDrizzleDb<TSchema>>;
|
|
60
|
+
/** D1's limit on bound parameters per statement. */
|
|
61
|
+
export declare const D1_PARAMETER_LIMIT = 100;
|
|
62
|
+
export interface D1TestDrizzleDb<TSchema extends DrizzleSchemaRecord> extends TestDrizzleDb<TSchema> {
|
|
63
|
+
/** The most parameters any statement bound, and the number of statements run. */
|
|
64
|
+
observed: {
|
|
65
|
+
maxParameters: number;
|
|
66
|
+
statements: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* An in-memory libsql DB with the limits D1 shares with it as a host: no
|
|
71
|
+
* interactive transaction callback (`db.transaction` throws), and a statement
|
|
72
|
+
* binding more than {@link D1_PARAMETER_LIMIT} parameters is refused. A store
|
|
73
|
+
* that passes here stays inside what a D1-backed Worker can run.
|
|
74
|
+
*/
|
|
75
|
+
export declare function createD1TestDrizzleDb<TSchema extends DrizzleSchemaRecord>(schema: TSchema, options?: CreateTestDrizzleDbOptions): Promise<D1TestDrizzleDb<TSchema>>;
|
|
60
76
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/adapters/drizzle/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAgB,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/adapters/drizzle/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAoB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,mBAAmB;IACjE,iFAAiF;IACjF,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5B,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,SAAS,mBAAmB,EAC5E,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAajC;AAED,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,mBAAmB,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAC;IACnG,iFAAiF;IACjF,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,SAAS,mBAAmB,EAC9E,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAkBnC"}
|
|
@@ -46,4 +46,32 @@ export async function createTestDrizzleDb(schema, options = {}) {
|
|
|
46
46
|
close: () => client.close()
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
/** D1's limit on bound parameters per statement. */
|
|
50
|
+
export const D1_PARAMETER_LIMIT = 100;
|
|
51
|
+
/**
|
|
52
|
+
* An in-memory libsql DB with the limits D1 shares with it as a host: no
|
|
53
|
+
* interactive transaction callback (`db.transaction` throws), and a statement
|
|
54
|
+
* binding more than {@link D1_PARAMETER_LIMIT} parameters is refused. A store
|
|
55
|
+
* that passes here stays inside what a D1-backed Worker can run.
|
|
56
|
+
*/
|
|
57
|
+
export async function createD1TestDrizzleDb(schema, options = {}) {
|
|
58
|
+
const test = await createTestDrizzleDb(schema, options);
|
|
59
|
+
const execute = test.client.execute.bind(test.client);
|
|
60
|
+
const observed = { maxParameters: 0, statements: 0 };
|
|
61
|
+
test.client.execute = (statement) => {
|
|
62
|
+
const args = statement instanceof Object ? statement.args : undefined;
|
|
63
|
+
const bound = args === undefined ? 0 : Array.isArray(args) ? args.length : Object.keys(args).length;
|
|
64
|
+
observed.statements += 1;
|
|
65
|
+
observed.maxParameters = Math.max(observed.maxParameters, bound);
|
|
66
|
+
if (bound > D1_PARAMETER_LIMIT)
|
|
67
|
+
throw new Error(`D1 refuses a statement binding ${bound} parameters (limit ${D1_PARAMETER_LIMIT})`);
|
|
68
|
+
return execute(statement);
|
|
69
|
+
};
|
|
70
|
+
Object.assign(test.db, {
|
|
71
|
+
transaction: () => {
|
|
72
|
+
throw new Error('D1 has no interactive transaction');
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return { ...test, observed };
|
|
76
|
+
}
|
|
49
77
|
//# sourceMappingURL=test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/adapters/drizzle/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/adapters/drizzle/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAuB,MAAM,oBAAoB,CAAC;AA2BlE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAe,EACf,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GACf,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3F,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO;QACN,EAAE;QACF,MAAM;QACN,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;KAC3B,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAOtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAAe,EACf,UAAsC,EAAE;IAExC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,SAAsB,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,SAAS,YAAY,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACpG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,sBAAsB,kBAAkB,GAAG,CAAC,CAAC;QACpI,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;QACtB,WAAW,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;KACD,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.sync.migrate.cli-command.descriptor.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,QAAA,MAAM,UAAU,EAAE,yBAyBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const descriptor = {
|
|
2
|
+
kind: 'cli/command',
|
|
3
|
+
id: 'storage.sync.migrate',
|
|
4
|
+
name: 'migrate',
|
|
5
|
+
description: 'Move a storage manifest document between local adapters',
|
|
6
|
+
group: 'storage.sync',
|
|
7
|
+
arguments: [
|
|
8
|
+
{
|
|
9
|
+
name: 'manifest-id',
|
|
10
|
+
description: 'Manifest ID to migrate',
|
|
11
|
+
required: true,
|
|
12
|
+
variadic: false
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
options: [
|
|
16
|
+
{ flags: '--from <adapter>', description: 'Source adapter (auto-detected when omitted)' },
|
|
17
|
+
{ flags: '--to <adapter>', description: "Target adapter (default: the manifest's selected adapter)" },
|
|
18
|
+
{ flags: '--force', description: 'Overwrite a non-empty target' },
|
|
19
|
+
{ flags: '--dry-run', description: 'Report the source and target without writing' },
|
|
20
|
+
{ flags: '--json', description: 'Output result as JSON' }
|
|
21
|
+
],
|
|
22
|
+
aliases: [],
|
|
23
|
+
surfaces: ['cli'],
|
|
24
|
+
hardware: ['consumer'],
|
|
25
|
+
enabled: true
|
|
26
|
+
};
|
|
27
|
+
export default descriptor;
|
|
28
|
+
//# sourceMappingURL=storage.sync.migrate.cli-command.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.sync.migrate.cli-command.descriptor.js","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA8B;IAC7C,IAAI,EAAE,aAAa;IACnB,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,yDAAyD;IACtE,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE;QACV;YACC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;SACf;KACD;IACD,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,6CAA6C,EAAE;QACzF,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,2DAA2D,EAAE;QACrG,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE;QACjE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,8CAA8C,EAAE;QACnF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;KACzD;IACD,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vibes storage sync migrate <manifest-id>
|
|
3
|
+
*
|
|
4
|
+
* Moves one manifest document between the adapters the manifest allows. The
|
|
5
|
+
* source and target are read and written through the manifest's own schema;
|
|
6
|
+
* a non-empty target is preserved unless --force is set. The source is never
|
|
7
|
+
* deleted. With no --from, the only non-empty local source is used.
|
|
8
|
+
*/
|
|
9
|
+
import type { CommandContext } from '@vibesdotdev/cli-contracts';
|
|
10
|
+
import * as z from 'zod/v4';
|
|
11
|
+
declare const MigrateArgsSchema: z.ZodObject<{
|
|
12
|
+
'manifest-id': z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
declare const MigrateOptionsSchema: z.ZodObject<{
|
|
15
|
+
from: z.ZodOptional<z.ZodString>;
|
|
16
|
+
to: z.ZodOptional<z.ZodString>;
|
|
17
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
json: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
format: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
declare const _default: {
|
|
23
|
+
execute(args: z.input<typeof MigrateArgsSchema>, opts: z.input<typeof MigrateOptionsSchema>, context: CommandContext): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
export default _default;
|
|
26
|
+
//# sourceMappingURL=storage.sync.migrate.cli-command.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.sync.migrate.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAU5B,QAAA,MAAM,iBAAiB;;iBAAiD,CAAC;AACzE,QAAA,MAAM,oBAAoB;;;;;;;iBAOxB,CAAC;;kBAUK,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,QACjC,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,WACjC,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;;AALjB,wBAgEE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vibes storage sync migrate <manifest-id>
|
|
3
|
+
*
|
|
4
|
+
* Moves one manifest document between the adapters the manifest allows. The
|
|
5
|
+
* source and target are read and written through the manifest's own schema;
|
|
6
|
+
* a non-empty target is preserved unless --force is set. The source is never
|
|
7
|
+
* deleted. With no --from, the only non-empty local source is used.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { CapabilityError, CaughtFailureSchema } from '@vibesdotdev/kernel';
|
|
11
|
+
import { StorageManifest } from "../../../../manifest/base.js";
|
|
12
|
+
import { ManifestMigrationResultSchema } from "../../../../schemas/manifest-migration.js";
|
|
13
|
+
const MigrateArgsSchema = z.object({ 'manifest-id': z.string().min(1) });
|
|
14
|
+
const MigrateOptionsSchema = z.object({
|
|
15
|
+
from: z.string().optional(),
|
|
16
|
+
to: z.string().optional(),
|
|
17
|
+
force: z.boolean().optional(),
|
|
18
|
+
dryRun: z.boolean().optional(),
|
|
19
|
+
json: z.boolean().optional(),
|
|
20
|
+
format: z.string().optional()
|
|
21
|
+
});
|
|
22
|
+
/** Accept the short config spelling (`json`) and the adapter id (`storage.json`). */
|
|
23
|
+
function adapterId(value) {
|
|
24
|
+
const trimmed = value.trim();
|
|
25
|
+
return trimmed.startsWith('storage.') ? trimmed : `storage.${trimmed}`;
|
|
26
|
+
}
|
|
27
|
+
export default {
|
|
28
|
+
async execute(args, opts, context) {
|
|
29
|
+
const runtime = context.runtime;
|
|
30
|
+
const ui = await runtime.context('cli/ui');
|
|
31
|
+
const manifestId = MigrateArgsSchema.parse(args)['manifest-id'];
|
|
32
|
+
const options = MigrateOptionsSchema.parse(opts);
|
|
33
|
+
const asJson = options.json === true || options.format === 'json';
|
|
34
|
+
try {
|
|
35
|
+
const descriptor = runtime
|
|
36
|
+
.query('storage/manifest')
|
|
37
|
+
.withId(manifestId)
|
|
38
|
+
.enabled()
|
|
39
|
+
.descriptors()[0];
|
|
40
|
+
if (!descriptor) {
|
|
41
|
+
throw new CapabilityError(`Storage manifest '${manifestId}' is not registered on this runtime.`, 'NOT_FOUND', { reason: 'storage-manifest-not-registered', details: { manifestId } });
|
|
42
|
+
}
|
|
43
|
+
const manifest = await runtime
|
|
44
|
+
.query('storage/manifest')
|
|
45
|
+
.withId(manifestId)
|
|
46
|
+
.resolve();
|
|
47
|
+
if (!(manifest instanceof StorageManifest)) {
|
|
48
|
+
throw new CapabilityError(`Storage manifest '${manifestId}' does not implement adapter migration.`, 'UNAVAILABLE', { reason: 'storage-migration-unsupported', details: { manifestId } });
|
|
49
|
+
}
|
|
50
|
+
const selected = await manifest.documentIdentity();
|
|
51
|
+
const to = options.to ? adapterId(options.to) : selected.adapterId;
|
|
52
|
+
const migration = {};
|
|
53
|
+
if (options.from)
|
|
54
|
+
migration.fromAdapterId = adapterId(options.from);
|
|
55
|
+
if (options.force)
|
|
56
|
+
migration.force = true;
|
|
57
|
+
if (options.dryRun)
|
|
58
|
+
migration.dryRun = true;
|
|
59
|
+
const result = await manifest.migrateToAdapter(to, migration);
|
|
60
|
+
if (asJson) {
|
|
61
|
+
ui.render(ManifestMigrationResultSchema.parse(result), { format: 'json' });
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (result.action === 'migrated') {
|
|
65
|
+
ui.success(result.message ?? `Migrated ${manifestId}.`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
ui.info(result.message ?? `No migration needed for ${manifestId}.`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (error instanceof CapabilityError)
|
|
73
|
+
throw error;
|
|
74
|
+
// The failure travels as cause; its text can carry an adapter body or URL.
|
|
75
|
+
throw new CapabilityError('The storage manifest could not be migrated.', 'INTERNAL', {
|
|
76
|
+
reason: 'storage-migration-failed',
|
|
77
|
+
cause: CaughtFailureSchema.parse(error)
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=storage.sync.migrate.cli-command.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.sync.migrate.cli-command.impl.js","sourceRoot":"","sources":["../../../../../src/cli/commands/sync/migrate/storage.sync.migrate.cli-command.impl.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,eAAO,MAAM,gBAAgB,6CA0C3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
package/dist/cli/plugin.js
CHANGED
|
@@ -20,12 +20,13 @@ import storageList from "./commands/list/storage.list.cli-command.descriptor.js"
|
|
|
20
20
|
import storageSyncPull from "./commands/sync/pull/storage.sync.pull.cli-command.descriptor.js";
|
|
21
21
|
import storageSyncPush from "./commands/sync/push/storage.sync.push.cli-command.descriptor.js";
|
|
22
22
|
import storageSyncResolve from "./commands/sync/resolve/storage.sync.resolve.cli-command.descriptor.js";
|
|
23
|
+
import storageSyncMigrate from "./commands/sync/migrate/storage.sync.migrate.cli-command.descriptor.js";
|
|
23
24
|
import storageSyncStatus from "./commands/sync/status/storage.sync.status.cli-command.descriptor.js";
|
|
24
25
|
const CLI_COMMAND = { kind: 'cli/command' };
|
|
25
26
|
export const storageCliPlugin = createRuntimePlugin({
|
|
26
27
|
id: 'storage.cli',
|
|
27
28
|
name: 'Storage CLI Surface',
|
|
28
|
-
description: '`vibes storage list` + `vibes storage sync {pull,push,status,resolve}` — consumer/CLI scope only',
|
|
29
|
+
description: '`vibes storage list` + `vibes storage sync {pull,push,status,resolve,migrate}` — consumer/CLI scope only',
|
|
29
30
|
dependencies: ['cli', 'storage'],
|
|
30
31
|
descriptors: [
|
|
31
32
|
storageGroup,
|
|
@@ -34,6 +35,7 @@ export const storageCliPlugin = createRuntimePlugin({
|
|
|
34
35
|
storageSyncPull,
|
|
35
36
|
storageSyncPush,
|
|
36
37
|
storageSyncResolve,
|
|
38
|
+
storageSyncMigrate,
|
|
37
39
|
storageSyncStatus
|
|
38
40
|
],
|
|
39
41
|
async onRegister(runtime) {
|
|
@@ -44,7 +46,8 @@ export const storageCliPlugin = createRuntimePlugin({
|
|
|
44
46
|
loader('storage.sync.push', CLI_COMMAND, () => import("./commands/sync/push/storage.sync.push.cli-command.impl.js")),
|
|
45
47
|
loader('storage.sync.pull', CLI_COMMAND, () => import("./commands/sync/pull/storage.sync.pull.cli-command.impl.js")),
|
|
46
48
|
loader('storage.sync.status', CLI_COMMAND, () => import("./commands/sync/status/storage.sync.status.cli-command.impl.js")),
|
|
47
|
-
loader('storage.sync.resolve', CLI_COMMAND, () => import("./commands/sync/resolve/storage.sync.resolve.cli-command.impl.js"))
|
|
49
|
+
loader('storage.sync.resolve', CLI_COMMAND, () => import("./commands/sync/resolve/storage.sync.resolve.cli-command.impl.js")),
|
|
50
|
+
loader('storage.sync.migrate', CLI_COMMAND, () => import("./commands/sync/migrate/storage.sync.migrate.cli-command.impl.js"))
|
|
48
51
|
]
|
|
49
52
|
});
|
|
50
53
|
export default storageCliPlugin;
|
package/dist/cli/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,WAAW,MAAM,wDAAwD,CAAC;AACjF,OAAO,eAAe,MAAM,kEAAkE,CAAC;AAC/F,OAAO,eAAe,MAAM,kEAAkE,CAAC;AAC/F,OAAO,kBAAkB,MAAM,wEAAwE,CAAC;AACxG,OAAO,iBAAiB,MAAM,sEAAsE,CAAC;AAErG,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,aAAa,EAAW,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;IACnD,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACV,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,WAAW,MAAM,wDAAwD,CAAC;AACjF,OAAO,eAAe,MAAM,kEAAkE,CAAC;AAC/F,OAAO,eAAe,MAAM,kEAAkE,CAAC;AAC/F,OAAO,kBAAkB,MAAM,wEAAwE,CAAC;AACxG,OAAO,kBAAkB,MAAM,wEAAwE,CAAC;AACxG,OAAO,iBAAiB,MAAM,sEAAsE,CAAC;AAErG,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,aAAa,EAAW,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;IACnD,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACV,0GAA0G;IAC3G,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;IAEhC,WAAW,EAAE;QACZ,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;KACjB;IAED,KAAK,CAAC,UAAU,CAAC,OAAO;QACvB,MAAM,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAE;QACR,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,CACxC,MAAM,CAAC,kDAAkD,CAAC,CAC1D;QACD,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,CAC7C,MAAM,CAAC,4DAA4D,CAAC,CACpE;QACD,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,CAC7C,MAAM,CAAC,4DAA4D,CAAC,CACpE;QACD,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,CAC/C,MAAM,CAAC,gEAAgE,CAAC,CACxE;QACD,MAAM,CAAC,sBAAsB,EAAE,WAAW,EAAE,GAAG,EAAE,CAChD,MAAM,CAAC,kEAAkE,CAAC,CAC1E;QACD,MAAM,CAAC,sBAAsB,EAAE,WAAW,EAAE,GAAG,EAAE,CAChD,MAAM,CAAC,kEAAkE,CAAC,CAC1E;KACD;CACD,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -2,7 +2,7 @@ const descriptor = {
|
|
|
2
2
|
kind: 'cli/group',
|
|
3
3
|
id: 'storage.sync',
|
|
4
4
|
name: 'sync',
|
|
5
|
-
description: 'Cloud synchronization for storage manifests',
|
|
5
|
+
description: 'Cloud synchronization and local adapter migration for storage manifests',
|
|
6
6
|
parent: 'storage',
|
|
7
7
|
surfaces: ['cli'],
|
|
8
8
|
hardware: ['consumer'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.sync.cli-group.descriptor.js","sourceRoot":"","sources":["../../src/cli/storage.sync.cli-group.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA4B;IAC3C,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.sync.cli-group.descriptor.js","sourceRoot":"","sources":["../../src/cli/storage.sync.cli-group.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA4B;IAC3C,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yEAAyE;IACtF,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.docs.descriptor.d.ts","sourceRoot":"","sources":["../../src/docs/sync.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.docs.descriptor.d.ts","sourceRoot":"","sources":["../../src/docs/sync.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,mBAqSjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -147,10 +147,37 @@ vibes storage sync resolve <manifest-id> --keep <local|remote> [--json]
|
|
|
147
147
|
|
|
148
148
|
There is no automatic merge: every conflict needs this explicit choice.
|
|
149
149
|
|
|
150
|
+
### Migrate Between Local Adapters
|
|
151
|
+
|
|
152
|
+
\`\`\`bash
|
|
153
|
+
vibes storage sync migrate <manifest-id> [--from <adapter>] [--to <adapter>] [--force] [--dry-run] [--json]
|
|
154
|
+
\`\`\`
|
|
155
|
+
|
|
156
|
+
Moves one manifest document between adapters the manifest allows. The source is
|
|
157
|
+
read through the manifest's own schema and the target write is read back, so a
|
|
158
|
+
migration is a real storage operation, not a file copy.
|
|
159
|
+
|
|
160
|
+
- \`--to\` defaults to the manifest's selected adapter.
|
|
161
|
+
- \`--from\` defaults to the only non-empty local source; two non-empty sources
|
|
162
|
+
refuse and require an explicit choice.
|
|
163
|
+
- A non-empty target is skipped unless \`--force\` is set.
|
|
164
|
+
- The source document is never deleted.
|
|
165
|
+
|
|
166
|
+
A \`storage/manifest\` may also declare \`migrationSources\`. Before its first
|
|
167
|
+
read or write, Storage copies the one non-empty declared source into an empty
|
|
168
|
+
selected adapter. That makes a default-adapter change safe for existing data;
|
|
169
|
+
it never overwrites a non-empty selected adapter.
|
|
170
|
+
|
|
171
|
+
The scheduled \`maintenance.storage-sync\` job runs the same declared-source
|
|
172
|
+
sweep before cloud sync, even when cloud sync has no targets. A receipt in
|
|
173
|
+
\`storage/sync-state\` records the selected adapter per manifest, so a stable
|
|
174
|
+
store costs no document read on the next run.
|
|
175
|
+
|
|
150
176
|
Machine contract for pull/push (\`--json\` / \`--format json\`): stdout is a
|
|
151
177
|
single JSON document (a results array, or the \`CapabilityError\` envelope on
|
|
152
178
|
failure) and the exit is non-zero when any target reports error or conflict,
|
|
153
|
-
including dry runs.
|
|
179
|
+
including dry runs. \`sync migrate --json\` emits one
|
|
180
|
+
\`ManifestMigrationResult\` document.
|
|
154
181
|
|
|
155
182
|
## Cloud-API Adapter
|
|
156
183
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/sync.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACvC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,qEAAqE;IAC9E,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"sync.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/sync.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACvC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,qEAAqE;IAC9E,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqRT;KACC;IACD,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC;IACrE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/dist/manifest/base.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export { FilesystemDocumentIdentitySchema, LogicalDocumentIdentitySchema, Select
|
|
|
15
15
|
import type { DocumentRevisionAccess } from '../schemas/document-revision.ts';
|
|
16
16
|
import type { StorageBasePathSemantics } from '../schemas/adapter-descriptor.ts';
|
|
17
17
|
import { type StorageManifestDescriptor } from '../schemas/manifest-descriptor.ts';
|
|
18
|
+
import { type ManifestMigrationOptions, type ManifestMigrationResult } from '../schemas/manifest-migration.ts';
|
|
18
19
|
import type { StorageDocumentStoreInterface, StorageLoadOptions, Unsubscribe } from '../interfaces/document-store.ts';
|
|
19
20
|
import { type PathRoots } from '@vibesdotdev/paths';
|
|
20
21
|
/** The adapter configuration a manifest hands its adapter: runtime, paths, and the descriptor's adapter-specific options. */
|
|
@@ -67,6 +68,8 @@ export declare class StorageManifest<T> {
|
|
|
67
68
|
private resolved;
|
|
68
69
|
private cachedData;
|
|
69
70
|
private cacheValid;
|
|
71
|
+
/** Declared source imports run once per manifest instance, before the first read or write. */
|
|
72
|
+
private declaredMigration;
|
|
70
73
|
private subscribers;
|
|
71
74
|
private storeUnsubscribe;
|
|
72
75
|
private subscriptionStarted;
|
|
@@ -150,6 +153,39 @@ export declare class StorageManifest<T> {
|
|
|
150
153
|
* Check if data is currently cached.
|
|
151
154
|
*/
|
|
152
155
|
isCached(): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Move this manifest's document from one allowed adapter to another. The
|
|
158
|
+
* source is read through the manifest's own schema and the target write is
|
|
159
|
+
* read back, so a migration is a real storage operation, not a file copy.
|
|
160
|
+
*
|
|
161
|
+
* A non-empty target is left alone unless `force` is set. With no
|
|
162
|
+
* `fromAdapterId`, the only non-empty local source is selected; two
|
|
163
|
+
* non-empty sources refuse rather than picking one. The source is never
|
|
164
|
+
* deleted.
|
|
165
|
+
*/
|
|
166
|
+
migrateToAdapter(toAdapterId: string, rawOptions?: ManifestMigrationOptions): Promise<ManifestMigrationResult>;
|
|
167
|
+
/**
|
|
168
|
+
* Run this manifest's declared `migrationSources` check for its selected
|
|
169
|
+
* adapter. `null` means the manifest declares no sources or selects a
|
|
170
|
+
* non-local adapter. A stable or already-migrated store reports `skipped`;
|
|
171
|
+
* a migrated store reports `migrated` (or `dry-run`). Callable repeatedly.
|
|
172
|
+
*/
|
|
173
|
+
migrateDeclaredSources(rawOptions?: {
|
|
174
|
+
dryRun?: boolean;
|
|
175
|
+
}): Promise<ManifestMigrationResult | null>;
|
|
176
|
+
/**
|
|
177
|
+
* Before the first read or write, honor `migrationSources`: when the
|
|
178
|
+
* selected adapter is empty and exactly one declared source holds a
|
|
179
|
+
* document, copy it once. This is what makes a default-adapter change safe
|
|
180
|
+
* for existing data; it never overwrites a non-empty selected adapter.
|
|
181
|
+
*/
|
|
182
|
+
private ensureDeclaredMigration;
|
|
183
|
+
private runDeclaredMigration;
|
|
184
|
+
/** A manifest of this same shape forced onto one adapter, with migration disabled. */
|
|
185
|
+
private storageDescriptorForAdapter;
|
|
186
|
+
private readAdapterDocument;
|
|
187
|
+
private writeAdapterDocument;
|
|
188
|
+
private adapterOffered;
|
|
153
189
|
/**
|
|
154
190
|
* Resolve the adapter and open a document store for it **atomically**.
|
|
155
191
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/manifest/base.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAmC,KAAK,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACpH,OAAO,KAAK,EAEX,6BAA6B,EAC7B,kBAAkB,EAClB,WAAW,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA2BlE,6HAA6H;AAC7H,OAAO,KAAK,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAClG,YAAY,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AASlG,6EAA6E;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,6DAA6D;AAC7D,OAAO,KAAK,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAClG,YAAY,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAqBlG,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAG,yBAAyB,CAAC;IACjD,SAAS,CAAC,OAAO,EAAG,WAAW,CAAC;IAChC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,wBAAwB,CAAsC;IAGtE,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAS;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/manifest/base.ts"],"names":[],"mappings":"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"}
|