@memberjunction/cli 6.2.0-edge.3 → 6.2.0-edge.5

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.
Files changed (62) hide show
  1. package/README.md +9 -0
  2. package/dist/commands/artifacts/reclassify.d.ts.map +1 -1
  3. package/dist/commands/artifacts/reclassify.js +4 -2
  4. package/dist/commands/artifacts/reclassify.js.map +1 -1
  5. package/dist/commands/cache/clear.d.ts +25 -0
  6. package/dist/commands/cache/clear.d.ts.map +1 -0
  7. package/dist/commands/cache/clear.js +79 -0
  8. package/dist/commands/cache/clear.js.map +1 -0
  9. package/dist/commands/cache/usage.d.ts +7 -0
  10. package/dist/commands/cache/usage.d.ts.map +1 -0
  11. package/dist/commands/cache/usage.js +10 -0
  12. package/dist/commands/cache/usage.js.map +1 -0
  13. package/dist/commands/codegen/index.d.ts +15 -6
  14. package/dist/commands/codegen/index.d.ts.map +1 -1
  15. package/dist/commands/codegen/index.js +35 -4
  16. package/dist/commands/codegen/index.js.map +1 -1
  17. package/dist/commands/dbdoc/analyze.d.ts +1 -0
  18. package/dist/commands/dbdoc/analyze.d.ts.map +1 -1
  19. package/dist/commands/dbdoc/analyze.js +7 -0
  20. package/dist/commands/dbdoc/analyze.js.map +1 -1
  21. package/dist/commands/dbdoc/export.d.ts +6 -0
  22. package/dist/commands/dbdoc/export.d.ts.map +1 -1
  23. package/dist/commands/dbdoc/export.js +32 -0
  24. package/dist/commands/dbdoc/export.js.map +1 -1
  25. package/dist/commands/install/index.d.ts.map +1 -1
  26. package/dist/commands/install/index.js +7 -1
  27. package/dist/commands/install/index.js.map +1 -1
  28. package/dist/commands/migrate/index.d.ts +10 -0
  29. package/dist/commands/migrate/index.d.ts.map +1 -1
  30. package/dist/commands/migrate/index.js +42 -0
  31. package/dist/commands/migrate/index.js.map +1 -1
  32. package/dist/commands/sync/push.d.ts +33 -8
  33. package/dist/commands/sync/push.d.ts.map +1 -1
  34. package/dist/commands/sync/push.js +94 -6
  35. package/dist/commands/sync/push.js.map +1 -1
  36. package/dist/commands/sync/watch.d.ts.map +1 -1
  37. package/dist/commands/sync/watch.js +3 -5
  38. package/dist/commands/sync/watch.js.map +1 -1
  39. package/dist/commands/user/clone.d.ts +27 -0
  40. package/dist/commands/user/clone.d.ts.map +1 -0
  41. package/dist/commands/user/clone.js +106 -0
  42. package/dist/commands/user/clone.js.map +1 -0
  43. package/dist/hooks/prerun.d.ts.map +1 -1
  44. package/dist/hooks/prerun.js +9 -0
  45. package/dist/hooks/prerun.js.map +1 -1
  46. package/dist/lib/domain-profiles.d.ts.map +1 -1
  47. package/dist/lib/domain-profiles.js +4 -0
  48. package/dist/lib/domain-profiles.js.map +1 -1
  49. package/dist/lib/keep-awake.d.ts +45 -0
  50. package/dist/lib/keep-awake.d.ts.map +1 -0
  51. package/dist/lib/keep-awake.js +71 -0
  52. package/dist/lib/keep-awake.js.map +1 -0
  53. package/dist/lib/shared-cache.d.ts +84 -0
  54. package/dist/lib/shared-cache.d.ts.map +1 -0
  55. package/dist/lib/shared-cache.js +160 -0
  56. package/dist/lib/shared-cache.js.map +1 -0
  57. package/dist/light-commands.d.ts +8 -0
  58. package/dist/light-commands.d.ts.map +1 -1
  59. package/dist/light-commands.js +33 -0
  60. package/dist/light-commands.js.map +1 -1
  61. package/oclif.manifest.json +3550 -3289
  62. package/package.json +29 -27
@@ -7,6 +7,7 @@ import { FetchMigrationSlice, ResolveGitRef } from '../../lib/migration-fetch.js
7
7
  import { VerifyDatabaseConnection } from '../../lib/db-preflight.js';
8
8
  import { ReadCurrentDbVersion } from '../../lib/db-version.js';
9
9
  import { executeOpenAppMetadataRefresh, isOpenAppSchema } from '@memberjunction/open-app-engine';
10
+ import { ClearSharedCacheAfterWrite, MigrationChangedDatabase, SKIP_CACHE_CLEAR_ENV } from '../../lib/shared-cache.js';
10
11
  /** Skyway's default history table — matches `@memberjunction/skyway-core`'s config default. */
11
12
  const HISTORY_TABLE = 'flyway_schema_history';
12
13
  export default class Migrate extends Command {
@@ -27,6 +28,9 @@ export default class Migrate extends Command {
27
28
  'check-connection': Flags.boolean({
28
29
  description: 'Verify the database connection (including TLS) and exit without migrating',
29
30
  }),
31
+ 'skip-cache-clear': Flags.boolean({
32
+ description: `Do not clear the shared Redis cache (REDIS_URL) after migrating. Also: ${SKIP_CACHE_CLEAR_ENV}=1`,
33
+ }),
30
34
  }; }
31
35
  async run() {
32
36
  const { flags } = await this.parse(Migrate);
@@ -172,6 +176,11 @@ export default class Migrate extends Command {
172
176
  const message = err instanceof Error ? err.message : String(err);
173
177
  this.logToStderr(`\nMigration error: ${message}\n`);
174
178
  this.printCallbackErrors(failedMigrations, lastMigrationStarted, errorLog);
179
+ // A throw used to end the run with the fleet still holding pre-migration rows. Whatever had
180
+ // already been applied was committed, so the cache is stale whether or not the run finished.
181
+ await this.clearSharedCache(flags['skip-cache-clear'], MigrationChangedDatabase({
182
+ Threw: true, Succeeded: false, MigrationsApplied: 0, StartedApplying: lastMigrationStarted !== undefined,
183
+ }));
175
184
  this.error('Migrations failed');
176
185
  }
177
186
  finally {
@@ -189,10 +198,23 @@ export default class Migrate extends Command {
189
198
  }
190
199
  }
191
200
  await this.refreshMetadataAfterOpenAppMigrate(config, targetSchema, flags.verbose);
201
+ // Only when the database actually changed: a run that found nothing pending used to make the
202
+ // whole fleet drop its cache and reload every engine for no reason.
203
+ await this.clearSharedCache(flags['skip-cache-clear'], MigrationChangedDatabase({
204
+ Threw: false, Succeeded: true, MigrationsApplied: result.MigrationsApplied, StartedApplying: lastMigrationStarted !== undefined,
205
+ }));
192
206
  }
193
207
  else {
194
208
  spinner.fail();
195
209
  this.logToStderr(`\nMigration failed: ${result.ErrorMessage ?? 'unknown error'}\n`);
210
+ // Clear for the whole failure branch, not only when the detail list happens to name a
211
+ // succeeded migration. `Details` can be empty precisely because the run died before
212
+ // assembling it, and a migration that began and failed can still have committed statements —
213
+ // DDL is not transactional across batches on SQL Server.
214
+ await this.clearSharedCache(flags['skip-cache-clear'], MigrationChangedDatabase({
215
+ Threw: false, Succeeded: false, MigrationsApplied: result.MigrationsApplied,
216
+ StartedApplying: lastMigrationStarted !== undefined,
217
+ }));
196
218
  if (result.Details.length > 0) {
197
219
  // We have per-migration details — show them
198
220
  const succeeded = result.Details.filter((d) => d.Success);
@@ -222,6 +244,26 @@ export default class Migrate extends Command {
222
244
  this.error('Migrations failed');
223
245
  }
224
246
  }
247
+ /**
248
+ * Running servers never hear about a schema or data change made here, and a server-side cache
249
+ * hit is never re-validated, so without this they keep serving pre-migration rows (#4083).
250
+ * No-op without REDIS_URL. A failed clear is reported, not fatal: the migration succeeded.
251
+ *
252
+ * @param wroteSomething - False when the run changed nothing (no migrations applied), in which
253
+ * case no server can be holding stale rows and the fleet is left alone.
254
+ */
255
+ async clearSharedCache(skip, wroteSomething) {
256
+ if (!wroteSomething) {
257
+ return;
258
+ }
259
+ const report = await ClearSharedCacheAfterWrite('mj migrate', skip);
260
+ if (!report)
261
+ return;
262
+ if (report.Ok)
263
+ this.log(report.Message);
264
+ else
265
+ this.warn(report.Message);
266
+ }
225
267
  /**
226
268
  * Core `mj migrate` ends with Flyway running `R__RefreshMetadata` against `__mj`.
227
269
  * An Open App migrate is a different history, so that repeatable never runs.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,34 @@
1
- /**
2
- * Thin oclif shim — the real logic lives in {@link SyncPushPlugin} in
3
- * `@memberjunction/metadata-sync/plugins` (plan §3, open-question #2 "shim"
4
- * approach). oclif discovers this default export and routes `mj sync push` to it;
5
- * the plugin inherits `--format`/`--verbose`/`--no-banner`, the runtime advisory,
6
- * and uniform result emission from BaseCLIPlugin.
7
- */
8
- export { SyncPushPlugin as default } from '@memberjunction/metadata-sync/plugins';
1
+ import type { MJCLIResult, PluginUsage } from '@memberjunction/cli-core';
2
+ import { SyncPushPlugin } from '@memberjunction/metadata-sync/plugins';
3
+ export default class SyncPush extends SyncPushPlugin {
4
+ static flags: {
5
+ 'skip-cache-clear': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
6
+ dir: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ 'dry-run': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
+ ci: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ 'no-validate': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
+ 'delete-db-only': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ 'isolated-transactions': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ 'parallel-batch-size': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ include: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ exclude: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ incremental: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
16
+ 'change-detail': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
17
+ };
18
+ static Usage: PluginUsage;
19
+ protected Execute(): Promise<MJCLIResult>;
20
+ /**
21
+ * Whether a failed push left rows in the database. False only when the outcome positively says
22
+ * the push rolled back and committed nothing; anything unreadable counts as "it may have".
23
+ */
24
+ private failedPushLeftWrites;
25
+ /**
26
+ * Whether a successful push positively reports that it wrote nothing: it was cancelled before
27
+ * writing, or it created, updated and deleted no rows. A result without those counts counts as
28
+ * "it may have written".
29
+ */
30
+ private successfulPushWroteNothing;
31
+ /** Clears the shared cache unless this was a dry run (which writes nothing). */
32
+ private clearSharedCache;
33
+ }
9
34
  //# sourceMappingURL=push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAOvE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,cAAc;IAClD,MAAM,CAAC,KAAK;;;;;;;;;;;;;MAKV;IAEF,MAAM,CAAC,KAAK,EAAE,WAAW,CAMvB;cAEuB,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAwBxD;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAWlC,gFAAgF;YAClE,gBAAgB;CAI/B"}
@@ -1,9 +1,97 @@
1
1
  /**
2
- * Thin oclif shim — the real logic lives in {@link SyncPushPlugin} in
3
- * `@memberjunction/metadata-sync/plugins` (plan §3, open-question #2 "shim"
4
- * approach). oclif discovers this default export and routes `mj sync push` to it;
5
- * the plugin inherits `--format`/`--verbose`/`--no-banner`, the runtime advisory,
6
- * and uniform result emission from BaseCLIPlugin.
2
+ * oclif entry for `mj sync push`. The logic lives in {@link SyncPushPlugin} in
3
+ * `@memberjunction/metadata-sync/plugins`; this subclass only adds the shared-cache clear that must
4
+ * follow a database write, before the plugin's Cleanup() ends the process. Running servers never
5
+ * hear about rows written here, so without the clear they keep serving the old ones.
6
+ *
7
+ * The clear runs only when the push may have changed the database:
8
+ * - A successful push clears unless it reports that it wrote nothing: it was cancelled before
9
+ * writing, or it created, updated and deleted no rows. Clearing after a no-op push would drop
10
+ * every server's cache on every deploy for nothing.
11
+ * - A failed push clears only when it left something behind. An atomic push (the default) rolls its
12
+ * writes back, and `PushAbortedError` says so: `rolledBack`, plus the rows a non-atomic push
13
+ * committed anyway.
14
+ * - When the outcome cannot be read, the clear still runs: a needless reload is cheaper than a fleet
15
+ * serving rows that are no longer in the database.
7
16
  */
8
- export { SyncPushPlugin as default } from '@memberjunction/metadata-sync/plugins';
17
+ import { Flags } from '@oclif/core';
18
+ import { SyncPushPlugin } from '@memberjunction/metadata-sync/plugins';
19
+ import { PushAbortedError } from '@memberjunction/metadata-sync';
20
+ import { AppendSharedCacheClear, ClearSharedCacheAfterWrite, SKIP_CACHE_CLEAR_ENV } from '../../lib/shared-cache.js';
21
+ export default class SyncPush extends SyncPushPlugin {
22
+ static { this.flags = {
23
+ ...SyncPushPlugin.flags,
24
+ 'skip-cache-clear': Flags.boolean({
25
+ description: `Do not clear the shared Redis cache (REDIS_URL) after pushing. Also: ${SKIP_CACHE_CLEAR_ENV}=1`,
26
+ }),
27
+ }; }
28
+ static { this.Usage = {
29
+ ...SyncPushPlugin.Usage,
30
+ flags: [
31
+ ...(SyncPushPlugin.Usage?.flags ?? []),
32
+ { name: '--skip-cache-clear', type: 'boolean', description: 'Do not clear the shared Redis cache after pushing' },
33
+ ],
34
+ }; }
35
+ async Execute() {
36
+ let result;
37
+ try {
38
+ result = await super.Execute();
39
+ }
40
+ catch (error) {
41
+ // Runs after the plugin's rollback, so servers reload whatever the push did commit.
42
+ if (this.failedPushLeftWrites(undefined, error)) {
43
+ const report = await this.clearSharedCache('mj sync push (failed)');
44
+ if (report) {
45
+ this.Host.Log(report.Message, report.Ok ? 'info' : 'warn');
46
+ }
47
+ }
48
+ throw error;
49
+ }
50
+ if (!result.success && !this.failedPushLeftWrites(result, undefined)) {
51
+ return result; // rolled back cleanly: nothing in the database changed, so nothing is stale
52
+ }
53
+ if (result.success && this.successfulPushWroteNothing(result)) {
54
+ return result; // cancelled, or a no-op: nothing in the database changed
55
+ }
56
+ const report = await this.clearSharedCache(result.success ? 'mj sync push' : 'mj sync push (failed)');
57
+ return AppendSharedCacheClear(result, report, this.Host);
58
+ }
59
+ /**
60
+ * Whether a failed push left rows in the database. False only when the outcome positively says
61
+ * the push rolled back and committed nothing; anything unreadable counts as "it may have".
62
+ */
63
+ failedPushLeftWrites(result, error) {
64
+ if (error instanceof PushAbortedError) {
65
+ return !error.rolledBack || error.committedWrites.length > 0;
66
+ }
67
+ if (error) {
68
+ return true; // an error the push did not describe
69
+ }
70
+ const data = result?.data;
71
+ if (typeof data?.rolledBack !== 'boolean') {
72
+ return true;
73
+ }
74
+ return !data.rolledBack || (data.committedOutsideTransaction ?? 0) > 0;
75
+ }
76
+ /**
77
+ * Whether a successful push positively reports that it wrote nothing: it was cancelled before
78
+ * writing, or it created, updated and deleted no rows. A result without those counts counts as
79
+ * "it may have written".
80
+ */
81
+ successfulPushWroteNothing(result) {
82
+ const data = result.data;
83
+ if (data?.cancelled === true) {
84
+ return true;
85
+ }
86
+ if (typeof data?.created !== 'number' || typeof data.updated !== 'number' || typeof data.deleted !== 'number') {
87
+ return false;
88
+ }
89
+ return data.created + data.updated + data.deleted === 0;
90
+ }
91
+ /** Clears the shared cache unless this was a dry run (which writes nothing). */
92
+ async clearSharedCache(commandName) {
93
+ const flags = this.GetFlags();
94
+ return flags['dry-run'] ? null : ClearSharedCacheAfterWrite(commandName, flags['skip-cache-clear']);
95
+ }
96
+ }
9
97
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;MAKV;IAEF,OAAO,CAAC,eAAe,CAAC,CAAM;IAExB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwH3B"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;MAKV;IAEF,OAAO,CAAC,eAAe,CAAC,CAAM;IAExB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqH3B"}
@@ -17,7 +17,7 @@ export default class Watch extends Command {
17
17
  verbose: Flags.boolean({ char: 'v', description: 'Show detailed output' }),
18
18
  }; }
19
19
  async run() {
20
- const { WatchService, loadMJConfig, loadSyncConfig, initializeProvider, getSyncEngine, getSystemUser, resetSyncEngine, configManager, } = await import('@memberjunction/metadata-sync');
20
+ const { WatchService, loadMJConfig, initializeProvider, getSyncEngine, getSystemUser, resetSyncEngine, configManager, } = await import('@memberjunction/metadata-sync');
21
21
  const { BaseEntity } = await import('@memberjunction/core');
22
22
  const { flags } = await this.parse(Watch);
23
23
  const spinner = ora();
@@ -28,9 +28,6 @@ export default class Watch extends Command {
28
28
  if (!mjConfig) {
29
29
  this.error('No mj.config.cjs found in current directory or parent directories');
30
30
  }
31
- // Load sync config
32
- const syncConfigDir = flags.dir ? path.resolve(configManager.getOriginalCwd(), flags.dir) : configManager.getOriginalCwd();
33
- const syncConfig = await loadSyncConfig(syncConfigDir);
34
31
  // Stop spinner before provider initialization
35
32
  spinner.stop();
36
33
  // Initialize data provider
@@ -84,9 +81,10 @@ export default class Watch extends Command {
84
81
  const action = isNew ? 'created' : 'updated';
85
82
  this.log(chalk.green(`✅ Record ${action} for ${entityConfig.entity}`));
86
83
  },
84
+ // A failed file is reported and the watch goes on with the other files
87
85
  onError: (error) => {
88
86
  spinner.fail('Watch error');
89
- this.error(error);
87
+ this.logToStderr(error.message);
90
88
  },
91
89
  onWarn: (message) => {
92
90
  this.warn(message);
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/sync/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/sync/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;aACjC,gBAAW,GAAG,+CAA+C,CAAC;aAE9D,aAAQ,GAAG;QAChB,qCAAqC;QACrC,wDAAwD;QACxD,qDAAqD;QACrD,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;QACxE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;QACzF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;QAC5E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;KAC3E,CAAC;IAIF,KAAK,CAAC,GAAG;QACP,MAAM,EACJ,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAC9C,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,GAC7D,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAClD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAE5D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,qBAAqB;YACrB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAClF,CAAC;YAED,8CAA8C;YAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,2BAA2B;YAC3B,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEnC,yBAAyB;YACzB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;YAExD,oCAAoC;YACpC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAErD,4BAA4B;YAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG;gBACxB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC;gBACzD,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YAEnC,uBAAuB;YACvB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;YAElD,0BAA0B;YAC1B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpC,CAAC;gBACD,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpC,CAAC;gBACD,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,eAAe,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;gBAC9C,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,UAAU,EAAE,KAAK,CAAC,QAAQ,IAAI,GAAG;aAClC,EAAE;gBACD,SAAS,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAE,YAAiB,EAAE,EAAE;oBACpE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,YAAY,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAE,YAAiB,EAAE,EAAE;oBACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,YAAY,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAE,YAAiB,EAAE,EAAE;oBACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC;gBACD,aAAa,EAAE,CAAC,MAAuC,EAAE,KAAc,EAAE,YAAqC,EAAE,EAAE;oBAChH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,QAAQ,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,uEAAuE;gBACvE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;oBACxB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC;gBACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;oBACzB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,qBAAqB;YACrB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE;gBACrB,2DAA2D;gBAC3D,sCAAsC;YACxC,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE7B,yBAAyB;YACzB,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAErF,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Command } from '@oclif/core';
2
+ /**
3
+ * CLI command: `mj user clone`.
4
+ *
5
+ * Creates a new user as a copy of an existing one through the `MJ: Users` clone configuration. From a
6
+ * template user (IsTemplate) the default `template` preset copies everything the template was set up
7
+ * with, dashboards and conversations included; from an ordinary user, choose one of the other presets.
8
+ * Runs as the system user, so it needs no sign-in; it is meant for administrators and install scripts
9
+ * (an app's post-install hook pre-provisions the person who will sign in).
10
+ */
11
+ export default class UserClone extends Command {
12
+ static description: string;
13
+ static examples: string[];
14
+ static flags: {
15
+ from: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
+ email: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
+ first: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
+ last: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
+ preset: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
20
+ inactive: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
21
+ 'dry-run': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
22
+ };
23
+ run(): Promise<void>;
24
+ /** The user with this email, if any. */
25
+ private findUser;
26
+ }
27
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/commands/user/clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAc7C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAqE;IAEvF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D1B,wCAAwC;YAC1B,QAAQ;CAavB"}
@@ -0,0 +1,106 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import { CompositeKey, RunView } from '@memberjunction/core';
4
+ import { RecordCloneEngine } from '@memberjunction/record-cloning';
5
+ import { BuildContextUser, EnsureProviderInitialized } from '../../utils/open-app-context.js';
6
+ /**
7
+ * CLI command: `mj user clone`.
8
+ *
9
+ * Creates a new user as a copy of an existing one through the `MJ: Users` clone configuration. From a
10
+ * template user (IsTemplate) the default `template` preset copies everything the template was set up
11
+ * with, dashboards and conversations included; from an ordinary user, choose one of the other presets.
12
+ * Runs as the system user, so it needs no sign-in; it is meant for administrators and install scripts
13
+ * (an app's post-install hook pre-provisions the person who will sign in).
14
+ */
15
+ export default class UserClone extends Command {
16
+ static { this.description = 'Create a user as a copy of another (a template user by default)'; }
17
+ static { this.examples = [
18
+ '<%= config.bin %> user clone --from demo.user@example.org --email jane@example.com --first Jane --last Doe',
19
+ '<%= config.bin %> user clone --from alice@example.com --email bob@example.com --first Bob --last Lee --preset with-settings',
20
+ '<%= config.bin %> user clone --from demo.user@example.org --email jane@example.com --first Jane --last Doe --dry-run',
21
+ ]; }
22
+ static { this.flags = {
23
+ from: Flags.string({ description: 'Email of the user to copy', required: true }),
24
+ email: Flags.string({ description: 'Email of the new user (the identity they sign in with)', required: true }),
25
+ first: Flags.string({ description: 'First name of the new user', required: true }),
26
+ last: Flags.string({ description: 'Last name of the new user', required: true }),
27
+ preset: Flags.string({
28
+ description: "MJ: Users clone preset: 'template' (template users only), 'with-views', 'with-settings', or none for the base copy",
29
+ default: 'template',
30
+ }),
31
+ inactive: Flags.boolean({ description: 'Leave the new user inactive for review instead of activating it', default: false }),
32
+ 'dry-run': Flags.boolean({ description: 'Show what would be copied without creating anything', default: false }),
33
+ }; }
34
+ async run() {
35
+ const { flags } = await this.parse(UserClone);
36
+ try {
37
+ const provider = await EnsureProviderInitialized();
38
+ const contextUser = await BuildContextUser();
39
+ const source = await this.findUser(flags.from, contextUser);
40
+ if (!source)
41
+ this.error(`No user has the email ${flags.from}.`);
42
+ if (await this.findUser(flags.email, contextUser)) {
43
+ this.error(`A user with the email ${flags.email} already exists. Cloning creates a new user; choose another email.`);
44
+ }
45
+ const preset = flags.preset === 'none' ? undefined : flags.preset;
46
+ if (preset === 'template' && !source.IsTemplate) {
47
+ this.error(`${flags.from} is not a template user. Mark it IsTemplate, or pass --preset with-views, with-settings or none.`);
48
+ }
49
+ const result = await new RecordCloneEngine(provider).Clone({
50
+ EntityName: 'MJ: Users',
51
+ SourceRecordKey: CompositeKey.FromID(source.ID),
52
+ Preset: preset,
53
+ PromptedValues: { Email: flags.email, FirstName: flags.first, LastName: flags.last },
54
+ Options: { DryRun: flags['dry-run'], Reason: `mj user clone from ${flags.from}` },
55
+ }, contextUser);
56
+ for (const w of result.Warnings.filter((w) => w.Severity !== 'Info')) {
57
+ this.log(chalk[w.Severity === 'Error' ? 'red' : 'yellow'](` ${w.Severity}: ${w.Message}`));
58
+ }
59
+ if (!result.Success) {
60
+ this.error(`Clone ${result.ResultCode === 'BLOCKED' ? 'was blocked' : 'failed'}${result.ErrorMessage ? `: ${result.ErrorMessage}` : ''}.`);
61
+ }
62
+ // A dry run reports the plan's counts; a real run, the rows it actually created.
63
+ const byEntity = new Map();
64
+ if (flags['dry-run']) {
65
+ for (const [entity, counts] of Object.entries(result.Counts?.ByEntity ?? {}))
66
+ byEntity.set(entity, counts.Create);
67
+ }
68
+ else {
69
+ for (const row of result.Created ?? [])
70
+ byEntity.set(row.EntityName, (byEntity.get(row.EntityName) ?? 0) + 1);
71
+ }
72
+ this.log(chalk.bold(flags['dry-run'] ? '\nWould copy:' : '\nCopied:'));
73
+ for (const [entity, count] of byEntity) {
74
+ if (count > 0)
75
+ this.log(` ${String(count).padStart(5)} ${entity}`);
76
+ }
77
+ if (flags['dry-run'])
78
+ return;
79
+ const newID = result.Roots?.[0]?.TargetKey.KeyValuePairs.find((kvp) => kvp.FieldName === 'ID')?.Value;
80
+ if (!flags.inactive && newID) {
81
+ const user = await provider.GetEntityObject('MJ: Users', contextUser);
82
+ if (!(await user.Load(String(newID))))
83
+ this.error(`The new user ${flags.email} was created but could not be loaded to activate it.`);
84
+ user.IsActive = true;
85
+ if (!(await user.Save()))
86
+ this.error(`The new user ${flags.email} was created but not activated: ${user.LatestResult?.CompleteMessage ?? 'unknown error'}`);
87
+ }
88
+ this.log(chalk.green(`\n✓ Created ${flags.email} from ${flags.from}${flags.inactive ? ' (inactive: activate it after review)' : ''}.`));
89
+ }
90
+ catch (error) {
91
+ this.error(error instanceof Error ? error.message : String(error));
92
+ }
93
+ }
94
+ /** The user with this email, if any. */
95
+ async findUser(email, contextUser) {
96
+ const result = await new RunView().RunView({
97
+ EntityName: 'MJ: Users',
98
+ ExtraFilter: `Email = '${email.replace(/'/g, "''")}'`,
99
+ Fields: ['ID', 'Email', 'IsTemplate'],
100
+ ResultType: 'simple',
101
+ MaxRows: 1,
102
+ }, contextUser);
103
+ return result.Success ? result.Results[0] : undefined;
104
+ }
105
+ }
106
+ //# sourceMappingURL=clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/commands/user/clone.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKnC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AA6BnE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CAqFxB,CAAC;AA0BF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOnC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AA6BnE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CA6FxB,CAAC;AA0BF,eAAe,IAAI,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import figlet from 'figlet';
2
2
  import { INTERACTIVE_ENV, ResolveOutputFormat, ShouldSuppressChrome } from '@memberjunction/cli-core';
3
3
  import { LIGHT_COMMANDS } from '../light-commands.js';
4
+ import chalk from 'chalk';
5
+ import { KeepAwakeForCommand, SleepNoticeForCommand } from '../lib/keep-awake.js';
4
6
  /**
5
7
  * Mirror of `DYNAMIC_PACKAGES_MODE_ENV_VAR` from @memberjunction/dynamic-packages, inlined so
6
8
  * LIGHT commands (version, help, migrate, …) do not pay for that package — and its cosmiconfig
@@ -35,6 +37,8 @@ function readFormatArg(argv) {
35
37
  }
36
38
  const hook = async function (options) {
37
39
  const argv = options.argv ?? [];
40
+ // Long database commands must not be interrupted by the machine sleeping — see keep-awake.ts.
41
+ const keptAwake = KeepAwakeForCommand(options.Command.id ?? '');
38
42
  // `--interactive` / `--no-interactive` override the terminal detection that decides
39
43
  // whether a command may prompt. Like `--no-banner` they must work on every command,
40
44
  // including the ~80 that don't declare them, so they are consumed here and forwarded
@@ -106,6 +110,11 @@ const hook = async function (options) {
106
110
  if (options.Command.id !== 'version' && !isUsageCommand) {
107
111
  options.context.log(options.config.userAgent + '\n');
108
112
  }
113
+ // Said once, up front, while the user is still watching. stderr, so it never mixes into output.
114
+ const sleepNotice = SleepNoticeForCommand(options.Command.id ?? '', keptAwake);
115
+ if (sleepNotice) {
116
+ process.stderr.write(chalk.yellow(`\u26a0 ${sleepNotice}\n\n`));
117
+ }
109
118
  await maybeLoadBootstrap(options, verbose);
110
119
  };
111
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domain-profiles.d.ts","sourceRoot":"","sources":["../../src/lib/domain-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAiGnE,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE9D;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE9D"}
1
+ {"version":3,"file":"domain-profiles.d.ts","sourceRoot":"","sources":["../../src/lib/domain-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqGnE,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE9D;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE9D"}
@@ -58,6 +58,10 @@ export const DOMAIN_PROFILES = {
58
58
  Summary: 'Bundle interactive component source for distribution.',
59
59
  Runtime: { class: 'moderate', typicalSeconds: 20 },
60
60
  },
61
+ cache: {
62
+ Summary: 'Inspect and clear the shared (Redis) server cache.',
63
+ Runtime: { class: 'fast', note: 'one SCAN per category; scales with the Redis keyspace' },
64
+ },
61
65
  clean: {
62
66
  Summary: 'Remove build artifacts and generated output.',
63
67
  Runtime: { class: 'fast' },
@@ -1 +1 @@
1
- {"version":3,"file":"domain-profiles.js","sourceRoot":"","sources":["../../src/lib/domain-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-profiles.js","sourceRoot":"","sources":["../../src/lib/domain-profiles.ts"],"names":[],"mappings":"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"}