@memberjunction/cli 5.40.1 → 5.40.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +4 -0
- package/dist/light-commands.js.map +1 -1
- package/oclif.manifest.json +1037 -1037
- package/package.json +15 -15
package/oclif.manifest.json
CHANGED
|
@@ -22,6 +22,405 @@
|
|
|
22
22
|
"index.js"
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
|
+
"artifacts:reclassify": {
|
|
26
|
+
"aliases": [],
|
|
27
|
+
"args": {},
|
|
28
|
+
"description": "Upgrade-recovery utility for v5.35 artifact unification. Re-evaluates rows whose TypeID is the deleted JSON fallback but whose actual content does not parse as JSON. Normally a no-op: the v5.35 backfill migration handles this automatically. This command is only relevant when the migration ran BEFORE the artifact-type metadata (Generic Text / Generic Binary) was pushed via `mj sync push`, in which case the migration prints a notice telling you to run this. Reports \"no candidates\" once everything is reconciled. Dry-run by default; --apply writes through Record Changes.",
|
|
29
|
+
"examples": [
|
|
30
|
+
"<%= config.bin %> <%= command.id %>",
|
|
31
|
+
"<%= config.bin %> <%= command.id %> --apply --limit 50"
|
|
32
|
+
],
|
|
33
|
+
"flags": {
|
|
34
|
+
"conversation-id": {
|
|
35
|
+
"description": "Scope to artifacts attached to the given conversation.",
|
|
36
|
+
"name": "conversation-id",
|
|
37
|
+
"hasDynamicHelp": false,
|
|
38
|
+
"multiple": false,
|
|
39
|
+
"type": "option"
|
|
40
|
+
},
|
|
41
|
+
"since": {
|
|
42
|
+
"description": "Scope to artifacts created on/after this ISO date.",
|
|
43
|
+
"name": "since",
|
|
44
|
+
"hasDynamicHelp": false,
|
|
45
|
+
"multiple": false,
|
|
46
|
+
"type": "option"
|
|
47
|
+
},
|
|
48
|
+
"limit": {
|
|
49
|
+
"description": "Maximum number of rows to inspect.",
|
|
50
|
+
"name": "limit",
|
|
51
|
+
"default": 100,
|
|
52
|
+
"hasDynamicHelp": false,
|
|
53
|
+
"multiple": false,
|
|
54
|
+
"type": "option"
|
|
55
|
+
},
|
|
56
|
+
"apply": {
|
|
57
|
+
"description": "Write changes. Without this flag, this command only reports what it would do.",
|
|
58
|
+
"name": "apply",
|
|
59
|
+
"allowNo": false,
|
|
60
|
+
"type": "boolean"
|
|
61
|
+
},
|
|
62
|
+
"verbose": {
|
|
63
|
+
"char": "v",
|
|
64
|
+
"description": "Print every candidate row, not just the summary.",
|
|
65
|
+
"name": "verbose",
|
|
66
|
+
"allowNo": false,
|
|
67
|
+
"type": "boolean"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"hasDynamicHelp": false,
|
|
71
|
+
"hiddenAliases": [],
|
|
72
|
+
"id": "artifacts:reclassify",
|
|
73
|
+
"pluginAlias": "@memberjunction/cli",
|
|
74
|
+
"pluginName": "@memberjunction/cli",
|
|
75
|
+
"pluginType": "core",
|
|
76
|
+
"strict": true,
|
|
77
|
+
"enableJsonFlag": false,
|
|
78
|
+
"isESM": true,
|
|
79
|
+
"relativePath": [
|
|
80
|
+
"dist",
|
|
81
|
+
"commands",
|
|
82
|
+
"artifacts",
|
|
83
|
+
"reclassify.js"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"baseline:build": {
|
|
87
|
+
"aliases": [],
|
|
88
|
+
"args": {},
|
|
89
|
+
"description": "Generate a deterministic baseline SQL script from the END-STATE of a migrated MSSQL database.",
|
|
90
|
+
"examples": [
|
|
91
|
+
"<%= config.bin %> <%= command.id %> --out ./migrations/v5/ # auto: within-major rebaseline",
|
|
92
|
+
"<%= config.bin %> <%= command.id %> --source-dir ./migrations/v5 --out ./migrations/v5/",
|
|
93
|
+
"<%= config.bin %> <%= command.id %> --baseline-version 6.0 --out ./migrations/v6/ # explicit major-boundary",
|
|
94
|
+
"<%= config.bin %> <%= command.id %> --baseline-version 5.32 --database MJ_BL_Stack --out /tmp/baseline/"
|
|
95
|
+
],
|
|
96
|
+
"flags": {
|
|
97
|
+
"baseline-version": {
|
|
98
|
+
"description": "Baseline version stamp in Major.Minor format (literal x is appended for patch, matching the V-file convention). Omit to auto-detect from --source-dir (within-major rebaseline mode).",
|
|
99
|
+
"name": "baseline-version",
|
|
100
|
+
"hasDynamicHelp": false,
|
|
101
|
+
"multiple": false,
|
|
102
|
+
"type": "option"
|
|
103
|
+
},
|
|
104
|
+
"source-dir": {
|
|
105
|
+
"description": "Migrations source directory (e.g. ./migrations/v5). Used to auto-detect the next baseline version + timestamp when --baseline-version is omitted. Defaults to the highest migrations/v*/ directory walked up from cwd.",
|
|
106
|
+
"name": "source-dir",
|
|
107
|
+
"hasDynamicHelp": false,
|
|
108
|
+
"multiple": false,
|
|
109
|
+
"type": "option"
|
|
110
|
+
},
|
|
111
|
+
"description": {
|
|
112
|
+
"description": "Human-readable description embedded in the file header.",
|
|
113
|
+
"name": "description",
|
|
114
|
+
"default": "MemberJunction Baseline",
|
|
115
|
+
"hasDynamicHelp": false,
|
|
116
|
+
"multiple": false,
|
|
117
|
+
"type": "option"
|
|
118
|
+
},
|
|
119
|
+
"database": {
|
|
120
|
+
"description": "Override database name (host/user/password come from MJ config).",
|
|
121
|
+
"name": "database",
|
|
122
|
+
"hasDynamicHelp": false,
|
|
123
|
+
"multiple": false,
|
|
124
|
+
"type": "option"
|
|
125
|
+
},
|
|
126
|
+
"out": {
|
|
127
|
+
"description": "Output directory. Filename is auto-generated.",
|
|
128
|
+
"name": "out",
|
|
129
|
+
"default": ".",
|
|
130
|
+
"hasDynamicHelp": false,
|
|
131
|
+
"multiple": false,
|
|
132
|
+
"type": "option"
|
|
133
|
+
},
|
|
134
|
+
"exclude-data": {
|
|
135
|
+
"description": "Comma-separated list of tables (schema-qualified or not) to skip data dump for.",
|
|
136
|
+
"name": "exclude-data",
|
|
137
|
+
"default": "",
|
|
138
|
+
"hasDynamicHelp": false,
|
|
139
|
+
"multiple": false,
|
|
140
|
+
"type": "option"
|
|
141
|
+
},
|
|
142
|
+
"batch-size": {
|
|
143
|
+
"description": "Rows per INSERT batch.",
|
|
144
|
+
"name": "batch-size",
|
|
145
|
+
"default": 1000,
|
|
146
|
+
"hasDynamicHelp": false,
|
|
147
|
+
"multiple": false,
|
|
148
|
+
"type": "option"
|
|
149
|
+
},
|
|
150
|
+
"no-data": {
|
|
151
|
+
"description": "Emit schema only, no data inserts.",
|
|
152
|
+
"name": "no-data",
|
|
153
|
+
"allowNo": false,
|
|
154
|
+
"type": "boolean"
|
|
155
|
+
},
|
|
156
|
+
"verbose": {
|
|
157
|
+
"description": "Print per-object progress.",
|
|
158
|
+
"name": "verbose",
|
|
159
|
+
"allowNo": false,
|
|
160
|
+
"type": "boolean"
|
|
161
|
+
},
|
|
162
|
+
"dry-run": {
|
|
163
|
+
"description": "Print to stdout instead of writing a file.",
|
|
164
|
+
"name": "dry-run",
|
|
165
|
+
"allowNo": false,
|
|
166
|
+
"type": "boolean"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"hasDynamicHelp": false,
|
|
170
|
+
"hiddenAliases": [],
|
|
171
|
+
"id": "baseline:build",
|
|
172
|
+
"pluginAlias": "@memberjunction/cli",
|
|
173
|
+
"pluginName": "@memberjunction/cli",
|
|
174
|
+
"pluginType": "core",
|
|
175
|
+
"strict": true,
|
|
176
|
+
"enableJsonFlag": false,
|
|
177
|
+
"isESM": true,
|
|
178
|
+
"relativePath": [
|
|
179
|
+
"dist",
|
|
180
|
+
"commands",
|
|
181
|
+
"baseline",
|
|
182
|
+
"build.js"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"baseline:compare": {
|
|
186
|
+
"aliases": [],
|
|
187
|
+
"args": {},
|
|
188
|
+
"description": "Deterministically compare two databases object-by-object and row-by-row.",
|
|
189
|
+
"examples": [
|
|
190
|
+
"<%= config.bin %> <%= command.id %> --left MJ_BL_Stack --right MJ_BL_New",
|
|
191
|
+
"<%= config.bin %> <%= command.id %> --left A --right B --row-compare counts",
|
|
192
|
+
"<%= config.bin %> <%= command.id %> --left A --right B --fail-on-diff --out ./diffs/"
|
|
193
|
+
],
|
|
194
|
+
"flags": {
|
|
195
|
+
"left": {
|
|
196
|
+
"description": "Left database name (override).",
|
|
197
|
+
"name": "left",
|
|
198
|
+
"required": true,
|
|
199
|
+
"hasDynamicHelp": false,
|
|
200
|
+
"multiple": false,
|
|
201
|
+
"type": "option"
|
|
202
|
+
},
|
|
203
|
+
"right": {
|
|
204
|
+
"description": "Right database name (override).",
|
|
205
|
+
"name": "right",
|
|
206
|
+
"required": true,
|
|
207
|
+
"hasDynamicHelp": false,
|
|
208
|
+
"multiple": false,
|
|
209
|
+
"type": "option"
|
|
210
|
+
},
|
|
211
|
+
"dialect": {
|
|
212
|
+
"description": "Dialect of both DBs (must match).",
|
|
213
|
+
"name": "dialect",
|
|
214
|
+
"default": "mssql",
|
|
215
|
+
"hasDynamicHelp": false,
|
|
216
|
+
"multiple": false,
|
|
217
|
+
"options": [
|
|
218
|
+
"mssql",
|
|
219
|
+
"postgres"
|
|
220
|
+
],
|
|
221
|
+
"type": "option"
|
|
222
|
+
},
|
|
223
|
+
"row-compare": {
|
|
224
|
+
"description": "Row comparison mode.",
|
|
225
|
+
"name": "row-compare",
|
|
226
|
+
"default": "full",
|
|
227
|
+
"hasDynamicHelp": false,
|
|
228
|
+
"multiple": false,
|
|
229
|
+
"options": [
|
|
230
|
+
"full",
|
|
231
|
+
"hash",
|
|
232
|
+
"counts",
|
|
233
|
+
"none"
|
|
234
|
+
],
|
|
235
|
+
"type": "option"
|
|
236
|
+
},
|
|
237
|
+
"row-hash-algo": {
|
|
238
|
+
"description": "Hash algorithm when --row-compare hash.",
|
|
239
|
+
"name": "row-hash-algo",
|
|
240
|
+
"default": "sha256",
|
|
241
|
+
"hasDynamicHelp": false,
|
|
242
|
+
"multiple": false,
|
|
243
|
+
"options": [
|
|
244
|
+
"sha256",
|
|
245
|
+
"md5",
|
|
246
|
+
"checksum_agg"
|
|
247
|
+
],
|
|
248
|
+
"type": "option"
|
|
249
|
+
},
|
|
250
|
+
"ignore": {
|
|
251
|
+
"description": "Regex of object names to skip.",
|
|
252
|
+
"name": "ignore",
|
|
253
|
+
"default": "^flyway_schema_history$",
|
|
254
|
+
"hasDynamicHelp": false,
|
|
255
|
+
"multiple": false,
|
|
256
|
+
"type": "option"
|
|
257
|
+
},
|
|
258
|
+
"sample-limit": {
|
|
259
|
+
"description": "Maximum row diffs to capture per table.",
|
|
260
|
+
"name": "sample-limit",
|
|
261
|
+
"default": 100,
|
|
262
|
+
"hasDynamicHelp": false,
|
|
263
|
+
"multiple": false,
|
|
264
|
+
"type": "option"
|
|
265
|
+
},
|
|
266
|
+
"out": {
|
|
267
|
+
"description": "Directory to write JSON + Markdown reports.",
|
|
268
|
+
"name": "out",
|
|
269
|
+
"hasDynamicHelp": false,
|
|
270
|
+
"multiple": false,
|
|
271
|
+
"type": "option"
|
|
272
|
+
},
|
|
273
|
+
"fail-on-diff": {
|
|
274
|
+
"description": "Exit non-zero if any diff is found.",
|
|
275
|
+
"name": "fail-on-diff",
|
|
276
|
+
"allowNo": false,
|
|
277
|
+
"type": "boolean"
|
|
278
|
+
},
|
|
279
|
+
"verbose": {
|
|
280
|
+
"description": "Print per-phase progress.",
|
|
281
|
+
"name": "verbose",
|
|
282
|
+
"allowNo": false,
|
|
283
|
+
"type": "boolean"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"hasDynamicHelp": false,
|
|
287
|
+
"hiddenAliases": [],
|
|
288
|
+
"id": "baseline:compare",
|
|
289
|
+
"pluginAlias": "@memberjunction/cli",
|
|
290
|
+
"pluginName": "@memberjunction/cli",
|
|
291
|
+
"pluginType": "core",
|
|
292
|
+
"strict": true,
|
|
293
|
+
"enableJsonFlag": false,
|
|
294
|
+
"isESM": true,
|
|
295
|
+
"relativePath": [
|
|
296
|
+
"dist",
|
|
297
|
+
"commands",
|
|
298
|
+
"baseline",
|
|
299
|
+
"compare.js"
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"baseline:roundtrip": {
|
|
303
|
+
"aliases": [],
|
|
304
|
+
"args": {},
|
|
305
|
+
"description": "Build a baseline from a V-stack database, apply it to a fresh DB, and prove byte-equivalence.",
|
|
306
|
+
"examples": [
|
|
307
|
+
"<%= config.bin %> <%= command.id %> --source MJ_BL_Stack --target MJ_BL_New # auto: within-major",
|
|
308
|
+
"<%= config.bin %> <%= command.id %> --baseline-version 6.0 --source MJ_BL_Stack --target MJ_BL_New # explicit major-boundary",
|
|
309
|
+
"<%= config.bin %> <%= command.id %> --source-dir ./migrations/v5 --source MJ_BL_Stack --target MJ_BL_New"
|
|
310
|
+
],
|
|
311
|
+
"flags": {
|
|
312
|
+
"baseline-version": {
|
|
313
|
+
"description": "Major.Minor version stamp. Omit to auto-detect from --source-dir (within-major rebaseline).",
|
|
314
|
+
"name": "baseline-version",
|
|
315
|
+
"hasDynamicHelp": false,
|
|
316
|
+
"multiple": false,
|
|
317
|
+
"type": "option"
|
|
318
|
+
},
|
|
319
|
+
"source-dir": {
|
|
320
|
+
"description": "Migrations source directory used to auto-detect baseline version + timestamp when --baseline-version is omitted. Defaults to the highest migrations/v*/ near cwd.",
|
|
321
|
+
"name": "source-dir",
|
|
322
|
+
"hasDynamicHelp": false,
|
|
323
|
+
"multiple": false,
|
|
324
|
+
"type": "option"
|
|
325
|
+
},
|
|
326
|
+
"description": {
|
|
327
|
+
"description": "Header description.",
|
|
328
|
+
"name": "description",
|
|
329
|
+
"default": "MemberJunction Baseline",
|
|
330
|
+
"hasDynamicHelp": false,
|
|
331
|
+
"multiple": false,
|
|
332
|
+
"type": "option"
|
|
333
|
+
},
|
|
334
|
+
"dialect": {
|
|
335
|
+
"description": "Dialect to test. PG path runs the converter via /pg-migrate first.",
|
|
336
|
+
"name": "dialect",
|
|
337
|
+
"default": "mssql",
|
|
338
|
+
"hasDynamicHelp": false,
|
|
339
|
+
"multiple": false,
|
|
340
|
+
"options": [
|
|
341
|
+
"mssql",
|
|
342
|
+
"postgres"
|
|
343
|
+
],
|
|
344
|
+
"type": "option"
|
|
345
|
+
},
|
|
346
|
+
"source": {
|
|
347
|
+
"description": "Database name with the V-stack already applied (used as comparison gold standard).",
|
|
348
|
+
"name": "source",
|
|
349
|
+
"required": true,
|
|
350
|
+
"hasDynamicHelp": false,
|
|
351
|
+
"multiple": false,
|
|
352
|
+
"type": "option"
|
|
353
|
+
},
|
|
354
|
+
"target": {
|
|
355
|
+
"description": "Empty database name to apply the new baseline to.",
|
|
356
|
+
"name": "target",
|
|
357
|
+
"required": true,
|
|
358
|
+
"hasDynamicHelp": false,
|
|
359
|
+
"multiple": false,
|
|
360
|
+
"type": "option"
|
|
361
|
+
},
|
|
362
|
+
"out": {
|
|
363
|
+
"description": "Output directory for baseline file + reports.",
|
|
364
|
+
"name": "out",
|
|
365
|
+
"default": ".",
|
|
366
|
+
"hasDynamicHelp": false,
|
|
367
|
+
"multiple": false,
|
|
368
|
+
"type": "option"
|
|
369
|
+
},
|
|
370
|
+
"apply-cmd": {
|
|
371
|
+
"description": "Command template to apply the baseline. Tokens: {file} {database}. Defaults to sqlcmd.",
|
|
372
|
+
"name": "apply-cmd",
|
|
373
|
+
"hasDynamicHelp": false,
|
|
374
|
+
"multiple": false,
|
|
375
|
+
"type": "option"
|
|
376
|
+
},
|
|
377
|
+
"row-compare": {
|
|
378
|
+
"description": "Row compare mode passed to the comparator.",
|
|
379
|
+
"name": "row-compare",
|
|
380
|
+
"default": "full",
|
|
381
|
+
"hasDynamicHelp": false,
|
|
382
|
+
"multiple": false,
|
|
383
|
+
"options": [
|
|
384
|
+
"full",
|
|
385
|
+
"hash",
|
|
386
|
+
"counts",
|
|
387
|
+
"none"
|
|
388
|
+
],
|
|
389
|
+
"type": "option"
|
|
390
|
+
},
|
|
391
|
+
"fail-on-diff": {
|
|
392
|
+
"name": "fail-on-diff",
|
|
393
|
+
"allowNo": false,
|
|
394
|
+
"type": "boolean"
|
|
395
|
+
},
|
|
396
|
+
"keep-target": {
|
|
397
|
+
"description": "Do not drop the target database after run (useful for debugging diffs).",
|
|
398
|
+
"name": "keep-target",
|
|
399
|
+
"allowNo": false,
|
|
400
|
+
"type": "boolean"
|
|
401
|
+
},
|
|
402
|
+
"verbose": {
|
|
403
|
+
"name": "verbose",
|
|
404
|
+
"allowNo": false,
|
|
405
|
+
"type": "boolean"
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"hasDynamicHelp": false,
|
|
409
|
+
"hiddenAliases": [],
|
|
410
|
+
"id": "baseline:roundtrip",
|
|
411
|
+
"pluginAlias": "@memberjunction/cli",
|
|
412
|
+
"pluginName": "@memberjunction/cli",
|
|
413
|
+
"pluginType": "core",
|
|
414
|
+
"strict": true,
|
|
415
|
+
"enableJsonFlag": false,
|
|
416
|
+
"isESM": true,
|
|
417
|
+
"relativePath": [
|
|
418
|
+
"dist",
|
|
419
|
+
"commands",
|
|
420
|
+
"baseline",
|
|
421
|
+
"roundtrip.js"
|
|
422
|
+
]
|
|
423
|
+
},
|
|
25
424
|
"app:check-updates": {
|
|
26
425
|
"aliases": [],
|
|
27
426
|
"args": {},
|
|
@@ -338,54 +737,65 @@
|
|
|
338
737
|
"upgrade.js"
|
|
339
738
|
]
|
|
340
739
|
},
|
|
341
|
-
"
|
|
740
|
+
"bump": {
|
|
342
741
|
"aliases": [],
|
|
343
742
|
"args": {},
|
|
344
|
-
"description": "
|
|
743
|
+
"description": "Bumps MemberJunction dependency versions",
|
|
345
744
|
"examples": [
|
|
346
|
-
|
|
347
|
-
|
|
745
|
+
{
|
|
746
|
+
"command": "<%= config.bin %> <%= command.id %>",
|
|
747
|
+
"description": "Bump all @memberjunction/* dependencies in the current directory's package.json to the CLI version"
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"command": "<%= config.bin %> <%= command.id %> -rdv",
|
|
751
|
+
"description": "Preview all recursive packages bumps without writing any changes."
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"command": "<%= config.bin %> <%= command.id %> -rqt v2.10.0 | xargs -n1 -I{} npm install --prefix {}",
|
|
755
|
+
"description": "Recursively bump all @memberjunction/* dependencies in all packages to version v2.10.0 and output only the paths containing the updated package.json files. Pipe the output to xargs to run npm install in each directory and update the package-lock.json files as well."
|
|
756
|
+
}
|
|
348
757
|
],
|
|
349
758
|
"flags": {
|
|
350
|
-
"
|
|
351
|
-
"
|
|
352
|
-
"
|
|
353
|
-
"
|
|
354
|
-
"
|
|
355
|
-
"type": "
|
|
759
|
+
"verbose": {
|
|
760
|
+
"char": "v",
|
|
761
|
+
"description": "Enable additional logging",
|
|
762
|
+
"name": "verbose",
|
|
763
|
+
"allowNo": false,
|
|
764
|
+
"type": "boolean"
|
|
356
765
|
},
|
|
357
|
-
"
|
|
358
|
-
"
|
|
359
|
-
"
|
|
360
|
-
"
|
|
361
|
-
"
|
|
362
|
-
"type": "
|
|
766
|
+
"recursive": {
|
|
767
|
+
"char": "r",
|
|
768
|
+
"description": "Bump version in current directory and all subdirectories",
|
|
769
|
+
"name": "recursive",
|
|
770
|
+
"allowNo": false,
|
|
771
|
+
"type": "boolean"
|
|
363
772
|
},
|
|
364
|
-
"
|
|
365
|
-
"
|
|
366
|
-
"
|
|
367
|
-
"
|
|
773
|
+
"tag": {
|
|
774
|
+
"char": "t",
|
|
775
|
+
"description": "Version tag to bump target for bump (e.g. v2.10.0), defaults to the CLI version",
|
|
776
|
+
"name": "tag",
|
|
368
777
|
"hasDynamicHelp": false,
|
|
369
778
|
"multiple": false,
|
|
370
779
|
"type": "option"
|
|
371
780
|
},
|
|
372
|
-
"
|
|
373
|
-
"
|
|
374
|
-
"
|
|
781
|
+
"quiet": {
|
|
782
|
+
"char": "q",
|
|
783
|
+
"description": "Only output paths for updated packages",
|
|
784
|
+
"name": "quiet",
|
|
375
785
|
"allowNo": false,
|
|
376
786
|
"type": "boolean"
|
|
377
787
|
},
|
|
378
|
-
"
|
|
379
|
-
"char": "
|
|
380
|
-
"description": "
|
|
381
|
-
"name": "
|
|
788
|
+
"dry": {
|
|
789
|
+
"char": "d",
|
|
790
|
+
"description": "Dry run, do not write changes to package.json files",
|
|
791
|
+
"name": "dry",
|
|
382
792
|
"allowNo": false,
|
|
383
793
|
"type": "boolean"
|
|
384
794
|
}
|
|
385
795
|
},
|
|
386
796
|
"hasDynamicHelp": false,
|
|
387
797
|
"hiddenAliases": [],
|
|
388
|
-
"id": "
|
|
798
|
+
"id": "bump",
|
|
389
799
|
"pluginAlias": "@memberjunction/cli",
|
|
390
800
|
"pluginName": "@memberjunction/cli",
|
|
391
801
|
"pluginType": "core",
|
|
@@ -395,96 +805,77 @@
|
|
|
395
805
|
"relativePath": [
|
|
396
806
|
"dist",
|
|
397
807
|
"commands",
|
|
398
|
-
"
|
|
399
|
-
"
|
|
808
|
+
"bump",
|
|
809
|
+
"index.js"
|
|
400
810
|
]
|
|
401
811
|
},
|
|
402
|
-
"
|
|
812
|
+
"bundle": {
|
|
403
813
|
"aliases": [],
|
|
404
814
|
"args": {},
|
|
405
|
-
"description": "
|
|
815
|
+
"description": "Create a self-contained MemberJunction distribution zip for offline/air-gapped installs",
|
|
406
816
|
"examples": [
|
|
407
|
-
"<%= config.bin %> <%= command.id %> --out ./
|
|
408
|
-
"<%= config.bin %> <%= command.id %> --
|
|
409
|
-
"<%= config.bin %> <%= command.id %> --
|
|
410
|
-
"<%= config.bin %> <%= command.id %> --
|
|
817
|
+
"<%= config.bin %> <%= command.id %> --out ./mj-install.zip",
|
|
818
|
+
"<%= config.bin %> <%= command.id %> --tag v5.38.0 --out ./mj-install.zip",
|
|
819
|
+
"<%= config.bin %> <%= command.id %> --source . --out ./mj-install.zip",
|
|
820
|
+
"<%= config.bin %> <%= command.id %> --tag v5.38.0 --with-migrations --out ./mj-install.zip",
|
|
821
|
+
"<%= config.bin %> <%= command.id %> --with-migrations --db-platform postgresql --out ./mj-install.zip"
|
|
411
822
|
],
|
|
412
823
|
"flags": {
|
|
413
|
-
"
|
|
414
|
-
"
|
|
415
|
-
"
|
|
416
|
-
"
|
|
417
|
-
"
|
|
418
|
-
"type": "option"
|
|
419
|
-
},
|
|
420
|
-
"source-dir": {
|
|
421
|
-
"description": "Migrations source directory (e.g. ./migrations/v5). Used to auto-detect the next baseline version + timestamp when --baseline-version is omitted. Defaults to the highest migrations/v*/ directory walked up from cwd.",
|
|
422
|
-
"name": "source-dir",
|
|
423
|
-
"hasDynamicHelp": false,
|
|
424
|
-
"multiple": false,
|
|
425
|
-
"type": "option"
|
|
426
|
-
},
|
|
427
|
-
"description": {
|
|
428
|
-
"description": "Human-readable description embedded in the file header.",
|
|
429
|
-
"name": "description",
|
|
430
|
-
"default": "MemberJunction Baseline",
|
|
431
|
-
"hasDynamicHelp": false,
|
|
432
|
-
"multiple": false,
|
|
433
|
-
"type": "option"
|
|
434
|
-
},
|
|
435
|
-
"database": {
|
|
436
|
-
"description": "Override database name (host/user/password come from MJ config).",
|
|
437
|
-
"name": "database",
|
|
824
|
+
"out": {
|
|
825
|
+
"char": "o",
|
|
826
|
+
"description": "Output zip path",
|
|
827
|
+
"name": "out",
|
|
828
|
+
"required": true,
|
|
438
829
|
"hasDynamicHelp": false,
|
|
439
830
|
"multiple": false,
|
|
440
831
|
"type": "option"
|
|
441
832
|
},
|
|
442
|
-
"
|
|
443
|
-
"
|
|
444
|
-
"
|
|
445
|
-
"
|
|
833
|
+
"tag": {
|
|
834
|
+
"char": "t",
|
|
835
|
+
"description": "Release tag to bundle (e.g. v5.38.0). Defaults to the latest branch tip.",
|
|
836
|
+
"name": "tag",
|
|
446
837
|
"hasDynamicHelp": false,
|
|
447
838
|
"multiple": false,
|
|
448
839
|
"type": "option"
|
|
449
840
|
},
|
|
450
|
-
"
|
|
451
|
-
"description": "
|
|
452
|
-
"name": "
|
|
453
|
-
"default": "",
|
|
841
|
+
"source": {
|
|
842
|
+
"description": "Bundle from a local working-tree directory instead of fetching from the repo",
|
|
843
|
+
"name": "source",
|
|
454
844
|
"hasDynamicHelp": false,
|
|
455
845
|
"multiple": false,
|
|
456
846
|
"type": "option"
|
|
457
847
|
},
|
|
458
|
-
"
|
|
459
|
-
"description": "
|
|
460
|
-
"name": "
|
|
461
|
-
"
|
|
848
|
+
"with-migrations": {
|
|
849
|
+
"description": "Include the migration tree(s) so an air-gapped \"mj migrate\" can run offline. Ships both SQL Server and PostgreSQL trees by default.",
|
|
850
|
+
"name": "with-migrations",
|
|
851
|
+
"allowNo": false,
|
|
852
|
+
"type": "boolean"
|
|
853
|
+
},
|
|
854
|
+
"db-platform": {
|
|
855
|
+
"dependsOn": [
|
|
856
|
+
"with-migrations"
|
|
857
|
+
],
|
|
858
|
+
"description": "With --with-migrations, ship only this platform's migration tree instead of both",
|
|
859
|
+
"name": "db-platform",
|
|
462
860
|
"hasDynamicHelp": false,
|
|
463
861
|
"multiple": false,
|
|
862
|
+
"options": [
|
|
863
|
+
"sqlserver",
|
|
864
|
+
"postgresql"
|
|
865
|
+
],
|
|
464
866
|
"type": "option"
|
|
465
867
|
},
|
|
466
|
-
"no-data": {
|
|
467
|
-
"description": "Emit schema only, no data inserts.",
|
|
468
|
-
"name": "no-data",
|
|
469
|
-
"allowNo": false,
|
|
470
|
-
"type": "boolean"
|
|
471
|
-
},
|
|
472
868
|
"verbose": {
|
|
473
|
-
"
|
|
869
|
+
"char": "v",
|
|
870
|
+
"description": "Show detailed output",
|
|
474
871
|
"name": "verbose",
|
|
475
872
|
"allowNo": false,
|
|
476
873
|
"type": "boolean"
|
|
477
|
-
},
|
|
478
|
-
"dry-run": {
|
|
479
|
-
"description": "Print to stdout instead of writing a file.",
|
|
480
|
-
"name": "dry-run",
|
|
481
|
-
"allowNo": false,
|
|
482
|
-
"type": "boolean"
|
|
483
874
|
}
|
|
484
875
|
},
|
|
485
876
|
"hasDynamicHelp": false,
|
|
486
877
|
"hiddenAliases": [],
|
|
487
|
-
"id": "
|
|
878
|
+
"id": "bundle",
|
|
488
879
|
"pluginAlias": "@memberjunction/cli",
|
|
489
880
|
"pluginName": "@memberjunction/cli",
|
|
490
881
|
"pluginType": "core",
|
|
@@ -494,106 +885,96 @@
|
|
|
494
885
|
"relativePath": [
|
|
495
886
|
"dist",
|
|
496
887
|
"commands",
|
|
497
|
-
"
|
|
498
|
-
"
|
|
888
|
+
"bundle",
|
|
889
|
+
"index.js"
|
|
499
890
|
]
|
|
500
891
|
},
|
|
501
|
-
"
|
|
892
|
+
"clean": {
|
|
502
893
|
"aliases": [],
|
|
503
894
|
"args": {},
|
|
504
|
-
"description": "
|
|
895
|
+
"description": "Resets the MemberJunction database to a pre-installation state",
|
|
505
896
|
"examples": [
|
|
506
|
-
"<%= config.bin %> <%= command.id
|
|
507
|
-
"<%= config.bin %> <%= command.id %> --left A --right B --row-compare counts",
|
|
508
|
-
"<%= config.bin %> <%= command.id %> --left A --right B --fail-on-diff --out ./diffs/"
|
|
897
|
+
"<%= config.bin %> <%= command.id %>\n"
|
|
509
898
|
],
|
|
510
899
|
"flags": {
|
|
511
|
-
"
|
|
512
|
-
"
|
|
513
|
-
"
|
|
514
|
-
"
|
|
515
|
-
"
|
|
516
|
-
"
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
900
|
+
"verbose": {
|
|
901
|
+
"char": "v",
|
|
902
|
+
"description": "Enable additional logging",
|
|
903
|
+
"name": "verbose",
|
|
904
|
+
"allowNo": false,
|
|
905
|
+
"type": "boolean"
|
|
906
|
+
}
|
|
907
|
+
},
|
|
908
|
+
"hasDynamicHelp": false,
|
|
909
|
+
"hiddenAliases": [],
|
|
910
|
+
"id": "clean",
|
|
911
|
+
"pluginAlias": "@memberjunction/cli",
|
|
912
|
+
"pluginName": "@memberjunction/cli",
|
|
913
|
+
"pluginType": "core",
|
|
914
|
+
"strict": true,
|
|
915
|
+
"enableJsonFlag": false,
|
|
916
|
+
"isESM": true,
|
|
917
|
+
"relativePath": [
|
|
918
|
+
"dist",
|
|
919
|
+
"commands",
|
|
920
|
+
"clean",
|
|
921
|
+
"index.js"
|
|
922
|
+
]
|
|
923
|
+
},
|
|
924
|
+
"codegen:5-0-fix-entity-names": {
|
|
925
|
+
"aliases": [],
|
|
926
|
+
"args": {},
|
|
927
|
+
"description": "[v5.0 Migration] Scan TypeScript files for entity names AND class names that need updating.\n\nThree strategies are applied:\n 1. Class name renames (regex) — ActionEntity -> MJActionEntity, ActionSchema -> MJActionSchema,\n ActionEntityExtended -> MJActionEntityExtended (extended subclasses),\n ActionEntityServerEntity -> MJActionEntityServer (server subclass suffix standardization),\n ActionFormComponentExtended -> MJActionFormComponentExtended (Angular form components).\n Explicit subclass mappings (57 entries from subclass-rename-map.json) take priority over\n auto-generated suffix rules, enabling suffix changes (e.g., _Server -> Server, ServerEntity -> Server).\n 2. Multi-word entity name renames (regex) — 'AI Models' -> 'MJ: AI Models'\n 3. Single-word entity name renames (AST) — 'Actions' -> 'MJ: Actions' in GetEntityObject, OpenEntityRecord,\n navigateToEntity, EntityName: assignments, .Name === comparisons, @RegisterClass decorators.\n\nThe rename map (272 entity entries + 57 subclass entries) is built from entity_subclasses.ts @RegisterClass\ndecorators plus embedded rename maps. Runs in dry-run mode by default; use --fix to apply.",
|
|
928
|
+
"examples": [
|
|
929
|
+
{
|
|
930
|
+
"description": "Dry-run scan of the packages directory",
|
|
931
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/"
|
|
538
932
|
},
|
|
539
|
-
|
|
540
|
-
"description": "
|
|
541
|
-
"
|
|
542
|
-
"default": "full",
|
|
543
|
-
"hasDynamicHelp": false,
|
|
544
|
-
"multiple": false,
|
|
545
|
-
"options": [
|
|
546
|
-
"full",
|
|
547
|
-
"hash",
|
|
548
|
-
"counts",
|
|
549
|
-
"none"
|
|
550
|
-
],
|
|
551
|
-
"type": "option"
|
|
933
|
+
{
|
|
934
|
+
"description": "Scan a single file",
|
|
935
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/Explorer/dashboards/src/Actions/components/actions-overview.component.ts"
|
|
552
936
|
},
|
|
553
|
-
|
|
554
|
-
"description": "
|
|
555
|
-
"
|
|
556
|
-
"default": "sha256",
|
|
557
|
-
"hasDynamicHelp": false,
|
|
558
|
-
"multiple": false,
|
|
559
|
-
"options": [
|
|
560
|
-
"sha256",
|
|
561
|
-
"md5",
|
|
562
|
-
"checksum_agg"
|
|
563
|
-
],
|
|
564
|
-
"type": "option"
|
|
937
|
+
{
|
|
938
|
+
"description": "Apply fixes across the codebase",
|
|
939
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/ --fix"
|
|
565
940
|
},
|
|
566
|
-
|
|
567
|
-
"description": "
|
|
568
|
-
"
|
|
569
|
-
|
|
941
|
+
{
|
|
942
|
+
"description": "Quiet mode (summary only)",
|
|
943
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/ -q"
|
|
944
|
+
}
|
|
945
|
+
],
|
|
946
|
+
"flags": {
|
|
947
|
+
"path": {
|
|
948
|
+
"char": "p",
|
|
949
|
+
"description": "File or directory to scan. Accepts a single .ts file or a directory (scanned recursively). Defaults to the current working directory.",
|
|
950
|
+
"name": "path",
|
|
570
951
|
"hasDynamicHelp": false,
|
|
571
952
|
"multiple": false,
|
|
572
953
|
"type": "option"
|
|
573
954
|
},
|
|
574
|
-
"
|
|
575
|
-
"description": "
|
|
576
|
-
"name": "
|
|
577
|
-
"
|
|
578
|
-
"
|
|
579
|
-
"multiple": false,
|
|
580
|
-
"type": "option"
|
|
955
|
+
"fix": {
|
|
956
|
+
"description": "Apply fixes in place. Without this flag, the command runs in dry-run mode and only reports findings.",
|
|
957
|
+
"name": "fix",
|
|
958
|
+
"allowNo": false,
|
|
959
|
+
"type": "boolean"
|
|
581
960
|
},
|
|
582
|
-
"
|
|
583
|
-
"description": "
|
|
584
|
-
"name": "
|
|
961
|
+
"entity-subclasses": {
|
|
962
|
+
"description": "Explicit path to entity_subclasses.ts for building the rename map. If omitted, the tool searches common locations relative to the target path.",
|
|
963
|
+
"name": "entity-subclasses",
|
|
585
964
|
"hasDynamicHelp": false,
|
|
586
965
|
"multiple": false,
|
|
587
966
|
"type": "option"
|
|
588
967
|
},
|
|
589
|
-
"
|
|
590
|
-
"
|
|
591
|
-
"
|
|
968
|
+
"quiet": {
|
|
969
|
+
"char": "q",
|
|
970
|
+
"description": "Suppress detailed per-file output; only show the final summary counts.",
|
|
971
|
+
"name": "quiet",
|
|
592
972
|
"allowNo": false,
|
|
593
973
|
"type": "boolean"
|
|
594
974
|
},
|
|
595
975
|
"verbose": {
|
|
596
|
-
"
|
|
976
|
+
"char": "v",
|
|
977
|
+
"description": "Show detailed progress including each file being scanned.",
|
|
597
978
|
"name": "verbose",
|
|
598
979
|
"allowNo": false,
|
|
599
980
|
"type": "boolean"
|
|
@@ -601,7 +982,7 @@
|
|
|
601
982
|
},
|
|
602
983
|
"hasDynamicHelp": false,
|
|
603
984
|
"hiddenAliases": [],
|
|
604
|
-
"id": "
|
|
985
|
+
"id": "codegen:5-0-fix-entity-names",
|
|
605
986
|
"pluginAlias": "@memberjunction/cli",
|
|
606
987
|
"pluginName": "@memberjunction/cli",
|
|
607
988
|
"pluginType": "core",
|
|
@@ -611,111 +992,64 @@
|
|
|
611
992
|
"relativePath": [
|
|
612
993
|
"dist",
|
|
613
994
|
"commands",
|
|
614
|
-
"
|
|
615
|
-
"
|
|
995
|
+
"codegen",
|
|
996
|
+
"5-0-fix-entity-names.js"
|
|
616
997
|
]
|
|
617
998
|
},
|
|
618
|
-
"
|
|
999
|
+
"codegen:5-0-fix-html-entity-names": {
|
|
619
1000
|
"aliases": [],
|
|
620
1001
|
"args": {},
|
|
621
|
-
"description": "
|
|
1002
|
+
"description": "[v5.0 Migration] Scan Angular HTML template files for hardcoded entity names that need \"MJ: \" prefix updates.\n\nUses targeted regex patterns to find entity name references in template expressions\nand attribute values. Detects method calls like navigateToEntity('Actions'),\nOpenEntityRecord('Entities', id), and attribute values like RowsEntityName=\"Users\".\nRuns in dry-run mode by default; use --fix to apply.\n\nThe rename map is built dynamically from entity_subclasses.ts by parsing all\n@RegisterClass(BaseEntity, 'MJ: XYZ') decorators (~272 entries).",
|
|
622
1003
|
"examples": [
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
],
|
|
627
|
-
"flags": {
|
|
628
|
-
"baseline-version": {
|
|
629
|
-
"description": "Major.Minor version stamp. Omit to auto-detect from --source-dir (within-major rebaseline).",
|
|
630
|
-
"name": "baseline-version",
|
|
631
|
-
"hasDynamicHelp": false,
|
|
632
|
-
"multiple": false,
|
|
633
|
-
"type": "option"
|
|
634
|
-
},
|
|
635
|
-
"source-dir": {
|
|
636
|
-
"description": "Migrations source directory used to auto-detect baseline version + timestamp when --baseline-version is omitted. Defaults to the highest migrations/v*/ near cwd.",
|
|
637
|
-
"name": "source-dir",
|
|
638
|
-
"hasDynamicHelp": false,
|
|
639
|
-
"multiple": false,
|
|
640
|
-
"type": "option"
|
|
641
|
-
},
|
|
642
|
-
"description": {
|
|
643
|
-
"description": "Header description.",
|
|
644
|
-
"name": "description",
|
|
645
|
-
"default": "MemberJunction Baseline",
|
|
646
|
-
"hasDynamicHelp": false,
|
|
647
|
-
"multiple": false,
|
|
648
|
-
"type": "option"
|
|
649
|
-
},
|
|
650
|
-
"dialect": {
|
|
651
|
-
"description": "Dialect to test. PG path runs the converter via /pg-migrate first.",
|
|
652
|
-
"name": "dialect",
|
|
653
|
-
"default": "mssql",
|
|
654
|
-
"hasDynamicHelp": false,
|
|
655
|
-
"multiple": false,
|
|
656
|
-
"options": [
|
|
657
|
-
"mssql",
|
|
658
|
-
"postgres"
|
|
659
|
-
],
|
|
660
|
-
"type": "option"
|
|
1004
|
+
{
|
|
1005
|
+
"description": "Dry-run scan of Angular templates",
|
|
1006
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/"
|
|
661
1007
|
},
|
|
662
|
-
|
|
663
|
-
"description": "
|
|
664
|
-
"
|
|
665
|
-
"required": true,
|
|
666
|
-
"hasDynamicHelp": false,
|
|
667
|
-
"multiple": false,
|
|
668
|
-
"type": "option"
|
|
1008
|
+
{
|
|
1009
|
+
"description": "Apply fixes to HTML templates",
|
|
1010
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/ --fix"
|
|
669
1011
|
},
|
|
670
|
-
|
|
671
|
-
"description": "
|
|
672
|
-
"
|
|
673
|
-
"required": true,
|
|
674
|
-
"hasDynamicHelp": false,
|
|
675
|
-
"multiple": false,
|
|
676
|
-
"type": "option"
|
|
1012
|
+
{
|
|
1013
|
+
"description": "Scan with verbose output",
|
|
1014
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/ -v"
|
|
677
1015
|
},
|
|
678
|
-
|
|
679
|
-
"description": "
|
|
680
|
-
"
|
|
681
|
-
|
|
1016
|
+
{
|
|
1017
|
+
"description": "Scan a single template file",
|
|
1018
|
+
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/Explorer/dashboards/src/Actions/actions-dashboard.component.html"
|
|
1019
|
+
}
|
|
1020
|
+
],
|
|
1021
|
+
"flags": {
|
|
1022
|
+
"path": {
|
|
1023
|
+
"char": "p",
|
|
1024
|
+
"description": "File or directory to scan. Accepts a single .html file or a directory (scanned recursively). Defaults to the current working directory.",
|
|
1025
|
+
"name": "path",
|
|
682
1026
|
"hasDynamicHelp": false,
|
|
683
1027
|
"multiple": false,
|
|
684
1028
|
"type": "option"
|
|
685
1029
|
},
|
|
686
|
-
"
|
|
687
|
-
"description": "
|
|
688
|
-
"name": "
|
|
689
|
-
"
|
|
690
|
-
"
|
|
691
|
-
"type": "option"
|
|
1030
|
+
"fix": {
|
|
1031
|
+
"description": "Apply fixes in place. Without this flag, the command runs in dry-run mode and only reports findings.",
|
|
1032
|
+
"name": "fix",
|
|
1033
|
+
"allowNo": false,
|
|
1034
|
+
"type": "boolean"
|
|
692
1035
|
},
|
|
693
|
-
"
|
|
694
|
-
"description": "
|
|
695
|
-
"name": "
|
|
696
|
-
"default": "full",
|
|
1036
|
+
"entity-subclasses": {
|
|
1037
|
+
"description": "Explicit path to entity_subclasses.ts for building the rename map. If omitted, the tool searches common locations relative to the target path.",
|
|
1038
|
+
"name": "entity-subclasses",
|
|
697
1039
|
"hasDynamicHelp": false,
|
|
698
1040
|
"multiple": false,
|
|
699
|
-
"options": [
|
|
700
|
-
"full",
|
|
701
|
-
"hash",
|
|
702
|
-
"counts",
|
|
703
|
-
"none"
|
|
704
|
-
],
|
|
705
1041
|
"type": "option"
|
|
706
1042
|
},
|
|
707
|
-
"
|
|
708
|
-
"
|
|
709
|
-
"
|
|
710
|
-
"
|
|
711
|
-
},
|
|
712
|
-
"keep-target": {
|
|
713
|
-
"description": "Do not drop the target database after run (useful for debugging diffs).",
|
|
714
|
-
"name": "keep-target",
|
|
1043
|
+
"quiet": {
|
|
1044
|
+
"char": "q",
|
|
1045
|
+
"description": "Suppress detailed per-file output; only show the final summary counts.",
|
|
1046
|
+
"name": "quiet",
|
|
715
1047
|
"allowNo": false,
|
|
716
1048
|
"type": "boolean"
|
|
717
1049
|
},
|
|
718
1050
|
"verbose": {
|
|
1051
|
+
"char": "v",
|
|
1052
|
+
"description": "Show detailed progress including each file being scanned.",
|
|
719
1053
|
"name": "verbose",
|
|
720
1054
|
"allowNo": false,
|
|
721
1055
|
"type": "boolean"
|
|
@@ -723,7 +1057,7 @@
|
|
|
723
1057
|
},
|
|
724
1058
|
"hasDynamicHelp": false,
|
|
725
1059
|
"hiddenAliases": [],
|
|
726
|
-
"id": "
|
|
1060
|
+
"id": "codegen:5-0-fix-html-entity-names",
|
|
727
1061
|
"pluginAlias": "@memberjunction/cli",
|
|
728
1062
|
"pluginName": "@memberjunction/cli",
|
|
729
1063
|
"pluginType": "core",
|
|
@@ -733,69 +1067,72 @@
|
|
|
733
1067
|
"relativePath": [
|
|
734
1068
|
"dist",
|
|
735
1069
|
"commands",
|
|
736
|
-
"
|
|
737
|
-
"
|
|
1070
|
+
"codegen",
|
|
1071
|
+
"5-0-fix-html-entity-names.js"
|
|
738
1072
|
]
|
|
739
1073
|
},
|
|
740
|
-
"
|
|
1074
|
+
"codegen:5-0-fix-metadata-names": {
|
|
741
1075
|
"aliases": [],
|
|
742
1076
|
"args": {},
|
|
743
|
-
"description": "
|
|
1077
|
+
"description": "[v5.0 Migration] Scan metadata JSON files for entity names that need \"MJ: \" prefix updates.\n\nTargets the metadata/ directory used by \"mj sync\". Detects entity name references in\n@lookup: directives (both the entity name and lookup value), .mj-sync.json and\n.mj-folder.json config files (entity/entityName fields), relatedEntities object keys,\nand fields.Name values in Entities-managing folders. Runs in dry-run mode by default;\nuse --fix to apply.\n\nThe rename map is built dynamically from entity_subclasses.ts by parsing all\n@RegisterClass(BaseEntity, 'MJ: XYZ') decorators (~272 entries).",
|
|
744
1078
|
"examples": [
|
|
745
1079
|
{
|
|
746
|
-
"
|
|
747
|
-
"
|
|
1080
|
+
"description": "Dry-run scan of the metadata directory",
|
|
1081
|
+
"command": "<%= config.bin %> <%= command.id %> --path metadata/"
|
|
748
1082
|
},
|
|
749
1083
|
{
|
|
750
|
-
"
|
|
751
|
-
"
|
|
1084
|
+
"description": "Apply fixes to metadata files",
|
|
1085
|
+
"command": "<%= config.bin %> <%= command.id %> --path metadata/ --fix"
|
|
752
1086
|
},
|
|
753
1087
|
{
|
|
754
|
-
"
|
|
755
|
-
"
|
|
1088
|
+
"description": "Scan a specific subdirectory",
|
|
1089
|
+
"command": "<%= config.bin %> <%= command.id %> --path metadata/resource-types"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"description": "Scan and fix a single metadata file",
|
|
1093
|
+
"command": "<%= config.bin %> <%= command.id %> --path metadata/entities/.audit-related-entities.json --fix"
|
|
756
1094
|
}
|
|
757
1095
|
],
|
|
758
1096
|
"flags": {
|
|
759
|
-
"
|
|
760
|
-
"char": "
|
|
761
|
-
"description": "
|
|
762
|
-
"name": "
|
|
763
|
-
"
|
|
764
|
-
"
|
|
1097
|
+
"path": {
|
|
1098
|
+
"char": "p",
|
|
1099
|
+
"description": "File or directory to scan. Accepts a single .json file or a directory (scanned recursively, including dotfiles like .mj-sync.json). Defaults to the current working directory.",
|
|
1100
|
+
"name": "path",
|
|
1101
|
+
"hasDynamicHelp": false,
|
|
1102
|
+
"multiple": false,
|
|
1103
|
+
"type": "option"
|
|
765
1104
|
},
|
|
766
|
-
"
|
|
767
|
-
"
|
|
768
|
-
"
|
|
769
|
-
"name": "recursive",
|
|
1105
|
+
"fix": {
|
|
1106
|
+
"description": "Apply fixes in place. Without this flag, the command runs in dry-run mode and only reports findings.",
|
|
1107
|
+
"name": "fix",
|
|
770
1108
|
"allowNo": false,
|
|
771
1109
|
"type": "boolean"
|
|
772
1110
|
},
|
|
773
|
-
"
|
|
774
|
-
"
|
|
775
|
-
"
|
|
776
|
-
"name": "tag",
|
|
1111
|
+
"entity-subclasses": {
|
|
1112
|
+
"description": "Explicit path to entity_subclasses.ts for building the rename map. If omitted, the tool searches common locations relative to the target path.",
|
|
1113
|
+
"name": "entity-subclasses",
|
|
777
1114
|
"hasDynamicHelp": false,
|
|
778
1115
|
"multiple": false,
|
|
779
1116
|
"type": "option"
|
|
780
1117
|
},
|
|
781
1118
|
"quiet": {
|
|
782
1119
|
"char": "q",
|
|
783
|
-
"description": "
|
|
1120
|
+
"description": "Suppress detailed per-file output; only show the final summary counts.",
|
|
784
1121
|
"name": "quiet",
|
|
785
1122
|
"allowNo": false,
|
|
786
1123
|
"type": "boolean"
|
|
787
1124
|
},
|
|
788
|
-
"
|
|
789
|
-
"char": "
|
|
790
|
-
"description": "
|
|
791
|
-
"name": "
|
|
1125
|
+
"verbose": {
|
|
1126
|
+
"char": "v",
|
|
1127
|
+
"description": "Show detailed progress including each file being scanned.",
|
|
1128
|
+
"name": "verbose",
|
|
792
1129
|
"allowNo": false,
|
|
793
1130
|
"type": "boolean"
|
|
794
1131
|
}
|
|
795
1132
|
},
|
|
796
1133
|
"hasDynamicHelp": false,
|
|
797
1134
|
"hiddenAliases": [],
|
|
798
|
-
"id": "
|
|
1135
|
+
"id": "codegen:5-0-fix-metadata-names",
|
|
799
1136
|
"pluginAlias": "@memberjunction/cli",
|
|
800
1137
|
"pluginName": "@memberjunction/cli",
|
|
801
1138
|
"pluginType": "core",
|
|
@@ -805,109 +1142,175 @@
|
|
|
805
1142
|
"relativePath": [
|
|
806
1143
|
"dist",
|
|
807
1144
|
"commands",
|
|
808
|
-
"
|
|
1145
|
+
"codegen",
|
|
1146
|
+
"5-0-fix-metadata-names.js"
|
|
1147
|
+
]
|
|
1148
|
+
},
|
|
1149
|
+
"codegen": {
|
|
1150
|
+
"aliases": [],
|
|
1151
|
+
"args": {},
|
|
1152
|
+
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your SQL Server database schema, updates MemberJunction metadata, and\ngenerates synchronized code across the entire stack:\n\n - SQL views, stored procedures, indexes, and permissions\n - TypeScript entity classes with Zod validation schemas\n - Angular form components with AI-driven layouts\n - GraphQL resolvers and type definitions\n - Action subclasses and DB schema JSON\n\nConfiguration is loaded from mj.config.cjs in the current directory (or parent\ndirectories). Database connection can also be set via environment variables:\nDB_HOST, DB_DATABASE, CODEGEN_DB_USERNAME, CODEGEN_DB_PASSWORD.\n\nUse --skipdb to skip all database operations (metadata sync, SQL object\ngeneration) and only regenerate TypeScript, Angular, and GraphQL output from\nexisting metadata.\n\nUse --skipfiles to skip all file-generation operations (TypeScript entities,\nAngular components, GraphQL resolvers, action subclasses, DB schema JSON) and\nonly run database-side operations (metadata sync, SQL object generation,\npermissions, custom SQL scripts).\n\n--skipdb and --skipfiles are independent and can be combined in any mix.\n\nUse --force-advanced-gen to bypass Pass 2 entity scoping and re-run the LLM-driven\nadvanced generation (smart fields, form layout) for ALL entities. Useful when AI\nprompts have changed and you want unchanged entities re-evaluated.",
|
|
1153
|
+
"examples": [
|
|
1154
|
+
{
|
|
1155
|
+
"command": "<%= config.bin %> <%= command.id %>",
|
|
1156
|
+
"description": "Run the full code generation pipeline"
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"command": "<%= config.bin %> <%= command.id %> --skipdb",
|
|
1160
|
+
"description": "Regenerate code files without touching the database"
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
"command": "<%= config.bin %> <%= command.id %> --skipfiles",
|
|
1164
|
+
"description": "Run database-side operations only, without regenerating any code files"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"command": "<%= config.bin %> <%= command.id %> --force-advanced-gen",
|
|
1168
|
+
"description": "Re-run advanced generation for all entities (bypasses changed-entity scoping)"
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
"flags": {
|
|
1172
|
+
"skipdb": {
|
|
1173
|
+
"description": "Skip database operations (metadata sync, SQL generation). Only regenerate TypeScript entities, Angular components, and GraphQL resolvers from existing metadata.",
|
|
1174
|
+
"name": "skipdb",
|
|
1175
|
+
"allowNo": false,
|
|
1176
|
+
"type": "boolean"
|
|
1177
|
+
},
|
|
1178
|
+
"skipfiles": {
|
|
1179
|
+
"description": "Skip file-generation operations (TypeScript entities, Angular components, GraphQL resolvers, action subclasses, DB schema JSON). Only run database-side operations.",
|
|
1180
|
+
"name": "skipfiles",
|
|
1181
|
+
"allowNo": false,
|
|
1182
|
+
"type": "boolean"
|
|
1183
|
+
},
|
|
1184
|
+
"force-advanced-gen": {
|
|
1185
|
+
"description": "Bypass entity scoping in Pass 2 and force advanced generation to re-run for all entities. Used when AI prompts have changed and unchanged entities should be re-evaluated.",
|
|
1186
|
+
"name": "force-advanced-gen",
|
|
1187
|
+
"allowNo": false,
|
|
1188
|
+
"type": "boolean"
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"hasDynamicHelp": false,
|
|
1192
|
+
"hiddenAliases": [],
|
|
1193
|
+
"id": "codegen",
|
|
1194
|
+
"pluginAlias": "@memberjunction/cli",
|
|
1195
|
+
"pluginName": "@memberjunction/cli",
|
|
1196
|
+
"pluginType": "core",
|
|
1197
|
+
"strict": true,
|
|
1198
|
+
"enableJsonFlag": false,
|
|
1199
|
+
"isESM": true,
|
|
1200
|
+
"relativePath": [
|
|
1201
|
+
"dist",
|
|
1202
|
+
"commands",
|
|
1203
|
+
"codegen",
|
|
809
1204
|
"index.js"
|
|
810
1205
|
]
|
|
811
1206
|
},
|
|
812
|
-
"
|
|
1207
|
+
"codegen:manifest": {
|
|
813
1208
|
"aliases": [],
|
|
814
1209
|
"args": {},
|
|
815
|
-
"description": "
|
|
1210
|
+
"description": "Generate a class registration manifest to prevent tree-shaking.\n\nMemberJunction uses @RegisterClass decorators with a dynamic class factory.\nModern bundlers (ESBuild, Vite) cannot detect dynamic instantiation and will\ntree-shake these classes out of production builds. This command scans the\ndependency tree for all @RegisterClass-decorated classes and emits a manifest\nfile with static imports that the bundler cannot eliminate.\n\nTypically used as a prebuild/prestart script for MJAPI and MJExplorer. For\nMJ distribution users, pre-built manifests ship inside @memberjunction/server-bootstrap\nand @memberjunction/ng-bootstrap -- use --exclude-packages @memberjunction to\ngenerate a supplemental manifest covering only your own application classes.",
|
|
816
1211
|
"examples": [
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
1212
|
+
{
|
|
1213
|
+
"command": "<%= config.bin %> <%= command.id %>",
|
|
1214
|
+
"description": "Generate manifest with default output path"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"command": "<%= config.bin %> <%= command.id %> --appDir ./packages/MJAPI --output ./packages/MJAPI/src/generated/class-registrations-manifest.ts",
|
|
1218
|
+
"description": "Generate manifest for a specific application directory"
|
|
1219
|
+
},
|
|
1220
|
+
{
|
|
1221
|
+
"command": "<%= config.bin %> <%= command.id %> --exclude-packages @memberjunction",
|
|
1222
|
+
"description": "Exclude MJ packages (use pre-built bootstrap manifests instead)"
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"command": "<%= config.bin %> <%= command.id %> --exclude-packages @memberjunction --no-sync-deps",
|
|
1226
|
+
"description": "Exclude MJ packages and skip dependency reconciliation"
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"command": "<%= config.bin %> <%= command.id %> --filter BaseEngine --filter BaseAction --verbose",
|
|
1230
|
+
"description": "Only include specific base classes with detailed progress"
|
|
1231
|
+
},
|
|
1232
|
+
{
|
|
1233
|
+
"command": "<%= config.bin %> <%= command.id %> --scan-dist",
|
|
1234
|
+
"description": "Include dist/ scanning for npm-published packages without src/"
|
|
1235
|
+
}
|
|
822
1236
|
],
|
|
823
1237
|
"flags": {
|
|
824
|
-
"
|
|
1238
|
+
"output": {
|
|
825
1239
|
"char": "o",
|
|
826
|
-
"description": "Output
|
|
827
|
-
"name": "
|
|
828
|
-
"
|
|
1240
|
+
"description": "Output file path for the generated manifest. The file will contain named imports and a CLASS_REGISTRATIONS array.",
|
|
1241
|
+
"name": "output",
|
|
1242
|
+
"default": "./src/generated/class-registrations-manifest.ts",
|
|
829
1243
|
"hasDynamicHelp": false,
|
|
830
1244
|
"multiple": false,
|
|
831
1245
|
"type": "option"
|
|
832
1246
|
},
|
|
833
|
-
"
|
|
834
|
-
"char": "
|
|
835
|
-
"description": "
|
|
836
|
-
"name": "
|
|
1247
|
+
"appDir": {
|
|
1248
|
+
"char": "a",
|
|
1249
|
+
"description": "Root directory of the application whose package.json dependency tree will be scanned. Defaults to the current working directory.",
|
|
1250
|
+
"name": "appDir",
|
|
837
1251
|
"hasDynamicHelp": false,
|
|
838
1252
|
"multiple": false,
|
|
839
1253
|
"type": "option"
|
|
840
1254
|
},
|
|
841
|
-
"
|
|
842
|
-
"
|
|
843
|
-
"
|
|
1255
|
+
"filter": {
|
|
1256
|
+
"char": "f",
|
|
1257
|
+
"description": "Only include classes extending this base class. Can be repeated (e.g., --filter BaseEngine --filter BaseAction).",
|
|
1258
|
+
"name": "filter",
|
|
844
1259
|
"hasDynamicHelp": false,
|
|
845
|
-
"multiple":
|
|
1260
|
+
"multiple": true,
|
|
846
1261
|
"type": "option"
|
|
847
1262
|
},
|
|
848
|
-
"
|
|
849
|
-
"
|
|
850
|
-
"
|
|
1263
|
+
"exclude-packages": {
|
|
1264
|
+
"char": "e",
|
|
1265
|
+
"description": "Skip packages whose name starts with this prefix. Useful for excluding @memberjunction packages when using pre-built bootstrap manifests. Can be repeated.",
|
|
1266
|
+
"name": "exclude-packages",
|
|
1267
|
+
"hasDynamicHelp": false,
|
|
1268
|
+
"multiple": true,
|
|
1269
|
+
"type": "option"
|
|
1270
|
+
},
|
|
1271
|
+
"no-sync-deps": {
|
|
1272
|
+
"description": "Skip automatic dependency reconciliation. By default, the manifest generator adds any manifest-imported packages that are missing from package.json dependencies. Use this flag when generating supplemental manifests with --exclude-packages, where excluded packages are already covered by a pre-built bootstrap manifest.",
|
|
1273
|
+
"name": "no-sync-deps",
|
|
1274
|
+
"allowNo": false,
|
|
1275
|
+
"type": "boolean"
|
|
1276
|
+
},
|
|
1277
|
+
"quiet": {
|
|
1278
|
+
"char": "q",
|
|
1279
|
+
"description": "Suppress all output except errors.",
|
|
1280
|
+
"name": "quiet",
|
|
1281
|
+
"allowNo": false,
|
|
1282
|
+
"type": "boolean"
|
|
1283
|
+
},
|
|
1284
|
+
"verbose": {
|
|
1285
|
+
"char": "v",
|
|
1286
|
+
"description": "Show detailed progress including per-package scanning info and skipped classes.",
|
|
1287
|
+
"name": "verbose",
|
|
1288
|
+
"allowNo": false,
|
|
1289
|
+
"type": "boolean"
|
|
1290
|
+
},
|
|
1291
|
+
"scan-dist": {
|
|
1292
|
+
"description": "Scan compiled JavaScript files in dist/ directories for packages without src/. Use this when your dependency tree includes npm-published packages that contain @RegisterClass decorators. Without this flag, only TypeScript source in src/ is scanned.",
|
|
1293
|
+
"name": "scan-dist",
|
|
851
1294
|
"allowNo": false,
|
|
852
1295
|
"type": "boolean"
|
|
853
1296
|
},
|
|
854
|
-
"
|
|
855
|
-
"
|
|
856
|
-
|
|
857
|
-
],
|
|
858
|
-
"description": "With --with-migrations, ship only this platform's migration tree instead of both",
|
|
859
|
-
"name": "db-platform",
|
|
1297
|
+
"lazy-config": {
|
|
1298
|
+
"description": "Output path for a generated lazy-loading feature config file. Maps @RegisterClass keys from excluded packages to dynamic import() loaders based on package.json subpath exports. Only packages with subpath exports in their package.json are included. Requires --exclude-packages.",
|
|
1299
|
+
"name": "lazy-config",
|
|
860
1300
|
"hasDynamicHelp": false,
|
|
861
1301
|
"multiple": false,
|
|
862
|
-
"options": [
|
|
863
|
-
"sqlserver",
|
|
864
|
-
"postgresql"
|
|
865
|
-
],
|
|
866
1302
|
"type": "option"
|
|
867
1303
|
},
|
|
868
|
-
"
|
|
869
|
-
"
|
|
870
|
-
"
|
|
871
|
-
"name": "verbose",
|
|
872
|
-
"allowNo": false,
|
|
873
|
-
"type": "boolean"
|
|
874
|
-
}
|
|
875
|
-
},
|
|
876
|
-
"hasDynamicHelp": false,
|
|
877
|
-
"hiddenAliases": [],
|
|
878
|
-
"id": "bundle",
|
|
879
|
-
"pluginAlias": "@memberjunction/cli",
|
|
880
|
-
"pluginName": "@memberjunction/cli",
|
|
881
|
-
"pluginType": "core",
|
|
882
|
-
"strict": true,
|
|
883
|
-
"enableJsonFlag": false,
|
|
884
|
-
"isESM": true,
|
|
885
|
-
"relativePath": [
|
|
886
|
-
"dist",
|
|
887
|
-
"commands",
|
|
888
|
-
"bundle",
|
|
889
|
-
"index.js"
|
|
890
|
-
]
|
|
891
|
-
},
|
|
892
|
-
"clean": {
|
|
893
|
-
"aliases": [],
|
|
894
|
-
"args": {},
|
|
895
|
-
"description": "Resets the MemberJunction database to a pre-installation state",
|
|
896
|
-
"examples": [
|
|
897
|
-
"<%= config.bin %> <%= command.id %>\n"
|
|
898
|
-
],
|
|
899
|
-
"flags": {
|
|
900
|
-
"verbose": {
|
|
901
|
-
"char": "v",
|
|
902
|
-
"description": "Enable additional logging",
|
|
903
|
-
"name": "verbose",
|
|
1304
|
+
"strict": {
|
|
1305
|
+
"description": "Treat coverage audit gaps as fatal errors. A gap is a @RegisterClass class in an excluded package that is not reachable from any lazy chunk subpath export. Use in CI to catch tree-shaking issues before merge.",
|
|
1306
|
+
"name": "strict",
|
|
904
1307
|
"allowNo": false,
|
|
905
1308
|
"type": "boolean"
|
|
906
1309
|
}
|
|
907
1310
|
},
|
|
908
1311
|
"hasDynamicHelp": false,
|
|
909
1312
|
"hiddenAliases": [],
|
|
910
|
-
"id": "
|
|
1313
|
+
"id": "codegen:manifest",
|
|
911
1314
|
"pluginAlias": "@memberjunction/cli",
|
|
912
1315
|
"pluginName": "@memberjunction/cli",
|
|
913
1316
|
"pluginType": "core",
|
|
@@ -917,8 +1320,8 @@
|
|
|
917
1320
|
"relativePath": [
|
|
918
1321
|
"dist",
|
|
919
1322
|
"commands",
|
|
920
|
-
"
|
|
921
|
-
"
|
|
1323
|
+
"codegen",
|
|
1324
|
+
"manifest.js"
|
|
922
1325
|
]
|
|
923
1326
|
},
|
|
924
1327
|
"dbdoc:analyze": {
|
|
@@ -1140,203 +1543,22 @@
|
|
|
1140
1543
|
"allowNo": false,
|
|
1141
1544
|
"type": "boolean"
|
|
1142
1545
|
},
|
|
1143
|
-
"apply": {
|
|
1144
|
-
"description": "Apply SQL to database",
|
|
1145
|
-
"name": "apply",
|
|
1146
|
-
"allowNo": false,
|
|
1147
|
-
"type": "boolean"
|
|
1148
|
-
},
|
|
1149
|
-
"approved-only": {
|
|
1150
|
-
"description": "Only export approved items",
|
|
1151
|
-
"name": "approved-only",
|
|
1152
|
-
"allowNo": false,
|
|
1153
|
-
"type": "boolean"
|
|
1154
|
-
},
|
|
1155
|
-
"confidence-threshold": {
|
|
1156
|
-
"description": "Minimum confidence threshold",
|
|
1157
|
-
"name": "confidence-threshold",
|
|
1158
|
-
"default": "0",
|
|
1159
|
-
"hasDynamicHelp": false,
|
|
1160
|
-
"multiple": false,
|
|
1161
|
-
"type": "option"
|
|
1162
|
-
}
|
|
1163
|
-
},
|
|
1164
|
-
"hasDynamicHelp": false,
|
|
1165
|
-
"hiddenAliases": [],
|
|
1166
|
-
"id": "dbdoc:export",
|
|
1167
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1168
|
-
"pluginName": "@memberjunction/cli",
|
|
1169
|
-
"pluginType": "core",
|
|
1170
|
-
"strict": true,
|
|
1171
|
-
"enableJsonFlag": false,
|
|
1172
|
-
"isESM": true,
|
|
1173
|
-
"relativePath": [
|
|
1174
|
-
"dist",
|
|
1175
|
-
"commands",
|
|
1176
|
-
"dbdoc",
|
|
1177
|
-
"export.js"
|
|
1178
|
-
]
|
|
1179
|
-
},
|
|
1180
|
-
"dbdoc:generate-queries": {
|
|
1181
|
-
"aliases": [],
|
|
1182
|
-
"args": {},
|
|
1183
|
-
"description": "Generate sample SQL queries from existing analysis state (delegates to db-auto-doc generate-queries)",
|
|
1184
|
-
"examples": [
|
|
1185
|
-
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json",
|
|
1186
|
-
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json --output-dir ./queries",
|
|
1187
|
-
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json --queries-per-table 10"
|
|
1188
|
-
],
|
|
1189
|
-
"flags": {
|
|
1190
|
-
"from-state": {
|
|
1191
|
-
"description": "Path to existing state.json file from previous analysis",
|
|
1192
|
-
"name": "from-state",
|
|
1193
|
-
"required": true,
|
|
1194
|
-
"hasDynamicHelp": false,
|
|
1195
|
-
"multiple": false,
|
|
1196
|
-
"type": "option"
|
|
1197
|
-
},
|
|
1198
|
-
"output-dir": {
|
|
1199
|
-
"description": "Output directory for generated queries",
|
|
1200
|
-
"name": "output-dir",
|
|
1201
|
-
"required": false,
|
|
1202
|
-
"hasDynamicHelp": false,
|
|
1203
|
-
"multiple": false,
|
|
1204
|
-
"type": "option"
|
|
1205
|
-
},
|
|
1206
|
-
"config": {
|
|
1207
|
-
"char": "c",
|
|
1208
|
-
"description": "Path to config file (for database connection and AI settings)",
|
|
1209
|
-
"name": "config",
|
|
1210
|
-
"default": "./config.json",
|
|
1211
|
-
"hasDynamicHelp": false,
|
|
1212
|
-
"multiple": false,
|
|
1213
|
-
"type": "option"
|
|
1214
|
-
},
|
|
1215
|
-
"queries-per-table": {
|
|
1216
|
-
"description": "Number of queries to generate per table",
|
|
1217
|
-
"name": "queries-per-table",
|
|
1218
|
-
"required": false,
|
|
1219
|
-
"hasDynamicHelp": false,
|
|
1220
|
-
"multiple": false,
|
|
1221
|
-
"type": "option"
|
|
1222
|
-
},
|
|
1223
|
-
"max-execution-time": {
|
|
1224
|
-
"description": "Maximum execution time for query validation (ms)",
|
|
1225
|
-
"name": "max-execution-time",
|
|
1226
|
-
"required": false,
|
|
1227
|
-
"hasDynamicHelp": false,
|
|
1228
|
-
"multiple": false,
|
|
1229
|
-
"type": "option"
|
|
1230
|
-
}
|
|
1231
|
-
},
|
|
1232
|
-
"hasDynamicHelp": false,
|
|
1233
|
-
"hiddenAliases": [],
|
|
1234
|
-
"id": "dbdoc:generate-queries",
|
|
1235
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1236
|
-
"pluginName": "@memberjunction/cli",
|
|
1237
|
-
"pluginType": "core",
|
|
1238
|
-
"strict": true,
|
|
1239
|
-
"enableJsonFlag": false,
|
|
1240
|
-
"isESM": true,
|
|
1241
|
-
"relativePath": [
|
|
1242
|
-
"dist",
|
|
1243
|
-
"commands",
|
|
1244
|
-
"dbdoc",
|
|
1245
|
-
"generate-queries.js"
|
|
1246
|
-
]
|
|
1247
|
-
},
|
|
1248
|
-
"dbdoc": {
|
|
1249
|
-
"aliases": [],
|
|
1250
|
-
"args": {},
|
|
1251
|
-
"description": "AI-powered database documentation generator",
|
|
1252
|
-
"flags": {},
|
|
1253
|
-
"hasDynamicHelp": false,
|
|
1254
|
-
"hidden": false,
|
|
1255
|
-
"hiddenAliases": [],
|
|
1256
|
-
"id": "dbdoc",
|
|
1257
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1258
|
-
"pluginName": "@memberjunction/cli",
|
|
1259
|
-
"pluginType": "core",
|
|
1260
|
-
"strict": true,
|
|
1261
|
-
"enableJsonFlag": false,
|
|
1262
|
-
"isESM": true,
|
|
1263
|
-
"relativePath": [
|
|
1264
|
-
"dist",
|
|
1265
|
-
"commands",
|
|
1266
|
-
"dbdoc",
|
|
1267
|
-
"index.js"
|
|
1268
|
-
]
|
|
1269
|
-
},
|
|
1270
|
-
"dbdoc:init": {
|
|
1271
|
-
"aliases": [],
|
|
1272
|
-
"args": {},
|
|
1273
|
-
"description": "Initialize DBAutoDoc project (delegates to db-auto-doc init)",
|
|
1274
|
-
"examples": [
|
|
1275
|
-
"<%= config.bin %> <%= command.id %>"
|
|
1276
|
-
],
|
|
1277
|
-
"flags": {},
|
|
1278
|
-
"hasDynamicHelp": false,
|
|
1279
|
-
"hiddenAliases": [],
|
|
1280
|
-
"id": "dbdoc:init",
|
|
1281
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1282
|
-
"pluginName": "@memberjunction/cli",
|
|
1283
|
-
"pluginType": "core",
|
|
1284
|
-
"strict": true,
|
|
1285
|
-
"enableJsonFlag": false,
|
|
1286
|
-
"isESM": true,
|
|
1287
|
-
"relativePath": [
|
|
1288
|
-
"dist",
|
|
1289
|
-
"commands",
|
|
1290
|
-
"dbdoc",
|
|
1291
|
-
"init.js"
|
|
1292
|
-
]
|
|
1293
|
-
},
|
|
1294
|
-
"dbdoc:reset": {
|
|
1295
|
-
"aliases": [],
|
|
1296
|
-
"args": {},
|
|
1297
|
-
"description": "Reset analysis state (delegates to db-auto-doc reset)",
|
|
1298
|
-
"examples": [
|
|
1299
|
-
"<%= config.bin %> <%= command.id %>",
|
|
1300
|
-
"<%= config.bin %> <%= command.id %> --force"
|
|
1301
|
-
],
|
|
1302
|
-
"flags": {
|
|
1303
|
-
"force": {
|
|
1304
|
-
"char": "f",
|
|
1305
|
-
"description": "Force reset without confirmation",
|
|
1306
|
-
"name": "force",
|
|
1307
|
-
"allowNo": false,
|
|
1308
|
-
"type": "boolean"
|
|
1309
|
-
}
|
|
1310
|
-
},
|
|
1311
|
-
"hasDynamicHelp": false,
|
|
1312
|
-
"hiddenAliases": [],
|
|
1313
|
-
"id": "dbdoc:reset",
|
|
1314
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1315
|
-
"pluginName": "@memberjunction/cli",
|
|
1316
|
-
"pluginType": "core",
|
|
1317
|
-
"strict": true,
|
|
1318
|
-
"enableJsonFlag": false,
|
|
1319
|
-
"isESM": true,
|
|
1320
|
-
"relativePath": [
|
|
1321
|
-
"dist",
|
|
1322
|
-
"commands",
|
|
1323
|
-
"dbdoc",
|
|
1324
|
-
"reset.js"
|
|
1325
|
-
]
|
|
1326
|
-
},
|
|
1327
|
-
"dbdoc:status": {
|
|
1328
|
-
"aliases": [],
|
|
1329
|
-
"args": {},
|
|
1330
|
-
"description": "Show analysis status and progress (delegates to db-auto-doc status)",
|
|
1331
|
-
"examples": [
|
|
1332
|
-
"<%= config.bin %> <%= command.id %>",
|
|
1333
|
-
"<%= config.bin %> <%= command.id %> --state-file ./custom-state.json"
|
|
1334
|
-
],
|
|
1335
|
-
"flags": {
|
|
1336
|
-
"state-file": {
|
|
1337
|
-
"char": "s",
|
|
1338
|
-
"description": "Path to state JSON file",
|
|
1339
|
-
"name": "state-file",
|
|
1546
|
+
"apply": {
|
|
1547
|
+
"description": "Apply SQL to database",
|
|
1548
|
+
"name": "apply",
|
|
1549
|
+
"allowNo": false,
|
|
1550
|
+
"type": "boolean"
|
|
1551
|
+
},
|
|
1552
|
+
"approved-only": {
|
|
1553
|
+
"description": "Only export approved items",
|
|
1554
|
+
"name": "approved-only",
|
|
1555
|
+
"allowNo": false,
|
|
1556
|
+
"type": "boolean"
|
|
1557
|
+
},
|
|
1558
|
+
"confidence-threshold": {
|
|
1559
|
+
"description": "Minimum confidence threshold",
|
|
1560
|
+
"name": "confidence-threshold",
|
|
1561
|
+
"default": "0",
|
|
1340
1562
|
"hasDynamicHelp": false,
|
|
1341
1563
|
"multiple": false,
|
|
1342
1564
|
"type": "option"
|
|
@@ -1344,7 +1566,7 @@
|
|
|
1344
1566
|
},
|
|
1345
1567
|
"hasDynamicHelp": false,
|
|
1346
1568
|
"hiddenAliases": [],
|
|
1347
|
-
"id": "dbdoc:
|
|
1569
|
+
"id": "dbdoc:export",
|
|
1348
1570
|
"pluginAlias": "@memberjunction/cli",
|
|
1349
1571
|
"pluginName": "@memberjunction/cli",
|
|
1350
1572
|
"pluginType": "core",
|
|
@@ -1355,71 +1577,64 @@
|
|
|
1355
1577
|
"dist",
|
|
1356
1578
|
"commands",
|
|
1357
1579
|
"dbdoc",
|
|
1358
|
-
"
|
|
1580
|
+
"export.js"
|
|
1359
1581
|
]
|
|
1360
1582
|
},
|
|
1361
|
-
"
|
|
1583
|
+
"dbdoc:generate-queries": {
|
|
1362
1584
|
"aliases": [],
|
|
1363
1585
|
"args": {},
|
|
1364
|
-
"description": "
|
|
1586
|
+
"description": "Generate sample SQL queries from existing analysis state (delegates to db-auto-doc generate-queries)",
|
|
1365
1587
|
"examples": [
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
},
|
|
1370
|
-
{
|
|
1371
|
-
"description": "Scan a single file",
|
|
1372
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/Explorer/dashboards/src/Actions/components/actions-overview.component.ts"
|
|
1373
|
-
},
|
|
1374
|
-
{
|
|
1375
|
-
"description": "Apply fixes across the codebase",
|
|
1376
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/ --fix"
|
|
1377
|
-
},
|
|
1378
|
-
{
|
|
1379
|
-
"description": "Quiet mode (summary only)",
|
|
1380
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/ -q"
|
|
1381
|
-
}
|
|
1588
|
+
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json",
|
|
1589
|
+
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json --output-dir ./queries",
|
|
1590
|
+
"<%= config.bin %> <%= command.id %> --from-state ./output/run-1/state.json --queries-per-table 10"
|
|
1382
1591
|
],
|
|
1383
1592
|
"flags": {
|
|
1384
|
-
"
|
|
1385
|
-
"
|
|
1386
|
-
"
|
|
1387
|
-
"
|
|
1593
|
+
"from-state": {
|
|
1594
|
+
"description": "Path to existing state.json file from previous analysis",
|
|
1595
|
+
"name": "from-state",
|
|
1596
|
+
"required": true,
|
|
1388
1597
|
"hasDynamicHelp": false,
|
|
1389
1598
|
"multiple": false,
|
|
1390
1599
|
"type": "option"
|
|
1391
1600
|
},
|
|
1392
|
-
"
|
|
1393
|
-
"description": "
|
|
1394
|
-
"name": "
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1601
|
+
"output-dir": {
|
|
1602
|
+
"description": "Output directory for generated queries",
|
|
1603
|
+
"name": "output-dir",
|
|
1604
|
+
"required": false,
|
|
1605
|
+
"hasDynamicHelp": false,
|
|
1606
|
+
"multiple": false,
|
|
1607
|
+
"type": "option"
|
|
1397
1608
|
},
|
|
1398
|
-
"
|
|
1399
|
-
"
|
|
1400
|
-
"
|
|
1609
|
+
"config": {
|
|
1610
|
+
"char": "c",
|
|
1611
|
+
"description": "Path to config file (for database connection and AI settings)",
|
|
1612
|
+
"name": "config",
|
|
1613
|
+
"default": "./config.json",
|
|
1401
1614
|
"hasDynamicHelp": false,
|
|
1402
1615
|
"multiple": false,
|
|
1403
1616
|
"type": "option"
|
|
1404
1617
|
},
|
|
1405
|
-
"
|
|
1406
|
-
"
|
|
1407
|
-
"
|
|
1408
|
-
"
|
|
1409
|
-
"
|
|
1410
|
-
"
|
|
1618
|
+
"queries-per-table": {
|
|
1619
|
+
"description": "Number of queries to generate per table",
|
|
1620
|
+
"name": "queries-per-table",
|
|
1621
|
+
"required": false,
|
|
1622
|
+
"hasDynamicHelp": false,
|
|
1623
|
+
"multiple": false,
|
|
1624
|
+
"type": "option"
|
|
1411
1625
|
},
|
|
1412
|
-
"
|
|
1413
|
-
"
|
|
1414
|
-
"
|
|
1415
|
-
"
|
|
1416
|
-
"
|
|
1417
|
-
"
|
|
1626
|
+
"max-execution-time": {
|
|
1627
|
+
"description": "Maximum execution time for query validation (ms)",
|
|
1628
|
+
"name": "max-execution-time",
|
|
1629
|
+
"required": false,
|
|
1630
|
+
"hasDynamicHelp": false,
|
|
1631
|
+
"multiple": false,
|
|
1632
|
+
"type": "option"
|
|
1418
1633
|
}
|
|
1419
1634
|
},
|
|
1420
1635
|
"hasDynamicHelp": false,
|
|
1421
1636
|
"hiddenAliases": [],
|
|
1422
|
-
"id": "
|
|
1637
|
+
"id": "dbdoc:generate-queries",
|
|
1423
1638
|
"pluginAlias": "@memberjunction/cli",
|
|
1424
1639
|
"pluginName": "@memberjunction/cli",
|
|
1425
1640
|
"pluginType": "core",
|
|
@@ -1429,72 +1644,19 @@
|
|
|
1429
1644
|
"relativePath": [
|
|
1430
1645
|
"dist",
|
|
1431
1646
|
"commands",
|
|
1432
|
-
"
|
|
1433
|
-
"
|
|
1647
|
+
"dbdoc",
|
|
1648
|
+
"generate-queries.js"
|
|
1434
1649
|
]
|
|
1435
1650
|
},
|
|
1436
|
-
"
|
|
1651
|
+
"dbdoc": {
|
|
1437
1652
|
"aliases": [],
|
|
1438
1653
|
"args": {},
|
|
1439
|
-
"description": "
|
|
1440
|
-
"
|
|
1441
|
-
{
|
|
1442
|
-
"description": "Dry-run scan of Angular templates",
|
|
1443
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/"
|
|
1444
|
-
},
|
|
1445
|
-
{
|
|
1446
|
-
"description": "Apply fixes to HTML templates",
|
|
1447
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/ --fix"
|
|
1448
|
-
},
|
|
1449
|
-
{
|
|
1450
|
-
"description": "Scan with verbose output",
|
|
1451
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/ -v"
|
|
1452
|
-
},
|
|
1453
|
-
{
|
|
1454
|
-
"description": "Scan a single template file",
|
|
1455
|
-
"command": "<%= config.bin %> <%= command.id %> --path packages/Angular/Explorer/dashboards/src/Actions/actions-dashboard.component.html"
|
|
1456
|
-
}
|
|
1457
|
-
],
|
|
1458
|
-
"flags": {
|
|
1459
|
-
"path": {
|
|
1460
|
-
"char": "p",
|
|
1461
|
-
"description": "File or directory to scan. Accepts a single .html file or a directory (scanned recursively). Defaults to the current working directory.",
|
|
1462
|
-
"name": "path",
|
|
1463
|
-
"hasDynamicHelp": false,
|
|
1464
|
-
"multiple": false,
|
|
1465
|
-
"type": "option"
|
|
1466
|
-
},
|
|
1467
|
-
"fix": {
|
|
1468
|
-
"description": "Apply fixes in place. Without this flag, the command runs in dry-run mode and only reports findings.",
|
|
1469
|
-
"name": "fix",
|
|
1470
|
-
"allowNo": false,
|
|
1471
|
-
"type": "boolean"
|
|
1472
|
-
},
|
|
1473
|
-
"entity-subclasses": {
|
|
1474
|
-
"description": "Explicit path to entity_subclasses.ts for building the rename map. If omitted, the tool searches common locations relative to the target path.",
|
|
1475
|
-
"name": "entity-subclasses",
|
|
1476
|
-
"hasDynamicHelp": false,
|
|
1477
|
-
"multiple": false,
|
|
1478
|
-
"type": "option"
|
|
1479
|
-
},
|
|
1480
|
-
"quiet": {
|
|
1481
|
-
"char": "q",
|
|
1482
|
-
"description": "Suppress detailed per-file output; only show the final summary counts.",
|
|
1483
|
-
"name": "quiet",
|
|
1484
|
-
"allowNo": false,
|
|
1485
|
-
"type": "boolean"
|
|
1486
|
-
},
|
|
1487
|
-
"verbose": {
|
|
1488
|
-
"char": "v",
|
|
1489
|
-
"description": "Show detailed progress including each file being scanned.",
|
|
1490
|
-
"name": "verbose",
|
|
1491
|
-
"allowNo": false,
|
|
1492
|
-
"type": "boolean"
|
|
1493
|
-
}
|
|
1494
|
-
},
|
|
1654
|
+
"description": "AI-powered database documentation generator",
|
|
1655
|
+
"flags": {},
|
|
1495
1656
|
"hasDynamicHelp": false,
|
|
1657
|
+
"hidden": false,
|
|
1496
1658
|
"hiddenAliases": [],
|
|
1497
|
-
"id": "
|
|
1659
|
+
"id": "dbdoc",
|
|
1498
1660
|
"pluginAlias": "@memberjunction/cli",
|
|
1499
1661
|
"pluginName": "@memberjunction/cli",
|
|
1500
1662
|
"pluginType": "core",
|
|
@@ -1504,72 +1666,21 @@
|
|
|
1504
1666
|
"relativePath": [
|
|
1505
1667
|
"dist",
|
|
1506
1668
|
"commands",
|
|
1507
|
-
"
|
|
1508
|
-
"
|
|
1669
|
+
"dbdoc",
|
|
1670
|
+
"index.js"
|
|
1509
1671
|
]
|
|
1510
1672
|
},
|
|
1511
|
-
"
|
|
1673
|
+
"dbdoc:init": {
|
|
1512
1674
|
"aliases": [],
|
|
1513
1675
|
"args": {},
|
|
1514
|
-
"description": "
|
|
1676
|
+
"description": "Initialize DBAutoDoc project (delegates to db-auto-doc init)",
|
|
1515
1677
|
"examples": [
|
|
1516
|
-
|
|
1517
|
-
"description": "Dry-run scan of the metadata directory",
|
|
1518
|
-
"command": "<%= config.bin %> <%= command.id %> --path metadata/"
|
|
1519
|
-
},
|
|
1520
|
-
{
|
|
1521
|
-
"description": "Apply fixes to metadata files",
|
|
1522
|
-
"command": "<%= config.bin %> <%= command.id %> --path metadata/ --fix"
|
|
1523
|
-
},
|
|
1524
|
-
{
|
|
1525
|
-
"description": "Scan a specific subdirectory",
|
|
1526
|
-
"command": "<%= config.bin %> <%= command.id %> --path metadata/resource-types"
|
|
1527
|
-
},
|
|
1528
|
-
{
|
|
1529
|
-
"description": "Scan and fix a single metadata file",
|
|
1530
|
-
"command": "<%= config.bin %> <%= command.id %> --path metadata/entities/.audit-related-entities.json --fix"
|
|
1531
|
-
}
|
|
1678
|
+
"<%= config.bin %> <%= command.id %>"
|
|
1532
1679
|
],
|
|
1533
|
-
"flags": {
|
|
1534
|
-
"path": {
|
|
1535
|
-
"char": "p",
|
|
1536
|
-
"description": "File or directory to scan. Accepts a single .json file or a directory (scanned recursively, including dotfiles like .mj-sync.json). Defaults to the current working directory.",
|
|
1537
|
-
"name": "path",
|
|
1538
|
-
"hasDynamicHelp": false,
|
|
1539
|
-
"multiple": false,
|
|
1540
|
-
"type": "option"
|
|
1541
|
-
},
|
|
1542
|
-
"fix": {
|
|
1543
|
-
"description": "Apply fixes in place. Without this flag, the command runs in dry-run mode and only reports findings.",
|
|
1544
|
-
"name": "fix",
|
|
1545
|
-
"allowNo": false,
|
|
1546
|
-
"type": "boolean"
|
|
1547
|
-
},
|
|
1548
|
-
"entity-subclasses": {
|
|
1549
|
-
"description": "Explicit path to entity_subclasses.ts for building the rename map. If omitted, the tool searches common locations relative to the target path.",
|
|
1550
|
-
"name": "entity-subclasses",
|
|
1551
|
-
"hasDynamicHelp": false,
|
|
1552
|
-
"multiple": false,
|
|
1553
|
-
"type": "option"
|
|
1554
|
-
},
|
|
1555
|
-
"quiet": {
|
|
1556
|
-
"char": "q",
|
|
1557
|
-
"description": "Suppress detailed per-file output; only show the final summary counts.",
|
|
1558
|
-
"name": "quiet",
|
|
1559
|
-
"allowNo": false,
|
|
1560
|
-
"type": "boolean"
|
|
1561
|
-
},
|
|
1562
|
-
"verbose": {
|
|
1563
|
-
"char": "v",
|
|
1564
|
-
"description": "Show detailed progress including each file being scanned.",
|
|
1565
|
-
"name": "verbose",
|
|
1566
|
-
"allowNo": false,
|
|
1567
|
-
"type": "boolean"
|
|
1568
|
-
}
|
|
1569
|
-
},
|
|
1680
|
+
"flags": {},
|
|
1570
1681
|
"hasDynamicHelp": false,
|
|
1571
1682
|
"hiddenAliases": [],
|
|
1572
|
-
"id": "
|
|
1683
|
+
"id": "dbdoc:init",
|
|
1573
1684
|
"pluginAlias": "@memberjunction/cli",
|
|
1574
1685
|
"pluginName": "@memberjunction/cli",
|
|
1575
1686
|
"pluginType": "core",
|
|
@@ -1579,55 +1690,30 @@
|
|
|
1579
1690
|
"relativePath": [
|
|
1580
1691
|
"dist",
|
|
1581
1692
|
"commands",
|
|
1582
|
-
"
|
|
1583
|
-
"
|
|
1693
|
+
"dbdoc",
|
|
1694
|
+
"init.js"
|
|
1584
1695
|
]
|
|
1585
1696
|
},
|
|
1586
|
-
"
|
|
1697
|
+
"dbdoc:reset": {
|
|
1587
1698
|
"aliases": [],
|
|
1588
1699
|
"args": {},
|
|
1589
|
-
"description": "
|
|
1590
|
-
"examples": [
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
"description": "Run the full code generation pipeline"
|
|
1594
|
-
},
|
|
1595
|
-
{
|
|
1596
|
-
"command": "<%= config.bin %> <%= command.id %> --skipdb",
|
|
1597
|
-
"description": "Regenerate code files without touching the database"
|
|
1598
|
-
},
|
|
1599
|
-
{
|
|
1600
|
-
"command": "<%= config.bin %> <%= command.id %> --skipfiles",
|
|
1601
|
-
"description": "Run database-side operations only, without regenerating any code files"
|
|
1602
|
-
},
|
|
1603
|
-
{
|
|
1604
|
-
"command": "<%= config.bin %> <%= command.id %> --force-advanced-gen",
|
|
1605
|
-
"description": "Re-run advanced generation for all entities (bypasses changed-entity scoping)"
|
|
1606
|
-
}
|
|
1700
|
+
"description": "Reset analysis state (delegates to db-auto-doc reset)",
|
|
1701
|
+
"examples": [
|
|
1702
|
+
"<%= config.bin %> <%= command.id %>",
|
|
1703
|
+
"<%= config.bin %> <%= command.id %> --force"
|
|
1607
1704
|
],
|
|
1608
1705
|
"flags": {
|
|
1609
|
-
"
|
|
1610
|
-
"
|
|
1611
|
-
"
|
|
1612
|
-
"
|
|
1613
|
-
"type": "boolean"
|
|
1614
|
-
},
|
|
1615
|
-
"skipfiles": {
|
|
1616
|
-
"description": "Skip file-generation operations (TypeScript entities, Angular components, GraphQL resolvers, action subclasses, DB schema JSON). Only run database-side operations.",
|
|
1617
|
-
"name": "skipfiles",
|
|
1618
|
-
"allowNo": false,
|
|
1619
|
-
"type": "boolean"
|
|
1620
|
-
},
|
|
1621
|
-
"force-advanced-gen": {
|
|
1622
|
-
"description": "Bypass entity scoping in Pass 2 and force advanced generation to re-run for all entities. Used when AI prompts have changed and unchanged entities should be re-evaluated.",
|
|
1623
|
-
"name": "force-advanced-gen",
|
|
1706
|
+
"force": {
|
|
1707
|
+
"char": "f",
|
|
1708
|
+
"description": "Force reset without confirmation",
|
|
1709
|
+
"name": "force",
|
|
1624
1710
|
"allowNo": false,
|
|
1625
1711
|
"type": "boolean"
|
|
1626
1712
|
}
|
|
1627
1713
|
},
|
|
1628
1714
|
"hasDynamicHelp": false,
|
|
1629
1715
|
"hiddenAliases": [],
|
|
1630
|
-
"id": "
|
|
1716
|
+
"id": "dbdoc:reset",
|
|
1631
1717
|
"pluginAlias": "@memberjunction/cli",
|
|
1632
1718
|
"pluginName": "@memberjunction/cli",
|
|
1633
1719
|
"pluginType": "core",
|
|
@@ -1637,117 +1723,31 @@
|
|
|
1637
1723
|
"relativePath": [
|
|
1638
1724
|
"dist",
|
|
1639
1725
|
"commands",
|
|
1640
|
-
"
|
|
1641
|
-
"
|
|
1726
|
+
"dbdoc",
|
|
1727
|
+
"reset.js"
|
|
1642
1728
|
]
|
|
1643
1729
|
},
|
|
1644
|
-
"
|
|
1730
|
+
"dbdoc:status": {
|
|
1645
1731
|
"aliases": [],
|
|
1646
1732
|
"args": {},
|
|
1647
|
-
"description": "
|
|
1733
|
+
"description": "Show analysis status and progress (delegates to db-auto-doc status)",
|
|
1648
1734
|
"examples": [
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
"description": "Generate manifest with default output path"
|
|
1652
|
-
},
|
|
1653
|
-
{
|
|
1654
|
-
"command": "<%= config.bin %> <%= command.id %> --appDir ./packages/MJAPI --output ./packages/MJAPI/src/generated/class-registrations-manifest.ts",
|
|
1655
|
-
"description": "Generate manifest for a specific application directory"
|
|
1656
|
-
},
|
|
1657
|
-
{
|
|
1658
|
-
"command": "<%= config.bin %> <%= command.id %> --exclude-packages @memberjunction",
|
|
1659
|
-
"description": "Exclude MJ packages (use pre-built bootstrap manifests instead)"
|
|
1660
|
-
},
|
|
1661
|
-
{
|
|
1662
|
-
"command": "<%= config.bin %> <%= command.id %> --exclude-packages @memberjunction --no-sync-deps",
|
|
1663
|
-
"description": "Exclude MJ packages and skip dependency reconciliation"
|
|
1664
|
-
},
|
|
1665
|
-
{
|
|
1666
|
-
"command": "<%= config.bin %> <%= command.id %> --filter BaseEngine --filter BaseAction --verbose",
|
|
1667
|
-
"description": "Only include specific base classes with detailed progress"
|
|
1668
|
-
},
|
|
1669
|
-
{
|
|
1670
|
-
"command": "<%= config.bin %> <%= command.id %> --scan-dist",
|
|
1671
|
-
"description": "Include dist/ scanning for npm-published packages without src/"
|
|
1672
|
-
}
|
|
1735
|
+
"<%= config.bin %> <%= command.id %>",
|
|
1736
|
+
"<%= config.bin %> <%= command.id %> --state-file ./custom-state.json"
|
|
1673
1737
|
],
|
|
1674
1738
|
"flags": {
|
|
1675
|
-
"
|
|
1676
|
-
"char": "
|
|
1677
|
-
"description": "
|
|
1678
|
-
"name": "
|
|
1679
|
-
"default": "./src/generated/class-registrations-manifest.ts",
|
|
1680
|
-
"hasDynamicHelp": false,
|
|
1681
|
-
"multiple": false,
|
|
1682
|
-
"type": "option"
|
|
1683
|
-
},
|
|
1684
|
-
"appDir": {
|
|
1685
|
-
"char": "a",
|
|
1686
|
-
"description": "Root directory of the application whose package.json dependency tree will be scanned. Defaults to the current working directory.",
|
|
1687
|
-
"name": "appDir",
|
|
1688
|
-
"hasDynamicHelp": false,
|
|
1689
|
-
"multiple": false,
|
|
1690
|
-
"type": "option"
|
|
1691
|
-
},
|
|
1692
|
-
"filter": {
|
|
1693
|
-
"char": "f",
|
|
1694
|
-
"description": "Only include classes extending this base class. Can be repeated (e.g., --filter BaseEngine --filter BaseAction).",
|
|
1695
|
-
"name": "filter",
|
|
1696
|
-
"hasDynamicHelp": false,
|
|
1697
|
-
"multiple": true,
|
|
1698
|
-
"type": "option"
|
|
1699
|
-
},
|
|
1700
|
-
"exclude-packages": {
|
|
1701
|
-
"char": "e",
|
|
1702
|
-
"description": "Skip packages whose name starts with this prefix. Useful for excluding @memberjunction packages when using pre-built bootstrap manifests. Can be repeated.",
|
|
1703
|
-
"name": "exclude-packages",
|
|
1704
|
-
"hasDynamicHelp": false,
|
|
1705
|
-
"multiple": true,
|
|
1706
|
-
"type": "option"
|
|
1707
|
-
},
|
|
1708
|
-
"no-sync-deps": {
|
|
1709
|
-
"description": "Skip automatic dependency reconciliation. By default, the manifest generator adds any manifest-imported packages that are missing from package.json dependencies. Use this flag when generating supplemental manifests with --exclude-packages, where excluded packages are already covered by a pre-built bootstrap manifest.",
|
|
1710
|
-
"name": "no-sync-deps",
|
|
1711
|
-
"allowNo": false,
|
|
1712
|
-
"type": "boolean"
|
|
1713
|
-
},
|
|
1714
|
-
"quiet": {
|
|
1715
|
-
"char": "q",
|
|
1716
|
-
"description": "Suppress all output except errors.",
|
|
1717
|
-
"name": "quiet",
|
|
1718
|
-
"allowNo": false,
|
|
1719
|
-
"type": "boolean"
|
|
1720
|
-
},
|
|
1721
|
-
"verbose": {
|
|
1722
|
-
"char": "v",
|
|
1723
|
-
"description": "Show detailed progress including per-package scanning info and skipped classes.",
|
|
1724
|
-
"name": "verbose",
|
|
1725
|
-
"allowNo": false,
|
|
1726
|
-
"type": "boolean"
|
|
1727
|
-
},
|
|
1728
|
-
"scan-dist": {
|
|
1729
|
-
"description": "Scan compiled JavaScript files in dist/ directories for packages without src/. Use this when your dependency tree includes npm-published packages that contain @RegisterClass decorators. Without this flag, only TypeScript source in src/ is scanned.",
|
|
1730
|
-
"name": "scan-dist",
|
|
1731
|
-
"allowNo": false,
|
|
1732
|
-
"type": "boolean"
|
|
1733
|
-
},
|
|
1734
|
-
"lazy-config": {
|
|
1735
|
-
"description": "Output path for a generated lazy-loading feature config file. Maps @RegisterClass keys from excluded packages to dynamic import() loaders based on package.json subpath exports. Only packages with subpath exports in their package.json are included. Requires --exclude-packages.",
|
|
1736
|
-
"name": "lazy-config",
|
|
1739
|
+
"state-file": {
|
|
1740
|
+
"char": "s",
|
|
1741
|
+
"description": "Path to state JSON file",
|
|
1742
|
+
"name": "state-file",
|
|
1737
1743
|
"hasDynamicHelp": false,
|
|
1738
1744
|
"multiple": false,
|
|
1739
1745
|
"type": "option"
|
|
1740
|
-
},
|
|
1741
|
-
"strict": {
|
|
1742
|
-
"description": "Treat coverage audit gaps as fatal errors. A gap is a @RegisterClass class in an excluded package that is not reachable from any lazy chunk subpath export. Use in CI to catch tree-shaking issues before merge.",
|
|
1743
|
-
"name": "strict",
|
|
1744
|
-
"allowNo": false,
|
|
1745
|
-
"type": "boolean"
|
|
1746
1746
|
}
|
|
1747
1747
|
},
|
|
1748
1748
|
"hasDynamicHelp": false,
|
|
1749
1749
|
"hiddenAliases": [],
|
|
1750
|
-
"id": "
|
|
1750
|
+
"id": "dbdoc:status",
|
|
1751
1751
|
"pluginAlias": "@memberjunction/cli",
|
|
1752
1752
|
"pluginName": "@memberjunction/cli",
|
|
1753
1753
|
"pluginType": "core",
|
|
@@ -1757,8 +1757,8 @@
|
|
|
1757
1757
|
"relativePath": [
|
|
1758
1758
|
"dist",
|
|
1759
1759
|
"commands",
|
|
1760
|
-
"
|
|
1761
|
-
"
|
|
1760
|
+
"dbdoc",
|
|
1761
|
+
"status.js"
|
|
1762
1762
|
]
|
|
1763
1763
|
},
|
|
1764
1764
|
"doctor": {
|
|
@@ -3642,63 +3642,185 @@
|
|
|
3642
3642
|
"required": true,
|
|
3643
3643
|
"hasDynamicHelp": false,
|
|
3644
3644
|
"multiple": false,
|
|
3645
|
-
"options": [
|
|
3646
|
-
"sqlserver",
|
|
3647
|
-
"postgresql"
|
|
3648
|
-
],
|
|
3649
|
-
"type": "option"
|
|
3650
|
-
},
|
|
3651
|
-
"scope": {
|
|
3652
|
-
"description": "What to scan for translation",
|
|
3653
|
-
"name": "scope",
|
|
3654
|
-
"default": "all",
|
|
3655
|
-
"hasDynamicHelp": false,
|
|
3656
|
-
"multiple": false,
|
|
3657
|
-
"options": [
|
|
3658
|
-
"queries",
|
|
3659
|
-
"views",
|
|
3660
|
-
"filters",
|
|
3661
|
-
"all"
|
|
3662
|
-
],
|
|
3645
|
+
"options": [
|
|
3646
|
+
"sqlserver",
|
|
3647
|
+
"postgresql"
|
|
3648
|
+
],
|
|
3649
|
+
"type": "option"
|
|
3650
|
+
},
|
|
3651
|
+
"scope": {
|
|
3652
|
+
"description": "What to scan for translation",
|
|
3653
|
+
"name": "scope",
|
|
3654
|
+
"default": "all",
|
|
3655
|
+
"hasDynamicHelp": false,
|
|
3656
|
+
"multiple": false,
|
|
3657
|
+
"options": [
|
|
3658
|
+
"queries",
|
|
3659
|
+
"views",
|
|
3660
|
+
"filters",
|
|
3661
|
+
"all"
|
|
3662
|
+
],
|
|
3663
|
+
"type": "option"
|
|
3664
|
+
},
|
|
3665
|
+
"sql": {
|
|
3666
|
+
"description": "Translate a single SQL fragment (inline mode)",
|
|
3667
|
+
"name": "sql",
|
|
3668
|
+
"hasDynamicHelp": false,
|
|
3669
|
+
"multiple": false,
|
|
3670
|
+
"type": "option"
|
|
3671
|
+
},
|
|
3672
|
+
"dry-run": {
|
|
3673
|
+
"description": "Show what would be translated without making changes",
|
|
3674
|
+
"name": "dry-run",
|
|
3675
|
+
"allowNo": false,
|
|
3676
|
+
"type": "boolean"
|
|
3677
|
+
},
|
|
3678
|
+
"review": {
|
|
3679
|
+
"description": "Generate review report only (no writes to database)",
|
|
3680
|
+
"name": "review",
|
|
3681
|
+
"allowNo": false,
|
|
3682
|
+
"type": "boolean"
|
|
3683
|
+
},
|
|
3684
|
+
"output": {
|
|
3685
|
+
"char": "o",
|
|
3686
|
+
"description": "Output directory for the translation report",
|
|
3687
|
+
"name": "output",
|
|
3688
|
+
"hasDynamicHelp": false,
|
|
3689
|
+
"multiple": false,
|
|
3690
|
+
"type": "option"
|
|
3691
|
+
},
|
|
3692
|
+
"force": {
|
|
3693
|
+
"description": "Re-translate even if platform variants already exist",
|
|
3694
|
+
"name": "force",
|
|
3695
|
+
"allowNo": false,
|
|
3696
|
+
"type": "boolean"
|
|
3697
|
+
}
|
|
3698
|
+
},
|
|
3699
|
+
"hasDynamicHelp": false,
|
|
3700
|
+
"hiddenAliases": [],
|
|
3701
|
+
"id": "translate-sql",
|
|
3702
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3703
|
+
"pluginName": "@memberjunction/cli",
|
|
3704
|
+
"pluginType": "core",
|
|
3705
|
+
"strict": true,
|
|
3706
|
+
"enableJsonFlag": false,
|
|
3707
|
+
"isESM": true,
|
|
3708
|
+
"relativePath": [
|
|
3709
|
+
"dist",
|
|
3710
|
+
"commands",
|
|
3711
|
+
"translate-sql",
|
|
3712
|
+
"index.js"
|
|
3713
|
+
]
|
|
3714
|
+
},
|
|
3715
|
+
"ai:actions:list": {
|
|
3716
|
+
"aliases": [],
|
|
3717
|
+
"args": {},
|
|
3718
|
+
"description": "List available AI actions",
|
|
3719
|
+
"examples": [
|
|
3720
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3721
|
+
"<%= config.bin %> <%= command.id %> --output=table",
|
|
3722
|
+
"<%= config.bin %> <%= command.id %> --output=json"
|
|
3723
|
+
],
|
|
3724
|
+
"flags": {
|
|
3725
|
+
"output": {
|
|
3726
|
+
"char": "o",
|
|
3727
|
+
"description": "Output format",
|
|
3728
|
+
"name": "output",
|
|
3729
|
+
"default": "compact",
|
|
3730
|
+
"hasDynamicHelp": false,
|
|
3731
|
+
"multiple": false,
|
|
3732
|
+
"options": [
|
|
3733
|
+
"compact",
|
|
3734
|
+
"json",
|
|
3735
|
+
"table"
|
|
3736
|
+
],
|
|
3737
|
+
"type": "option"
|
|
3738
|
+
}
|
|
3739
|
+
},
|
|
3740
|
+
"hasDynamicHelp": false,
|
|
3741
|
+
"hiddenAliases": [],
|
|
3742
|
+
"id": "ai:actions:list",
|
|
3743
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3744
|
+
"pluginName": "@memberjunction/cli",
|
|
3745
|
+
"pluginType": "core",
|
|
3746
|
+
"strict": true,
|
|
3747
|
+
"enableJsonFlag": false,
|
|
3748
|
+
"isESM": true,
|
|
3749
|
+
"relativePath": [
|
|
3750
|
+
"dist",
|
|
3751
|
+
"commands",
|
|
3752
|
+
"ai",
|
|
3753
|
+
"actions",
|
|
3754
|
+
"list.js"
|
|
3755
|
+
]
|
|
3756
|
+
},
|
|
3757
|
+
"ai:actions:run": {
|
|
3758
|
+
"aliases": [],
|
|
3759
|
+
"args": {},
|
|
3760
|
+
"description": "Execute an AI action with parameters",
|
|
3761
|
+
"examples": [
|
|
3762
|
+
"<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
|
|
3763
|
+
"<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
|
|
3764
|
+
"<%= config.bin %> <%= command.id %> -n \"Send Single Message\" --param \"To=user@example.com\" --param \"Subject=Test\" --param \"Body=Hello\" --param \"MessageType=Email\" --param \"Provider=SendGrid\"",
|
|
3765
|
+
"<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
|
|
3766
|
+
],
|
|
3767
|
+
"flags": {
|
|
3768
|
+
"name": {
|
|
3769
|
+
"char": "n",
|
|
3770
|
+
"description": "Action name",
|
|
3771
|
+
"name": "name",
|
|
3772
|
+
"required": true,
|
|
3773
|
+
"hasDynamicHelp": false,
|
|
3774
|
+
"multiple": false,
|
|
3663
3775
|
"type": "option"
|
|
3664
3776
|
},
|
|
3665
|
-
"
|
|
3666
|
-
"
|
|
3667
|
-
"
|
|
3777
|
+
"param": {
|
|
3778
|
+
"char": "p",
|
|
3779
|
+
"description": "Action parameters in key=value format",
|
|
3780
|
+
"name": "param",
|
|
3668
3781
|
"hasDynamicHelp": false,
|
|
3669
|
-
"multiple":
|
|
3782
|
+
"multiple": true,
|
|
3670
3783
|
"type": "option"
|
|
3671
3784
|
},
|
|
3672
3785
|
"dry-run": {
|
|
3673
|
-
"description": "
|
|
3786
|
+
"description": "Validate without executing",
|
|
3674
3787
|
"name": "dry-run",
|
|
3675
3788
|
"allowNo": false,
|
|
3676
3789
|
"type": "boolean"
|
|
3677
3790
|
},
|
|
3678
|
-
"review": {
|
|
3679
|
-
"description": "Generate review report only (no writes to database)",
|
|
3680
|
-
"name": "review",
|
|
3681
|
-
"allowNo": false,
|
|
3682
|
-
"type": "boolean"
|
|
3683
|
-
},
|
|
3684
3791
|
"output": {
|
|
3685
3792
|
"char": "o",
|
|
3686
|
-
"description": "Output
|
|
3793
|
+
"description": "Output format",
|
|
3687
3794
|
"name": "output",
|
|
3795
|
+
"default": "compact",
|
|
3688
3796
|
"hasDynamicHelp": false,
|
|
3689
3797
|
"multiple": false,
|
|
3798
|
+
"options": [
|
|
3799
|
+
"compact",
|
|
3800
|
+
"json",
|
|
3801
|
+
"table"
|
|
3802
|
+
],
|
|
3690
3803
|
"type": "option"
|
|
3691
3804
|
},
|
|
3692
|
-
"
|
|
3693
|
-
"
|
|
3694
|
-
"
|
|
3805
|
+
"verbose": {
|
|
3806
|
+
"char": "v",
|
|
3807
|
+
"description": "Show detailed execution information",
|
|
3808
|
+
"name": "verbose",
|
|
3695
3809
|
"allowNo": false,
|
|
3696
3810
|
"type": "boolean"
|
|
3811
|
+
},
|
|
3812
|
+
"timeout": {
|
|
3813
|
+
"description": "Execution timeout in milliseconds",
|
|
3814
|
+
"name": "timeout",
|
|
3815
|
+
"default": 300000,
|
|
3816
|
+
"hasDynamicHelp": false,
|
|
3817
|
+
"multiple": false,
|
|
3818
|
+
"type": "option"
|
|
3697
3819
|
}
|
|
3698
3820
|
},
|
|
3699
3821
|
"hasDynamicHelp": false,
|
|
3700
3822
|
"hiddenAliases": [],
|
|
3701
|
-
"id": "
|
|
3823
|
+
"id": "ai:actions:run",
|
|
3702
3824
|
"pluginAlias": "@memberjunction/cli",
|
|
3703
3825
|
"pluginName": "@memberjunction/cli",
|
|
3704
3826
|
"pluginType": "core",
|
|
@@ -3708,14 +3830,15 @@
|
|
|
3708
3830
|
"relativePath": [
|
|
3709
3831
|
"dist",
|
|
3710
3832
|
"commands",
|
|
3711
|
-
"
|
|
3712
|
-
"
|
|
3833
|
+
"ai",
|
|
3834
|
+
"actions",
|
|
3835
|
+
"run.js"
|
|
3713
3836
|
]
|
|
3714
3837
|
},
|
|
3715
|
-
"ai:
|
|
3838
|
+
"ai:agents:list": {
|
|
3716
3839
|
"aliases": [],
|
|
3717
3840
|
"args": {},
|
|
3718
|
-
"description": "List available AI
|
|
3841
|
+
"description": "List available AI agents",
|
|
3719
3842
|
"examples": [
|
|
3720
3843
|
"<%= config.bin %> <%= command.id %>",
|
|
3721
3844
|
"<%= config.bin %> <%= command.id %> --output=table",
|
|
@@ -3739,7 +3862,7 @@
|
|
|
3739
3862
|
},
|
|
3740
3863
|
"hasDynamicHelp": false,
|
|
3741
3864
|
"hiddenAliases": [],
|
|
3742
|
-
"id": "ai:
|
|
3865
|
+
"id": "ai:agents:list",
|
|
3743
3866
|
"pluginAlias": "@memberjunction/cli",
|
|
3744
3867
|
"pluginName": "@memberjunction/cli",
|
|
3745
3868
|
"pluginType": "core",
|
|
@@ -3750,41 +3873,47 @@
|
|
|
3750
3873
|
"dist",
|
|
3751
3874
|
"commands",
|
|
3752
3875
|
"ai",
|
|
3753
|
-
"
|
|
3876
|
+
"agents",
|
|
3754
3877
|
"list.js"
|
|
3755
3878
|
]
|
|
3756
3879
|
},
|
|
3757
|
-
"ai:
|
|
3880
|
+
"ai:agents:run": {
|
|
3758
3881
|
"aliases": [],
|
|
3759
3882
|
"args": {},
|
|
3760
|
-
"description": "Execute an AI
|
|
3883
|
+
"description": "Execute an AI agent with a prompt or start interactive chat",
|
|
3761
3884
|
"examples": [
|
|
3762
|
-
"<%= config.bin %> <%= command.id %> -
|
|
3763
|
-
"<%= config.bin %> <%= command.id %> -
|
|
3764
|
-
"<%= config.bin %> <%= command.id %> -
|
|
3765
|
-
"<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
|
|
3885
|
+
"<%= config.bin %> <%= command.id %> -a \"Skip: Requirements Expert\" -p \"Create a dashboard for sales metrics\"",
|
|
3886
|
+
"<%= config.bin %> <%= command.id %> -a \"Child Component Generator Sub-agent\" --chat",
|
|
3887
|
+
"<%= config.bin %> <%= command.id %> -a \"Skip: Technical Design Expert\" -p \"Build a React component\" --verbose --timeout=600000"
|
|
3766
3888
|
],
|
|
3767
3889
|
"flags": {
|
|
3768
|
-
"
|
|
3769
|
-
"char": "
|
|
3770
|
-
"description": "
|
|
3771
|
-
"name": "
|
|
3890
|
+
"agent": {
|
|
3891
|
+
"char": "a",
|
|
3892
|
+
"description": "Agent name",
|
|
3893
|
+
"name": "agent",
|
|
3772
3894
|
"required": true,
|
|
3773
3895
|
"hasDynamicHelp": false,
|
|
3774
3896
|
"multiple": false,
|
|
3775
3897
|
"type": "option"
|
|
3776
3898
|
},
|
|
3777
|
-
"
|
|
3899
|
+
"prompt": {
|
|
3778
3900
|
"char": "p",
|
|
3779
|
-
"description": "
|
|
3780
|
-
"
|
|
3901
|
+
"description": "Prompt to execute",
|
|
3902
|
+
"exclusive": [
|
|
3903
|
+
"chat"
|
|
3904
|
+
],
|
|
3905
|
+
"name": "prompt",
|
|
3781
3906
|
"hasDynamicHelp": false,
|
|
3782
|
-
"multiple":
|
|
3907
|
+
"multiple": false,
|
|
3783
3908
|
"type": "option"
|
|
3784
3909
|
},
|
|
3785
|
-
"
|
|
3786
|
-
"
|
|
3787
|
-
"
|
|
3910
|
+
"chat": {
|
|
3911
|
+
"char": "c",
|
|
3912
|
+
"description": "Start interactive chat mode",
|
|
3913
|
+
"exclusive": [
|
|
3914
|
+
"prompt"
|
|
3915
|
+
],
|
|
3916
|
+
"name": "chat",
|
|
3788
3917
|
"allowNo": false,
|
|
3789
3918
|
"type": "boolean"
|
|
3790
3919
|
},
|
|
@@ -3820,7 +3949,7 @@
|
|
|
3820
3949
|
},
|
|
3821
3950
|
"hasDynamicHelp": false,
|
|
3822
3951
|
"hiddenAliases": [],
|
|
3823
|
-
"id": "ai:
|
|
3952
|
+
"id": "ai:agents:run",
|
|
3824
3953
|
"pluginAlias": "@memberjunction/cli",
|
|
3825
3954
|
"pluginName": "@memberjunction/cli",
|
|
3826
3955
|
"pluginType": "core",
|
|
@@ -3831,7 +3960,7 @@
|
|
|
3831
3960
|
"dist",
|
|
3832
3961
|
"commands",
|
|
3833
3962
|
"ai",
|
|
3834
|
-
"
|
|
3963
|
+
"agents",
|
|
3835
3964
|
"run.js"
|
|
3836
3965
|
]
|
|
3837
3966
|
},
|
|
@@ -4051,135 +4180,6 @@
|
|
|
4051
4180
|
"index.js"
|
|
4052
4181
|
]
|
|
4053
4182
|
},
|
|
4054
|
-
"ai:agents:list": {
|
|
4055
|
-
"aliases": [],
|
|
4056
|
-
"args": {},
|
|
4057
|
-
"description": "List available AI agents",
|
|
4058
|
-
"examples": [
|
|
4059
|
-
"<%= config.bin %> <%= command.id %>",
|
|
4060
|
-
"<%= config.bin %> <%= command.id %> --output=table",
|
|
4061
|
-
"<%= config.bin %> <%= command.id %> --output=json"
|
|
4062
|
-
],
|
|
4063
|
-
"flags": {
|
|
4064
|
-
"output": {
|
|
4065
|
-
"char": "o",
|
|
4066
|
-
"description": "Output format",
|
|
4067
|
-
"name": "output",
|
|
4068
|
-
"default": "compact",
|
|
4069
|
-
"hasDynamicHelp": false,
|
|
4070
|
-
"multiple": false,
|
|
4071
|
-
"options": [
|
|
4072
|
-
"compact",
|
|
4073
|
-
"json",
|
|
4074
|
-
"table"
|
|
4075
|
-
],
|
|
4076
|
-
"type": "option"
|
|
4077
|
-
}
|
|
4078
|
-
},
|
|
4079
|
-
"hasDynamicHelp": false,
|
|
4080
|
-
"hiddenAliases": [],
|
|
4081
|
-
"id": "ai:agents:list",
|
|
4082
|
-
"pluginAlias": "@memberjunction/cli",
|
|
4083
|
-
"pluginName": "@memberjunction/cli",
|
|
4084
|
-
"pluginType": "core",
|
|
4085
|
-
"strict": true,
|
|
4086
|
-
"enableJsonFlag": false,
|
|
4087
|
-
"isESM": true,
|
|
4088
|
-
"relativePath": [
|
|
4089
|
-
"dist",
|
|
4090
|
-
"commands",
|
|
4091
|
-
"ai",
|
|
4092
|
-
"agents",
|
|
4093
|
-
"list.js"
|
|
4094
|
-
]
|
|
4095
|
-
},
|
|
4096
|
-
"ai:agents:run": {
|
|
4097
|
-
"aliases": [],
|
|
4098
|
-
"args": {},
|
|
4099
|
-
"description": "Execute an AI agent with a prompt or start interactive chat",
|
|
4100
|
-
"examples": [
|
|
4101
|
-
"<%= config.bin %> <%= command.id %> -a \"Skip: Requirements Expert\" -p \"Create a dashboard for sales metrics\"",
|
|
4102
|
-
"<%= config.bin %> <%= command.id %> -a \"Child Component Generator Sub-agent\" --chat",
|
|
4103
|
-
"<%= config.bin %> <%= command.id %> -a \"Skip: Technical Design Expert\" -p \"Build a React component\" --verbose --timeout=600000"
|
|
4104
|
-
],
|
|
4105
|
-
"flags": {
|
|
4106
|
-
"agent": {
|
|
4107
|
-
"char": "a",
|
|
4108
|
-
"description": "Agent name",
|
|
4109
|
-
"name": "agent",
|
|
4110
|
-
"required": true,
|
|
4111
|
-
"hasDynamicHelp": false,
|
|
4112
|
-
"multiple": false,
|
|
4113
|
-
"type": "option"
|
|
4114
|
-
},
|
|
4115
|
-
"prompt": {
|
|
4116
|
-
"char": "p",
|
|
4117
|
-
"description": "Prompt to execute",
|
|
4118
|
-
"exclusive": [
|
|
4119
|
-
"chat"
|
|
4120
|
-
],
|
|
4121
|
-
"name": "prompt",
|
|
4122
|
-
"hasDynamicHelp": false,
|
|
4123
|
-
"multiple": false,
|
|
4124
|
-
"type": "option"
|
|
4125
|
-
},
|
|
4126
|
-
"chat": {
|
|
4127
|
-
"char": "c",
|
|
4128
|
-
"description": "Start interactive chat mode",
|
|
4129
|
-
"exclusive": [
|
|
4130
|
-
"prompt"
|
|
4131
|
-
],
|
|
4132
|
-
"name": "chat",
|
|
4133
|
-
"allowNo": false,
|
|
4134
|
-
"type": "boolean"
|
|
4135
|
-
},
|
|
4136
|
-
"output": {
|
|
4137
|
-
"char": "o",
|
|
4138
|
-
"description": "Output format",
|
|
4139
|
-
"name": "output",
|
|
4140
|
-
"default": "compact",
|
|
4141
|
-
"hasDynamicHelp": false,
|
|
4142
|
-
"multiple": false,
|
|
4143
|
-
"options": [
|
|
4144
|
-
"compact",
|
|
4145
|
-
"json",
|
|
4146
|
-
"table"
|
|
4147
|
-
],
|
|
4148
|
-
"type": "option"
|
|
4149
|
-
},
|
|
4150
|
-
"verbose": {
|
|
4151
|
-
"char": "v",
|
|
4152
|
-
"description": "Show detailed execution information",
|
|
4153
|
-
"name": "verbose",
|
|
4154
|
-
"allowNo": false,
|
|
4155
|
-
"type": "boolean"
|
|
4156
|
-
},
|
|
4157
|
-
"timeout": {
|
|
4158
|
-
"description": "Execution timeout in milliseconds",
|
|
4159
|
-
"name": "timeout",
|
|
4160
|
-
"default": 300000,
|
|
4161
|
-
"hasDynamicHelp": false,
|
|
4162
|
-
"multiple": false,
|
|
4163
|
-
"type": "option"
|
|
4164
|
-
}
|
|
4165
|
-
},
|
|
4166
|
-
"hasDynamicHelp": false,
|
|
4167
|
-
"hiddenAliases": [],
|
|
4168
|
-
"id": "ai:agents:run",
|
|
4169
|
-
"pluginAlias": "@memberjunction/cli",
|
|
4170
|
-
"pluginName": "@memberjunction/cli",
|
|
4171
|
-
"pluginType": "core",
|
|
4172
|
-
"strict": true,
|
|
4173
|
-
"enableJsonFlag": false,
|
|
4174
|
-
"isESM": true,
|
|
4175
|
-
"relativePath": [
|
|
4176
|
-
"dist",
|
|
4177
|
-
"commands",
|
|
4178
|
-
"ai",
|
|
4179
|
-
"agents",
|
|
4180
|
-
"run.js"
|
|
4181
|
-
]
|
|
4182
|
-
},
|
|
4183
4183
|
"ai:prompts:list": {
|
|
4184
4184
|
"aliases": [],
|
|
4185
4185
|
"args": {},
|
|
@@ -4760,5 +4760,5 @@
|
|
|
4760
4760
|
]
|
|
4761
4761
|
}
|
|
4762
4762
|
},
|
|
4763
|
-
"version": "5.40.
|
|
4763
|
+
"version": "5.40.2"
|
|
4764
4764
|
}
|