@memberjunction/cli 5.40.2 → 5.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/commands/bundle/index.d.ts +1 -0
  2. package/dist/commands/bundle/index.d.ts.map +1 -1
  3. package/dist/commands/bundle/index.js +7 -1
  4. package/dist/commands/bundle/index.js.map +1 -1
  5. package/dist/commands/codegen/index.d.ts +6 -16
  6. package/dist/commands/codegen/index.d.ts.map +1 -1
  7. package/dist/commands/codegen/index.js +6 -90
  8. package/dist/commands/codegen/index.js.map +1 -1
  9. package/dist/commands/codegen/usage.d.ts +7 -0
  10. package/dist/commands/codegen/usage.d.ts.map +1 -0
  11. package/dist/commands/codegen/usage.js +10 -0
  12. package/dist/commands/codegen/usage.js.map +1 -0
  13. package/dist/commands/install/claude.d.ts +35 -0
  14. package/dist/commands/install/claude.d.ts.map +1 -0
  15. package/dist/commands/install/claude.js +108 -0
  16. package/dist/commands/install/claude.js.map +1 -0
  17. package/dist/commands/install/index.d.ts +1 -0
  18. package/dist/commands/install/index.d.ts.map +1 -1
  19. package/dist/commands/install/index.js +4 -0
  20. package/dist/commands/install/index.js.map +1 -1
  21. package/dist/commands/migrate/convert.d.ts +59 -12
  22. package/dist/commands/migrate/convert.d.ts.map +1 -1
  23. package/dist/commands/migrate/convert.js +294 -21
  24. package/dist/commands/migrate/convert.js.map +1 -1
  25. package/dist/commands/migrate/rebake.d.ts +41 -0
  26. package/dist/commands/migrate/rebake.d.ts.map +1 -0
  27. package/dist/commands/migrate/rebake.js +193 -0
  28. package/dist/commands/migrate/rebake.js.map +1 -0
  29. package/dist/commands/plugin/add.d.ts +18 -0
  30. package/dist/commands/plugin/add.d.ts.map +1 -0
  31. package/dist/commands/plugin/add.js +53 -0
  32. package/dist/commands/plugin/add.js.map +1 -0
  33. package/dist/commands/sync/pull.d.ts +6 -26
  34. package/dist/commands/sync/pull.d.ts.map +1 -1
  35. package/dist/commands/sync/pull.js +6 -281
  36. package/dist/commands/sync/pull.js.map +1 -1
  37. package/dist/commands/sync/push.d.ts +8 -18
  38. package/dist/commands/sync/push.d.ts.map +1 -1
  39. package/dist/commands/sync/push.js +8 -257
  40. package/dist/commands/sync/push.js.map +1 -1
  41. package/dist/commands/sync/usage.d.ts +7 -0
  42. package/dist/commands/sync/usage.d.ts.map +1 -0
  43. package/dist/commands/sync/usage.js +10 -0
  44. package/dist/commands/sync/usage.js.map +1 -0
  45. package/dist/commands/update/claude.d.ts +37 -0
  46. package/dist/commands/update/claude.d.ts.map +1 -0
  47. package/dist/commands/update/claude.js +90 -0
  48. package/dist/commands/update/claude.js.map +1 -0
  49. package/dist/commands/usage.d.ts +17 -0
  50. package/dist/commands/usage.d.ts.map +1 -0
  51. package/dist/commands/usage.js +29 -0
  52. package/dist/commands/usage.js.map +1 -0
  53. package/dist/hooks/prerun.d.ts.map +1 -1
  54. package/dist/hooks/prerun.js +62 -15
  55. package/dist/hooks/prerun.js.map +1 -1
  56. package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +40 -0
  57. package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -0
  58. package/dist/lib/claude-pack/ManagedBlockEditor.js +127 -0
  59. package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -0
  60. package/dist/lib/claude-pack/PackFetcher.d.ts +86 -0
  61. package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -0
  62. package/dist/lib/claude-pack/PackFetcher.js +163 -0
  63. package/dist/lib/claude-pack/PackFetcher.js.map +1 -0
  64. package/dist/lib/claude-pack/PackInstaller.d.ts +62 -0
  65. package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -0
  66. package/dist/lib/claude-pack/PackInstaller.js +197 -0
  67. package/dist/lib/claude-pack/PackInstaller.js.map +1 -0
  68. package/dist/lib/claude-pack/PackMerger.d.ts +61 -0
  69. package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -0
  70. package/dist/lib/claude-pack/PackMerger.js +315 -0
  71. package/dist/lib/claude-pack/PackMerger.js.map +1 -0
  72. package/dist/lib/claude-pack/PackOutputFormatter.d.ts +29 -0
  73. package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -0
  74. package/dist/lib/claude-pack/PackOutputFormatter.js +82 -0
  75. package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -0
  76. package/dist/lib/claude-pack/PackPaths.d.ts +80 -0
  77. package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -0
  78. package/dist/lib/claude-pack/PackPaths.js +182 -0
  79. package/dist/lib/claude-pack/PackPaths.js.map +1 -0
  80. package/dist/lib/claude-pack/PackTypes.d.ts +124 -0
  81. package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -0
  82. package/dist/lib/claude-pack/PackTypes.js +32 -0
  83. package/dist/lib/claude-pack/PackTypes.js.map +1 -0
  84. package/dist/lib/claude-pack/SettingsMerger.d.ts +47 -0
  85. package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -0
  86. package/dist/lib/claude-pack/SettingsMerger.js +163 -0
  87. package/dist/lib/claude-pack/SettingsMerger.js.map +1 -0
  88. package/dist/lib/cli-plugins.d.ts +16 -0
  89. package/dist/lib/cli-plugins.d.ts.map +1 -0
  90. package/dist/lib/cli-plugins.js +26 -0
  91. package/dist/lib/cli-plugins.js.map +1 -0
  92. package/dist/lib/domain-usage-command.d.ts +16 -0
  93. package/dist/lib/domain-usage-command.d.ts.map +1 -0
  94. package/dist/lib/domain-usage-command.js +23 -0
  95. package/dist/lib/domain-usage-command.js.map +1 -0
  96. package/dist/lib/usage-render.d.ts +14 -0
  97. package/dist/lib/usage-render.d.ts.map +1 -0
  98. package/dist/lib/usage-render.js +64 -0
  99. package/dist/lib/usage-render.js.map +1 -0
  100. package/dist/light-commands.d.ts.map +1 -1
  101. package/dist/light-commands.js +11 -0
  102. package/dist/light-commands.js.map +1 -1
  103. package/oclif.manifest.json +1240 -554
  104. package/package.json +20 -18
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
@@ -1,19 +1,9 @@
1
- import { Command } from '@oclif/core';
2
- export default class Push extends Command {
3
- static description: string;
4
- static examples: string[];
5
- static flags: {
6
- dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- 'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- ci: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
- 'no-validate': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- 'delete-db-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
- 'parallel-batch-size': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
13
- include: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
14
- exclude: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
15
- incremental: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
- };
17
- run(): Promise<void>;
18
- }
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';
19
9
  //# sourceMappingURL=push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;MA4BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkP3B"}
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,258 +1,9 @@
1
- import { Command, Flags } from '@oclif/core';
2
- import { confirm } from '@inquirer/prompts';
3
- import ora from 'ora-classic';
4
- import chalk from 'chalk';
5
- import path from 'path';
6
- export default class Push extends Command {
7
- static { this.description = 'Push local file changes to the database'; }
8
- static { this.examples = [
9
- `<%= config.bin %> <%= command.id %>`,
10
- `<%= config.bin %> <%= command.id %> --dry-run`,
11
- `<%= config.bin %> <%= command.id %> --dir="ai-prompts"`,
12
- `<%= config.bin %> <%= command.id %> --ci`,
13
- ]; }
14
- static { this.flags = {
15
- dir: Flags.string({ description: 'Specific entity directory to push' }),
16
- 'dry-run': Flags.boolean({ description: 'Show what would be pushed without actually pushing' }),
17
- ci: Flags.boolean({ description: 'CI mode - no prompts, fail on issues' }),
18
- verbose: Flags.boolean({ char: 'v', description: 'Show detailed field-level output' }),
19
- 'no-validate': Flags.boolean({ description: 'Skip validation before push' }),
20
- 'delete-db-only': Flags.boolean({
21
- description: 'Delete database-only records that reference records being deleted (prevents FK errors)',
22
- default: false
23
- }),
24
- 'parallel-batch-size': Flags.integer({
25
- description: 'Number of records to process in parallel (default: 10)',
26
- default: 10,
27
- min: 1,
28
- max: 50
29
- }),
30
- include: Flags.string({
31
- description: 'Only process these directories (comma-separated, supports patterns)',
32
- multiple: false
33
- }),
34
- exclude: Flags.string({
35
- description: 'Skip these directories (comma-separated, supports patterns)',
36
- multiple: false
37
- }),
38
- incremental: Flags.boolean({
39
- description: 'Skip unchanged files using stored checksums from last push',
40
- default: false
41
- }),
42
- }; }
43
- async run() {
44
- const { PushService, ValidationService, FormattingService, loadMJConfig, loadSyncConfig, initializeProvider, cleanupProvider, getSyncEngine, getSystemUser, resetSyncEngine, configManager, } = await import('@memberjunction/metadata-sync');
45
- const { flags } = await this.parse(Push);
46
- const spinner = ora();
47
- const startTime = Date.now();
48
- try {
49
- // Load configurations
50
- spinner.start('Loading configuration');
51
- const mjConfig = loadMJConfig();
52
- if (!mjConfig) {
53
- this.error('No mj.config.cjs found in current directory or parent directories');
54
- }
55
- // Load sync config (currently only used internally by PushService)
56
- const syncConfigDir = flags.dir ? path.resolve(configManager.getOriginalCwd(), flags.dir) : configManager.getOriginalCwd();
57
- await loadSyncConfig(syncConfigDir);
58
- // Stop spinner before provider initialization
59
- spinner.stop();
60
- // Initialize data provider
61
- await initializeProvider(mjConfig);
62
- // Initialize sync engine
63
- const syncEngine = await getSyncEngine(getSystemUser());
64
- // Show success after initialization
65
- if (flags.verbose) {
66
- spinner.succeed('Configuration and metadata loaded');
67
- }
68
- else {
69
- spinner.stop();
70
- }
71
- // Parse include/exclude filters
72
- const includeFilter = flags.include ? flags.include.split(',').map(s => s.trim()) : undefined;
73
- const excludeFilter = flags.exclude ? flags.exclude.split(',').map(s => s.trim()) : undefined;
74
- // Run validation unless disabled
75
- if (!flags['no-validate']) {
76
- spinner.start('Validating metadata...');
77
- const validator = new ValidationService({
78
- verbose: flags.verbose,
79
- include: includeFilter,
80
- exclude: excludeFilter
81
- });
82
- const formatter = new FormattingService();
83
- const targetDir = flags.dir ? path.resolve(configManager.getOriginalCwd(), flags.dir) : configManager.getOriginalCwd();
84
- const validationResult = await validator.validateDirectory(targetDir);
85
- spinner.stop();
86
- if (!validationResult.isValid || validationResult.warnings.length > 0) {
87
- // Show validation results
88
- this.log('\n' + formatter.formatValidationResult(validationResult, flags.verbose));
89
- if (!validationResult.isValid) {
90
- // In CI mode, fail immediately
91
- if (flags.ci) {
92
- this.error('Validation failed. Cannot proceed with push.');
93
- }
94
- // Otherwise, ask for confirmation
95
- const shouldContinue = await confirm({
96
- message: 'Validation failed with errors. Do you want to continue anyway?',
97
- default: false,
98
- });
99
- if (!shouldContinue) {
100
- this.log(chalk.yellow('\n⚠️ Push cancelled due to validation errors.'));
101
- // Exit cleanly without throwing an error
102
- return;
103
- }
104
- }
105
- }
106
- else {
107
- this.log(chalk.green('✓ Validation passed'));
108
- }
109
- }
110
- // Create push service with optional state manager for incremental sync
111
- const pushService = new PushService(syncEngine, getSystemUser());
112
- if (flags.incremental) {
113
- const { SyncStateManager } = await import('@memberjunction/metadata-sync');
114
- const stateDir = flags.dir ? path.resolve(configManager.getOriginalCwd(), flags.dir) : configManager.getOriginalCwd();
115
- const stateManager = new SyncStateManager(stateDir);
116
- await stateManager.load();
117
- pushService.setStateManager(stateManager);
118
- }
119
- const result = await pushService.push({
120
- dir: flags.dir,
121
- dryRun: flags['dry-run'],
122
- verbose: flags.verbose,
123
- noValidate: flags['no-validate'],
124
- deleteDbOnly: flags['delete-db-only'],
125
- parallelBatchSize: flags['parallel-batch-size'],
126
- include: includeFilter,
127
- exclude: excludeFilter,
128
- incremental: flags.incremental,
129
- }, {
130
- onProgress: (message) => {
131
- spinner.start(message);
132
- },
133
- onSuccess: (message) => {
134
- spinner.succeed(message);
135
- },
136
- onError: (message) => {
137
- // For rollback messages, just log them - don't throw
138
- if (message.includes('Rolling back database') || message.includes('rolled back successfully')) {
139
- spinner.fail(message);
140
- }
141
- else {
142
- // For actual errors, throw to stop execution
143
- this.error(message);
144
- }
145
- },
146
- onWarn: (message) => {
147
- // Check if this is a user-friendly warning that doesn't need a stack trace
148
- const userFriendlyPatterns = [
149
- 'Record not found:',
150
- 'To auto-create missing records',
151
- 'Circular dependencies detected',
152
- 'Skipping',
153
- 'File backups rolled back',
154
- 'Failed to rollback file backups',
155
- 'SQL logging requested but provider does not support it',
156
- 'Failed to close SQL logging session',
157
- 'WARNING: alwaysPush is enabled',
158
- 'WARNING: autoCreateMissingRecords is enabled'
159
- ];
160
- const isUserFriendly = userFriendlyPatterns.some(pattern => message.includes(pattern));
161
- if (isUserFriendly) {
162
- // Log as a styled warning without stack trace
163
- this.log(chalk.yellow(message));
164
- }
165
- else {
166
- // Use standard warn for unexpected warnings that need debugging info
167
- this.warn(message);
168
- }
169
- },
170
- onLog: (message) => {
171
- this.log(message);
172
- },
173
- onConfirm: async (message) => {
174
- if (flags.ci) {
175
- return true; // Always confirm in CI mode
176
- }
177
- return await confirm({ message });
178
- },
179
- });
180
- // Show summary
181
- const endTime = Date.now();
182
- const formatter = new FormattingService();
183
- const summary = formatter.formatSyncSummary('push', {
184
- created: result.created,
185
- updated: result.updated,
186
- unchanged: result.unchanged,
187
- deleted: result.deleted || 0,
188
- skipped: result.skipped || 0,
189
- deferred: result.deferred || 0,
190
- errors: result.errors,
191
- duration: endTime - startTime,
192
- });
193
- this.log('\n' + summary);
194
- // Handle result
195
- if (result.errors > 0) {
196
- if (flags.ci) {
197
- this.error('Push failed with errors in CI mode');
198
- }
199
- const shouldContinue = await confirm({
200
- message: 'Push completed with errors. Do you want to commit the successful changes?',
201
- default: false,
202
- });
203
- if (!shouldContinue) {
204
- throw new Error('Push cancelled due to errors');
205
- }
206
- }
207
- // Show warnings summary
208
- if (result.warnings.length > 0) {
209
- this.log(chalk.yellow(`\n⚠️ ${result.warnings.length} warning${result.warnings.length > 1 ? 's' : ''} during push`));
210
- if (flags.verbose) {
211
- result.warnings.forEach((warning) => this.log(` - ${warning}`));
212
- }
213
- }
214
- // Show final status
215
- if (!flags['dry-run']) {
216
- if (result.errors === 0) {
217
- this.log(chalk.green('\n✅ Push completed successfully'));
218
- }
219
- else {
220
- this.log(chalk.yellow('\n⚠️ Push completed with errors'));
221
- }
222
- if (result.sqlLogPath) {
223
- this.log(`\n📄 SQL log saved to: ${path.relative(process.cwd(), result.sqlLogPath)}`);
224
- }
225
- }
226
- }
227
- catch (error) {
228
- spinner.fail('Push failed');
229
- // Show concise error message without duplicate stack traces
230
- const errorMessage = error instanceof Error ? error.message : String(error);
231
- this.log(chalk.red(`\n❌ Error: ${errorMessage}\n`));
232
- // Exit with error code but don't show stack trace again (already logged by handlers)
233
- this.exit(1);
234
- }
235
- finally {
236
- // Reset singletons + close DB pool so the process can exit cleanly.
237
- // Without cleanupProvider, the pg.Pool / mssql.ConnectionPool keep the
238
- // event loop alive and the CLI hangs after a successful push.
239
- resetSyncEngine();
240
- try {
241
- await cleanupProvider();
242
- }
243
- catch (cleanupErr) {
244
- // Best-effort: log but don't fail the command on cleanup error
245
- // eslint-disable-next-line no-console
246
- console.warn('Warning: cleanup failed:', cleanupErr instanceof Error ? cleanupErr.message : String(cleanupErr));
247
- }
248
- // Force-exit to terminate any lingering background work that holds the
249
- // event loop open (e.g. @huggingface/transformers ONNX worker threads
250
- // spawned for embedding compute, or pg.Pool clients that didn't release
251
- // cleanly). Without this the CLI hangs indefinitely after a successful
252
- // push when local embedding generation ran. Use exit code 0 here because
253
- // any error path above has already called this.exit(1).
254
- process.exit(0);
255
- }
256
- }
257
- }
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';
258
9
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"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"}
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"}
@@ -0,0 +1,7 @@
1
+ import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
2
+ /** Tier-2 usage for the `sync` domain (`mj sync usage`). */
3
+ export default class SyncUsage extends DomainUsageCommand {
4
+ static description: string;
5
+ protected Domain: string;
6
+ }
7
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IACvD,MAAM,CAAC,WAAW,SAAiF;IACnG,SAAS,CAAC,MAAM,SAAU;CAC3B"}
@@ -0,0 +1,10 @@
1
+ import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
2
+ /** Tier-2 usage for the `sync` domain (`mj sync usage`). */
3
+ export default class SyncUsage extends DomainUsageCommand {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.Domain = 'sync';
7
+ }
8
+ static { this.description = 'Show usage, flags, examples, and runtime hints for every `mj sync` command.'; }
9
+ }
10
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/sync/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IAAzD;;QAEY,WAAM,GAAG,MAAM,CAAC;IAC5B,CAAC;aAFQ,gBAAW,GAAG,6EAA6E,AAAhF,CAAiF"}
@@ -0,0 +1,37 @@
1
+ import { Command } from '@oclif/core';
2
+ /**
3
+ * `mj update:claude` — refresh the Claude Code pack in the current directory.
4
+ *
5
+ * Same flag set as `install:claude` plus:
6
+ * --check compare versions without writing
7
+ * --refresh-commands resync .claude/commands/* from the pack
8
+ * --refresh-skills resync .claude/skills/**
9
+ * --allow-major allow remote pack's major to differ from local MJ's
10
+ *
11
+ * See plans/claude-install-pack.md §6.5, §7.4, §7.5.
12
+ */
13
+ export default class UpdateClaude extends Command {
14
+ static description: string;
15
+ static examples: string[];
16
+ static flags: {
17
+ dir: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
+ major: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
+ ref: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
20
+ from: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
21
+ offline: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
22
+ 'dry-run': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
23
+ yes: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
24
+ force: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
25
+ 'skip-commands': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
26
+ 'skip-skills': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
27
+ 'skip-settings': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
28
+ check: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
29
+ 'refresh-commands': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
30
+ 'refresh-skills': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
31
+ 'allow-major': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
32
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
33
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
34
+ };
35
+ run(): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/commands/update/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA2D;IAE7E,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;MAyCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB7B"}
@@ -0,0 +1,90 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { installPack } from '../../lib/claude-pack/PackInstaller.js';
3
+ import { formatJson, formatPretty } from '../../lib/claude-pack/PackOutputFormatter.js';
4
+ import { mapFlagsToInstallOptions } from '../install/claude.js';
5
+ /**
6
+ * `mj update:claude` — refresh the Claude Code pack in the current directory.
7
+ *
8
+ * Same flag set as `install:claude` plus:
9
+ * --check compare versions without writing
10
+ * --refresh-commands resync .claude/commands/* from the pack
11
+ * --refresh-skills resync .claude/skills/**
12
+ * --allow-major allow remote pack's major to differ from local MJ's
13
+ *
14
+ * See plans/claude-install-pack.md §6.5, §7.4, §7.5.
15
+ */
16
+ export default class UpdateClaude extends Command {
17
+ static { this.description = 'Update the Claude Code pack in the current directory.'; }
18
+ static { this.examples = [
19
+ '<%= config.bin %> update:claude',
20
+ '<%= config.bin %> update:claude --check',
21
+ '<%= config.bin %> update:claude --refresh-commands',
22
+ '<%= config.bin %> update:claude --allow-major',
23
+ '<%= config.bin %> update:claude --json',
24
+ ]; }
25
+ static { this.flags = {
26
+ dir: Flags.string({ description: 'Target directory', default: '.' }),
27
+ major: Flags.string({
28
+ description: 'Force a specific MJ major (default: detected from package.json)',
29
+ }),
30
+ ref: Flags.string({
31
+ description: 'Git ref to fetch from (branch or tag). Default: main.',
32
+ }),
33
+ from: Flags.string({
34
+ description: 'Use a local pack source instead of fetching from GitHub',
35
+ }),
36
+ offline: Flags.boolean({
37
+ description: 'Forbid network; requires --from <path>',
38
+ }),
39
+ 'dry-run': Flags.boolean({
40
+ description: 'Print what would be written; change nothing',
41
+ }),
42
+ yes: Flags.boolean({
43
+ char: 'y',
44
+ description: "Don't prompt (reserved for future interactive paths; currently no-op)",
45
+ }),
46
+ force: Flags.boolean({
47
+ description: 'Overwrite user-customized commands/skills (saves .bak files)',
48
+ }),
49
+ 'skip-commands': Flags.boolean({ description: 'Skip seeding .claude/commands/' }),
50
+ 'skip-skills': Flags.boolean({ description: 'Skip seeding .claude/skills/' }),
51
+ 'skip-settings': Flags.boolean({ description: 'Skip merging .claude/settings.json' }),
52
+ check: Flags.boolean({
53
+ description: 'Compare local pack version to remote without writing anything',
54
+ }),
55
+ 'refresh-commands': Flags.boolean({
56
+ description: 'Force-resync .claude/commands/* from the pack (saves .bak files)',
57
+ }),
58
+ 'refresh-skills': Flags.boolean({
59
+ description: 'Force-resync .claude/skills/** from the pack (saves .bak files)',
60
+ }),
61
+ 'allow-major': Flags.boolean({
62
+ description: "Allow the remote pack's major to differ from local MJ's major",
63
+ }),
64
+ json: Flags.boolean({ description: 'Output as JSON (matches plan §7.5 schema)' }),
65
+ verbose: Flags.boolean({ char: 'v', description: 'Show progress messages' }),
66
+ }; }
67
+ async run() {
68
+ const { flags } = await this.parse(UpdateClaude);
69
+ const baseOpts = mapFlagsToInstallOptions(flags, (msg) => {
70
+ if (flags.verbose && !flags.json)
71
+ this.log(msg);
72
+ });
73
+ const result = await installPack({
74
+ ...baseOpts,
75
+ CheckOnly: flags.check === true,
76
+ RefreshCommands: flags['refresh-commands'] === true,
77
+ RefreshSkills: flags['refresh-skills'] === true,
78
+ AllowMajor: flags['allow-major'] === true,
79
+ });
80
+ if (flags.json) {
81
+ this.log(formatJson(result));
82
+ }
83
+ else {
84
+ this.log(formatPretty(result));
85
+ }
86
+ if (!result.ok)
87
+ this.exit(1);
88
+ }
89
+ }
90
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/commands/update/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Command } from '@oclif/core';
2
+ /**
3
+ * Tier-1 progressive disclosure (plan §5, the linearis model). Returns a compact
4
+ * domain map — each domain + one-line summary + runtime class — so an agent
5
+ * discovers the CLI's surface in ~200 tokens instead of pulling the full ~13k
6
+ * command tree. The guidance string tells the agent to run `mj <domain> usage`
7
+ * before invoking, rather than guessing flags.
8
+ */
9
+ export default class Usage extends Command {
10
+ static description: string;
11
+ static examples: string[];
12
+ static flags: {
13
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAA+G;IAEjI,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAO3B"}
@@ -0,0 +1,29 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { CLIPluginRegistry } from '@memberjunction/cli-core';
3
+ import { loadAllCliPlugins } from '../lib/cli-plugins.js';
4
+ import { emitUsage, renderDomainMap } from '../lib/usage-render.js';
5
+ /**
6
+ * Tier-1 progressive disclosure (plan §5, the linearis model). Returns a compact
7
+ * domain map — each domain + one-line summary + runtime class — so an agent
8
+ * discovers the CLI's surface in ~200 tokens instead of pulling the full ~13k
9
+ * command tree. The guidance string tells the agent to run `mj <domain> usage`
10
+ * before invoking, rather than guessing flags.
11
+ */
12
+ export default class Usage extends Command {
13
+ static { this.description = 'List mj command domains (AI-agent-friendly, tier-1 progressive disclosure). Then run `mj <domain> usage`.'; }
14
+ static { this.examples = [
15
+ `<%= config.bin %> <%= command.id %>`,
16
+ `<%= config.bin %> <%= command.id %> --format=json`,
17
+ ]; }
18
+ static { this.flags = {
19
+ format: Flags.string({ options: ['text', 'json', 'md'], default: 'text', description: 'Output format' }),
20
+ }; }
21
+ async run() {
22
+ const { flags } = await this.parse(Usage);
23
+ await loadAllCliPlugins(process.cwd());
24
+ const map = CLIPluginRegistry.BuildDomainMap();
25
+ const result = CLIPluginRegistry.AsResult('usage', { guidance: map.guidance, domains: map.domains });
26
+ emitUsage((m) => this.log(m), flags.format, result, renderDomainMap(map));
27
+ }
28
+ }
29
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;aACjC,gBAAW,GAAG,2GAA2G,CAAC;aAE1H,aAAQ,GAAG;QAChB,qCAAqC;QACrC,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACzG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,CAAC"}
@@ -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;AAInC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CA6BxB,CAAC;AAEF,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;AAInC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CAoExB,CAAC;AAcF,eAAe,IAAI,CAAC"}