@marinoscar/platform-web 0.1.0-next.26 → 0.1.0-next.27

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @marinoscar/platform-web
2
2
 
3
+ ## 0.1.0-next.27
4
+
5
+ ### Minor Changes
6
+
7
+ - 3c48c78: Add copy-only storage provider migration (#1093). An administrator starts a run from one storage driver to another (`POST /api/admin/storage/migrations`, `storage_config:write`; list, get and cancel need `storage_config:read` / `storage_config:write`); every `ready` object recorded on the source is copied by streaming, verified (byte count and sha256 of the bytes read back from the target), and only then repointed, while the source object is left in place as a fallback. Platform migration `0042_add_storage_migrations` adds `storage_migration_runs` and `storage_migration_items` (both under forced row-level security on `org_id`; an item links to its object by the composite `(object_id, org_id)` key) and the raw-SQL partial unique index `storage_migration_runs_active_uniq_idx`, so at most one run is pending or running (a second start is a 409 naming `details.activeRunId`). Two server-only job types do the work: `storage.migrate_plan` (one per run, lists the objects and queues them, resumable) and `storage.migrate_object` (one per object, `skipDedup`, background priority). A cancelled run stops before its next unclaimed object, and a re-run skips objects already on the target. The contract gains the run wire shapes, and `StorageConfigPage` gains a migration panel with live progress and run history.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [3c48c78]
12
+ - @marinoscar/platform-contract@0.1.0-next.27
13
+
3
14
  ## 0.1.0-next.26
4
15
 
5
16
  ### Minor Changes
@@ -4,4 +4,8 @@ export { BUILTIN_STORAGE_PROVIDER_KINDS, MISSING_STORAGE_CONFIG_FIELDS, STORAGE_
4
4
  export type { BuiltinStorageProviderKind, GuidedBucketInstructions, MissingStorageConfigField, StorageBucketOutcome, StorageBucketProvisionResult, StorageBucketStep, StorageBucketStepId, StorageBucketStepStatus, StorageConfigClient, StorageConfigInput, StorageConfigView, StorageConnectionCheck, StorageConnectionTestResult, StorageDriverSettings, StorageLocation, StorageLocationInUseDetails, StorageProviderKind, StorageSecretStatus, StorageTestCheckCode, StorageTestCheckId, StorageTestCheckStatus, } from './storage-config.js';
5
5
  export { StorageObjectNotReadyError, createStorageObjectsClient } from './objects-client.js';
6
6
  export type { StorageDownloadUrl, StorageObject, StorageObjectStatus, StorageObjectsClient, StorageObjectsTransport, WaitForReadyOptions, } from './objects-client.js';
7
+ export { useStorageMigrations } from './use-storage-migrations.js';
8
+ export type { UseStorageMigrationsOptions, UseStorageMigrationsReturn } from './use-storage-migrations.js';
9
+ export { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES, createStorageMigrationsClient, isActiveStorageMigration, } from './storage-migrations.js';
10
+ export type { StartStorageMigrationInput, StorageMigrationRun, StorageMigrationRunList, StorageMigrationRunStatusName, StorageMigrationsClient, } from './storage-migrations.js';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/headless/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/headless/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EACL,qCAAqC,EACrC,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC"}
@@ -6,4 +6,6 @@
6
6
  export { useStorageConfig } from './use-storage-config.js';
7
7
  export { BUILTIN_STORAGE_PROVIDER_KINDS, MISSING_STORAGE_CONFIG_FIELDS, STORAGE_BUCKET_OUTCOMES, STORAGE_BUCKET_STEP_IDS, STORAGE_BUCKET_STEP_STATUSES, STORAGE_DRIVER_ID_PATTERN, STORAGE_LOCATION_IN_USE_CODE, STORAGE_PROVIDER_KINDS, STORAGE_SWITCH_CONFIRMATION, STORAGE_TEST_CHECK_CODES, STORAGE_TEST_CHECK_IDS, STORAGE_TEST_CHECK_STATUSES, createStorageConfigClient, reportsBucketMissing, } from './storage-config.js';
8
8
  export { StorageObjectNotReadyError, createStorageObjectsClient } from './objects-client.js';
9
+ export { useStorageMigrations } from './use-storage-migrations.js';
10
+ export { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES, createStorageMigrationsClient, isActiveStorageMigration, } from './storage-migrations.js';
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/headless/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,qEAAqE;AACrE,gBAAgB;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAwB7B,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/headless/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,qEAAqE;AACrE,gBAAgB;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAwB7B,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAS7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EACL,qCAAqC,EACrC,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The `/api/admin/storage/migrations` client (issue #1093): start, list, read
3
+ * and cancel a copy-only storage provider migration.
4
+ */
5
+ import { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES } from '@marinoscar/platform-contract/storage';
6
+ import type { StartStorageMigrationInput, StorageMigrationRun, StorageMigrationRunList, StorageMigrationRunStatusName } from '@marinoscar/platform-contract/storage';
7
+ import type { PlatformApiClient } from '../../core/index.js';
8
+ export { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES };
9
+ export type { StartStorageMigrationInput, StorageMigrationRun, StorageMigrationRunList, StorageMigrationRunStatusName };
10
+ /**
11
+ * Whether a run still holds the one active slot (pending or running): the page polls while one does.
12
+ *
13
+ * @param run - a run, or nothing.
14
+ * @returns true for `pending` and `running`.
15
+ *
16
+ * @stability experimental
17
+ */
18
+ export declare function isActiveStorageMigration(run: Pick<StorageMigrationRun, 'status'> | null | undefined): boolean;
19
+ /**
20
+ * The four calls of the migration admin routes.
21
+ *
22
+ * @stability experimental
23
+ */
24
+ export interface StorageMigrationsClient {
25
+ /** `POST`: start a run (409 with `details.activeRunId` when one is active). */
26
+ start(input: StartStorageMigrationInput): Promise<StorageMigrationRun>;
27
+ /** `GET`: one page of runs, newest first. */
28
+ list(query?: {
29
+ page?: number;
30
+ pageSize?: number;
31
+ }): Promise<StorageMigrationRunList>;
32
+ /** `GET /:runId`: one run with live counts. */
33
+ get(runId: string): Promise<StorageMigrationRun>;
34
+ /** `POST /:runId/cancel`. */
35
+ cancel(runId: string): Promise<StorageMigrationRun>;
36
+ }
37
+ /**
38
+ * The migration client over the host's transport.
39
+ *
40
+ * @param api - the transport.
41
+ * @returns the client.
42
+ *
43
+ * @stability experimental
44
+ */
45
+ export declare function createStorageMigrationsClient(api: PlatformApiClient): StorageMigrationsClient;
46
+ //# sourceMappingURL=storage-migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-migrations.d.ts","sourceRoot":"","sources":["../../../src/storage/headless/storage-migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,qCAAqC,EACrC,8BAA8B,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,qCAAqC,EAAE,8BAA8B,EAAE,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,CAAC;AAIxH;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE7G;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,KAAK,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvE,6CAA6C;IAC7C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrF,+CAA+C;IAC/C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,6BAA6B;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrD;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,iBAAiB,GAAG,uBAAuB,CAQ7F"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The `/api/admin/storage/migrations` client (issue #1093): start, list, read
3
+ * and cancel a copy-only storage provider migration.
4
+ */
5
+ import { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES, } from '@marinoscar/platform-contract/storage';
6
+ export { STORAGE_MIGRATION_ACTIVE_RUN_STATUSES, STORAGE_MIGRATION_RUN_STATUSES };
7
+ const BASE = '/admin/storage/migrations';
8
+ /**
9
+ * Whether a run still holds the one active slot (pending or running): the page polls while one does.
10
+ *
11
+ * @param run - a run, or nothing.
12
+ * @returns true for `pending` and `running`.
13
+ *
14
+ * @stability experimental
15
+ */
16
+ export function isActiveStorageMigration(run) {
17
+ return !!run && STORAGE_MIGRATION_ACTIVE_RUN_STATUSES.includes(run.status);
18
+ }
19
+ /**
20
+ * The migration client over the host's transport.
21
+ *
22
+ * @param api - the transport.
23
+ * @returns the client.
24
+ *
25
+ * @stability experimental
26
+ */
27
+ export function createStorageMigrationsClient(api) {
28
+ return {
29
+ start: (input) => api.post(BASE, input),
30
+ list: (query = {}) => api.get(`${BASE}?page=${query.page ?? 1}&pageSize=${query.pageSize ?? 10}`),
31
+ get: (runId) => api.get(`${BASE}/${encodeURIComponent(runId)}`),
32
+ cancel: (runId) => api.post(`${BASE}/${encodeURIComponent(runId)}/cancel`),
33
+ };
34
+ }
35
+ //# sourceMappingURL=storage-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-migrations.js","sourceRoot":"","sources":["../../../src/storage/headless/storage-migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,qCAAqC,EACrC,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAU/C,OAAO,EAAE,qCAAqC,EAAE,8BAA8B,EAAE,CAAC;AAGjF,MAAM,IAAI,GAAG,2BAA2B,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA2D;IAClG,OAAO,CAAC,CAAC,GAAG,IAAK,qCAA2D,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpG,CAAC;AAkBD;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAsB;IAClE,OAAO;QACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAsB,IAAI,EAAE,KAAK,CAAC;QAC5D,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CACnB,GAAG,CAAC,GAAG,CAA0B,GAAG,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACtG,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAsB,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAsB,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;KAChG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Start, follow and cancel copy-only storage provider migrations (issue #1093).
3
+ *
4
+ * The house hook contract (`useStorageConfig`): every action resolves
5
+ * `true`/`false` rather than throwing, the error is captured for rendering, and
6
+ * every `setState` past an `await` is guarded by a mounted check.
7
+ *
8
+ * LIVE PROGRESS: while the newest run is pending or running the hook re-reads
9
+ * the run history every `pollMs` (2 s by default) and stops as soon as no run
10
+ * is active, so an idle page makes no requests.
11
+ *
12
+ * ⚠ A 409 ON START IS NOT A FAILURE TO DECODE: another run holds the one active
13
+ * slot. The hook names it (`details.activeRunId`) and reloads the history so the
14
+ * page shows that run's progress instead of an error.
15
+ */
16
+ import type { PlatformApiClient } from '../../core/index.js';
17
+ import type { StartStorageMigrationInput, StorageMigrationRun } from './storage-migrations.js';
18
+ /**
19
+ * Options of {@link useStorageMigrations}.
20
+ *
21
+ * @stability experimental
22
+ */
23
+ export interface UseStorageMigrationsOptions {
24
+ /** The transport. Default: the `PlatformHostProvider`'s. */
25
+ api?: PlatformApiClient;
26
+ /** How often to re-read while a run is active, in ms. Default 2000. */
27
+ pollMs?: number;
28
+ }
29
+ /**
30
+ * What {@link useStorageMigrations} returns.
31
+ *
32
+ * @stability experimental
33
+ */
34
+ export interface UseStorageMigrationsReturn {
35
+ /** The newest runs (history), newest first. */
36
+ runs: StorageMigrationRun[];
37
+ /** The pending or running run, when there is one. */
38
+ activeRun: StorageMigrationRun | null;
39
+ /** Whether the first load is in flight. */
40
+ isLoading: boolean;
41
+ /** Failure to load the history. */
42
+ loadError: string | null;
43
+ /** Whether a start or cancel is in flight. */
44
+ isWorking: boolean;
45
+ /** Why the last start or cancel did not land. */
46
+ actionError: string | null;
47
+ /** Clears `actionError`. */
48
+ clearActionError: () => void;
49
+ /** Starts a run. Resolves `true` when it started. */
50
+ start: (input: StartStorageMigrationInput) => Promise<boolean>;
51
+ /** Cancels a run. Resolves `true` when it was cancelled. */
52
+ cancel: (runId: string) => Promise<boolean>;
53
+ /** Reloads the history. */
54
+ refresh: () => Promise<void>;
55
+ }
56
+ /**
57
+ * Loads the migration history, polls while a run is active, and starts or cancels runs (`storage_config:read` to load, `storage_config:write` to act).
58
+ *
59
+ * @param options - the transport and the poll interval.
60
+ * @returns the runs, the flags and the actions.
61
+ * @throws Error when there is neither a host nor an `api` option.
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * const { activeRun, start, cancel } = useStorageMigrations();
66
+ * ```
67
+ *
68
+ * @extensionPoint hook
69
+ * @stability experimental
70
+ */
71
+ export declare function useStorageMigrations(options?: UseStorageMigrationsOptions): UseStorageMigrationsReturn;
72
+ //# sourceMappingURL=use-storage-migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-storage-migrations.d.ts","sourceRoot":"","sources":["../../../src/storage/headless/use-storage-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE/F;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4DAA4D;IAC5D,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,+CAA+C;IAC/C,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,qDAAqD;IACrD,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,qDAAqD;IACrD,KAAK,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,4DAA4D;IAC5D,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,2BAA2B;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,0BAA0B,CAoG1G"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Start, follow and cancel copy-only storage provider migrations (issue #1093).
3
+ *
4
+ * The house hook contract (`useStorageConfig`): every action resolves
5
+ * `true`/`false` rather than throwing, the error is captured for rendering, and
6
+ * every `setState` past an `await` is guarded by a mounted check.
7
+ *
8
+ * LIVE PROGRESS: while the newest run is pending or running the hook re-reads
9
+ * the run history every `pollMs` (2 s by default) and stops as soon as no run
10
+ * is active, so an idle page makes no requests.
11
+ *
12
+ * ⚠ A 409 ON START IS NOT A FAILURE TO DECODE: another run holds the one active
13
+ * slot. The hook names it (`details.activeRunId`) and reloads the history so the
14
+ * page shows that run's progress instead of an error.
15
+ */
16
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
17
+ import { isPlatformApiError, useOptionalPlatformHost } from '../../core/index.js';
18
+ import { createStorageMigrationsClient, isActiveStorageMigration } from './storage-migrations.js';
19
+ function messageFor(err, fallback) {
20
+ if (isPlatformApiError(err)) {
21
+ if (err.status === 403)
22
+ return 'You do not have permission to manage storage migrations';
23
+ return err.message || fallback;
24
+ }
25
+ return fallback;
26
+ }
27
+ /**
28
+ * Loads the migration history, polls while a run is active, and starts or cancels runs (`storage_config:read` to load, `storage_config:write` to act).
29
+ *
30
+ * @param options - the transport and the poll interval.
31
+ * @returns the runs, the flags and the actions.
32
+ * @throws Error when there is neither a host nor an `api` option.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const { activeRun, start, cancel } = useStorageMigrations();
37
+ * ```
38
+ *
39
+ * @extensionPoint hook
40
+ * @stability experimental
41
+ */
42
+ export function useStorageMigrations(options = {}) {
43
+ const host = useOptionalPlatformHost();
44
+ const api = options.api ?? host?.api;
45
+ if (!api) {
46
+ throw new Error('useStorageMigrations needs a transport: mount PlatformHostProvider (@marinoscar/platform-web/core) or pass { api }.');
47
+ }
48
+ const pollMs = options.pollMs ?? 2000;
49
+ const client = useMemo(() => createStorageMigrationsClient(api), [api]);
50
+ const [runs, setRuns] = useState([]);
51
+ const [isLoading, setIsLoading] = useState(true);
52
+ const [loadError, setLoadError] = useState(null);
53
+ const [isWorking, setIsWorking] = useState(false);
54
+ const [actionError, setActionError] = useState(null);
55
+ const mounted = useRef(true);
56
+ useEffect(() => {
57
+ mounted.current = true;
58
+ return () => {
59
+ mounted.current = false;
60
+ };
61
+ }, []);
62
+ const refresh = useCallback(async () => {
63
+ try {
64
+ const page = await client.list({ page: 1, pageSize: 10 });
65
+ if (mounted.current) {
66
+ setRuns(page.items);
67
+ setLoadError(null);
68
+ }
69
+ }
70
+ catch (err) {
71
+ if (mounted.current)
72
+ setLoadError(messageFor(err, 'Failed to load the storage migrations'));
73
+ }
74
+ finally {
75
+ if (mounted.current)
76
+ setIsLoading(false);
77
+ }
78
+ }, [client]);
79
+ useEffect(() => {
80
+ void refresh();
81
+ }, [refresh]);
82
+ const activeRun = runs.find((run) => isActiveStorageMigration(run)) ?? null;
83
+ // Poll only while a run is active; the effect re-arms when that changes.
84
+ useEffect(() => {
85
+ if (!activeRun)
86
+ return undefined;
87
+ const timer = setInterval(() => void refresh(), pollMs);
88
+ return () => clearInterval(timer);
89
+ }, [activeRun?.id, pollMs, refresh]);
90
+ const start = useCallback(async (input) => {
91
+ try {
92
+ setIsWorking(true);
93
+ setActionError(null);
94
+ await client.start(input);
95
+ await refresh();
96
+ return true;
97
+ }
98
+ catch (err) {
99
+ if (isPlatformApiError(err) && err.status === 409) {
100
+ const activeRunId = err.details?.activeRunId ?? null;
101
+ await refresh();
102
+ if (mounted.current) {
103
+ setActionError(`A storage migration is already in progress${activeRunId ? ` (run ${activeRunId})` : ''}; wait for it or cancel it first.`);
104
+ }
105
+ return false;
106
+ }
107
+ if (mounted.current)
108
+ setActionError(messageFor(err, 'The storage migration could not be started'));
109
+ return false;
110
+ }
111
+ finally {
112
+ if (mounted.current)
113
+ setIsWorking(false);
114
+ }
115
+ }, [client, refresh]);
116
+ const cancel = useCallback(async (runId) => {
117
+ try {
118
+ setIsWorking(true);
119
+ setActionError(null);
120
+ await client.cancel(runId);
121
+ await refresh();
122
+ return true;
123
+ }
124
+ catch (err) {
125
+ if (mounted.current)
126
+ setActionError(messageFor(err, 'The storage migration could not be cancelled'));
127
+ await refresh();
128
+ return false;
129
+ }
130
+ finally {
131
+ if (mounted.current)
132
+ setIsWorking(false);
133
+ }
134
+ }, [client, refresh]);
135
+ const clearActionError = useCallback(() => setActionError(null), []);
136
+ return { runs, activeRun, isLoading, loadError, isWorking, actionError, clearActionError, start, cancel, refresh };
137
+ }
138
+ //# sourceMappingURL=use-storage-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-storage-migrations.js","sourceRoot":"","sources":["../../../src/storage/headless/use-storage-migrations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StorageConfigPage.d.ts","sourceRoot":"","sources":["../../../src/storage/ui/StorageConfigPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAmCH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwPzD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,GAAE,sBAA2B,+BAyiB3E"}
1
+ {"version":3,"file":"StorageConfigPage.d.ts","sourceRoot":"","sources":["../../../src/storage/ui/StorageConfigPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAmCH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyPzD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,GAAE,sBAA2B,+BAmjB3E"}
@@ -71,6 +71,7 @@ import { registerBuiltinStorageDriverPanels } from './builtinStorageDriverPanels
71
71
  import { StorageGenericDriverPanel } from './StorageGenericDriverPanel.js';
72
72
  import { getStorageDriverPanel, getStorageDriverPanelValidator } from './storageDriverPanelRegistry.js';
73
73
  import { StorageSwitchConfirmDialog } from './StorageSwitchConfirmDialog.js';
74
+ import { StorageMigrationPanel } from './StorageMigrationPanel.js';
74
75
  // The three built-in drivers draw their bespoke panel through the same registry
75
76
  // an app uses (PP-14.7, #925); every other driver is drawn by
76
77
  // `StorageGenericDriverPanel` from its descriptor.
@@ -400,6 +401,6 @@ export default function StorageConfigPage(props = {}) {
400
401
  fontSize: '0.8125rem',
401
402
  whiteSpace: 'pre-wrap',
402
403
  wordBreak: 'break-word',
403
- }, children: step.error }))] })] }, step.id))) }), bucketResult.corsOrigin && (_jsxs(Typography, { variant: "body2", sx: { mt: 2 }, children: ["Browser uploads were allowed from ", _jsx("strong", { children: bucketResult.corsOrigin }), "."] }))] }))] }), _jsx(StorageSwitchConfirmDialog, { open: !!switchRequired, message: switchRequired?.message ?? '', details: switchRequired?.details ?? null, isWorking: isSaving, onConfirm: () => void handleConfirmSwitch(), onClose: clearSwitchRequired }), _jsx(Snackbar, { open: !!savedMessage, autoHideDuration: 3000, onClose: () => setSavedMessage(null), message: savedMessage })] }) }));
404
+ }, children: step.error }))] })] }, step.id))) }), bucketResult.corsOrigin && (_jsxs(Typography, { variant: "body2", sx: { mt: 2 }, children: ["Browser uploads were allowed from ", _jsx("strong", { children: bucketResult.corsOrigin }), "."] }))] })), config && (_jsx(StorageMigrationPanel, { drivers: descriptors.map((d) => ({ id: d.id, label: d.label })), activeProvider: config.provider, canWrite: canWrite }))] }), _jsx(StorageSwitchConfirmDialog, { open: !!switchRequired, message: switchRequired?.message ?? '', details: switchRequired?.details ?? null, isWorking: isSaving, onConfirm: () => void handleConfirmSwitch(), onClose: clearSwitchRequired }), _jsx(Snackbar, { open: !!savedMessage, autoHideDuration: 3000, onClose: () => setSavedMessage(null), message: savedMessage })] }) }));
404
405
  }
405
406
  //# sourceMappingURL=StorageConfigPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorageConfigPage.js","sourceRoot":"","sources":["../../../src/storage/ui/StorageConfigPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageConfigPage.js","sourceRoot":"","sources":["../../../src/storage/ui/StorageConfigPage.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,KAAK,EACL,UAAU,EACV,GAAG,EACH,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,2BAA2B,MAAM,6CAA6C,CAAC;AACtF,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AACxE,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/H,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAS9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,gFAAgF;AAChF,8DAA8D;AAC9D,mDAAmD;AACnD,kCAAkC,EAAE,CAAC;AAQrC,qGAAqG;AACrG,MAAM,sBAAsB,GAA2B;IACrD,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,eAAe;IACnB,YAAY,EAAE,8CAA8C;CAC7D,CAAC;AAEF,4FAA4F;AAC5F,SAAS,WAAW,CAAC,MAAyB;IAC5C,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IACjG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAyB;IAC9C,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACnF,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,gBAAgB;QACtB,EAAE;QACF,KAAK;QACL,MAAM,EAAE,EAAE;KACX,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,UAA2C,EAC3C,QAA2C;IAE3C,MAAM,GAAG,GAA0B,EAAE,GAAG,QAAQ,EAAE,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,QAA+B;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,4GAA4G;AAC5G,SAAS,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAoD;IAC/F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,8DAA8D;QAChE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAChB,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,aACtE,KAAC,UAAU,IAAC,OAAO,EAAC,WAAW,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAChD,KAAK,GACK,EACb,KAAC,OAAO,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,YAC/D,KAAC,UAAU,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,gBAAc,QAAQ,KAAK,EAAE,YACnF,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,SAAS,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG,CAC/C,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,QAAQ,EAAC,OAAO,GAAG,CACrC,GACU,GACL,IACJ,EACR,KAAC,KAAK,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,YAC1F,KAAC,UAAU,IACT,SAAS,EAAC,KAAK,iBACF,MAAM,EACnB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,YAE9E,KAAK,GACK,GACP,IACJ,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,SAAS,CAAC,KAA6B;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,0FAA0F,CAAC;QACpG,KAAK,kBAAkB;YACrB,OAAO,oKAAoK,CAAC;QAC9K,KAAK,wBAAwB;YAC3B,OAAO,iGAAiG,CAAC;QAC3G,KAAK,sBAAsB;YACzB,OAAO,kGAAkG,CAAC;QAC5G,KAAK,sBAAsB;YACzB,OAAO,0GAA0G,CAAC;QACpH,KAAK,gBAAgB;YACnB,OAAO,8EAA8E,CAAC;QACxF;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,KAAC,eAAe,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,GAAG;IAC5D,MAAM,EAAE,KAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,OAAO,GAAG;IAC3D,OAAO,EAAE,KAAC,uBAAuB,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,OAAO,GAAG;CAC9D,CAAC;AAEX;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,EAAE,KAAK,EAAqC;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAe,iBAAiB,KAAK,CAAC,EAAE,EAAE,aACxG,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAO,EACxD,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACnC,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAC/E,KAAC,UAAU,IAAC,OAAO,EAAC,WAAW,YAAE,KAAK,CAAC,KAAK,GAAc,EAC1D,KAAC,IAAI,IACH,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,KAAK,CAAC,IAAI,iBACJ,sBAAsB,KAAK,CAAC,EAAE,EAAE,EAC7C,KAAK,EACH,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAEzF,IACI,EACR,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,YAC/C,KAAK,CAAC,MAAM,GACF,EACZ,MAAM,IAAI,CACT,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,YACxC,MAAM,GACI,CACd,EAIA,KAAK,CAAC,KAAK,IAAI,CACd,KAAC,GAAG,IACF,SAAS,EAAC,KAAK,iBACF,uBAAuB,KAAK,CAAC,EAAE,EAAE,EAC9C,EAAE,EAAE;4BACF,CAAC,EAAE,CAAC;4BACJ,EAAE,EAAE,CAAC;4BACL,UAAU,EAAE,WAAW;4BACvB,QAAQ,EAAE,WAAW;4BACrB,UAAU,EAAE,UAAU;4BACtB,SAAS,EAAE,YAAY;yBACxB,YAEA,KAAK,CAAC,KAAK,GACR,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,mBAAmB,CAC1B,OAAgD;IAEhD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAA4D;IACrF,OAAO,EAAE,+BAA+B;IACxC,cAAc,EAAE,8CAA8C;IAC9D,OAAO,EAAE,qDAAqD;IAC9D,MAAM,EAAE,8DAA8D;IACtE,MAAM,EAAE,iCAAiC;CAC1C,CAAC;AAEF,iFAAiF;AACjF,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,iDAAiD;AACjD,MAAM,mBAAmB,GACvB,qHAAqH,CAAC;AA4BxH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,QAAgC,EAAE;IAC1E,kBAAkB,EAAE,CAAC,CAAC,8CAA8C;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC9C,MAAM,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,IAAI,EACJ,YAAY,GACb,GAAG,gBAAgB,EAAE,CAAC;IAEvB,yBAAyB;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,qGAAqG;IACrG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACxE,kFAAkF;IAClF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnF,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,2EAA2E;IAC3E,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAC,GAAG,EAAC,OAAO,SAAG,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAEvD,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,OAAO,CACL,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,YAC1D,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,GAAI,GAC1B,CACP,CAAC;IACJ,CAAC;IAED,iGAAiG;IACjG,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC;IACvE,MAAM,UAAU,GAAoC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjG,6EAA6E;IAC7E,MAAM,eAAe,GAAwB,UAAU,IAAI;QACzD,IAAI,EAAE,gBAAgB;QACtB,EAAE;QACF,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IACF,MAAM,cAAc,GAA0B,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,aAAa,GAA2B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAErE,MAAM,SAAS,GAAG,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAA2B,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAClF,MAAM,OAAO,GACX,KAAK;QACL,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ;YACrB,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACtD,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,cAAc,CAAC,CAAC;IAEpB,gFAAgF;IAChF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;QACpD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;;gBACxC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,qDAAqD;IACrD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;QAClD,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACH,MAAM,OAAO,GAAG,GAAuB,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE;YAC/D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAgB,EAAE,EAAE;QAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC7C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,EAAE,CAAC;YACP,eAAe,CAAC,6BAA6B,CAAC,CAAC;YAC/C,0EAA0E;YAC1E,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,+BAA+B;YAC/B,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,yEAAyE;IACzE,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,EAAE,CAAC;YACP,mBAAmB,EAAE,CAAC;YACtB,eAAe,CAAC,yEAAyE,CAAC,CAAC;YAC3F,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,kBAAkB,GAAkB,CAAC,QAAQ;QACjD,CAAC,CAAC,iIAAiI;QACnI,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,SAAS;gBACT,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,IAAI,CAAC;IAEb,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,0BAA0B;IAC1B,MAAM,aAAa,GACjB,oBAAoB,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChH,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IACnG,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAAC;IAErE,OAAO,CACL,KAAC,SAAS,IAAC,QAAQ,EAAC,IAAI,YACtB,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAChB,MAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAC3G,MAAM,EACJ,8BAIE,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,kBACjD,aAAa,GACH,EACb,MAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAC7C,mBAAmB,EACnB,CAAC,QAAQ,IAAI,cAAc,IACjB,IACZ,aAGN,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,CACxC,MAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iCAC7C,MAAM,CAAC,SAAS,CAAC,KAAK,SAAK,GAAG,EAC9C,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,IACzC,CACd,EAEA,SAAS,IAAI,CACZ,KAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAClC,SAAS,GACJ,CACT,EAMA,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAC1B,MAAC,KAAK,IAAC,QAAQ,EAAC,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAc,0BAA0B,kIAE/C,kDAAiC,SACtD,CACT,EAOA,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAC7C,MAAC,KAAK,IAAC,QAAQ,EAAC,SAAS,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAc,wBAAwB,aAC3E,KAAC,UAAU,mDAA8C,2FAExD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,+BACF,2BAAS,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAU,IACtD,CACP,IACK,CACT,EAEA,KAAK,IAAI,MAAM,IAAI,CAClB,KAAC,KAAK,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,YACvC,MAAC,GAAG,IAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,mBACtD,MAAC,WAAW,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aACxB,KAAC,SAAS,IAAC,EAAE,EAAC,wBAAwB,yBAAqB,EAM3D,KAAC,UAAU,uBACO,wBAAwB,EACxC,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAE/D,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,gBAAgB,IAEf,KAAK,EAAE,KAAK,CAAC,EAAE,EACf,OAAO,EAAE,KAAC,KAAK,KAAG,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,QAAQ,IAJd,KAAK,CAAC,EAAE,CAKb,CACH,CAAC,GACS,EACb,KAAC,cAAc,qJAGE,IACL,EAIb,CAAC,UAAU,IAAI,CACd,MAAC,KAAK,IAAC,QAAQ,EAAC,SAAS,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAc,4BAA4B,oCAC5D,2BAAS,EAAE,GAAU,uEAElC,CACT,EAKA,UAAU,IAAI,CACb,KAAC,KAAK,IACJ,QAAQ,EAAE,EAAE,EACZ,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,CACH,EAEA,SAAS,IAAI,CACZ,MAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,cAAc,aAC5D,KAAC,UAAU,iCAA4B,EACtC,SAAS,IACJ,CACT,EAED,KAAC,OAAO,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,EAI1B,MAAC,GAAG,IACF,EAAE,EAAE;4CACF,OAAO,EAAE,MAAM;4CACf,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;4CAC1C,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE;4CAC3C,GAAG,EAAE,CAAC;4CACN,QAAQ,EAAE,MAAM;yCACjB,aAED,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,YAEpE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,GAC/B,EACT,KAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,SAAS,EAAE,KAAC,gBAAgB,KAAG,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EACnC,QAAQ,EAAE,CAAC,CAAC,kBAAkB,IAAI,SAAS,YAE1C,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,GACpC,EAOR,aAAa,IAAI,CAChB,KAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,WAAW,EACjB,SAAS,EAAE,KAAC,2BAA2B,KAAG,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC,EAC3C,QAAQ,EAAE,CAAC,CAAC,kBAAkB,IAAI,SAAS,iBAC/B,uBAAuB,8BAG5B,CACV,EACD,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,YAC/C,kBAAkB;oDACjB,+IAA+I,GACtI,IACT,IACF,GACA,CACT,EAMA,UAAU,IAAI,CACb,MAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,aAC7D,KAAC,UAAU,4CAAuC,EACjD,UAAU,IACL,CACT,EAEA,UAAU,IAAI,CACb,MAAC,KAAK,IACJ,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAClD,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EACb,OAAO,EAAE,eAAe,iBACZ,qBAAqB,aAEjC,KAAC,UAAU,cACR,UAAU,CAAC,OAAO;wCACjB,CAAC,CAAC,mCAAmC;wCACrC,CAAC,CAAC,wCAAwC,GACjC,EACb,MAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aACtC,UAAU,CAAC,QAAQ,cAAK,UAAU,CAAC,MAAM,EACzC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,aAAI,GAAG,EAChF,gBAAgB;4CACf,CAAC,CAAC,UAAU,CAAC,gBAAgB;gDAC3B,CAAC,CAAC,mCAAmC;gDACrC,CAAC,CAAC,iCAAiC;4CACrC,CAAC,CAAC,kBAAkB,IACX,EAKZ,UAAU,CAAC,OAAO,IAAI,CACrB,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAc,sBAAsB,YAC1E,UAAU,CAAC,OAAO,GACR,CACd,EACA,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACnE,KAAC,GAAG,IACF,SAAS,EAAC,IAAI,iBACF,sBAAsB,EAClC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,YAEzF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACxD,MAAC,GAAG,IAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,aACxC,KAAC,UAAU,IAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,YAC9D,GAAG,GACO,EACb,KAAC,UAAU,IAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAC7E,MAAM,CAAC,KAAK,CAAC,GACH,KANL,GAAG,CAOP,CACP,CAAC,GACE,CACP,EAID,KAAC,KAAK,IAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC/B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,QAAQ,IAAgB,KAAK,EAAE,KAAK,IAAtB,KAAK,CAAC,EAAE,CAAkB,CAC1C,CAAC,GACI,IACF,CACT,EAEA,YAAY,IAAI,CACf,MAAC,KAAK,IACJ,QAAQ,EAAE,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,EACnD,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EACb,OAAO,EAAE,iBAAiB,iBACd,uBAAuB,aAEnC,KAAC,UAAU,cAAE,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAc,EAIrE,YAAY,CAAC,OAAO,IAAI,CACvB,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAc,wBAAwB,YAC5E,YAAY,CAAC,OAAO,GACV,CACd,EAQA,YAAY,CAAC,QAAQ,IAAI,CACxB,8BACE,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YACtC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAClB,EACb,KAAC,aAAa,IACZ,KAAK,EAAC,2CAA2C,EACjD,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EACrC,MAAM,EAAC,kCAAkC,GACzC,EACD,YAAY,CAAC,QAAQ,CAAC,OAAO,IAAI,CAChC,MAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,8BACzB,YAAY,CAAC,QAAQ,CAAC,OAAO,IAChC,CACd,IACA,CACJ,EAKD,KAAC,KAAK,IAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC/B,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChC,MAAC,GAAG,IAEF,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,iBAC9C,uBAAuB,IAAI,CAAC,EAAE,EAAE,aAE7C,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAO,EACvD,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACnC,KAAC,UAAU,IAAC,OAAO,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,GAAc,EACzD,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,YAC/C,IAAI,CAAC,MAAM,GACD,EACZ,IAAI,CAAC,KAAK,IAAI,CACb,KAAC,GAAG,IACF,SAAS,EAAC,KAAK,EACf,EAAE,EAAE;4DACF,CAAC,EAAE,CAAC;4DACJ,EAAE,EAAE,CAAC;4DACL,UAAU,EAAE,WAAW;4DACvB,QAAQ,EAAE,WAAW;4DACrB,UAAU,EAAE,UAAU;4DACtB,SAAS,EAAE,YAAY;yDACxB,YAEA,IAAI,CAAC,KAAK,GACP,CACP,IACG,KAzBD,IAAI,CAAC,EAAE,CA0BR,CACP,CAAC,GACI,EAEP,YAAY,CAAC,UAAU,IAAI,CAC1B,MAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,mDACL,2BAAS,YAAY,CAAC,UAAU,GAAU,SACjE,CACd,IACK,CACT,EAIA,MAAM,IAAI,CACT,KAAC,qBAAqB,IACpB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAC/D,cAAc,EAAE,MAAM,CAAC,QAAQ,EAC/B,QAAQ,EAAE,QAAQ,GAClB,CACH,IAEgB,EAKjB,KAAC,0BAA0B,IACzB,IAAI,EAAE,CAAC,CAAC,cAAc,EACtB,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,EAAE,EACtC,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,IAAI,EACxC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,mBAAmB,EAAE,EAC3C,OAAO,EAAE,mBAAmB,GAC5B,EAKF,KAAC,QAAQ,IACP,IAAI,EAAE,CAAC,CAAC,YAAY,EACpB,gBAAgB,EAAE,IAAI,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,YAAY,GACrB,IACE,GACI,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The copy-only storage provider migration panel of `StorageConfigPage`
3
+ * (issue #1093).
4
+ *
5
+ * An administrator picks the driver to copy FROM and the driver to copy TO and
6
+ * starts a run; the panel shows the active run's live progress (it polls while
7
+ * the run is pending or running) with a Cancel button, and the recent run
8
+ * history below. Copying never deletes anything: every source object stays
9
+ * where it was, as a fallback, and only verified copies are repointed.
10
+ *
11
+ * Writes are gated inside the panel on `canWrite` (`storage_config:write`); a
12
+ * reader sees the progress and the history only.
13
+ */
14
+ import type { PlatformApiClient } from '../../core/index.js';
15
+ /**
16
+ * One driver the panel offers.
17
+ *
18
+ * @stability experimental
19
+ */
20
+ export interface StorageMigrationDriverOption {
21
+ /** The driver id. */
22
+ id: string;
23
+ /** Its label. */
24
+ label: string;
25
+ }
26
+ /**
27
+ * Props of {@link StorageMigrationPanel}.
28
+ *
29
+ * @stability experimental
30
+ */
31
+ export interface StorageMigrationPanelProps {
32
+ /** The registered drivers (the configuration's descriptors). */
33
+ drivers: StorageMigrationDriverOption[];
34
+ /** The active driver: the default target. */
35
+ activeProvider: string;
36
+ /** `storage_config:write`: may start and cancel. */
37
+ canWrite: boolean;
38
+ /** The transport, outside a `PlatformHostProvider`. */
39
+ api?: PlatformApiClient;
40
+ /** Poll interval while a run is active, in ms (tests shorten it). */
41
+ pollMs?: number;
42
+ }
43
+ /**
44
+ * Starts, follows and cancels a copy-only storage provider migration, and lists the recent runs.
45
+ *
46
+ * @param props - the drivers, the active one, write access and the transport.
47
+ * @returns the panel.
48
+ *
49
+ * @stability experimental
50
+ */
51
+ export declare function StorageMigrationPanel(props: StorageMigrationPanelProps): import("react").JSX.Element;
52
+ //# sourceMappingURL=StorageMigrationPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageMigrationPanel.d.ts","sourceRoot":"","sources":["../../../src/storage/ui/StorageMigrationPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gEAAgE;IAChE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiCD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAsJtE"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The copy-only storage provider migration panel of `StorageConfigPage`
4
+ * (issue #1093).
5
+ *
6
+ * An administrator picks the driver to copy FROM and the driver to copy TO and
7
+ * starts a run; the panel shows the active run's live progress (it polls while
8
+ * the run is pending or running) with a Cancel button, and the recent run
9
+ * history below. Copying never deletes anything: every source object stays
10
+ * where it was, as a fallback, and only verified copies are repointed.
11
+ *
12
+ * Writes are gated inside the panel on `canWrite` (`storage_config:write`); a
13
+ * reader sees the progress and the history only.
14
+ */
15
+ import { useEffect, useState } from 'react';
16
+ import { Alert, Box, Button, Chip, FormControl, InputLabel, LinearProgress, MenuItem, Paper, Select, Stack, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography, } from '@mui/material';
17
+ import { NUMERIC_DATE_TIME, formatDateTime, useDisplayTimeZone } from '../../core/index.js';
18
+ import { useStorageMigrations } from '../headless/index.js';
19
+ const STATUS_COLORS = {
20
+ pending: 'info',
21
+ running: 'info',
22
+ completed: 'success',
23
+ failed: 'error',
24
+ cancelled: 'warning',
25
+ };
26
+ function done(run) {
27
+ return run.migratedCount + run.failedCount + run.skippedCount;
28
+ }
29
+ function RunProgress({ run }) {
30
+ const percent = run.totalCount > 0 ? Math.round((done(run) / run.totalCount) * 100) : 0;
31
+ const planning = run.plannedAt === null;
32
+ return (_jsxs(Box, { "data-testid": "storage-migration-progress", children: [_jsx(LinearProgress, { variant: planning && run.totalCount === 0 ? 'indeterminate' : 'determinate', value: percent, "aria-label": "Migration progress" }), _jsxs(Typography, { variant: "body2", sx: { mt: 1 }, children: [planning ? 'Listing objects… ' : '', done(run), " of ", run.totalCount, " processed: ", run.migratedCount, " migrated, ", run.failedCount, " failed, ", run.skippedCount, " skipped", run.pendingCount > 0 ? `, ${run.pendingCount} to go` : ''] })] }));
33
+ }
34
+ /**
35
+ * Starts, follows and cancels a copy-only storage provider migration, and lists the recent runs.
36
+ *
37
+ * @param props - the drivers, the active one, write access and the transport.
38
+ * @returns the panel.
39
+ *
40
+ * @stability experimental
41
+ */
42
+ export function StorageMigrationPanel(props) {
43
+ const { drivers, activeProvider, canWrite } = props;
44
+ useDisplayTimeZone(); // "Started" renders in the display zone.
45
+ const { runs, activeRun, isLoading, loadError, isWorking, actionError, clearActionError, start, cancel } = useStorageMigrations({
46
+ ...(props.api ? { api: props.api } : {}),
47
+ ...(props.pollMs !== undefined ? { pollMs: props.pollMs } : {}),
48
+ });
49
+ const [target, setTarget] = useState(activeProvider);
50
+ const [source, setSource] = useState(() => drivers.find((d) => d.id !== activeProvider)?.id ?? '');
51
+ useEffect(() => {
52
+ setTarget(activeProvider);
53
+ }, [activeProvider]);
54
+ const canStart = canWrite && !activeRun && !isWorking && !!source && !!target && source !== target;
55
+ return (_jsxs(Paper, { sx: { mt: 2, p: { xs: 2, sm: 3 } }, "data-testid": "storage-migration-panel", children: [_jsx(Typography, { variant: "h6", component: "h2", children: "Copy objects between providers" }), _jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 0.5 }, children: "Copies every stored object from one provider to another, verifies each copy (size and checksum), and only then points the object at its new home. Nothing is deleted: the original stays where it is as a fallback. One migration runs at a time." }), loadError && (_jsx(Alert, { severity: "error", sx: { mt: 2 }, children: loadError })), actionError && (_jsx(Alert, { severity: "error", sx: { mt: 2 }, onClose: clearActionError, children: actionError })), canWrite && (_jsxs(Stack, { direction: { xs: 'column', sm: 'row' }, spacing: 2, sx: { mt: 2, alignItems: { sm: 'center' } }, children: [_jsxs(FormControl, { size: "small", sx: { minWidth: 180 }, children: [_jsx(InputLabel, { id: "storage-migration-source-label", children: "From" }), _jsx(Select, { labelId: "storage-migration-source-label", label: "From", value: source, onChange: (event) => setSource(String(event.target.value)), inputProps: { 'data-testid': 'storage-migration-source' }, children: drivers.map((driver) => (_jsx(MenuItem, { value: driver.id, children: driver.label }, driver.id))) })] }), _jsxs(FormControl, { size: "small", sx: { minWidth: 180 }, children: [_jsx(InputLabel, { id: "storage-migration-target-label", children: "To" }), _jsx(Select, { labelId: "storage-migration-target-label", label: "To", value: target, onChange: (event) => setTarget(String(event.target.value)), inputProps: { 'data-testid': 'storage-migration-target' }, children: drivers.map((driver) => (_jsx(MenuItem, { value: driver.id, children: driver.label }, driver.id))) })] }), _jsx(Button, { variant: "contained", disabled: !canStart, onClick: () => void start({ sourceProvider: source, targetProvider: target }), children: "Start migration" })] })), activeRun && (_jsxs(Box, { sx: { mt: 3 }, children: [_jsxs(Stack, { direction: "row", spacing: 1, sx: { mb: 1, alignItems: 'center', flexWrap: 'wrap' }, children: [_jsxs(Typography, { variant: "subtitle1", children: [activeRun.sourceProvider, " \u2192 ", activeRun.targetProvider] }), _jsx(Chip, { size: "small", label: activeRun.status, color: STATUS_COLORS[activeRun.status] ?? 'default' }), canWrite && (_jsx(Button, { size: "small", color: "warning", disabled: isWorking, onClick: () => void cancel(activeRun.id), children: "Cancel" }))] }), _jsx(RunProgress, { run: activeRun })] })), _jsx(Typography, { variant: "subtitle1", sx: { mt: 3 }, children: "Recent migrations" }), isLoading ? (_jsx(LinearProgress, { sx: { mt: 1 } })) : runs.length === 0 ? (_jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 1 }, children: "No migration has run yet." })) : (_jsx(TableContainer, { sx: { mt: 1, overflowX: 'auto' }, children: _jsxs(Table, { size: "small", "aria-label": "Recent storage migrations", children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableCell, { children: "Started" }), _jsx(TableCell, { children: "From \u2192 To" }), _jsx(TableCell, { children: "Status" }), _jsx(TableCell, { align: "right", children: "Migrated" }), _jsx(TableCell, { align: "right", children: "Failed" }), _jsx(TableCell, { align: "right", children: "Skipped" }), _jsx(TableCell, { align: "right", children: "Total" })] }) }), _jsx(TableBody, { children: runs.map((run) => (_jsxs(TableRow, { "data-testid": `storage-migration-run-${run.id}`, children: [_jsx(TableCell, { children: formatDateTime(run.createdAt, NUMERIC_DATE_TIME) }), _jsxs(TableCell, { children: [run.sourceProvider, " \u2192 ", run.targetProvider] }), _jsxs(TableCell, { children: [_jsx(Chip, { size: "small", label: run.status, color: STATUS_COLORS[run.status] ?? 'default' }), run.lastError && (_jsx(Typography, { variant: "caption", color: "text.secondary", sx: { display: 'block' }, children: run.lastError }))] }), _jsx(TableCell, { align: "right", children: run.migratedCount }), _jsx(TableCell, { align: "right", children: run.failedCount }), _jsx(TableCell, { align: "right", children: run.skippedCount }), _jsx(TableCell, { align: "right", children: run.totalCount })] }, run.id))) })] }) }))] }));
56
+ }
57
+ //# sourceMappingURL=StorageMigrationPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageMigrationPanel.js","sourceRoot":"","sources":["../../../src/storage/ui/StorageMigrationPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAiC5D,MAAM,aAAa,GAAyE;IAC1F,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,SAAS,IAAI,CAAC,GAAwB;IACpC,OAAO,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,GAAG,EAAgC;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IACxC,OAAO,CACL,MAAC,GAAG,mBAAa,4BAA4B,aAC3C,KAAC,cAAc,IACb,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAC3E,KAAK,EAAE,OAAO,gBACH,oBAAoB,GAC/B,EACF,MAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aACtC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EACnC,IAAI,CAAC,GAAG,CAAC,UAAM,GAAG,CAAC,UAAU,kBAAc,GAAG,CAAC,aAAa,iBAAa,GAAG,CAAC,WAAW,eAAW,GAAG,CAAC,YAAY,cACnH,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,IAC/C,IACT,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpD,kBAAkB,EAAE,CAAC,CAAC,yCAAyC;IAC/D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;QAC9H,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnG,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC;IAEnG,OAAO,CACL,MAAC,KAAK,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAc,yBAAyB,aAC9E,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,+CAE1B,EACb,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,kQAIrD,EAEZ,SAAS,IAAI,CACZ,KAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAClC,SAAS,GACJ,CACT,EACA,WAAW,IAAI,CACd,KAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,gBAAgB,YAC7D,WAAW,GACN,CACT,EAEA,QAAQ,IAAI,CACX,MAAC,KAAK,IAAC,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,aACpG,MAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,aAC7C,KAAC,UAAU,IAAC,EAAE,EAAC,gCAAgC,qBAAkB,EACjE,KAAC,MAAM,IACL,OAAO,EAAC,gCAAgC,EACxC,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC1D,UAAU,EAAE,EAAE,aAAa,EAAE,0BAA0B,EAAE,YAExD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,QAAQ,IAAiB,KAAK,EAAE,MAAM,CAAC,EAAE,YACvC,MAAM,CAAC,KAAK,IADA,MAAM,CAAC,EAAE,CAEb,CACZ,CAAC,GACK,IACG,EACd,MAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,aAC7C,KAAC,UAAU,IAAC,EAAE,EAAC,gCAAgC,mBAAgB,EAC/D,KAAC,MAAM,IACL,OAAO,EAAC,gCAAgC,EACxC,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC1D,UAAU,EAAE,EAAE,aAAa,EAAE,0BAA0B,EAAE,YAExD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,QAAQ,IAAiB,KAAK,EAAE,MAAM,CAAC,EAAE,YACvC,MAAM,CAAC,KAAK,IADA,MAAM,CAAC,EAAE,CAEb,CACZ,CAAC,GACK,IACG,EACd,KAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,QAAQ,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,gCAGtE,IACH,CACT,EAEA,SAAS,IAAI,CACZ,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,aAChB,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aACtF,MAAC,UAAU,IAAC,OAAO,EAAC,WAAW,aAC5B,SAAS,CAAC,cAAc,cAAK,SAAS,CAAC,cAAc,IAC3C,EACb,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,GAAI,EAClG,QAAQ,IAAI,CACX,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,uBAEzF,CACV,IACK,EACR,KAAC,WAAW,IAAC,GAAG,EAAE,SAAS,GAAI,IAC3B,CACP,EAED,KAAC,UAAU,IAAC,OAAO,EAAC,WAAW,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kCAEhC,EACZ,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,cAAc,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAI,CAClC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,0CAEnD,CACd,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,YAC9C,MAAC,KAAK,IAAC,IAAI,EAAC,OAAO,gBAAY,2BAA2B,aACxD,KAAC,SAAS,cACR,MAAC,QAAQ,eACP,KAAC,SAAS,0BAAoB,EAC9B,KAAC,SAAS,iCAAsB,EAChC,KAAC,SAAS,yBAAmB,EAC7B,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,yBAAqB,EAC7C,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,uBAAmB,EAC3C,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,wBAAoB,EAC5C,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,sBAAkB,IACjC,GACD,EACZ,KAAC,SAAS,cACP,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,MAAC,QAAQ,mBAA2B,yBAAyB,GAAG,CAAC,EAAE,EAAE,aACnE,KAAC,SAAS,cAAE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAa,EACzE,MAAC,SAAS,eACP,GAAG,CAAC,cAAc,cAAK,GAAG,CAAC,cAAc,IAChC,EACZ,MAAC,SAAS,eACR,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,GAAI,EACtF,GAAG,CAAC,SAAS,IAAI,CAChB,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAC1E,GAAG,CAAC,SAAS,GACH,CACd,IACS,EACZ,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,aAAa,GAAa,EACxD,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,WAAW,GAAa,EACtD,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,YAAY,GAAa,EACvD,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,UAAU,GAAa,KAhBxC,GAAG,CAAC,EAAE,CAiBV,CACZ,CAAC,GACQ,IACN,GACO,CAClB,IACK,CACT,CAAC;AACJ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { default, default as StorageConfigPage } from './StorageConfigPage.js';
2
2
  export type { StorageConfigPageProps, StorageConfigPageSlots } from './StorageConfigPage.js';
3
3
  export { StorageSwitchConfirmDialog } from './StorageSwitchConfirmDialog.js';
4
+ export { StorageMigrationPanel } from './StorageMigrationPanel.js';
5
+ export type { StorageMigrationDriverOption, StorageMigrationPanelProps } from './StorageMigrationPanel.js';
4
6
  export type { StorageSwitchConfirmDialogProps } from './StorageSwitchConfirmDialog.js';
5
7
  export { StorageGenericDriverPanel, getStorageDriverPanel, registerStorageDriverPanel, } from './driver-panels.js';
6
8
  export type { StorageDriverPanelComponent, StorageDriverPanelOptions, StorageDriverPanelProps, } from './driver-panels.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/ui/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/ui/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC3G,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -7,5 +7,6 @@
7
7
  // Documented in ../README.md.
8
8
  export { default, default as StorageConfigPage } from './StorageConfigPage.js';
9
9
  export { StorageSwitchConfirmDialog } from './StorageSwitchConfirmDialog.js';
10
+ export { StorageMigrationPanel } from './StorageMigrationPanel.js';
10
11
  export { StorageGenericDriverPanel, getStorageDriverPanel, registerStorageDriverPanel, } from './driver-panels.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/ui/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,+CAA+C;AAC/C,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAC/E,8BAA8B;AAE9B,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/ui/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,+CAA+C;AAC/C,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAC/E,8BAA8B;AAE9B,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marinoscar/platform-web",
3
- "version": "0.1.0-next.26",
3
+ "version": "0.1.0-next.27",
4
4
  "description": "React pages, components and hooks of the platform (ESM).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -306,7 +306,7 @@
306
306
  "test:run": "vitest run"
307
307
  },
308
308
  "dependencies": {
309
- "@marinoscar/platform-contract": "0.1.0-next.26"
309
+ "@marinoscar/platform-contract": "0.1.0-next.27"
310
310
  },
311
311
  "peerDependencies": {
312
312
  "@codemirror/lang-sql": "^6.10.0",