@memberjunction/open-app-engine 6.2.0-edge.7 → 6.2.0-edge.8

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.
@@ -1,5 +1,6 @@
1
1
  import type { AppInstallCallbacks, InstallOptions, UpgradeOptions, RemoveOptions, AppOperationResult } from '../types/open-app-types.js';
2
2
  import { type GitHubClientOptions } from '../github/github-client.js';
3
+ import { type SchemaOperationResult, type ValidateSchemaNameOptions } from './schema-manager.js';
3
4
  import { type SkywayDatabaseConfig } from './migration-runner.js';
4
5
  import { type PackageManagerType, type VersionStrategy, type WorkspaceTarget } from './package-manager.js';
5
6
  import { DatabaseProviderBase } from '@memberjunction/core';
@@ -21,6 +22,7 @@ export interface OrchestratorContext {
21
22
  MigrationPlaceholders?: Record<string, string>;
22
23
  }
23
24
  export declare function InstallApp(options: InstallOptions, context: OrchestratorContext): Promise<AppOperationResult>;
25
+ export declare function DropSchemaAndReport(schemaName: string, appName: string, phase: string, options: ValidateSchemaNameOptions, context: OrchestratorContext): Promise<SchemaOperationResult>;
24
26
  export declare function UpgradeApp(options: UpgradeOptions, context: OrchestratorContext): Promise<AppOperationResult>;
25
27
  export declare function RemoveApp(options: RemoveOptions, context: OrchestratorContext): Promise<AppOperationResult>;
26
28
  export declare function DisableApp(appName: string, context: OrchestratorContext): Promise<AppOperationResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"install-orchestrator.d.ts","sourceRoot":"","sources":["../../src/install/install-orchestrator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAmF,MAAM,4BAA4B,CAAC;AAO1N,OAAO,EAAmK,KAAK,mBAAmB,EAAgC,MAAM,4BAA4B,CAAC;AAOrQ,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAuF,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIhM,OAAO,EAAc,oBAAoB,EAAqB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAwB,MAAM,sBAAsB,CAAC;AA+G9F,MAAM,WAAW,mBAAmB;IAElC,WAAW,EAAE,QAAQ,CAAC;IAEtB,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC,cAAc,EAAE,oBAAoB,CAAC;IAErC,aAAa,EAAE,mBAAmB,CAAC;IAEnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IAEpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IAEtC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAkCD,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmVnH;AAiKD,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyYnH;AA4DD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAySjH;AASD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4B3G;AAKD,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B1G;AAoKD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BtD;AAuKD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMzH;AA8bD,UAAU,8BAA8B;IAEtC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AA2BD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,QAAQ,EACrB,SAAS,CAAC,EAAE,mBAAmB,EAC/B,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoJtD"}
1
+ {"version":3,"file":"install-orchestrator.d.ts","sourceRoot":"","sources":["../../src/install/install-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { OfferTemplateUser } from './template-user.js';
12
12
  import { ExtractApplicationIds } from './migration-application-ids.js';
13
13
  import { CreateAppTempDir } from './temp-dir.js';
14
14
  import { RunAppMigrations } from './migration-runner.js';
15
- import { AddAppPackages, RemoveAppPackages, RunPackageInstallAsync, BumpPrefixedDependencies } from './package-manager.js';
15
+ import { AddAppPackages, RemoveAppPackages, RunPackageInstallAsync, BumpPrefixedDependencies, PreflightAppPackages } from './package-manager.js';
16
16
  import { BuildHookResolutionBases, ResolveHookModule } from './hook-module-resolver.js';
17
17
  import { AddServerDynamicPackages, AddClientDynamicPackages, RemoveServerDynamicPackages, PruneDynamicPackagesNotInManifest, ToggleServerDynamicPackages, AddEntityPackageMapping, RemoveEntityPackageMapping, AddExcludeSchema, RemoveExcludeSchema } from './config-manager.js';
18
18
  import { AngularConfigManager } from './angular-config-manager.js';
@@ -56,6 +56,7 @@ export async function InstallApp(options, context) {
56
56
  const { Callbacks } = context;
57
57
  let createdAppId;
58
58
  let manifest;
59
+ let teardownScripts;
59
60
  const subpath = options.Subpath ?? ParseGitHubUrl(options.Source)?.Subpath;
60
61
  try {
61
62
  const explicitVersion = options.Version;
@@ -84,6 +85,10 @@ export async function InstallApp(options, context) {
84
85
  if (!compatResult.Compatible) {
85
86
  return BuildFailureResult('Install', manifest.name, manifest.version, 'Schema', startTime, compatResult.Message ?? 'Incompatible MJ version');
86
87
  }
88
+ const preflight = await PreflightManifestPackages(manifest, context, effectivePackageVersion, effectiveVersionStrategy);
89
+ if (!preflight.Success) {
90
+ return BuildFailureResult('Install', manifest.name, manifest.version, 'Packages', startTime, preflight.ErrorMessage ?? 'Package preflight failed');
91
+ }
87
92
  if (!options._skipDependencyResolution) {
88
93
  const depResult = await ResolveDependencyChain(manifest, context);
89
94
  if (!depResult.Success) {
@@ -138,16 +143,19 @@ export async function InstallApp(options, context) {
138
143
  await PersistCanonicalSchemaName(manifest, context);
139
144
  }
140
145
  if (manifest.migrations && manifest.schema) {
146
+ if (schemaCreated) {
147
+ teardownScripts = await PrefetchTeardownScripts(manifest, context, subpath);
148
+ }
141
149
  const migrationResult = await HandleMigrations(manifest, context, subpath);
142
150
  if (!migrationResult.Success) {
143
- await CompensateSchemaOnFailure(manifest, context, schemaCreated, options.AllowDoubleUnderscoreSchema === true, Callbacks, subpath);
151
+ await CompensateSchemaOnFailure(manifest, context, schemaCreated, options.AllowDoubleUnderscoreSchema === true, Callbacks, subpath, teardownScripts);
144
152
  return BuildFailureResult('Install', manifest.name, manifest.version, 'Migration', startTime, migrationResult.ErrorMessage ?? 'Migration failed');
145
153
  }
146
154
  }
147
155
  Callbacks?.OnProgress?.('Record', 'Recording app installation...');
148
156
  const recordResult = await RecordInstallationAtomically(context.ContextUser, manifest, Callbacks, undefined, subpath);
149
157
  if (!recordResult.Success) {
150
- await CompensateSchemaOnFailure(manifest, context, schemaCreated, options.AllowDoubleUnderscoreSchema === true, Callbacks, subpath);
158
+ await CompensateSchemaOnFailure(manifest, context, schemaCreated, options.AllowDoubleUnderscoreSchema === true, Callbacks, subpath, teardownScripts);
151
159
  return BuildFailureResult('Install', manifest.name, manifest.version, 'Record', startTime, recordResult.ErrorMessage ?? 'Failed to record installation');
152
160
  }
153
161
  createdAppId = recordResult.AppId;
@@ -267,6 +275,9 @@ export async function InstallApp(options, context) {
267
275
  Callbacks?.OnError?.('Install', message);
268
276
  return BuildFailureResult('Install', options.Source, '', phase, startTime, message);
269
277
  }
278
+ finally {
279
+ ReleaseTeardownScripts(teardownScripts, context);
280
+ }
270
281
  }
271
282
  async function RecordInstallationAtomically(contextUser, manifest, callbacks, provider, subpath) {
272
283
  const md = (provider ?? new Metadata());
@@ -289,7 +300,7 @@ async function RecordInstallationAtomically(contextUser, manifest, callbacks, pr
289
300
  return { Success: false, ErrorMessage: `Transaction failed: ${message}` };
290
301
  }
291
302
  }
292
- async function CompensateSchemaOnFailure(manifest, context, schemaWasCreated, allowDoubleUnderscore, callbacks, subpath) {
303
+ async function CompensateSchemaOnFailure(manifest, context, schemaWasCreated, allowDoubleUnderscore, callbacks, subpath, teardownScripts) {
293
304
  if (!schemaWasCreated || !manifest.schema) {
294
305
  return;
295
306
  }
@@ -310,36 +321,64 @@ async function CompensateSchemaOnFailure(manifest, context, schemaWasCreated, al
310
321
  const msg = error instanceof Error ? error.message : String(error);
311
322
  callbacks?.OnError?.('Rollback', `Failed to remove entity metadata for '${schemaName}' during rollback: ${msg}`);
312
323
  }
313
- if (manifest.migrations?.teardownDirectory) {
314
- try {
315
- const teardownResult = await HandleTeardown(manifest, context, subpath);
316
- if (!teardownResult.Success) {
317
- callbacks?.OnError?.('Rollback', `Teardown failed during rollback: ${teardownResult.ErrorMessage ?? 'unknown error'}`);
318
- }
319
- }
320
- catch (error) {
321
- const msg = error instanceof Error ? error.message : String(error);
322
- callbacks?.OnError?.('Rollback', `Teardown failed during rollback: ${msg}`);
324
+ const dropOptions = { allowDoubleUnderscore, CoreSchema: context.MJCoreSchema };
325
+ if (!manifest.migrations?.teardownDirectory) {
326
+ if (manifest.migrations) {
327
+ callbacks?.OnWarn?.('Rollback', `'${manifest.name}' declares migrations but no teardownDirectory — rows its migrations wrote to the shared core schema WILL remain after this rollback. ` +
328
+ `If those rows were seeded with fixed IDs, reinstalling this app may fail with a primary-key violation until they are removed manually.`);
323
329
  }
330
+ await DropSchemaAndReport(schemaName, manifest.name, 'Rollback', dropOptions, context);
331
+ return;
332
+ }
333
+ const firstAttempt = await RunRollbackTeardown(manifest, context, teardownScripts, subpath);
334
+ const dropResult = await DropSchemaAndReport(schemaName, manifest.name, 'Rollback', dropOptions, context);
335
+ if (firstAttempt.Success) {
336
+ return;
337
+ }
338
+ if (!dropResult.Success) {
339
+ callbacks?.OnError?.('Rollback', `Teardown failed during rollback: ${firstAttempt.ErrorMessage ?? 'unknown error'}`);
340
+ return;
324
341
  }
325
- else if (manifest.migrations) {
326
- callbacks?.OnWarn?.('Rollback', `'${manifest.name}' declares migrations but no teardownDirectory — rows its migrations wrote to the shared core schema WILL remain after this rollback. ` +
327
- `If those rows were seeded with fixed IDs, reinstalling this app may fail with a primary-key violation until they are removed manually.`);
342
+ callbacks?.OnProgress?.('Rollback', `Teardown failed with schema '${schemaName}' in place; running it again now that the schema is dropped...`);
343
+ const secondAttempt = await RunRollbackTeardown(manifest, context, teardownScripts, subpath);
344
+ if (!secondAttempt.Success) {
345
+ callbacks?.OnError?.('Rollback', `Teardown failed during rollback, before and after dropping schema '${schemaName}'. ` +
346
+ `With the schema: ${firstAttempt.ErrorMessage ?? 'unknown error'}. Without it: ${secondAttempt.ErrorMessage ?? 'unknown error'}`);
328
347
  }
348
+ }
349
+ async function RunRollbackTeardown(manifest, context, teardownScripts, subpath) {
329
350
  try {
330
- callbacks?.OnProgress?.('Rollback', `Dropping schema '${schemaName}'...`);
331
- const dropResult = await DropAppSchema(schemaName, context.DatabaseProvider, { allowDoubleUnderscore });
332
- if (!dropResult.Success) {
333
- callbacks?.OnError?.('Rollback', `Failed to drop schema '${schemaName}' during rollback: ${dropResult.ErrorMessage ?? 'unknown error'}`);
334
- }
335
- else {
336
- callbacks?.OnProgress?.('Rollback', `Schema '${schemaName}' dropped successfully`);
337
- }
351
+ return teardownScripts
352
+ ? await RunTeardownScripts(manifest, context, teardownScripts)
353
+ : await HandleTeardown(manifest, context, subpath);
354
+ }
355
+ catch (error) {
356
+ return { Success: false, ErrorMessage: error instanceof Error ? error.message : String(error) };
357
+ }
358
+ }
359
+ export async function DropSchemaAndReport(schemaName, appName, phase, options, context) {
360
+ const callbacks = context.Callbacks;
361
+ const nameCheck = ValidateSchemaName(schemaName, options);
362
+ if (!nameCheck.Success) {
363
+ const refusal = BuildSchemaDropRefusalMessage(nameCheck, appName, schemaName);
364
+ callbacks?.OnError?.(phase, refusal);
365
+ return { Success: false, ErrorMessage: refusal };
366
+ }
367
+ callbacks?.OnProgress?.(phase, `Dropping schema '${schemaName}'...`);
368
+ let result;
369
+ try {
370
+ result = await DropAppSchema(schemaName, context.DatabaseProvider, options);
371
+ }
372
+ catch (error) {
373
+ const message = error instanceof Error ? error.message : String(error);
374
+ result = { Success: false, ErrorMessage: `Failed to drop schema '${schemaName}': ${message}` };
338
375
  }
339
- catch (rollbackError) {
340
- const msg = rollbackError instanceof Error ? rollbackError.message : String(rollbackError);
341
- callbacks?.OnError?.('Rollback', `Failed to drop schema '${schemaName}' during rollback: ${msg}`);
376
+ if (!result.Success) {
377
+ callbacks?.OnError?.(phase, `Schema '${schemaName}' was not dropped: ${result.ErrorMessage ?? 'unknown error'}`);
378
+ return result;
342
379
  }
380
+ callbacks?.OnProgress?.(phase, `Schema '${schemaName}' dropped successfully`);
381
+ return result;
343
382
  }
344
383
  export async function UpgradeApp(options, context) {
345
384
  const startTime = Date.now();
@@ -401,6 +440,7 @@ export async function UpgradeApp(options, context) {
401
440
  if (manifest.schema) {
402
441
  const schemaValidation = ValidateSchemaName(manifest.schema.name, {
403
442
  allowDoubleUnderscore: options.AllowDoubleUnderscoreSchema === true,
443
+ CoreSchema: context.MJCoreSchema,
404
444
  });
405
445
  if (!schemaValidation.Success) {
406
446
  return BuildFailureResult('Upgrade', options.AppName, targetVersion, 'Schema', startTime, schemaValidation.ErrorMessage ?? 'Invalid schema name');
@@ -412,6 +452,12 @@ export async function UpgradeApp(options, context) {
412
452
  return BuildFailureResult('Upgrade', options.AppName, targetVersion, 'Schema', startTime, migratable.ErrorMessage ?? 'Cannot run migrations in the app schema');
413
453
  }
414
454
  }
455
+ const effectiveUpgradeVersion = explicitUpgradeVersion ? targetVersion.replace(/^v/, '') : manifest.version;
456
+ const effectiveUpgradeStrategy = explicitUpgradeVersion ? 'exact' : context.VersionStrategy;
457
+ const preflight = await PreflightManifestPackages(manifest, context, effectiveUpgradeVersion, effectiveUpgradeStrategy);
458
+ if (!preflight.Success) {
459
+ return BuildFailureResult('Upgrade', options.AppName, targetVersion, 'Packages', startTime, preflight.ErrorMessage ?? 'Package preflight failed');
460
+ }
415
461
  if (manifest.dependencies && Object.keys(manifest.dependencies).length > 0) {
416
462
  const depResult = await ResolveDependencyChain(manifest, context);
417
463
  if (!depResult.Success) {
@@ -455,8 +501,6 @@ export async function UpgradeApp(options, context) {
455
501
  }
456
502
  let npmInstallWarning;
457
503
  if (!IsStepDone(UPGRADE_STEP_ORDER, resumeCheckpoint, 'PackagesInstalled')) {
458
- const effectiveUpgradeVersion = explicitUpgradeVersion ? targetVersion.replace(/^v/, '') : manifest.version;
459
- const effectiveUpgradeStrategy = explicitUpgradeVersion ? 'exact' : context.VersionStrategy;
460
504
  const pkgResult = await HandlePackageInstallation(manifest, context, effectiveUpgradeVersion, effectiveUpgradeStrategy, options.Verbose);
461
505
  if (!pkgResult.Success) {
462
506
  if (pkgResult.PackageJsonUpdated) {
@@ -668,23 +712,11 @@ export async function RemoveApp(options, context) {
668
712
  }
669
713
  let schemaDropError;
670
714
  if (!options.KeepData && existingApp.SchemaName && !schemaShared) {
671
- const nameCheck = ValidateSchemaName(existingApp.SchemaName, {
715
+ const dropResult = await DropSchemaAndReport(existingApp.SchemaName, existingApp.Name, 'Schema', {
672
716
  allowDoubleUnderscore: options.AllowDoubleUnderscoreSchema === true,
673
- });
674
- if (!nameCheck.Success) {
675
- schemaDropError = BuildSchemaDropRefusalMessage(nameCheck, existingApp.Name, existingApp.SchemaName);
676
- Callbacks?.OnError?.('Schema', schemaDropError);
677
- }
678
- else {
679
- Callbacks?.OnProgress?.('Schema', `Dropping schema '${existingApp.SchemaName}'...`);
680
- const dropResult = await DropAppSchema(existingApp.SchemaName, context.DatabaseProvider, {
681
- allowDoubleUnderscore: options.AllowDoubleUnderscoreSchema === true,
682
- });
683
- if (!dropResult.Success) {
684
- schemaDropError = dropResult.ErrorMessage;
685
- Callbacks?.OnError?.('Schema', `Failed to drop schema: ${dropResult.ErrorMessage}`);
686
- }
687
- }
717
+ CoreSchema: context.MJCoreSchema,
718
+ }, context);
719
+ schemaDropError = dropResult.Success ? undefined : dropResult.ErrorMessage;
688
720
  }
689
721
  const removalErrors = [
690
722
  shareCheckError,
@@ -958,7 +990,10 @@ async function HandleSchemaCreation(manifest, context, options) {
958
990
  if (!manifest.schema) {
959
991
  return { Success: true };
960
992
  }
961
- const validation = ValidateSchemaName(manifest.schema.name, { allowDoubleUnderscore: options.AllowDoubleUnderscore });
993
+ const validation = ValidateSchemaName(manifest.schema.name, {
994
+ allowDoubleUnderscore: options.AllowDoubleUnderscore,
995
+ CoreSchema: context.MJCoreSchema,
996
+ });
962
997
  if (!validation.Success) {
963
998
  return { Success: false, ErrorMessage: validation.ErrorMessage };
964
999
  }
@@ -1055,6 +1090,18 @@ function CleanupTempDir(tempDir, phase, context) {
1055
1090
  }
1056
1091
  }
1057
1092
  async function HandleTeardown(manifest, context, subpath) {
1093
+ const download = await DownloadTeardownScripts(manifest, context, subpath);
1094
+ if (!download.Success || !download.Scripts) {
1095
+ return download;
1096
+ }
1097
+ try {
1098
+ return await RunTeardownScripts(manifest, context, download.Scripts);
1099
+ }
1100
+ finally {
1101
+ ReleaseTeardownScripts(download.Scripts, context);
1102
+ }
1103
+ }
1104
+ async function DownloadTeardownScripts(manifest, context, subpath) {
1058
1105
  const teardownDir = manifest.migrations?.teardownDirectory;
1059
1106
  if (!teardownDir) {
1060
1107
  return { Success: true };
@@ -1066,36 +1113,61 @@ async function HandleTeardown(manifest, context, subpath) {
1066
1113
  context.Callbacks?.OnProgress?.('Metadata', 'Downloading teardown scripts...');
1067
1114
  const download = await DownloadMigrations(manifest.repository, manifest.version, dir, tempDir, context.GitHubOptions, subpath, manifest.name);
1068
1115
  if (!download.Success) {
1116
+ CleanupTempDir(tempDir, 'Metadata', context);
1069
1117
  return { Success: false, ErrorMessage: `Failed to download teardown scripts: ${download.ErrorMessage}` };
1070
1118
  }
1071
1119
  const files = (download.Files ?? []).filter((f) => f.endsWith('.sql')).sort();
1072
- if (files.length === 0) {
1073
- context.Callbacks?.OnWarn?.('Metadata', `No teardown scripts in '${dir}' — this app's rows in the shared core schema will NOT be retired on remove.`);
1074
- return { Success: true };
1120
+ return { Success: true, Scripts: { TempDir: tempDir, SourceDir: dir, Files: files } };
1121
+ }
1122
+ catch (error) {
1123
+ CleanupTempDir(tempDir, 'Metadata', context);
1124
+ throw error;
1125
+ }
1126
+ }
1127
+ async function PrefetchTeardownScripts(manifest, context, subpath) {
1128
+ try {
1129
+ const download = await DownloadTeardownScripts(manifest, context, subpath);
1130
+ if (!download.Success) {
1131
+ context.Callbacks?.OnWarn?.('Migration', `${download.ErrorMessage ?? 'Failed to download teardown scripts'}. A rollback will try to download them again.`);
1075
1132
  }
1076
- const mjSchema = context.MJCoreSchema ?? '__mj';
1077
- context.Callbacks?.OnProgress?.('Metadata', `Running ${files.length} teardown script(s) against '${mjSchema}'...`);
1078
- await context.DatabaseProvider.BeginTransaction();
1079
- try {
1080
- for (const file of files) {
1081
- const sql = readFileSync(join(tempDir, file), 'utf-8').split('${mjSchema}').join(mjSchema);
1082
- if (sql.trim()) {
1083
- await context.DatabaseProvider.ExecuteSQL(sql);
1084
- }
1133
+ return download.Scripts;
1134
+ }
1135
+ catch (error) {
1136
+ const message = error instanceof Error ? error.message : String(error);
1137
+ context.Callbacks?.OnWarn?.('Migration', `Failed to download teardown scripts: ${message}. A rollback will try to download them again.`);
1138
+ return undefined;
1139
+ }
1140
+ }
1141
+ function ReleaseTeardownScripts(scripts, context) {
1142
+ if (scripts) {
1143
+ CleanupTempDir(scripts.TempDir, 'Metadata', context);
1144
+ }
1145
+ }
1146
+ async function RunTeardownScripts(manifest, context, scripts) {
1147
+ const files = scripts.Files;
1148
+ if (files.length === 0) {
1149
+ context.Callbacks?.OnWarn?.('Metadata', `No teardown scripts in '${scripts.SourceDir}' — this app's rows in the shared core schema will NOT be retired on remove.`);
1150
+ return { Success: true };
1151
+ }
1152
+ const mjSchema = context.MJCoreSchema ?? '__mj';
1153
+ context.Callbacks?.OnProgress?.('Metadata', `Running ${files.length} teardown script(s) against '${mjSchema}'...`);
1154
+ await context.DatabaseProvider.BeginTransaction();
1155
+ try {
1156
+ for (const file of files) {
1157
+ const sql = readFileSync(join(scripts.TempDir, file), 'utf-8').split('${mjSchema}').join(mjSchema);
1158
+ if (sql.trim()) {
1159
+ await context.DatabaseProvider.ExecuteSQL(sql);
1085
1160
  }
1086
- await context.DatabaseProvider.CommitTransaction();
1087
1161
  }
1088
- catch (error) {
1089
- await context.DatabaseProvider.RollbackTransaction();
1090
- const message = error instanceof Error ? error.message : String(error);
1091
- return { Success: false, ErrorMessage: `Teardown failed for '${manifest.name}' (rolled back): ${message}` };
1092
- }
1093
- context.Callbacks?.OnSuccess?.('Metadata', `Retired this app's rows from '${mjSchema}' (${files.length} teardown script(s)).`);
1094
- return { Success: true };
1162
+ await context.DatabaseProvider.CommitTransaction();
1095
1163
  }
1096
- finally {
1097
- CleanupTempDir(tempDir, 'Metadata', context);
1164
+ catch (error) {
1165
+ await context.DatabaseProvider.RollbackTransaction();
1166
+ const message = error instanceof Error ? error.message : String(error);
1167
+ return { Success: false, ErrorMessage: `Teardown failed for '${manifest.name}' (rolled back): ${message}` };
1098
1168
  }
1169
+ context.Callbacks?.OnSuccess?.('Metadata', `Retired this app's rows from '${mjSchema}' (${files.length} teardown script(s)).`);
1170
+ return { Success: true };
1099
1171
  }
1100
1172
  async function DownloadAppMigrations(manifest, context, tempDir, subpath) {
1101
1173
  const baseDir = manifest.migrations.directory;
@@ -1113,6 +1185,29 @@ async function DownloadAppMigrations(manifest, context, tempDir, subpath) {
1113
1185
  }
1114
1186
  return DownloadMigrations(manifest.repository, manifest.version, baseDir, tempDir, context.GitHubOptions, subpath, manifest.name);
1115
1187
  }
1188
+ async function PreflightManifestPackages(manifest, context, packageVersion, versionStrategy) {
1189
+ if (!manifest.packages) {
1190
+ return { Success: true };
1191
+ }
1192
+ context.Callbacks?.OnProgress?.('Packages', 'Checking app packages against the npm registry...');
1193
+ const result = await PreflightAppPackages({
1194
+ RepoRoot: context.RepoRoot,
1195
+ ServerPackages: manifest.packages.server ?? [],
1196
+ ClientPackages: manifest.packages.client ?? [],
1197
+ SharedPackages: manifest.packages.shared ?? [],
1198
+ Version: packageVersion,
1199
+ PackageManager: context.PackageManager,
1200
+ VersionStrategy: versionStrategy,
1201
+ RegistryUrl: manifest.packages.registry,
1202
+ });
1203
+ if (result.SkippedReason) {
1204
+ context.Callbacks?.OnProgress?.('Packages', `Skipped the registry check: ${result.SkippedReason}.`);
1205
+ }
1206
+ for (const warning of result.Warnings) {
1207
+ context.Callbacks?.OnWarn?.('Packages', warning);
1208
+ }
1209
+ return result.Success ? { Success: true } : { Success: false, ErrorMessage: result.ErrorMessage };
1210
+ }
1116
1211
  async function HandlePackageInstallation(manifest, context, packageVersion, versionStrategy, verbose) {
1117
1212
  if (!manifest.packages) {
1118
1213
  return { Success: true };
@@ -1 +1 @@
1
- {"version":3,"file":"install-orchestrator.js","sourceRoot":"","sources":["../../src/install/install-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-orchestrator.js","sourceRoot":"","sources":["../../src/install/install-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -47,5 +47,25 @@ export declare function ResolvePackageInstallTimeoutMs(env?: NodeJS.ProcessEnv):
47
47
  export declare function RunPackageInstall(repoRoot: string, verbose?: boolean, registryUrl?: string, packageManager?: PackageManagerType): PackageOperationResult;
48
48
  export declare function RunPackageInstallAsync(repoRoot: string, verbose?: boolean, registryUrl?: string, packageManager?: PackageManagerType, timeoutMs?: number): Promise<PackageOperationResult>;
49
49
  export declare function RunNpmInstall(repoRoot: string, verbose?: boolean, registryUrl?: string): PackageOperationResult;
50
+ export declare const PACKAGE_PREFLIGHT_TIMEOUT_MS: number;
51
+ export type PackagePreflightStatus = 'OK' | 'AuthFailed' | 'NotPublished' | 'Unknown';
52
+ export interface PackagePreflightCheck {
53
+ Spec: string;
54
+ Status: PackagePreflightStatus;
55
+ Detail?: string;
56
+ }
57
+ export type PackagePreflightOptions = Pick<PackageManagerOptions, 'RepoRoot' | 'ServerPackages' | 'ClientPackages' | 'SharedPackages' | 'Version' | 'PackageManager' | 'VersionStrategy'> & {
58
+ RegistryUrl?: string;
59
+ TimeoutMs?: number;
60
+ };
61
+ export interface PackagePreflightResult {
62
+ Success: boolean;
63
+ Checks: PackagePreflightCheck[];
64
+ SkippedReason?: string;
65
+ Warnings: string[];
66
+ ErrorMessage?: string;
67
+ }
68
+ export declare function PreflightAppPackages(options: PackagePreflightOptions): Promise<PackagePreflightResult>;
69
+ export declare function ClassifyNpmViewFailure(output: string): PackagePreflightStatus;
50
70
  export declare function BumpPrefixedDependencies(repoRoot: string, prefix: string, bareVersion: string): number;
51
71
  //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/install/package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/install/package-manager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { ResolveServerPackagePath, ResolveClientPackagePath } from './workspace-
5
5
  export function AddAppPackages(options) {
6
6
  const added = [];
7
7
  const versionStr = resolveVersionString(options);
8
+ const snapshots = new Map();
8
9
  try {
9
10
  const targets = buildTargetList(options);
10
11
  const serverPkgs = [...options.ServerPackages, ...options.SharedPackages];
@@ -13,6 +14,7 @@ export function AddAppPackages(options) {
13
14
  const pkgs = target.Role === 'server' ? serverPkgs : clientPkgs;
14
15
  if (pkgs.length > 0) {
15
16
  const pkgJsonPath = resolve(options.RepoRoot, target.Path, 'package.json');
17
+ SnapshotPackageJson(snapshots, pkgJsonPath);
16
18
  AddDependenciesToPackageJson(pkgJsonPath, pkgs, versionStr);
17
19
  added.push(...pkgs.map((p) => p.name));
18
20
  }
@@ -21,9 +23,34 @@ export function AddAppPackages(options) {
21
23
  }
22
24
  catch (error) {
23
25
  const message = error instanceof Error ? error.message : String(error);
24
- return { Success: false, Added: added, Removed: [], ErrorMessage: message };
26
+ return { Success: false, Added: [], Removed: [], ErrorMessage: `${message}${RestorePackageJsonSnapshots(snapshots)}` };
25
27
  }
26
28
  }
29
+ function SnapshotPackageJson(snapshots, pkgJsonPath) {
30
+ if (snapshots.has(pkgJsonPath))
31
+ return;
32
+ try {
33
+ snapshots.set(pkgJsonPath, readFileSync(pkgJsonPath, 'utf-8'));
34
+ }
35
+ catch {
36
+ }
37
+ }
38
+ function RestorePackageJsonSnapshots(snapshots) {
39
+ if (snapshots.size === 0)
40
+ return '';
41
+ const unrestored = [];
42
+ for (const [pkgJsonPath, original] of snapshots) {
43
+ try {
44
+ writeFileSync(pkgJsonPath, original, 'utf-8');
45
+ }
46
+ catch {
47
+ unrestored.push(pkgJsonPath);
48
+ }
49
+ }
50
+ if (unrestored.length === 0)
51
+ return ` No package.json was changed (${snapshots.size} file(s) restored).`;
52
+ return ` Could not restore ${unrestored.join(', ')}: remove the app's packages from its dependencies by hand.`;
53
+ }
27
54
  export function RemoveAppPackages(options) {
28
55
  const removed = [];
29
56
  try {
@@ -179,9 +206,10 @@ export async function RunPackageInstallAsync(repoRoot, verbose, registryUrl, pac
179
206
  return InstallFailed(`${pm} install failed (exit code ${outcome.ExitCode ?? 'unknown'}).${detail}`, plan.Target);
180
207
  }
181
208
  }
182
- function RunChildProcess(bin, argv, cwd, verbose, timeoutMs) {
209
+ function RunChildProcess(bin, argv, cwd, verbose, timeoutMs, captureStdout = false) {
183
210
  return new Promise((resolvePromise) => {
184
211
  let stderrTail = '';
212
+ let stdoutTail = '';
185
213
  let timedOut = false;
186
214
  let settled = false;
187
215
  const finish = (outcome) => {
@@ -191,7 +219,10 @@ function RunChildProcess(bin, argv, cwd, verbose, timeoutMs) {
191
219
  clearTimeout(timer);
192
220
  resolvePromise(outcome);
193
221
  };
194
- const child = spawn(bin, argv, { cwd, stdio: ['ignore', verbose ? 'inherit' : 'ignore', 'pipe'] });
222
+ const child = spawn(bin, argv, { cwd, stdio: ['ignore', captureStdout ? 'pipe' : verbose ? 'inherit' : 'ignore', 'pipe'] });
223
+ child.stdout?.on('data', (chunk) => {
224
+ stdoutTail = (stdoutTail + chunk.toString('utf-8')).slice(-STDERR_TAIL_CHARS);
225
+ });
195
226
  child.stderr?.on('data', (chunk) => {
196
227
  if (verbose)
197
228
  process.stderr.write(chunk);
@@ -206,15 +237,105 @@ function RunChildProcess(bin, argv, cwd, verbose, timeoutMs) {
206
237
  if (timedOut)
207
238
  finish({ Kind: 'timeout', StderrTail: stderrTail.trim() });
208
239
  else if (code === 0)
209
- finish({ Kind: 'ok' });
240
+ finish({ Kind: 'ok', Stdout: stdoutTail.trim() });
210
241
  else
211
- finish({ Kind: 'exit', ExitCode: code, StderrTail: stderrTail.trim() });
242
+ finish({ Kind: 'exit', ExitCode: code, StderrTail: stderrTail.trim(), Stdout: stdoutTail.trim() });
212
243
  });
213
244
  });
214
245
  }
215
246
  export function RunNpmInstall(repoRoot, verbose, registryUrl) {
216
247
  return RunPackageInstall(repoRoot, verbose, registryUrl, 'npm');
217
248
  }
249
+ export const PACKAGE_PREFLIGHT_TIMEOUT_MS = 60 * 1000;
250
+ export async function PreflightAppPackages(options) {
251
+ const skippedReason = PreflightSkipReason(options);
252
+ if (skippedReason)
253
+ return { Success: true, Checks: [], SkippedReason: skippedReason, Warnings: [] };
254
+ const registryArgs = BuildPreflightRegistryArgs(options.RegistryUrl);
255
+ if ('ErrorMessage' in registryArgs)
256
+ return { Success: false, Checks: [], Warnings: [], ErrorMessage: registryArgs.ErrorMessage };
257
+ const versionStr = resolveVersionString(options);
258
+ const names = [...new Set([...options.ServerPackages, ...options.ClientPackages, ...options.SharedPackages].map((p) => p.name))];
259
+ const specs = names.map((name) => (versionStr === 'catalog:' ? name : `${name}@${versionStr}`));
260
+ const timeoutMs = options.TimeoutMs ?? PACKAGE_PREFLIGHT_TIMEOUT_MS;
261
+ const checks = await Promise.all(specs.map((spec) => CheckPackageInRegistry(spec, options.RepoRoot, registryArgs.Args, timeoutMs)));
262
+ return SummarizePreflight(checks);
263
+ }
264
+ function PreflightSkipReason(options) {
265
+ if (options.VersionStrategy === 'workspace')
266
+ return "the 'workspace' version strategy resolves packages from the workspace, not a registry";
267
+ const root = ResolveInstallRoot(options.RepoRoot, options.PackageManager);
268
+ if (root.DevWorkspaceParent)
269
+ return `this repo is a member of the mj dev workspace at ${root.DevWorkspaceParent}, which links sibling checkouts`;
270
+ return undefined;
271
+ }
272
+ function BuildPreflightRegistryArgs(registryUrl) {
273
+ if (!registryUrl || IsDefaultNpmRegistry(registryUrl))
274
+ return { Args: [] };
275
+ const validation = ValidateRegistryUrl(registryUrl);
276
+ if (!validation.Valid)
277
+ return { ErrorMessage: `Invalid custom registry URL: ${validation.Reason}` };
278
+ return { Args: [`--registry=${registryUrl}`] };
279
+ }
280
+ async function CheckPackageInRegistry(spec, repoRoot, registryArgs, timeoutMs) {
281
+ const bin = process.platform === 'win32' ? 'npm.cmd' : 'npm';
282
+ const outcome = await RunChildProcess(bin, ['view', spec, 'version', '--json', ...registryArgs], repoRoot, false, timeoutMs, true);
283
+ switch (outcome.Kind) {
284
+ case 'ok':
285
+ return IsEmptyNpmViewOutput(outcome.Stdout) ? { Spec: spec, Status: 'NotPublished', Detail: 'no published version matches' } : { Spec: spec, Status: 'OK' };
286
+ case 'exit':
287
+ return { Spec: spec, Status: ClassifyNpmViewFailure(`${outcome.Stdout}\n${outcome.StderrTail}`), Detail: FirstNpmErrorLine(outcome.StderrTail, outcome.Stdout) };
288
+ case 'timeout':
289
+ return { Spec: spec, Status: 'Unknown', Detail: `npm view did not answer within ${Math.round(timeoutMs / 1000)}s` };
290
+ default:
291
+ return { Spec: spec, Status: 'Unknown', Detail: `npm could not start: ${outcome.Message}` };
292
+ }
293
+ }
294
+ function IsEmptyNpmViewOutput(stdout) {
295
+ const text = stdout.trim();
296
+ return text === '' || text === '[]' || text === '""';
297
+ }
298
+ export function ClassifyNpmViewFailure(output) {
299
+ if (/\bE40[13]\b|\bENEEDAUTH\b/.test(output))
300
+ return 'AuthFailed';
301
+ if (/\bE404\b/.test(output))
302
+ return 'NotPublished';
303
+ return 'Unknown';
304
+ }
305
+ function FirstNpmErrorLine(stderr, stdout) {
306
+ const summary = /"summary":\s*"((?:[^"\\]|\\.)*)"/.exec(stdout)?.[1];
307
+ if (summary)
308
+ return summary;
309
+ return stderr.split('\n').map((line) => line.trim()).find((line) => line.length > 0);
310
+ }
311
+ function SummarizePreflight(checks) {
312
+ const warnings = checks
313
+ .filter((c) => c.Status === 'Unknown')
314
+ .map((c) => `Could not verify ${c.Spec} against the registry (${c.Detail ?? 'unknown error'}); continuing — the package install will report a real problem.`);
315
+ const authFailed = checks.filter((c) => c.Status === 'AuthFailed');
316
+ const notPublished = checks.filter((c) => c.Status === 'NotPublished');
317
+ if (authFailed.length > 0) {
318
+ return { Success: false, Checks: checks, Warnings: warnings, ErrorMessage: DescribeAuthFailure(authFailed) };
319
+ }
320
+ if (notPublished.length > 0) {
321
+ return { Success: false, Checks: checks, Warnings: warnings, ErrorMessage: DescribeNotPublished(notPublished) };
322
+ }
323
+ return { Success: true, Checks: checks, Warnings: warnings };
324
+ }
325
+ function DescribeAuthFailure(checks) {
326
+ const scopes = [...new Set(checks.map((c) => ScopeOf(c.Spec)).filter((s) => s !== undefined))];
327
+ const scopeHint = scopes.length > 0 ? ` (scope ${scopes.join(', ')})` : '';
328
+ return (`npm authentication failed for ${checks.map((c) => c.Spec).join(', ')}${scopeHint}: ${checks[0].Detail ?? 'the registry refused the credentials'}. ` +
329
+ `Run 'npm login' for the registry that serves these packages (an expired or missing token in .npmrc is the usual cause) and retry. Nothing has been changed.`);
330
+ }
331
+ function DescribeNotPublished(checks) {
332
+ return (`These app packages are not published at the requested version, or this npm login cannot see them (the registry answers 404 for both): ` +
333
+ `${checks.map((c) => `${c.Spec}${c.Detail ? ` (${c.Detail})` : ''}`).join('; ')}. ` +
334
+ `Publish them, or check the npm login and registry settings in .npmrc, then retry. Nothing has been changed.`);
335
+ }
336
+ function ScopeOf(spec) {
337
+ return spec.startsWith('@') ? spec.split('/')[0] : undefined;
338
+ }
218
339
  function buildTargetList(options) {
219
340
  const targets = [
220
341
  { Path: ResolveServerPackagePath(options.RepoRoot, options.ServerPackagePath), Role: 'server' },
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/install/package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/install/package-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA2G1F,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAGjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAE1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC3E,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC5C,4BAA4B,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IACzH,CAAC;AACH,CAAC;AAGD,SAAS,mBAAmB,CAAC,SAA8B,EAAE,WAAmB;IAC9E,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO;IACvC,IAAI,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAMD,SAAS,2BAA2B,CAAC,SAA8B;IACjE,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,iCAAiC,SAAS,CAAC,IAAI,qBAAqB,CAAC;IACzG,OAAO,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,CAAC;AACjH,CAAC;AAQD,MAAM,UAAU,iBAAiB,CAAC,OAA8B;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/G,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/G,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC3E,iCAAiC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAChF,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACnE,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAGD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAsB/D,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,cAAmC;IACtF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAiD,CAAC;YACjH,IAAI,QAAQ,CAAC,WAAW,KAAK,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACpI,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC9F,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAQD,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC7F,CAAC;IAGD,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,oBAAoB,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAGD,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAQjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,mCAAmC,CAAC;AAGnF,MAAM,UAAU,8BAA8B,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjF,MAAM,GAAG,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAAC;AAC7F,CAAC;AAaD,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,OAA4B,EAC5B,WAA+B,EAC/B,cAA8C;IAE9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;IAKjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAK7E,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAY,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,EAAE,YAAY,EAAE,gCAAgC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAKD,MAAM,IAAI,GAAa,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3D,IAAI,gBAAgB;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IAG7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoC;IAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;AAC5H,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,MAAqC;IAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;AACtJ,CAAC;AAqBD,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAiB,EAAE,WAAoB,EAAE,cAAmC;IAC9H,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;YAChC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACrB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,8BAA8B,EAAE;YACzC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACpC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,oBAAoB,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAGD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAY/B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,OAAiB,EACjB,WAAoB,EACpB,cAAmC,EACnC,YAAoB,8BAA8B,EAAE;IAEpD,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1G,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC,GAAG,EAAE,6BAA6B,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,aAAa,CAClB,GAAG,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,8BAA8B;gBAChG,QAAQ,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,2BAA2B,+BAA+B,IAAI,MAAM,EAAE,EAClH,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ;YACE,OAAO,aAAa,CAAC,GAAG,EAAE,8BAA8B,OAAO,CAAC,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrH,CAAC;AACH,CAAC;AAaD,SAAS,eAAe,CAAC,GAAW,EAAE,IAAc,EAAE,GAAW,EAAE,OAAgB,EAAE,SAAiB,EAAE,aAAa,GAAG,KAAK;IAC3H,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QACpC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,OAA4B,EAAQ,EAAE;YACpD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5H,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,UAAU,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,UAAU,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,IAAI,QAAQ;gBAAE,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBACpE,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;gBAClE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAKD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAiB,EAAE,WAAoB;IACrF,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAOD,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;AAsDtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgC;IACzE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,aAAa;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEpG,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,cAAc,IAAI,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;IAEjI,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjI,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,4BAA4B,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAGD,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,IAAI,OAAO,CAAC,eAAe,KAAK,WAAW;QAAE,OAAO,uFAAuF,CAAC;IAC5I,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,oDAAoD,IAAI,CAAC,kBAAkB,iCAAiC,CAAC;IACjJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,SAAS,0BAA0B,CAAC,WAA+B;IACjE,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,EAAE,YAAY,EAAE,gCAAgC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,CAAC,cAAc,WAAW,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAGD,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAgB,EAAE,YAAsB,EAAE,SAAiB;IAC7G,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACnI,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,IAAI;YAEP,OAAO,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC9J,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnK,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtH;YACE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AACvD,CAAC;AAOD,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,YAAY,CAAC;IAClE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc;IACvD,MAAM,OAAO,GAAG,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC;AAGD,SAAS,kBAAkB,CAAC,MAA+B;IACzD,MAAM,QAAQ,GAAG,MAAM;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,MAAM,IAAI,eAAe,iEAAiE,CAAC,CAAC;IAChK,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;IAClH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA+B;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,CACL,iCAAiC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,sCAAsC,IAAI;QACpJ,6JAA6J,CAC9J,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA+B;IAC3D,OAAO,CACL,wIAAwI;QACxI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnF,6GAA6G,CAC9G,CAAC;AACJ,CAAC;AAGD,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAUD,SAAS,eAAe,CAAC,OAA8B;IACrD,MAAM,OAAO,GAAsB;QACjC,EAAE,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/F,EAAE,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChG,CAAC;IAEF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAKD,SAAS,oBAAoB,CAAC,OAAmG;IAC/H,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;IAEnD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5E,IAAI,EAAE,KAAK,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAOD,SAAS,gBAAgB,CAAI,WAAmB;IAC9C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,KAAK,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAKD,SAAS,4BAA4B,CAAC,WAAmB,EAAE,QAAgC,EAAE,UAAkB;IAC7G,MAAM,OAAO,GAAG,gBAAgB,CAA4C,WAAW,CAAC,CAAC;IAEzF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAKD,SAAS,iCAAiC,CAAC,WAAmB,EAAE,QAAgC;IAC9F,MAAM,OAAO,GAAG,gBAAgB,CAA4C,WAAW,CAAC,CAAC;IAEzF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAeD,MAAM,UAAU,wBAAwB,CAAC,QAAgB,EAAE,MAAc,EAAE,WAAmB;IAC5F,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,gBAAgB,CAG7B,WAAW,CAAC,CAAC;QAEhB,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEtC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;gBAEhD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;oBAC5B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7E,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAKD,SAAS,6BAA6B,CAAC,QAAgB;IACrD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAGD,IAAI,CAAC;QACH,MAAM,WAAW,GACf,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;YACjD,CAAC,CAAC,WAAW,CAAC,UAAU;YACxB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEnC,MAAM,OAAO,GAAa,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBACxD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -7,10 +7,9 @@ export interface SchemaOperationResult {
7
7
  }
8
8
  export interface ValidateSchemaNameOptions {
9
9
  allowDoubleUnderscore?: boolean;
10
- }
11
- export interface CreateAppSchemaOptions extends ValidateSchemaNameOptions {
12
10
  CoreSchema?: string;
13
11
  }
12
+ export type CreateAppSchemaOptions = ValidateSchemaNameOptions;
14
13
  export type SchemaNameRule = 'Malformed' | 'ReservedByPlatform' | 'ReservedByMJ' | 'MJNamespace';
15
14
  export interface SchemaNameValidation extends SchemaOperationResult {
16
15
  Rule?: SchemaNameRule;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-manager.d.ts","sourceRoot":"","sources":["../../src/install/schema-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA8F5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAK5C,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,OAAO,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,yBAAyB;IAMxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAKD,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IAKvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,oBAAoB,GAAG,cAAc,GAAG,aAAa,CAAC;AAOjG,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAEjE,IAAI,CAAC,EAAE,cAAc,CAAC;IAOtB,YAAY,CAAC,EAAE,6BAA6B,CAAC;CAC9C;AAcD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,oBAAoB,CA8CtB;AASD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAyBD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA+ChC;AAsHD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAkChC;AASD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAwFD,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAgC,CAAC"}
1
+ {"version":3,"file":"schema-manager.d.ts","sourceRoot":"","sources":["../../src/install/schema-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAgG5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAK5C,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,OAAO,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,yBAAyB;IAMxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAOhC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAQ/D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,oBAAoB,GAAG,cAAc,GAAG,aAAa,CAAC;AAOjG,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAEjE,IAAI,CAAC,EAAE,cAAc,CAAC;IAOtB,YAAY,CAAC,EAAE,6BAA6B,CAAC;CAC9C;AAcD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,oBAAoB,CA8CtB;AASD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAyBD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA+ChC;AAsHD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAkChC;AASD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAwFD,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAgC,CAAC"}
@@ -20,11 +20,11 @@ const MJ_SCHEMAS = new Set([
20
20
  '__mj',
21
21
  '__mj_udt'
22
22
  ]);
23
- function ReservedOwnerOf(normalized) {
23
+ function ReservedOwnerOf(normalized, coreSchema) {
24
24
  if (PLATFORM_SCHEMAS.has(normalized) || normalized.startsWith(PG_RESERVED_PREFIX)) {
25
25
  return 'the database platform';
26
26
  }
27
- if (MJ_SCHEMAS.has(normalized)) {
27
+ if (MJ_SCHEMAS.has(normalized) || (coreSchema !== undefined && normalized === coreSchema.toLowerCase())) {
28
28
  return 'MemberJunction';
29
29
  }
30
30
  return undefined;
@@ -46,7 +46,7 @@ export function ValidateSchemaName(schemaName, options = {}) {
46
46
  };
47
47
  }
48
48
  const normalized = schemaName.toLowerCase();
49
- const owner = ReservedOwnerOf(normalized);
49
+ const owner = ReservedOwnerOf(normalized, options.CoreSchema);
50
50
  if (owner) {
51
51
  return {
52
52
  Success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"schema-manager.js","sourceRoot":"","sources":["../../src/install/schema-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-manager.js","sourceRoot":"","sources":["../../src/install/schema-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/open-app-engine",
3
- "version": "6.2.0-edge.7",
3
+ "version": "6.2.0-edge.8",
4
4
  "description": "MemberJunction: MJ Open App Engine - packaging, distribution, and installation system for MJ Open Apps.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -11,11 +11,11 @@
11
11
  "author": "MemberJunction.com",
12
12
  "license": "BUSL-1.1",
13
13
  "dependencies": {
14
- "@memberjunction/core": "6.2.0-edge.7",
15
- "@memberjunction/core-entities": "6.2.0-edge.7",
16
- "@memberjunction/record-cloning": "6.2.0-edge.7",
17
- "@memberjunction/global": "6.2.0-edge.7",
18
- "@memberjunction/sql-dialect": "6.2.0-edge.7",
14
+ "@memberjunction/core": "6.2.0-edge.8",
15
+ "@memberjunction/core-entities": "6.2.0-edge.8",
16
+ "@memberjunction/record-cloning": "6.2.0-edge.8",
17
+ "@memberjunction/global": "6.2.0-edge.8",
18
+ "@memberjunction/sql-dialect": "6.2.0-edge.8",
19
19
  "@octokit/rest": "^21.1.1",
20
20
  "semver": "^7.7.1",
21
21
  "simple-git": "^3.27.0",