@leadcms/sdk 3.4.0 → 3.5.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/bin/login.js +1 -1
- package/dist/cli/bin/login.js.map +1 -1
- package/dist/cli/bin/pull-all.js +4 -2
- package/dist/cli/bin/pull-all.js.map +1 -1
- package/dist/cli/bin/pull-comments.js +3 -1
- package/dist/cli/bin/pull-comments.js.map +1 -1
- package/dist/cli/bin/pull-content.js +4 -2
- package/dist/cli/bin/pull-content.js.map +1 -1
- package/dist/cli/bin/pull-email-templates.js +3 -1
- package/dist/cli/bin/pull-email-templates.js.map +1 -1
- package/dist/cli/bin/pull-media.js +3 -1
- package/dist/cli/bin/pull-media.js.map +1 -1
- package/dist/cli/bin/pull-settings.js +2 -0
- package/dist/cli/bin/pull-settings.js.map +1 -1
- package/dist/cli/bin/push-all.js +4 -1
- package/dist/cli/bin/push-all.js.map +1 -1
- package/dist/cli/bin/push-comments.js +2 -0
- package/dist/cli/bin/push-comments.js.map +1 -1
- package/dist/cli/bin/push-content.js +5 -3
- package/dist/cli/bin/push-content.js.map +1 -1
- package/dist/cli/bin/push-email-templates.js +3 -1
- package/dist/cli/bin/push-email-templates.js.map +1 -1
- package/dist/cli/bin/push-media.js +2 -0
- package/dist/cli/bin/push-media.js.map +1 -1
- package/dist/cli/bin/push-settings.js +2 -0
- package/dist/cli/bin/push-settings.js.map +1 -1
- package/dist/cli/bin/push.js +5 -3
- package/dist/cli/bin/push.js.map +1 -1
- package/dist/cli/bin/remote-flag.d.ts +17 -0
- package/dist/cli/bin/remote-flag.d.ts.map +1 -0
- package/dist/cli/bin/remote-flag.js +50 -0
- package/dist/cli/bin/remote-flag.js.map +1 -0
- package/dist/cli/bin/remote.d.ts +14 -0
- package/dist/cli/bin/remote.d.ts.map +1 -0
- package/dist/cli/bin/remote.js +291 -0
- package/dist/cli/bin/remote.js.map +1 -0
- package/dist/cli/bin/status-all.js +4 -2
- package/dist/cli/bin/status-all.js.map +1 -1
- package/dist/cli/bin/status-comments.js +2 -0
- package/dist/cli/bin/status-comments.js.map +1 -1
- package/dist/cli/bin/status-content.js +4 -2
- package/dist/cli/bin/status-content.js.map +1 -1
- package/dist/cli/bin/status-email-templates.js +3 -1
- package/dist/cli/bin/status-email-templates.js.map +1 -1
- package/dist/cli/bin/status-media.js +2 -0
- package/dist/cli/bin/status-media.js.map +1 -1
- package/dist/cli/bin/status-settings.js +2 -0
- package/dist/cli/bin/status-settings.js.map +1 -1
- package/dist/cli/bin/status.js +5 -2
- package/dist/cli/bin/status.js.map +1 -1
- package/dist/cli/bin/watch.js +6 -3
- package/dist/cli/bin/watch.js.map +1 -1
- package/dist/cli/index.js +47 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +5 -5
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +6 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +37 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/content-transformation.d.ts +5 -0
- package/dist/lib/content-transformation.d.ts.map +1 -1
- package/dist/lib/content-transformation.js +49 -2
- package/dist/lib/content-transformation.js.map +1 -1
- package/dist/lib/data-service.d.ts +6 -0
- package/dist/lib/data-service.d.ts.map +1 -1
- package/dist/lib/data-service.js +11 -0
- package/dist/lib/data-service.js.map +1 -1
- package/dist/lib/remote-context.d.ts +98 -0
- package/dist/lib/remote-context.d.ts.map +1 -0
- package/dist/lib/remote-context.js +297 -0
- package/dist/lib/remote-context.js.map +1 -0
- package/dist/scripts/init-leadcms.d.ts.map +1 -1
- package/dist/scripts/init-leadcms.js +127 -15
- package/dist/scripts/init-leadcms.js.map +1 -1
- package/dist/scripts/leadcms-helpers.d.ts +16 -5
- package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
- package/dist/scripts/leadcms-helpers.js +31 -8
- package/dist/scripts/leadcms-helpers.js.map +1 -1
- package/dist/scripts/login-leadcms.d.ts +4 -1
- package/dist/scripts/login-leadcms.d.ts.map +1 -1
- package/dist/scripts/login-leadcms.js +45 -6
- package/dist/scripts/login-leadcms.js.map +1 -1
- package/dist/scripts/pull-all.d.ts +14 -6
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +86 -33
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-comments.d.ts +3 -0
- package/dist/scripts/pull-comments.d.ts.map +1 -1
- package/dist/scripts/pull-comments.js +4 -4
- package/dist/scripts/pull-comments.js.map +1 -1
- package/dist/scripts/pull-content.d.ts +3 -0
- package/dist/scripts/pull-content.d.ts.map +1 -1
- package/dist/scripts/pull-content.js +7 -6
- package/dist/scripts/pull-content.js.map +1 -1
- package/dist/scripts/pull-email-templates.d.ts +3 -0
- package/dist/scripts/pull-email-templates.d.ts.map +1 -1
- package/dist/scripts/pull-email-templates.js +4 -4
- package/dist/scripts/pull-email-templates.js.map +1 -1
- package/dist/scripts/{fetch-leadcms-comments.d.ts → pull-leadcms-comments.d.ts} +7 -6
- package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-comments.js → pull-leadcms-comments.js} +56 -28
- package/dist/scripts/pull-leadcms-comments.js.map +1 -0
- package/dist/scripts/{fetch-leadcms-content.d.ts → pull-leadcms-content.d.ts} +13 -19
- package/dist/scripts/pull-leadcms-content.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-content.js → pull-leadcms-content.js} +121 -250
- package/dist/scripts/pull-leadcms-content.js.map +1 -0
- package/dist/scripts/{fetch-leadcms-email-templates.d.ts → pull-leadcms-email-templates.d.ts} +5 -4
- package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-email-templates.js → pull-leadcms-email-templates.js} +89 -11
- package/dist/scripts/pull-leadcms-email-templates.js.map +1 -0
- package/dist/scripts/pull-leadcms-media.d.ts +32 -0
- package/dist/scripts/pull-leadcms-media.d.ts.map +1 -0
- package/dist/scripts/pull-leadcms-media.js +229 -0
- package/dist/scripts/pull-leadcms-media.js.map +1 -0
- package/dist/scripts/pull-media.d.ts +4 -1
- package/dist/scripts/pull-media.d.ts.map +1 -1
- package/dist/scripts/pull-media.js +4 -4
- package/dist/scripts/pull-media.js.map +1 -1
- package/dist/scripts/push-comments.js +3 -3
- package/dist/scripts/push-comments.js.map +1 -1
- package/dist/scripts/push-email-templates.d.ts +6 -1
- package/dist/scripts/push-email-templates.d.ts.map +1 -1
- package/dist/scripts/push-email-templates.js +96 -21
- package/dist/scripts/push-email-templates.js.map +1 -1
- package/dist/scripts/push-leadcms-content.d.ts +9 -3
- package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/push-leadcms-content.js +110 -36
- package/dist/scripts/push-leadcms-content.js.map +1 -1
- package/dist/scripts/sse-watcher.d.ts +9 -8
- package/dist/scripts/sse-watcher.d.ts.map +1 -1
- package/dist/scripts/sse-watcher.js +59 -52
- package/dist/scripts/sse-watcher.js.map +1 -1
- package/leadcms.config.json.sample +12 -1
- package/package.json +2 -3
- package/dist/scripts/fetch-leadcms-comments.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-comments.js.map +0 -1
- package/dist/scripts/fetch-leadcms-content.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-content.js.map +0 -1
- package/dist/scripts/fetch-leadcms-email-templates.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-email-templates.js.map +0 -1
|
@@ -81,13 +81,31 @@ function updateEnvFile(config) {
|
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
// Update with new values
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
const remoteEnvName = config.remoteName.toUpperCase().replace(/-/g, '_');
|
|
85
|
+
const remoteApiKey = `LEADCMS_REMOTE_${remoteEnvName}_API_KEY`;
|
|
86
|
+
const remoteUrlKey = `LEADCMS_REMOTE_${remoteEnvName}_URL`;
|
|
87
|
+
if (config.mode === 'multi') {
|
|
88
|
+
envVars.delete('LEADCMS_URL');
|
|
89
|
+
envVars.set(remoteUrlKey, config.url);
|
|
90
|
+
// Keep generic key as fallback for default remote, but prefer remote-specific key.
|
|
91
|
+
if (config.apiKey) {
|
|
92
|
+
envVars.set(remoteApiKey, config.apiKey);
|
|
93
|
+
envVars.set('LEADCMS_API_KEY', config.apiKey);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
envVars.delete(remoteApiKey);
|
|
97
|
+
envVars.delete('LEADCMS_API_KEY');
|
|
98
|
+
}
|
|
87
99
|
}
|
|
88
100
|
else {
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
envVars.set('LEADCMS_URL', config.url);
|
|
102
|
+
if (config.apiKey) {
|
|
103
|
+
envVars.set('LEADCMS_API_KEY', config.apiKey);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Remove API key if it exists but user wants anonymous mode
|
|
107
|
+
envVars.delete('LEADCMS_API_KEY');
|
|
108
|
+
}
|
|
91
109
|
}
|
|
92
110
|
envVars.set('LEADCMS_DEFAULT_LANGUAGE', config.defaultLanguage);
|
|
93
111
|
// Build new content
|
|
@@ -110,6 +128,36 @@ function updateEnvFile(config) {
|
|
|
110
128
|
*/
|
|
111
129
|
function createConfigFile(config) {
|
|
112
130
|
const configPath = path.join(process.cwd(), 'leadcms.config.json');
|
|
131
|
+
if (config.mode === 'multi') {
|
|
132
|
+
const remotes = {
|
|
133
|
+
[config.remoteName]: { url: config.url },
|
|
134
|
+
};
|
|
135
|
+
for (const remote of config.additionalRemotes) {
|
|
136
|
+
remotes[remote.name] = { url: remote.url };
|
|
137
|
+
}
|
|
138
|
+
const configData = {
|
|
139
|
+
remotes,
|
|
140
|
+
defaultRemote: config.remoteName,
|
|
141
|
+
};
|
|
142
|
+
if (config.contentDir !== DEFAULTS.contentDir) {
|
|
143
|
+
configData.contentDir = config.contentDir;
|
|
144
|
+
}
|
|
145
|
+
if (config.mediaDir !== DEFAULTS.mediaDir) {
|
|
146
|
+
configData.mediaDir = config.mediaDir;
|
|
147
|
+
}
|
|
148
|
+
if (config.commentsDir !== DEFAULTS.commentsDir) {
|
|
149
|
+
configData.commentsDir = config.commentsDir;
|
|
150
|
+
}
|
|
151
|
+
if (config.emailTemplatesDir !== DEFAULTS.emailTemplatesDir) {
|
|
152
|
+
configData.emailTemplatesDir = config.emailTemplatesDir;
|
|
153
|
+
}
|
|
154
|
+
if (config.settingsDir !== DEFAULTS.settingsDir) {
|
|
155
|
+
configData.settingsDir = config.settingsDir;
|
|
156
|
+
}
|
|
157
|
+
fs.writeFileSync(configPath, JSON.stringify(configData, null, 2) + '\n', 'utf-8');
|
|
158
|
+
console.log(`✅ Created leadcms.config.json`);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
113
161
|
// Only create config if values differ from defaults
|
|
114
162
|
const needsConfig = config.contentDir !== DEFAULTS.contentDir ||
|
|
115
163
|
config.mediaDir !== DEFAULTS.mediaDir ||
|
|
@@ -176,6 +224,13 @@ function readExistingConfig() {
|
|
|
176
224
|
if (jsonConfig.contentDir) {
|
|
177
225
|
existingConfig.contentDir = jsonConfig.contentDir;
|
|
178
226
|
}
|
|
227
|
+
if (jsonConfig.defaultRemote) {
|
|
228
|
+
existingConfig.remoteName = jsonConfig.defaultRemote;
|
|
229
|
+
}
|
|
230
|
+
if (jsonConfig.remotes && jsonConfig.defaultRemote && jsonConfig.remotes[jsonConfig.defaultRemote]?.url) {
|
|
231
|
+
existingConfig.url = jsonConfig.remotes[jsonConfig.defaultRemote].url;
|
|
232
|
+
existingConfig.mode = 'multi';
|
|
233
|
+
}
|
|
179
234
|
if (jsonConfig.mediaDir) {
|
|
180
235
|
existingConfig.mediaDir = jsonConfig.mediaDir;
|
|
181
236
|
}
|
|
@@ -228,8 +283,11 @@ export async function initLeadCMS() {
|
|
|
228
283
|
console.log('');
|
|
229
284
|
}
|
|
230
285
|
const config = {
|
|
286
|
+
mode: existingConfig.mode || 'single',
|
|
231
287
|
url: '',
|
|
232
288
|
apiKey: existingConfig.apiKey || '',
|
|
289
|
+
remoteName: existingConfig.remoteName || 'production',
|
|
290
|
+
additionalRemotes: [],
|
|
233
291
|
defaultLanguage: existingConfig.defaultLanguage || 'en',
|
|
234
292
|
contentDir: existingConfig.contentDir || DEFAULTS.contentDir,
|
|
235
293
|
mediaDir: existingConfig.mediaDir || DEFAULTS.mediaDir,
|
|
@@ -237,11 +295,30 @@ export async function initLeadCMS() {
|
|
|
237
295
|
emailTemplatesDir: existingConfig.emailTemplatesDir || DEFAULTS.emailTemplatesDir,
|
|
238
296
|
settingsDir: existingConfig.settingsDir || DEFAULTS.settingsDir,
|
|
239
297
|
};
|
|
240
|
-
// Step 1:
|
|
298
|
+
// Step 1: Choose setup mode
|
|
299
|
+
const setupModeInput = await question('Setup mode - single or multi remote? [single]: ');
|
|
300
|
+
if (setupModeInput.trim().toLowerCase() === 'multi' || setupModeInput.trim().toLowerCase() === 'm') {
|
|
301
|
+
config.mode = 'multi';
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
config.mode = 'single';
|
|
305
|
+
}
|
|
306
|
+
if (config.mode === 'multi') {
|
|
307
|
+
const remoteNameInput = await question(`Default remote name [${config.remoteName}]: `);
|
|
308
|
+
if (remoteNameInput.trim()) {
|
|
309
|
+
config.remoteName = remoteNameInput.trim().toLowerCase();
|
|
310
|
+
}
|
|
311
|
+
if (!/^[a-z0-9][a-z0-9-]*$/.test(config.remoteName)) {
|
|
312
|
+
console.log('❌ Remote name must be lowercase alphanumeric with hyphens.');
|
|
313
|
+
rl.close();
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Step 2: Get LeadCMS URL
|
|
241
318
|
const existingUrlForPrompt = existingConfig.url || '';
|
|
242
319
|
const urlPrompt = existingUrlForPrompt
|
|
243
|
-
? `Enter
|
|
244
|
-
:
|
|
320
|
+
? `Enter URL for ${config.mode === 'multi' ? `${config.remoteName} remote` : 'LeadCMS'} [${existingUrlForPrompt}]: `
|
|
321
|
+
: `Enter ${config.mode === 'multi' ? `${config.remoteName} remote ` : ''}LeadCMS URL (e.g., https://your-instance.leadcms.ai): `;
|
|
245
322
|
while (!config.url) {
|
|
246
323
|
const urlInput = await question(urlPrompt);
|
|
247
324
|
const trimmedUrl = urlInput.trim().replace(/\/$/, ''); // Remove trailing slash
|
|
@@ -260,10 +337,38 @@ export async function initLeadCMS() {
|
|
|
260
337
|
}
|
|
261
338
|
config.url = trimmedUrl;
|
|
262
339
|
}
|
|
263
|
-
|
|
340
|
+
if (config.mode === 'multi') {
|
|
341
|
+
while (true) {
|
|
342
|
+
const addRemote = await question('Add another remote? (y/N): ');
|
|
343
|
+
if (addRemote.toLowerCase() !== 'y' && addRemote.toLowerCase() !== 'yes') {
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
const name = (await question(' Remote name: ')).trim().toLowerCase();
|
|
347
|
+
const url = (await question(' Remote URL: ')).trim().replace(/\/$/, '');
|
|
348
|
+
if (!/^[a-z0-9][a-z0-9-]*$/.test(name)) {
|
|
349
|
+
console.log(' ❌ Invalid remote name. Use lowercase alphanumeric with hyphens.');
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
if (!isValidUrl(url)) {
|
|
353
|
+
console.log(' ❌ Invalid URL. Must start with http:// or https://');
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
if (name === config.remoteName || config.additionalRemotes.some(r => r.name === name)) {
|
|
357
|
+
console.log(' ❌ Remote name already exists.');
|
|
358
|
+
continue;
|
|
359
|
+
}
|
|
360
|
+
config.additionalRemotes.push({ name, url });
|
|
361
|
+
console.log(` ✓ Added remote "${name}"`);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
// Step 3: Authentication
|
|
264
365
|
console.log('');
|
|
265
366
|
// Check if API key already exists in environment or .env files
|
|
266
|
-
const
|
|
367
|
+
const remoteEnvName = config.remoteName.toUpperCase().replace(/-/g, '_');
|
|
368
|
+
const existingRemoteApiKey = process.env[`LEADCMS_REMOTE_${remoteEnvName}_API_KEY`];
|
|
369
|
+
const existingApiKey = config.mode === 'multi'
|
|
370
|
+
? (existingRemoteApiKey || process.env.LEADCMS_API_KEY)
|
|
371
|
+
: process.env.LEADCMS_API_KEY;
|
|
267
372
|
const envFilePath = path.join(process.cwd(), '.env');
|
|
268
373
|
const hasEnvFile = fs.existsSync(envFilePath);
|
|
269
374
|
if (existingApiKey) {
|
|
@@ -286,7 +391,14 @@ export async function initLeadCMS() {
|
|
|
286
391
|
console.log('');
|
|
287
392
|
const { token, user } = await authenticate(config.url, question);
|
|
288
393
|
// Save to .env
|
|
289
|
-
|
|
394
|
+
if (config.mode === 'multi') {
|
|
395
|
+
const envName = config.remoteName.toUpperCase().replace(/-/g, '_');
|
|
396
|
+
saveTokenToEnv(token, `LEADCMS_REMOTE_${envName}_API_KEY`);
|
|
397
|
+
saveTokenToEnv(token, 'LEADCMS_API_KEY');
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
saveTokenToEnv(token);
|
|
401
|
+
}
|
|
290
402
|
config.apiKey = token;
|
|
291
403
|
console.log('✅ Authentication successful!');
|
|
292
404
|
console.log(` Logged in as: ${user.displayName || user.userName}\n`);
|
|
@@ -302,7 +414,7 @@ export async function initLeadCMS() {
|
|
|
302
414
|
console.log(' You can run "leadcms login" later to authenticate.\n');
|
|
303
415
|
}
|
|
304
416
|
}
|
|
305
|
-
// Step
|
|
417
|
+
// Step 4: Fetch CMS configuration (public endpoint, no authentication required)
|
|
306
418
|
console.log('\n🔍 Connecting to LeadCMS...');
|
|
307
419
|
let cmsConfig = null;
|
|
308
420
|
cmsConfig = await fetchCMSConfig(config.url);
|
|
@@ -373,7 +485,7 @@ export async function initLeadCMS() {
|
|
|
373
485
|
console.log(' Configuration will be created without directory prompts.\n');
|
|
374
486
|
}
|
|
375
487
|
}
|
|
376
|
-
// Step
|
|
488
|
+
// Step 5: Ask for directories only for supported entity types
|
|
377
489
|
if (supportsContent) {
|
|
378
490
|
const contentDirInput = await question(`Content directory [${config.contentDir}]: `);
|
|
379
491
|
if (contentDirInput.trim()) {
|
|
@@ -412,11 +524,11 @@ export async function initLeadCMS() {
|
|
|
412
524
|
console.log('Next steps:');
|
|
413
525
|
if (!config.apiKey) {
|
|
414
526
|
console.log(' 1. Run: npx leadcms login (for write access and private content)');
|
|
415
|
-
console.log(
|
|
527
|
+
console.log(` 2. Run: npx leadcms pull${config.mode === 'multi' ? ` -r ${config.remoteName}` : ''} (to download content)`);
|
|
416
528
|
console.log(' 3. Start using LeadCMS content in your project\n');
|
|
417
529
|
}
|
|
418
530
|
else {
|
|
419
|
-
console.log(
|
|
531
|
+
console.log(` 1. Run: npx leadcms pull${config.mode === 'multi' ? ` -r ${config.remoteName}` : ''} (to download content)`);
|
|
420
532
|
console.log(' 2. Start using LeadCMS content in your project\n');
|
|
421
533
|
}
|
|
422
534
|
rl.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-leadcms.js","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA0B,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9D,iBAAiB;AACjB,MAAM,QAAQ,GAAG;IACf,UAAU,EAAE,kBAAkB;IAC9B,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,cAAc;IACxB,iBAAiB,EAAE,0BAA0B;IAC7C,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAaF;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEtD,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAoB,MAAM,EAAE;YAC1D,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAE5D,0BAA0B;IAC1B,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,uCAAuC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,4DAA4D;QAC5D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAEhE,oBAAoB;IACpB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAClF,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAEnE,oDAAoD;IACpD,MAAM,WAAW,GACf,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;QACzC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACrC,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC3C,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB;QACvD,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAQ,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC9C,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1C,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QAChD,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC5D,UAAU,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QAChD,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,EAAE,CAAC,aAAa,CACd,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC1C,OAAO,CACR,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,MAAM,cAAc,GAAwB,EAAE,CAAC;IAE/C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3D,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE1C,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,aAAa,IAAI,KAAK,EAAE,CAAC;oBAC1C,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;gBAC7B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,iBAAiB,IAAI,KAAK,EAAE,CAAC;oBACrD,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC;gBAChC,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,0BAA0B,IAAI,KAAK,EAAE,CAAC;oBAC9D,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE7C,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACpD,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,cAAc,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAChD,CAAC;YACD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,cAAc,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACtD,CAAC;YAED,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,cAAc,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;YAClE,CAAC;YACD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,cAAc,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH;;OAEG;IACH,SAAS,QAAQ,CAAC,KAAa;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,iCAAiC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAE5D,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7G,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,2DAA2D,CAAC,CAAC;QAC3F,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAe;QACzB,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,EAAE;QACnC,eAAe,EAAE,cAAc,CAAC,eAAe,IAAI,IAAI;QACvD,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU;QAC5D,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;QACtD,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;QAC/D,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QACjF,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;KAChE,CAAC;IAEF,0BAA0B;IAC1B,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,IAAI,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,oBAAoB;QACpC,CAAC,CAAC,2BAA2B,oBAAoB,KAAK;QACtD,CAAC,CAAC,mEAAmE,CAAC;IAExE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAE/E,4CAA4C;QAC5C,IAAI,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,GAAG,oBAAoB,CAAC;YAClC,MAAM;QACR,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,+DAA+D;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;QACxG,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAElF,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QAEtF,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YACpF,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAEjE,eAAe;gBACf,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBAEtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE7C,qCAAqC;IACrC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAE1F,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,0BAA0B,MAAM,CAAC,eAAe,KAAK,CAAC,CAAC;QACxF,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,oDAAoD;QACpD,eAAe,GAAG,aAAa,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,KAAK,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAoC,EAAE,GAAW,EAAE,EAAE;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,SAAS,CAAC,eAAe,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,0BAA0B,iBAAiB,KAAK,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,eAAe,GAAG,iBAAiB,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QAErE,qCAAqC;QACrC,IAAI,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3E,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9C,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvF,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAEzG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,IAAI,eAAe;gBAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,gBAAgB;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACnD,IAAI,sBAAsB;gBAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAEhE,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,sBAAsB,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC;QACrF,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,oBAAoB,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC/E,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,uBAAuB,MAAM,CAAC,WAAW,KAAK,CAAC,CAAC;QACxF,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,sBAAsB,GAAG,MAAM,QAAQ,CAAC,8BAA8B,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC;QAC3G,IAAI,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,uBAAuB,MAAM,CAAC,WAAW,KAAK,CAAC,CAAC;IACxF,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,mBAAmB;IACnB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,+BAA+B;IAC/B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC;AAED,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"init-leadcms.js","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type UserIdentity } from "../lib/data-service.js";
|
|
2
|
+
import type { RemoteContext } from "../lib/remote-context.js";
|
|
2
3
|
interface ContentItem {
|
|
3
4
|
id?: number;
|
|
4
5
|
slug: string;
|
|
@@ -9,14 +10,14 @@ interface ContentItem {
|
|
|
9
10
|
body?: string;
|
|
10
11
|
[key: string]: any;
|
|
11
12
|
}
|
|
12
|
-
export declare
|
|
13
|
-
export declare
|
|
13
|
+
export declare let leadCMSUrl: string;
|
|
14
|
+
export declare let leadCMSApiKey: string | undefined;
|
|
14
15
|
export declare const defaultLanguage: string;
|
|
15
16
|
export declare const CONTENT_DIR: string;
|
|
16
17
|
export declare const MEDIA_DIR: string;
|
|
17
18
|
export declare const EMAIL_TEMPLATES_DIR: string;
|
|
18
19
|
export declare const SETTINGS_DIR: string;
|
|
19
|
-
export declare function fetchContentTypes(): Promise<Record<string, string>>;
|
|
20
|
+
export declare function fetchContentTypes(baseUrl?: string): Promise<Record<string, string>>;
|
|
20
21
|
export declare function extractMediaUrlsFromContent(content: ContentItem): string[];
|
|
21
22
|
export declare function downloadMediaFileDirect(mediaUrl: string, destPath: string, leadCMSUrl: string, leadCMSApiKey?: string): Promise<boolean>;
|
|
22
23
|
export type { ContentItem };
|
|
@@ -29,15 +30,25 @@ export type { ContentItem };
|
|
|
29
30
|
*
|
|
30
31
|
* Call this at the start of every CLI command so the user always sees *who*
|
|
31
32
|
* is making the requests.
|
|
33
|
+
*
|
|
34
|
+
* @param overrideApiKey Optional API key override (e.g., from RemoteContext).
|
|
35
|
+
* When provided, this is used instead of the module-level key.
|
|
32
36
|
*/
|
|
33
|
-
export declare function resolveIdentity(): Promise<UserIdentity | null>;
|
|
37
|
+
export declare function resolveIdentity(overrideApiKey?: string): Promise<UserIdentity | null>;
|
|
34
38
|
/**
|
|
35
39
|
* Require an authenticated user. Calls resolveIdentity() and exits if
|
|
36
40
|
* the user is anonymous (no API key).
|
|
37
41
|
*
|
|
38
42
|
* Use this for write operations (push) that cannot run anonymously.
|
|
43
|
+
*
|
|
44
|
+
* @param overrideApiKey Optional API key override (e.g., from RemoteContext).
|
|
45
|
+
*/
|
|
46
|
+
export declare function requireAuthenticatedUser(overrideApiKey?: string): Promise<UserIdentity>;
|
|
47
|
+
/**
|
|
48
|
+
* Set up the data service for a specific RemoteContext and resolve identity.
|
|
49
|
+
* Use at the start of CLI commands when --remote is specified.
|
|
39
50
|
*/
|
|
40
|
-
export declare function
|
|
51
|
+
export declare function configureDataServiceForRemote(ctx: RemoteContext): void;
|
|
41
52
|
/**
|
|
42
53
|
* @deprecated Use requireAuthenticatedUser() instead – it also verifies the
|
|
43
54
|
* token is valid by calling /api/users/me before proceeding.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leadcms-helpers.d.ts","sourceRoot":"","sources":["../../src/scripts/leadcms-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"leadcms-helpers.d.ts","sourceRoot":"","sources":["../../src/scripts/leadcms-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAQ9D,UAAU,WAAW;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAQD,eAAO,IAAI,UAAU,QAAa,CAAC;AACnC,eAAO,IAAI,aAAa,oBAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,QAAyB,CAAC;AACtD,eAAO,MAAM,WAAW,QAAkC,CAAC;AAC3D,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,eAAO,MAAM,mBAAmB,QAAyC,CAAC;AAC1E,eAAO,MAAM,YAAY,QAA0D,CAAC;AAIpF,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwBzF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAoB1E;AAGD,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyB3F;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAY7F;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAUtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C"}
|
|
@@ -7,8 +7,10 @@ import { leadCMSDataService } from "../lib/data-service.js";
|
|
|
7
7
|
// Use the main configuration system instead of duplicating logic
|
|
8
8
|
const config = getConfig();
|
|
9
9
|
// Use configuration with environment variable fallbacks
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// These are `let` so that configureDataServiceForRemote() can update them
|
|
11
|
+
// at runtime for multi-remote setups (ESM live bindings propagate to importers).
|
|
12
|
+
export let leadCMSUrl = config.url;
|
|
13
|
+
export let leadCMSApiKey = config.apiKey;
|
|
12
14
|
export const defaultLanguage = config.defaultLanguage;
|
|
13
15
|
export const CONTENT_DIR = path.resolve(config.contentDir);
|
|
14
16
|
export const MEDIA_DIR = path.resolve(config.mediaDir);
|
|
@@ -16,10 +18,11 @@ export const EMAIL_TEMPLATES_DIR = path.resolve(config.emailTemplatesDir);
|
|
|
16
18
|
export const SETTINGS_DIR = path.resolve(config.settingsDir || ".leadcms/settings");
|
|
17
19
|
// Fetch content types dynamically from LeadCMS API to build typeMap
|
|
18
20
|
// Content types are automatically detected and don't need to be configured
|
|
19
|
-
export async function fetchContentTypes() {
|
|
21
|
+
export async function fetchContentTypes(baseUrl) {
|
|
22
|
+
const effectiveUrl = baseUrl || leadCMSUrl;
|
|
20
23
|
logger.verbose(`[LeadCMS] Fetching content types from API...`);
|
|
21
24
|
logger.verbose(`[LeadCMS] Fetching public content types (no authentication)`);
|
|
22
|
-
const url = new URL("/api/content-types",
|
|
25
|
+
const url = new URL("/api/content-types", effectiveUrl);
|
|
23
26
|
url.searchParams.set("filter[limit]", "100");
|
|
24
27
|
try {
|
|
25
28
|
// SECURITY: Never send API key for read operations
|
|
@@ -93,9 +96,13 @@ export async function downloadMediaFileDirect(mediaUrl, destPath, leadCMSUrl, le
|
|
|
93
96
|
*
|
|
94
97
|
* Call this at the start of every CLI command so the user always sees *who*
|
|
95
98
|
* is making the requests.
|
|
99
|
+
*
|
|
100
|
+
* @param overrideApiKey Optional API key override (e.g., from RemoteContext).
|
|
101
|
+
* When provided, this is used instead of the module-level key.
|
|
96
102
|
*/
|
|
97
|
-
export async function resolveIdentity() {
|
|
98
|
-
|
|
103
|
+
export async function resolveIdentity(overrideApiKey) {
|
|
104
|
+
const effectiveApiKey = overrideApiKey ?? leadCMSApiKey;
|
|
105
|
+
if (!effectiveApiKey) {
|
|
99
106
|
console.log('👤 Running in anonymous mode');
|
|
100
107
|
return null;
|
|
101
108
|
}
|
|
@@ -123,9 +130,11 @@ export async function resolveIdentity() {
|
|
|
123
130
|
* the user is anonymous (no API key).
|
|
124
131
|
*
|
|
125
132
|
* Use this for write operations (push) that cannot run anonymously.
|
|
133
|
+
*
|
|
134
|
+
* @param overrideApiKey Optional API key override (e.g., from RemoteContext).
|
|
126
135
|
*/
|
|
127
|
-
export async function requireAuthenticatedUser() {
|
|
128
|
-
const identity = await resolveIdentity();
|
|
136
|
+
export async function requireAuthenticatedUser(overrideApiKey) {
|
|
137
|
+
const identity = await resolveIdentity(overrideApiKey);
|
|
129
138
|
if (!identity) {
|
|
130
139
|
console.error('\n❌ This operation requires authentication.');
|
|
131
140
|
console.error('\n💡 To authenticate:');
|
|
@@ -135,6 +144,20 @@ export async function requireAuthenticatedUser() {
|
|
|
135
144
|
}
|
|
136
145
|
return identity;
|
|
137
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Set up the data service for a specific RemoteContext and resolve identity.
|
|
149
|
+
* Use at the start of CLI commands when --remote is specified.
|
|
150
|
+
*/
|
|
151
|
+
export function configureDataServiceForRemote(ctx) {
|
|
152
|
+
leadCMSDataService.configureForRemote(ctx.url, ctx.apiKey);
|
|
153
|
+
// Also update module-level vars so scripts that import leadCMSUrl / leadCMSApiKey
|
|
154
|
+
// directly (pull-settings, fetch-comments, fetch-email-templates, push-settings)
|
|
155
|
+
// pick up the correct values via ESM live bindings.
|
|
156
|
+
leadCMSUrl = ctx.url;
|
|
157
|
+
if (ctx.apiKey !== undefined) {
|
|
158
|
+
leadCMSApiKey = ctx.apiKey;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
138
161
|
/**
|
|
139
162
|
* @deprecated Use requireAuthenticatedUser() instead – it also verifies the
|
|
140
163
|
* token is valid by calling /api/users/me before proceeding.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leadcms-helpers.js","sourceRoot":"","sources":["../../src/scripts/leadcms-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"leadcms-helpers.js","sourceRoot":"","sources":["../../src/scripts/leadcms-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* LeadCMS Login - Interactive token-based authentication
|
|
3
3
|
*/
|
|
4
|
+
declare function parseRemoteArg(args: string[]): string | undefined;
|
|
5
|
+
declare function remoteApiKeyEnvName(remoteName: string): string;
|
|
4
6
|
/**
|
|
5
7
|
* Interactive login flow
|
|
6
8
|
*/
|
|
7
|
-
declare function main(): Promise<void>;
|
|
9
|
+
declare function main(args?: string[]): Promise<void>;
|
|
8
10
|
export { main as loginLeadCMS };
|
|
11
|
+
export { parseRemoteArg, remoteApiKeyEnvName };
|
|
9
12
|
//# sourceMappingURL=login-leadcms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-leadcms.d.ts","sourceRoot":"","sources":["../../src/scripts/login-leadcms.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"login-leadcms.d.ts","sourceRoot":"","sources":["../../src/scripts/login-leadcms.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAY1D;AAED,iBAAS,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,iBAAe,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EtD;AAKD,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { config as dotenvConfig } from 'dotenv';
|
|
5
5
|
import { getConfig } from '../lib/config.js';
|
|
6
6
|
import { authenticate, saveTokenToEnv } from '../lib/auth.js';
|
|
7
|
+
import { resolveRemote } from '../lib/remote-context.js';
|
|
7
8
|
import axios from 'axios';
|
|
8
9
|
import * as readline from 'readline';
|
|
9
10
|
// Load environment variables from .env file
|
|
@@ -23,18 +24,45 @@ function prompt(question) {
|
|
|
23
24
|
});
|
|
24
25
|
});
|
|
25
26
|
}
|
|
27
|
+
function parseRemoteArg(args) {
|
|
28
|
+
const idx = args.findIndex(arg => arg === '--remote' || arg === '-r');
|
|
29
|
+
if (idx === -1) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const name = args[idx + 1];
|
|
33
|
+
if (!name || name.startsWith('-')) {
|
|
34
|
+
throw new Error('--remote requires a remote name (e.g. --remote production)');
|
|
35
|
+
}
|
|
36
|
+
return name;
|
|
37
|
+
}
|
|
38
|
+
function remoteApiKeyEnvName(remoteName) {
|
|
39
|
+
return `LEADCMS_REMOTE_${remoteName.toUpperCase().replace(/-/g, '_')}_API_KEY`;
|
|
40
|
+
}
|
|
26
41
|
/**
|
|
27
42
|
* Interactive login flow
|
|
28
43
|
*/
|
|
29
|
-
async function main() {
|
|
44
|
+
async function main(args = []) {
|
|
30
45
|
let leadCMSUrl;
|
|
31
|
-
|
|
46
|
+
let selectedRemoteName;
|
|
47
|
+
let shouldAlsoSaveGenericKey = false;
|
|
48
|
+
const requestedRemote = parseRemoteArg(args);
|
|
32
49
|
try {
|
|
33
50
|
const config = getConfig();
|
|
34
|
-
|
|
51
|
+
if (config.remotes && Object.keys(config.remotes).length > 0) {
|
|
52
|
+
const remoteCtx = resolveRemote(requestedRemote);
|
|
53
|
+
leadCMSUrl = remoteCtx.url;
|
|
54
|
+
selectedRemoteName = remoteCtx.name;
|
|
55
|
+
shouldAlsoSaveGenericKey = remoteCtx.isDefault;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
leadCMSUrl = config.url || process.env.LEADCMS_URL;
|
|
59
|
+
}
|
|
35
60
|
}
|
|
36
61
|
catch (error) {
|
|
37
|
-
// Config file not found
|
|
62
|
+
// Config file not found/invalid; fallback to env for URL only when no explicit remote is requested.
|
|
63
|
+
if (requestedRemote) {
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
38
66
|
leadCMSUrl = process.env.LEADCMS_URL;
|
|
39
67
|
}
|
|
40
68
|
if (!leadCMSUrl) {
|
|
@@ -48,8 +76,18 @@ async function main() {
|
|
|
48
76
|
// Use shared authentication function
|
|
49
77
|
const { token, user } = await authenticate(leadCMSUrl, prompt);
|
|
50
78
|
// Save to .env
|
|
51
|
-
|
|
52
|
-
|
|
79
|
+
if (selectedRemoteName) {
|
|
80
|
+
const remoteEnvKey = remoteApiKeyEnvName(selectedRemoteName);
|
|
81
|
+
saveTokenToEnv(token, remoteEnvKey);
|
|
82
|
+
if (shouldAlsoSaveGenericKey) {
|
|
83
|
+
saveTokenToEnv(token, 'LEADCMS_API_KEY');
|
|
84
|
+
}
|
|
85
|
+
console.log(`✅ Token verified and saved to .env file (${remoteEnvKey})!`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
saveTokenToEnv(token);
|
|
89
|
+
console.log('✅ Token verified and saved to .env file!');
|
|
90
|
+
}
|
|
53
91
|
console.log(`\n👤 Successfully logged in as: ${user.displayName || user.userName}`);
|
|
54
92
|
console.log(` Email: ${user.email}`);
|
|
55
93
|
console.log('\n✅ You can now use commands like:');
|
|
@@ -81,4 +119,5 @@ async function main() {
|
|
|
81
119
|
// Note: CLI execution moved to src/cli/bin/login.ts
|
|
82
120
|
// This file now only exports the function for programmatic use
|
|
83
121
|
export { main as loginLeadCMS };
|
|
122
|
+
export { parseRemoteArg, remoteApiKeyEnvName };
|
|
84
123
|
//# sourceMappingURL=login-leadcms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-leadcms.js","sourceRoot":"","sources":["../../src/scripts/login-leadcms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,4CAA4C;AAC5C,YAAY,EAAE,CAAC;AAEf;;GAEG;AACH,SAAS,MAAM,CAAC,QAAgB;IAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;
|
|
1
|
+
{"version":3,"file":"login-leadcms.js","sourceRoot":"","sources":["../../src/scripts/login-leadcms.ts"],"names":[],"mappings":"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"}
|