@savestate/cli 0.7.0 → 0.8.0
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/cli/__tests__/progress.test.d.ts +5 -0
- package/dist/cli/__tests__/progress.test.d.ts.map +1 -0
- package/dist/cli/__tests__/progress.test.js +212 -0
- package/dist/cli/__tests__/progress.test.js.map +1 -0
- package/dist/cli/__tests__/signal-handler.test.d.ts +5 -0
- package/dist/cli/__tests__/signal-handler.test.d.ts.map +1 -0
- package/dist/cli/__tests__/signal-handler.test.js +99 -0
- package/dist/cli/__tests__/signal-handler.test.js.map +1 -0
- package/dist/cli/__tests__/summary.test.d.ts +5 -0
- package/dist/cli/__tests__/summary.test.d.ts.map +1 -0
- package/dist/cli/__tests__/summary.test.js +242 -0
- package/dist/cli/__tests__/summary.test.js.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/progress.d.ts +86 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +205 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/prompts.d.ts +49 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +266 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/cli/signal-handler.d.ts +63 -0
- package/dist/cli/signal-handler.d.ts.map +1 -0
- package/dist/cli/signal-handler.js +165 -0
- package/dist/cli/signal-handler.js.map +1 -0
- package/dist/cli/summary.d.ts +33 -0
- package/dist/cli/summary.d.ts.map +1 -0
- package/dist/cli/summary.js +296 -0
- package/dist/cli/summary.js.map +1 -0
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/migrate.d.ts +18 -4
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +324 -163
- package/dist/commands/migrate.js.map +1 -1
- package/dist/migrate/__tests__/capabilities.test.d.ts +7 -0
- package/dist/migrate/__tests__/capabilities.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/capabilities.test.js +90 -0
- package/dist/migrate/__tests__/capabilities.test.js.map +1 -0
- package/dist/migrate/__tests__/chatgpt-loader.test.d.ts +7 -0
- package/dist/migrate/__tests__/chatgpt-loader.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/chatgpt-loader.test.js +889 -0
- package/dist/migrate/__tests__/chatgpt-loader.test.js.map +1 -0
- package/dist/migrate/__tests__/edge-cases.test.d.ts +7 -0
- package/dist/migrate/__tests__/edge-cases.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/edge-cases.test.js +787 -0
- package/dist/migrate/__tests__/edge-cases.test.js.map +1 -0
- package/dist/migrate/__tests__/error-recovery.test.d.ts +7 -0
- package/dist/migrate/__tests__/error-recovery.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/error-recovery.test.js +461 -0
- package/dist/migrate/__tests__/error-recovery.test.js.map +1 -0
- package/dist/migrate/__tests__/integration.test.d.ts +7 -0
- package/dist/migrate/__tests__/integration.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/integration.test.js +536 -0
- package/dist/migrate/__tests__/integration.test.js.map +1 -0
- package/dist/migrate/__tests__/performance.test.d.ts +7 -0
- package/dist/migrate/__tests__/performance.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/performance.test.js +478 -0
- package/dist/migrate/__tests__/performance.test.js.map +1 -0
- package/dist/migrate/__tests__/registry.test.d.ts +7 -0
- package/dist/migrate/__tests__/registry.test.d.ts.map +1 -0
- package/dist/migrate/__tests__/registry.test.js +167 -0
- package/dist/migrate/__tests__/registry.test.js.map +1 -0
- package/dist/migrate/compatibility.d.ts +47 -0
- package/dist/migrate/compatibility.d.ts.map +1 -0
- package/dist/migrate/compatibility.js +468 -0
- package/dist/migrate/compatibility.js.map +1 -0
- package/dist/migrate/extractors/__tests__/claude.test.d.ts +12 -0
- package/dist/migrate/extractors/__tests__/claude.test.d.ts.map +1 -0
- package/dist/migrate/extractors/__tests__/claude.test.js +789 -0
- package/dist/migrate/extractors/__tests__/claude.test.js.map +1 -0
- package/dist/migrate/extractors/claude.d.ts +69 -0
- package/dist/migrate/extractors/claude.d.ts.map +1 -0
- package/dist/migrate/extractors/claude.js +1136 -0
- package/dist/migrate/extractors/claude.js.map +1 -0
- package/dist/migrate/extractors/registry.js +3 -2
- package/dist/migrate/extractors/registry.js.map +1 -1
- package/dist/migrate/loaders/chatgpt.d.ts +72 -0
- package/dist/migrate/loaders/chatgpt.d.ts.map +1 -0
- package/dist/migrate/loaders/chatgpt.js +691 -0
- package/dist/migrate/loaders/chatgpt.js.map +1 -0
- package/dist/migrate/loaders/registry.js +3 -2
- package/dist/migrate/loaders/registry.js.map +1 -1
- package/dist/migrate/types.d.ts +2 -0
- package/dist/migrate/types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -7,15 +7,29 @@
|
|
|
7
7
|
* - OpenAI Assistants → Clawdbot
|
|
8
8
|
* - etc.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Interactive prompts for source/destination selection
|
|
12
|
+
* - Progress bars for each phase
|
|
13
|
+
* - --dry-run mode (compatibility report only)
|
|
14
|
+
* - --review mode (inspect items needing attention)
|
|
15
|
+
* - --resume for interrupted migrations
|
|
16
|
+
* - Confirmation prompts before destructive actions
|
|
17
|
+
* - Post-migration summary
|
|
18
|
+
* - Graceful Ctrl+C handling
|
|
19
|
+
* - Colorized output with --no-color fallback
|
|
11
20
|
*/
|
|
12
|
-
interface
|
|
21
|
+
export interface MigrateCommandOptions {
|
|
13
22
|
from?: string;
|
|
14
23
|
to?: string;
|
|
15
24
|
snapshot?: string;
|
|
16
25
|
dryRun?: boolean;
|
|
17
26
|
list?: boolean;
|
|
27
|
+
resume?: boolean;
|
|
28
|
+
review?: boolean;
|
|
29
|
+
include?: string;
|
|
30
|
+
noColor?: boolean;
|
|
31
|
+
force?: boolean;
|
|
32
|
+
verbose?: boolean;
|
|
18
33
|
}
|
|
19
|
-
export declare function migrateCommand(options:
|
|
20
|
-
export {};
|
|
34
|
+
export declare function migrateCommand(options: MigrateCommandOptions): Promise<void>;
|
|
21
35
|
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA0BH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ClF"}
|
package/dist/commands/migrate.js
CHANGED
|
@@ -7,212 +7,373 @@
|
|
|
7
7
|
* - OpenAI Assistants → Clawdbot
|
|
8
8
|
* - etc.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Interactive prompts for source/destination selection
|
|
12
|
+
* - Progress bars for each phase
|
|
13
|
+
* - --dry-run mode (compatibility report only)
|
|
14
|
+
* - --review mode (inspect items needing attention)
|
|
15
|
+
* - --resume for interrupted migrations
|
|
16
|
+
* - Confirmation prompts before destructive actions
|
|
17
|
+
* - Post-migration summary
|
|
18
|
+
* - Graceful Ctrl+C handling
|
|
19
|
+
* - Colorized output with --no-color fallback
|
|
11
20
|
*/
|
|
12
21
|
import chalk from 'chalk';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
import { getPassphrase } from '../passphrase.js';
|
|
21
|
-
// Platform migration capabilities (what each platform can do)
|
|
22
|
-
const PLATFORM_INFO = {
|
|
23
|
-
'clawdbot': { extract: true, restore: true },
|
|
24
|
-
'claude-code': { extract: true, restore: true },
|
|
25
|
-
'openai-assistants': { extract: true, restore: true },
|
|
26
|
-
'chatgpt': { extract: true, restore: false, note: 'Memory/instructions only' },
|
|
27
|
-
'claude-web': { extract: true, restore: false, note: 'Memory/projects only' },
|
|
28
|
-
'gemini': { extract: true, restore: false, note: 'Limited restore' },
|
|
29
|
-
};
|
|
22
|
+
import { isInitialized } from '../config.js';
|
|
23
|
+
import { MigrationOrchestrator, PLATFORM_CAPABILITIES, getPlatformCapabilities } from '../migrate/index.js';
|
|
24
|
+
import { select, selectSourcePlatform, selectTargetPlatform, confirm, setColorsEnabled, } from '../cli/prompts.js';
|
|
25
|
+
import { ProgressDisplay, warning, error, info } from '../cli/progress.js';
|
|
26
|
+
import { showMigrationSummary, showCompatibilityReport, showReviewItems, showResumableMigrations, showFailedMigration, } from '../cli/summary.js';
|
|
27
|
+
import { setupSignalHandler, cleanupSignalHandler } from '../cli/signal-handler.js';
|
|
28
|
+
// ─── Main Command ────────────────────────────────────────────
|
|
30
29
|
export async function migrateCommand(options) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
// Handle --no-color flag
|
|
31
|
+
if (options.noColor) {
|
|
32
|
+
setColorsEnabled(false);
|
|
33
|
+
chalk.level = 0;
|
|
34
|
+
}
|
|
35
|
+
// Show header
|
|
36
|
+
showHeader();
|
|
37
|
+
// Handle --list: show available platforms
|
|
36
38
|
if (options.list) {
|
|
37
39
|
showPlatforms();
|
|
38
40
|
return;
|
|
39
41
|
}
|
|
42
|
+
// Handle --resume: resume interrupted migrations
|
|
43
|
+
if (options.resume) {
|
|
44
|
+
await handleResume(options);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Check initialization
|
|
40
48
|
if (!isInitialized()) {
|
|
41
|
-
|
|
49
|
+
error('SaveState not initialized. Run `savestate init` first.');
|
|
42
50
|
process.exit(1);
|
|
43
51
|
}
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
//
|
|
47
|
-
if (
|
|
52
|
+
// Determine source and target platforms
|
|
53
|
+
const { source, target } = await determinePlatforms(options);
|
|
54
|
+
// Handle --review: show what needs attention without migrating
|
|
55
|
+
if (options.review) {
|
|
56
|
+
await handleReview(source, target, options);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Handle --dry-run: show compatibility report without migrating
|
|
60
|
+
if (options.dryRun) {
|
|
61
|
+
await handleDryRun(source, target, options);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Run full migration
|
|
65
|
+
await runMigration(source, target, options);
|
|
66
|
+
}
|
|
67
|
+
// ─── Platform Selection ──────────────────────────────────────
|
|
68
|
+
async function determinePlatforms(options) {
|
|
69
|
+
let source;
|
|
70
|
+
let target;
|
|
71
|
+
// Interactive mode if platforms not provided
|
|
72
|
+
if (!options.from) {
|
|
48
73
|
console.log(chalk.white('This wizard helps you migrate your AI identity between platforms.'));
|
|
49
74
|
console.log(chalk.dim('Your data will be encrypted throughout the process.'));
|
|
50
75
|
console.log();
|
|
51
|
-
|
|
76
|
+
source = await selectSourcePlatform();
|
|
52
77
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
else {
|
|
79
|
+
source = validatePlatform(options.from, 'source');
|
|
80
|
+
}
|
|
81
|
+
if (!options.to) {
|
|
82
|
+
target = await selectTargetPlatform(source);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
target = validatePlatform(options.to, 'target');
|
|
86
|
+
}
|
|
87
|
+
// Validate source != target
|
|
88
|
+
if (source === target) {
|
|
89
|
+
error('Source and target platforms cannot be the same.');
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
return { source, target };
|
|
93
|
+
}
|
|
94
|
+
function validatePlatform(id, type) {
|
|
95
|
+
const platforms = Object.keys(PLATFORM_CAPABILITIES);
|
|
96
|
+
if (!platforms.includes(id)) {
|
|
97
|
+
error(`Unknown ${type} platform: ${id}`);
|
|
98
|
+
console.log(chalk.dim(`Available: ${platforms.join(', ')}`));
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
return id;
|
|
102
|
+
}
|
|
103
|
+
// ─── Dry Run Mode ────────────────────────────────────────────
|
|
104
|
+
async function handleDryRun(source, target, options) {
|
|
105
|
+
const progress = new ProgressDisplay({ noColor: options.noColor, verbose: options.verbose });
|
|
106
|
+
try {
|
|
107
|
+
// Create orchestrator
|
|
108
|
+
const orchestrator = new MigrationOrchestrator(source, target, {
|
|
109
|
+
dryRun: true,
|
|
110
|
+
include: parseInclude(options.include),
|
|
60
111
|
});
|
|
61
|
-
|
|
112
|
+
// Setup signal handler
|
|
113
|
+
const handler = setupSignalHandler({ orchestrator, showResumeHint: false });
|
|
114
|
+
handler.setOrchestrator(orchestrator);
|
|
115
|
+
// Subscribe to events
|
|
116
|
+
orchestrator.on(progress.handleEvent);
|
|
117
|
+
// Run analysis
|
|
118
|
+
progress.startPhase('extracting', 'Analyzing source platform...');
|
|
119
|
+
const report = await orchestrator.analyze();
|
|
120
|
+
progress.completePhase('extracting', 'Analysis complete');
|
|
121
|
+
// Show compatibility report
|
|
122
|
+
showCompatibilityReport(report, { noColor: options.noColor });
|
|
123
|
+
// Cleanup
|
|
124
|
+
await orchestrator.cleanup();
|
|
125
|
+
cleanupSignalHandler();
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
progress.stop();
|
|
129
|
+
error(err instanceof Error ? err.message : String(err));
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// ─── Review Mode ─────────────────────────────────────────────
|
|
134
|
+
async function handleReview(source, target, options) {
|
|
135
|
+
const progress = new ProgressDisplay({ noColor: options.noColor, verbose: options.verbose });
|
|
62
136
|
try {
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
137
|
+
// Create orchestrator
|
|
138
|
+
const orchestrator = new MigrationOrchestrator(source, target, {
|
|
139
|
+
dryRun: true,
|
|
140
|
+
include: parseInclude(options.include),
|
|
141
|
+
});
|
|
142
|
+
// Setup signal handler
|
|
143
|
+
const handler = setupSignalHandler({ orchestrator, showResumeHint: false });
|
|
144
|
+
handler.setOrchestrator(orchestrator);
|
|
145
|
+
// Subscribe to events
|
|
146
|
+
orchestrator.on(progress.handleEvent);
|
|
147
|
+
// Run analysis
|
|
148
|
+
progress.startPhase('extracting', 'Analyzing migration...');
|
|
149
|
+
const report = await orchestrator.analyze();
|
|
150
|
+
progress.completePhase('extracting', 'Analysis complete');
|
|
151
|
+
// Show review items
|
|
152
|
+
showReviewItems(report, { noColor: options.noColor });
|
|
153
|
+
// Cleanup
|
|
154
|
+
await orchestrator.cleanup();
|
|
155
|
+
cleanupSignalHandler();
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
progress.stop();
|
|
159
|
+
error(err instanceof Error ? err.message : String(err));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// ─── Resume Mode ─────────────────────────────────────────────
|
|
164
|
+
async function handleResume(options) {
|
|
165
|
+
try {
|
|
166
|
+
// List available migrations
|
|
167
|
+
const migrations = await MigrationOrchestrator.listMigrations();
|
|
168
|
+
const resumable = migrations.filter((m) => m.phase !== 'complete' && m.phase !== 'failed');
|
|
169
|
+
if (resumable.length === 0) {
|
|
170
|
+
info('No interrupted migrations found.');
|
|
171
|
+
console.log(chalk.dim('Start a new migration with: savestate migrate --from <platform> --to <platform>'));
|
|
172
|
+
return;
|
|
78
173
|
}
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
174
|
+
// Show resumable migrations
|
|
175
|
+
showResumableMigrations(migrations);
|
|
176
|
+
// If only one, ask to resume it
|
|
177
|
+
let migrationId;
|
|
178
|
+
if (resumable.length === 1) {
|
|
179
|
+
const shouldResume = await confirm(`Resume migration ${resumable[0].id}?`, true);
|
|
180
|
+
if (!shouldResume) {
|
|
181
|
+
console.log(chalk.dim('Migration cancelled.'));
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
migrationId = resumable[0].id;
|
|
83
185
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
186
|
+
else {
|
|
187
|
+
// Let user select
|
|
188
|
+
const selectOptions = resumable.map((m) => ({
|
|
189
|
+
value: m.id,
|
|
190
|
+
label: m.id,
|
|
191
|
+
description: `${m.source} → ${m.target} (${Math.round(m.progress)}%)`,
|
|
192
|
+
}));
|
|
193
|
+
migrationId = await select('Select migration to resume:', selectOptions);
|
|
88
194
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
195
|
+
// Resume the migration
|
|
196
|
+
const orchestrator = await MigrationOrchestrator.resume(migrationId);
|
|
197
|
+
const progress = new ProgressDisplay({ noColor: options.noColor, verbose: options.verbose });
|
|
198
|
+
// Setup signal handler
|
|
199
|
+
const handler = setupSignalHandler({ orchestrator });
|
|
200
|
+
handler.setOrchestrator(orchestrator);
|
|
201
|
+
// Subscribe to events
|
|
202
|
+
orchestrator.on(progress.handleEvent);
|
|
203
|
+
info(`Resuming migration ${migrationId}...`);
|
|
204
|
+
console.log();
|
|
205
|
+
const result = await orchestrator.continue();
|
|
206
|
+
const state = orchestrator.getState();
|
|
207
|
+
// Show summary
|
|
208
|
+
showMigrationSummary(state, result, { noColor: options.noColor });
|
|
209
|
+
cleanupSignalHandler();
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
error(err instanceof Error ? err.message : String(err));
|
|
213
|
+
process.exit(1);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// ─── Full Migration ──────────────────────────────────────────
|
|
217
|
+
async function runMigration(source, target, options) {
|
|
218
|
+
const progress = new ProgressDisplay({ noColor: options.noColor, verbose: options.verbose });
|
|
219
|
+
try {
|
|
220
|
+
// Show migration plan
|
|
221
|
+
await showMigrationPlan(source, target, options);
|
|
222
|
+
// Confirm before proceeding (unless --force)
|
|
223
|
+
if (!options.force) {
|
|
224
|
+
console.log();
|
|
225
|
+
const proceed = await confirm('Proceed with migration?', true);
|
|
226
|
+
if (!proceed) {
|
|
97
227
|
console.log(chalk.yellow('\nMigration cancelled.'));
|
|
98
|
-
rl.close();
|
|
99
228
|
return;
|
|
100
229
|
}
|
|
101
230
|
}
|
|
102
231
|
console.log();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
232
|
+
// Create orchestrator
|
|
233
|
+
const migrationOptions = {
|
|
234
|
+
include: parseInclude(options.include),
|
|
235
|
+
dryRun: false,
|
|
236
|
+
};
|
|
237
|
+
const orchestrator = new MigrationOrchestrator(source, target, migrationOptions);
|
|
238
|
+
// Setup signal handler
|
|
239
|
+
const handler = setupSignalHandler({ orchestrator });
|
|
240
|
+
handler.setOrchestrator(orchestrator);
|
|
241
|
+
// Subscribe to events
|
|
242
|
+
orchestrator.on(progress.handleEvent);
|
|
243
|
+
// Run the migration
|
|
244
|
+
const result = await orchestrator.run();
|
|
245
|
+
const state = orchestrator.getState();
|
|
246
|
+
// Show summary based on result
|
|
247
|
+
if (result.success) {
|
|
248
|
+
showMigrationSummary(state, result, { noColor: options.noColor });
|
|
116
249
|
}
|
|
117
250
|
else {
|
|
118
|
-
|
|
251
|
+
showFailedMigration(state, { noColor: options.noColor });
|
|
119
252
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
console.log(chalk.yellow.bold('Note for ChatGPT migration:'));
|
|
124
|
-
console.log(chalk.yellow(' Your ChatGPT memories and custom instructions will be exported.'));
|
|
125
|
-
console.log(chalk.yellow(' Conversation history is preserved but may not import elsewhere.'));
|
|
126
|
-
console.log();
|
|
253
|
+
cleanupSignalHandler();
|
|
254
|
+
if (!result.success) {
|
|
255
|
+
process.exit(1);
|
|
127
256
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
progress.stop();
|
|
260
|
+
cleanupSignalHandler();
|
|
261
|
+
error(err instanceof Error ? err.message : String(err));
|
|
262
|
+
process.exit(1);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// ─── Migration Plan Display ──────────────────────────────────
|
|
266
|
+
async function showMigrationPlan(source, target, options) {
|
|
267
|
+
const sourceCap = getPlatformCapabilities(source);
|
|
268
|
+
const targetCap = getPlatformCapabilities(target);
|
|
269
|
+
console.log();
|
|
270
|
+
console.log(chalk.white.bold('Migration Plan:'));
|
|
271
|
+
console.log();
|
|
272
|
+
console.log(` ${chalk.cyan('From:')} ${sourceCap.name}`);
|
|
273
|
+
console.log(` ${chalk.cyan('To:')} ${targetCap.name}`);
|
|
274
|
+
console.log();
|
|
275
|
+
// Show what will be migrated
|
|
276
|
+
console.log(chalk.white.bold('What will be migrated:'));
|
|
277
|
+
console.log();
|
|
278
|
+
const include = parseInclude(options.include);
|
|
279
|
+
// Instructions
|
|
280
|
+
if (!include || include.includes('instructions')) {
|
|
281
|
+
console.log(` ${chalk.green('✓')} Identity (personality, instructions, system prompts)`);
|
|
282
|
+
}
|
|
283
|
+
// Memories
|
|
284
|
+
if (!include || include.includes('memories')) {
|
|
285
|
+
if (sourceCap.hasMemory && targetCap.hasMemory) {
|
|
286
|
+
console.log(` ${chalk.green('✓')} Memory (learned facts, preferences)`);
|
|
133
287
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (confirm.toLowerCase() !== 'yes' && confirm.toLowerCase() !== 'y') {
|
|
137
|
-
console.log(chalk.yellow('\nMigration cancelled.'));
|
|
138
|
-
rl.close();
|
|
139
|
-
return;
|
|
288
|
+
else if (sourceCap.hasMemory) {
|
|
289
|
+
console.log(` ${chalk.yellow('⚠')} Memory ${chalk.dim('(adapted for ' + targetCap.name + ')')}`);
|
|
140
290
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
let snapshotId = options.snapshot;
|
|
147
|
-
if (!snapshotId) {
|
|
148
|
-
try {
|
|
149
|
-
const result = await createSnapshot(sourceAdapter, storage, passphrase, {
|
|
150
|
-
label: `migration-from-${sourceId}`,
|
|
151
|
-
tags: ['migration', `from:${sourceId}`, `to:${targetId}`],
|
|
152
|
-
});
|
|
153
|
-
snapshotId = result.snapshot.manifest.id;
|
|
154
|
-
spinner1.succeed(`Snapshot created: ${chalk.cyan(snapshotId)}`);
|
|
155
|
-
}
|
|
156
|
-
catch (err) {
|
|
157
|
-
spinner1.fail('Failed to create snapshot');
|
|
158
|
-
console.error(chalk.red(err instanceof Error ? err.message : String(err)));
|
|
159
|
-
process.exit(1);
|
|
160
|
-
}
|
|
291
|
+
}
|
|
292
|
+
// Files
|
|
293
|
+
if (!include || include.includes('files')) {
|
|
294
|
+
if (sourceCap.hasFiles && targetCap.hasFiles) {
|
|
295
|
+
console.log(` ${chalk.green('✓')} Files (uploaded documents)`);
|
|
161
296
|
}
|
|
162
|
-
else {
|
|
163
|
-
|
|
297
|
+
else if (sourceCap.hasFiles) {
|
|
298
|
+
console.log(` ${chalk.yellow('⚠')} Files ${chalk.dim('(limited support in ' + targetCap.name + ')')}`);
|
|
164
299
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
300
|
+
}
|
|
301
|
+
// Conversations
|
|
302
|
+
if (!include || include.includes('conversations')) {
|
|
303
|
+
if (sourceCap.hasConversations) {
|
|
304
|
+
console.log(` ${chalk.yellow('⚠')} Conversations ${chalk.dim('(preserved but may not import)')}`);
|
|
170
305
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
console.log(chalk.
|
|
176
|
-
console.log(chalk.dim(`You can retry with: savestate restore ${snapshotId} --to ${targetId}`));
|
|
177
|
-
process.exit(1);
|
|
306
|
+
}
|
|
307
|
+
// Custom bots
|
|
308
|
+
if (!include || include.includes('customBots')) {
|
|
309
|
+
if (sourceCap.hasCustomBots && targetCap.hasProjects) {
|
|
310
|
+
console.log(` ${chalk.green('✓')} Custom Bots / GPTs → Projects`);
|
|
178
311
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
console.log(
|
|
187
|
-
console.log();
|
|
188
|
-
console.log(chalk.
|
|
189
|
-
console.log(chalk.dim(` You can restore again anytime with:`));
|
|
190
|
-
console.log(chalk.dim(` savestate restore ${snapshotId} --to <platform>`));
|
|
312
|
+
else if (sourceCap.hasCustomBots) {
|
|
313
|
+
console.log(` ${chalk.yellow('⚠')} Custom Bots ${chalk.dim('(converted to instructions)')}`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
console.log();
|
|
317
|
+
// Platform-specific notes
|
|
318
|
+
if (source === 'chatgpt') {
|
|
319
|
+
console.log(chalk.yellow.bold('Note for ChatGPT migration:'));
|
|
320
|
+
console.log(chalk.yellow(' Your ChatGPT memories and custom instructions will be exported.'));
|
|
321
|
+
console.log(chalk.yellow(' Conversation history is preserved but may not import elsewhere.'));
|
|
191
322
|
console.log();
|
|
192
323
|
}
|
|
193
|
-
|
|
194
|
-
|
|
324
|
+
if (target === 'claude') {
|
|
325
|
+
console.log(chalk.blue.bold('Note for Claude target:'));
|
|
326
|
+
console.log(chalk.blue(' Memories will be converted to project knowledge files.'));
|
|
327
|
+
console.log(chalk.blue(' Custom GPTs will become Claude Projects with artifacts.'));
|
|
328
|
+
console.log();
|
|
195
329
|
}
|
|
196
330
|
}
|
|
331
|
+
// ─── Platform List ───────────────────────────────────────────
|
|
197
332
|
function showPlatforms() {
|
|
198
333
|
console.log(chalk.white.bold('Available Platforms:'));
|
|
199
334
|
console.log();
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
console.log(
|
|
335
|
+
Object.entries(PLATFORM_CAPABILITIES).forEach(([id, cap]) => {
|
|
336
|
+
const features = [];
|
|
337
|
+
if (cap.hasMemory)
|
|
338
|
+
features.push('memories');
|
|
339
|
+
if (cap.hasFiles)
|
|
340
|
+
features.push('files');
|
|
341
|
+
if (cap.hasProjects)
|
|
342
|
+
features.push('projects');
|
|
343
|
+
if (cap.hasConversations)
|
|
344
|
+
features.push('conversations');
|
|
345
|
+
if (cap.hasCustomBots)
|
|
346
|
+
features.push('custom bots');
|
|
347
|
+
console.log(` ${chalk.cyan(id.padEnd(12))} ${cap.name}`);
|
|
348
|
+
console.log(` ${' '.repeat(12)} ${chalk.dim(features.join(', '))}`);
|
|
349
|
+
console.log();
|
|
213
350
|
});
|
|
351
|
+
console.log(chalk.dim('Use: savestate migrate --from <platform> --to <platform>'));
|
|
352
|
+
console.log();
|
|
353
|
+
}
|
|
354
|
+
// ─── Header ──────────────────────────────────────────────────
|
|
355
|
+
function showHeader() {
|
|
214
356
|
console.log();
|
|
215
|
-
console.log(chalk.
|
|
357
|
+
console.log(chalk.cyan.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
|
|
358
|
+
console.log(chalk.cyan.bold(' ⏸ SaveState Migration Wizard'));
|
|
359
|
+
console.log(chalk.cyan.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
|
|
216
360
|
console.log();
|
|
217
361
|
}
|
|
362
|
+
// ─── Helpers ─────────────────────────────────────────────────
|
|
363
|
+
function parseInclude(include) {
|
|
364
|
+
if (!include)
|
|
365
|
+
return undefined;
|
|
366
|
+
const valid = ['instructions', 'memories', 'conversations', 'files', 'customBots'];
|
|
367
|
+
const items = include.split(',').map((s) => s.trim());
|
|
368
|
+
const result = [];
|
|
369
|
+
for (const item of items) {
|
|
370
|
+
if (valid.includes(item)) {
|
|
371
|
+
result.push(item);
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
warning(`Unknown content type: ${item}`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
return result.length > 0 ? result : undefined;
|
|
378
|
+
}
|
|
218
379
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EAEpB,OAAO,EACP,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAW,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAkBpF,gEAAgE;AAEhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,yBAAyB;IACzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,UAAU,EAAE,CAAC;IAEb,0CAA0C;IAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,kBAAkB,CAC/B,OAA8B;IAE9B,IAAI,MAAgB,CAAC;IACrB,IAAI,MAAgB,CAAC;IAErB,6CAA6C;IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU,EAAE,IAAyB;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAe,CAAC;IAEnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAc,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,WAAW,IAAI,cAAc,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAc,CAAC;AACxB,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,YAAY,CACzB,MAAgB,EAChB,MAAgB,EAChB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE;YAC7D,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,sBAAsB;QACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtC,eAAe;QACf,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5C,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAE1D,4BAA4B;QAC5B,uBAAuB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9D,UAAU;QACV,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,oBAAoB,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,YAAY,CACzB,MAAgB,EAChB,MAAgB,EAChB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE;YAC7D,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,sBAAsB;QACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtC,eAAe;QACf,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5C,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAE1D,oBAAoB;QACpB,eAAe,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtD,UAAU;QACV,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,oBAAoB,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,YAAY,CAAC,OAA8B;IACxD,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CACtD,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEpC,gCAAgC;QAChC,IAAI,WAAmB,CAAC;QACxB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,OAAO,CAChC,oBAAoB,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EACtC,IAAI,CACL,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YACD,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,KAAK,EAAE,CAAC,CAAC,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE;gBACX,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;aACtE,CAAC,CAAC,CAAC;YACJ,WAAW,GAAG,MAAM,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC;QAED,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE7F,uBAAuB;QACvB,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,sBAAsB;QACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtC,IAAI,CAAC,sBAAsB,WAAW,KAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEtC,eAAe;QACf,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAElE,oBAAoB,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,YAAY,CACzB,MAAgB,EAChB,MAAgB,EAChB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjD,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,sBAAsB;QACtB,MAAM,gBAAgB,GAAqB;YACzC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEjF,uBAAuB;QACvB,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtC,sBAAsB;QACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtC,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,oBAAoB,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,oBAAoB,EAAE,CAAC;QACvB,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,iBAAiB,CAC9B,MAAgB,EAChB,MAAgB,EAChB,OAA8B;IAE9B,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,eAAe;IACf,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IAC5F,CAAC;IAED,WAAW;IACX,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,QAAQ;IACR,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,sBAAsB,GAAG,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,0BAA0B;IAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,SAAS,aAAa;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,GAAG,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,WAAW;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,gBAAgB;YAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,gEAAgE;AAEhE,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,gEAAgE;AAEhE,SAAS,YAAY,CACnB,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,KAAK,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAU,CAAC;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAA8B,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,IAA8B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
|