@memberjunction/cli 6.1.0-edge.4 → 6.1.0-edge.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +104 -0
  2. package/dist/commands/ai/actions/list.d.ts +2 -1
  3. package/dist/commands/ai/actions/list.d.ts.map +1 -1
  4. package/dist/commands/ai/actions/list.js +12 -3
  5. package/dist/commands/ai/actions/list.js.map +1 -1
  6. package/dist/commands/ai/actions/run.d.ts +7 -6
  7. package/dist/commands/ai/actions/run.d.ts.map +1 -1
  8. package/dist/commands/ai/actions/run.js +15 -16
  9. package/dist/commands/ai/actions/run.js.map +1 -1
  10. package/dist/commands/ai/agents/list.d.ts +2 -1
  11. package/dist/commands/ai/agents/list.d.ts.map +1 -1
  12. package/dist/commands/ai/agents/list.js +12 -3
  13. package/dist/commands/ai/agents/list.js.map +1 -1
  14. package/dist/commands/ai/agents/run.d.ts +7 -6
  15. package/dist/commands/ai/agents/run.d.ts.map +1 -1
  16. package/dist/commands/ai/agents/run.js +27 -5
  17. package/dist/commands/ai/agents/run.js.map +1 -1
  18. package/dist/commands/ai/audit/agent-run.d.ts +15 -14
  19. package/dist/commands/ai/audit/agent-run.d.ts.map +1 -1
  20. package/dist/commands/ai/audit/agent-run.js +18 -6
  21. package/dist/commands/ai/audit/agent-run.js.map +1 -1
  22. package/dist/commands/ai/prompts/run.d.ts +10 -9
  23. package/dist/commands/ai/prompts/run.d.ts.map +1 -1
  24. package/dist/commands/ai/prompts/run.js +12 -3
  25. package/dist/commands/ai/prompts/run.js.map +1 -1
  26. package/dist/commands/ai/usage.d.ts +7 -0
  27. package/dist/commands/ai/usage.d.ts.map +1 -0
  28. package/dist/commands/ai/usage.js +10 -0
  29. package/dist/commands/ai/usage.js.map +1 -0
  30. package/dist/commands/app/check-updates.d.ts.map +1 -1
  31. package/dist/commands/app/check-updates.js +55 -17
  32. package/dist/commands/app/check-updates.js.map +1 -1
  33. package/dist/commands/app/remove.d.ts.map +1 -1
  34. package/dist/commands/app/remove.js +12 -4
  35. package/dist/commands/app/remove.js.map +1 -1
  36. package/dist/commands/app/usage.d.ts +7 -0
  37. package/dist/commands/app/usage.d.ts.map +1 -0
  38. package/dist/commands/app/usage.js +10 -0
  39. package/dist/commands/app/usage.js.map +1 -0
  40. package/dist/commands/artifacts/usage.d.ts +7 -0
  41. package/dist/commands/artifacts/usage.d.ts.map +1 -0
  42. package/dist/commands/artifacts/usage.js +10 -0
  43. package/dist/commands/artifacts/usage.js.map +1 -0
  44. package/dist/commands/baseline/usage.d.ts +7 -0
  45. package/dist/commands/baseline/usage.d.ts.map +1 -0
  46. package/dist/commands/baseline/usage.js +10 -0
  47. package/dist/commands/baseline/usage.js.map +1 -0
  48. package/dist/commands/bump/usage.d.ts +7 -0
  49. package/dist/commands/bump/usage.d.ts.map +1 -0
  50. package/dist/commands/bump/usage.js +10 -0
  51. package/dist/commands/bump/usage.js.map +1 -0
  52. package/dist/commands/bundle/usage.d.ts +7 -0
  53. package/dist/commands/bundle/usage.d.ts.map +1 -0
  54. package/dist/commands/bundle/usage.js +10 -0
  55. package/dist/commands/bundle/usage.js.map +1 -0
  56. package/dist/commands/clean/usage.d.ts +7 -0
  57. package/dist/commands/clean/usage.d.ts.map +1 -0
  58. package/dist/commands/clean/usage.js +10 -0
  59. package/dist/commands/clean/usage.js.map +1 -0
  60. package/dist/commands/dbdoc/usage.d.ts +7 -0
  61. package/dist/commands/dbdoc/usage.d.ts.map +1 -0
  62. package/dist/commands/dbdoc/usage.js +10 -0
  63. package/dist/commands/dbdoc/usage.js.map +1 -0
  64. package/dist/commands/dev/workspace/index.d.ts.map +1 -1
  65. package/dist/commands/dev/workspace/index.js +7 -2
  66. package/dist/commands/dev/workspace/index.js.map +1 -1
  67. package/dist/commands/doctor/usage.d.ts +7 -0
  68. package/dist/commands/doctor/usage.d.ts.map +1 -0
  69. package/dist/commands/doctor/usage.js +10 -0
  70. package/dist/commands/doctor/usage.js.map +1 -0
  71. package/dist/commands/install/index.d.ts +20 -0
  72. package/dist/commands/install/index.d.ts.map +1 -1
  73. package/dist/commands/install/index.js +80 -10
  74. package/dist/commands/install/index.js.map +1 -1
  75. package/dist/commands/install/usage.d.ts +7 -0
  76. package/dist/commands/install/usage.d.ts.map +1 -0
  77. package/dist/commands/install/usage.js +10 -0
  78. package/dist/commands/install/usage.js.map +1 -0
  79. package/dist/commands/migrate/convert.d.ts +1 -0
  80. package/dist/commands/migrate/convert.d.ts.map +1 -1
  81. package/dist/commands/migrate/convert.js +54 -5
  82. package/dist/commands/migrate/convert.js.map +1 -1
  83. package/dist/commands/migrate/rebake.d.ts +1 -0
  84. package/dist/commands/migrate/rebake.d.ts.map +1 -1
  85. package/dist/commands/migrate/rebake.js +16 -6
  86. package/dist/commands/migrate/rebake.js.map +1 -1
  87. package/dist/commands/migrate/usage.d.ts +7 -0
  88. package/dist/commands/migrate/usage.d.ts.map +1 -0
  89. package/dist/commands/migrate/usage.js +10 -0
  90. package/dist/commands/migrate/usage.js.map +1 -0
  91. package/dist/commands/plugin/usage.d.ts +7 -0
  92. package/dist/commands/plugin/usage.d.ts.map +1 -0
  93. package/dist/commands/plugin/usage.js +10 -0
  94. package/dist/commands/plugin/usage.js.map +1 -0
  95. package/dist/commands/querygen/usage.d.ts +7 -0
  96. package/dist/commands/querygen/usage.d.ts.map +1 -0
  97. package/dist/commands/querygen/usage.js +10 -0
  98. package/dist/commands/querygen/usage.js.map +1 -0
  99. package/dist/commands/sql-audit/usage.d.ts +7 -0
  100. package/dist/commands/sql-audit/usage.d.ts.map +1 -0
  101. package/dist/commands/sql-audit/usage.js +10 -0
  102. package/dist/commands/sql-audit/usage.js.map +1 -0
  103. package/dist/commands/sql-convert/usage.d.ts +7 -0
  104. package/dist/commands/sql-convert/usage.d.ts.map +1 -0
  105. package/dist/commands/sql-convert/usage.js +10 -0
  106. package/dist/commands/sql-convert/usage.js.map +1 -0
  107. package/dist/commands/standards/usage.d.ts +7 -0
  108. package/dist/commands/standards/usage.d.ts.map +1 -0
  109. package/dist/commands/standards/usage.js +10 -0
  110. package/dist/commands/standards/usage.js.map +1 -0
  111. package/dist/commands/sync/file-reset.d.ts +6 -6
  112. package/dist/commands/sync/file-reset.d.ts.map +1 -1
  113. package/dist/commands/sync/file-reset.js +151 -127
  114. package/dist/commands/sync/file-reset.js.map +1 -1
  115. package/dist/commands/sync/init.d.ts +10 -1
  116. package/dist/commands/sync/init.d.ts.map +1 -1
  117. package/dist/commands/sync/init.js +127 -78
  118. package/dist/commands/sync/init.js.map +1 -1
  119. package/dist/commands/test/compare.d.ts +11 -11
  120. package/dist/commands/test/compare.d.ts.map +1 -1
  121. package/dist/commands/test/compare.js +8 -7
  122. package/dist/commands/test/compare.js.map +1 -1
  123. package/dist/commands/test/history.d.ts +7 -7
  124. package/dist/commands/test/history.d.ts.map +1 -1
  125. package/dist/commands/test/history.js +8 -7
  126. package/dist/commands/test/history.js.map +1 -1
  127. package/dist/commands/test/list.d.ts +8 -8
  128. package/dist/commands/test/list.d.ts.map +1 -1
  129. package/dist/commands/test/list.js +8 -7
  130. package/dist/commands/test/list.js.map +1 -1
  131. package/dist/commands/test/regression/compare.d.ts.map +1 -1
  132. package/dist/commands/test/regression/compare.js +5 -7
  133. package/dist/commands/test/regression/compare.js.map +1 -1
  134. package/dist/commands/test/run.d.ts +9 -9
  135. package/dist/commands/test/run.d.ts.map +1 -1
  136. package/dist/commands/test/run.js +8 -7
  137. package/dist/commands/test/run.js.map +1 -1
  138. package/dist/commands/test/suite.d.ts +11 -11
  139. package/dist/commands/test/suite.d.ts.map +1 -1
  140. package/dist/commands/test/suite.js +8 -7
  141. package/dist/commands/test/suite.js.map +1 -1
  142. package/dist/commands/test/usage.d.ts +7 -0
  143. package/dist/commands/test/usage.d.ts.map +1 -0
  144. package/dist/commands/test/usage.js +10 -0
  145. package/dist/commands/test/usage.js.map +1 -0
  146. package/dist/commands/test/validate.d.ts +7 -7
  147. package/dist/commands/test/validate.d.ts.map +1 -1
  148. package/dist/commands/test/validate.js +8 -7
  149. package/dist/commands/test/validate.js.map +1 -1
  150. package/dist/commands/translate-sql/usage.d.ts +7 -0
  151. package/dist/commands/translate-sql/usage.d.ts.map +1 -0
  152. package/dist/commands/translate-sql/usage.js +10 -0
  153. package/dist/commands/translate-sql/usage.js.map +1 -0
  154. package/dist/commands/update/usage.d.ts +7 -0
  155. package/dist/commands/update/usage.d.ts.map +1 -0
  156. package/dist/commands/update/usage.js +10 -0
  157. package/dist/commands/update/usage.js.map +1 -0
  158. package/dist/commands/usage.d.ts.map +1 -1
  159. package/dist/commands/usage.js +9 -4
  160. package/dist/commands/usage.js.map +1 -1
  161. package/dist/config.d.ts +127 -2
  162. package/dist/config.d.ts.map +1 -1
  163. package/dist/config.js +24 -2
  164. package/dist/config.js.map +1 -1
  165. package/dist/hooks/prerun.d.ts +6 -0
  166. package/dist/hooks/prerun.d.ts.map +1 -1
  167. package/dist/hooks/prerun.js +91 -32
  168. package/dist/hooks/prerun.js.map +1 -1
  169. package/dist/lib/cli-plugins.d.ts +8 -1
  170. package/dist/lib/cli-plugins.d.ts.map +1 -1
  171. package/dist/lib/cli-plugins.js +17 -1
  172. package/dist/lib/cli-plugins.js.map +1 -1
  173. package/dist/lib/derived-usage.d.ts +68 -0
  174. package/dist/lib/derived-usage.d.ts.map +1 -0
  175. package/dist/lib/derived-usage.js +121 -0
  176. package/dist/lib/derived-usage.js.map +1 -0
  177. package/dist/lib/domain-profiles.d.ts +42 -0
  178. package/dist/lib/domain-profiles.d.ts.map +1 -0
  179. package/dist/lib/domain-profiles.js +118 -0
  180. package/dist/lib/domain-profiles.js.map +1 -0
  181. package/dist/lib/domain-usage-command.d.ts.map +1 -1
  182. package/dist/lib/domain-usage-command.js +9 -4
  183. package/dist/lib/domain-usage-command.js.map +1 -1
  184. package/dist/lib/dynamic-packages.d.ts +31 -0
  185. package/dist/lib/dynamic-packages.d.ts.map +1 -0
  186. package/dist/lib/dynamic-packages.js +56 -0
  187. package/dist/lib/dynamic-packages.js.map +1 -0
  188. package/dist/lib/format-compat.d.ts +68 -0
  189. package/dist/lib/format-compat.d.ts.map +1 -0
  190. package/dist/lib/format-compat.js +111 -0
  191. package/dist/lib/format-compat.js.map +1 -0
  192. package/dist/lib/interactive-guard.d.ts +56 -0
  193. package/dist/lib/interactive-guard.d.ts.map +1 -0
  194. package/dist/lib/interactive-guard.js +60 -0
  195. package/dist/lib/interactive-guard.js.map +1 -0
  196. package/dist/lib/legacy-install.d.ts.map +1 -1
  197. package/dist/lib/legacy-install.js +4 -0
  198. package/dist/lib/legacy-install.js.map +1 -1
  199. package/dist/lib/usage-render.d.ts +2 -2
  200. package/dist/lib/usage-render.d.ts.map +1 -1
  201. package/dist/lib/usage-render.js +2 -1
  202. package/dist/lib/usage-render.js.map +1 -1
  203. package/dist/light-commands.d.ts.map +1 -1
  204. package/dist/light-commands.js +43 -0
  205. package/dist/light-commands.js.map +1 -1
  206. package/dist/utils/open-app-context.d.ts +24 -0
  207. package/dist/utils/open-app-context.d.ts.map +1 -1
  208. package/dist/utils/open-app-context.js +21 -6
  209. package/dist/utils/open-app-context.js.map +1 -1
  210. package/dist/utils/update-check.d.ts +86 -0
  211. package/dist/utils/update-check.d.ts.map +1 -0
  212. package/dist/utils/update-check.js +98 -0
  213. package/dist/utils/update-check.js.map +1 -0
  214. package/oclif.manifest.json +1158 -245
  215. package/package.json +22 -21
@@ -10,9 +10,8 @@
10
10
  ],
11
11
  "flags": {
12
12
  "format": {
13
- "description": "Output format",
13
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
14
14
  "name": "format",
15
- "default": "text",
16
15
  "hasDynamicHelp": false,
17
16
  "multiple": false,
18
17
  "options": [
@@ -60,6 +59,40 @@
60
59
  "index.js"
61
60
  ]
62
61
  },
62
+ "ai:usage": {
63
+ "aliases": [],
64
+ "args": {},
65
+ "description": "Show usage, flags, examples, and runtime hints for every `mj ai` command.",
66
+ "flags": {
67
+ "format": {
68
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
69
+ "name": "format",
70
+ "hasDynamicHelp": false,
71
+ "multiple": false,
72
+ "options": [
73
+ "text",
74
+ "json",
75
+ "md"
76
+ ],
77
+ "type": "option"
78
+ }
79
+ },
80
+ "hasDynamicHelp": false,
81
+ "hiddenAliases": [],
82
+ "id": "ai:usage",
83
+ "pluginAlias": "@memberjunction/cli",
84
+ "pluginName": "@memberjunction/cli",
85
+ "pluginType": "core",
86
+ "strict": true,
87
+ "enableJsonFlag": false,
88
+ "isESM": true,
89
+ "relativePath": [
90
+ "dist",
91
+ "commands",
92
+ "ai",
93
+ "usage.js"
94
+ ]
95
+ },
63
96
  "app:check-updates": {
64
97
  "aliases": [],
65
98
  "args": {},
@@ -390,46 +423,211 @@
390
423
  "upgrade.js"
391
424
  ]
392
425
  },
393
- "artifacts:reclassify": {
426
+ "app:usage": {
394
427
  "aliases": [],
395
428
  "args": {},
396
- "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.",
429
+ "description": "Show usage, flags, examples, and runtime hints for every `mj app` command.",
430
+ "flags": {
431
+ "format": {
432
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
433
+ "name": "format",
434
+ "hasDynamicHelp": false,
435
+ "multiple": false,
436
+ "options": [
437
+ "text",
438
+ "json",
439
+ "md"
440
+ ],
441
+ "type": "option"
442
+ }
443
+ },
444
+ "hasDynamicHelp": false,
445
+ "hiddenAliases": [],
446
+ "id": "app:usage",
447
+ "pluginAlias": "@memberjunction/cli",
448
+ "pluginName": "@memberjunction/cli",
449
+ "pluginType": "core",
450
+ "strict": true,
451
+ "enableJsonFlag": false,
452
+ "isESM": true,
453
+ "relativePath": [
454
+ "dist",
455
+ "commands",
456
+ "app",
457
+ "usage.js"
458
+ ]
459
+ },
460
+ "bump": {
461
+ "aliases": [],
462
+ "args": {},
463
+ "description": "Bumps MemberJunction dependency versions",
397
464
  "examples": [
398
- "<%= config.bin %> <%= command.id %>",
399
- "<%= config.bin %> <%= command.id %> --apply --limit 50"
465
+ {
466
+ "command": "<%= config.bin %> <%= command.id %>",
467
+ "description": "Bump all @memberjunction/* dependencies in the current directory's package.json to the CLI version"
468
+ },
469
+ {
470
+ "command": "<%= config.bin %> <%= command.id %> -rdv",
471
+ "description": "Preview all recursive packages bumps without writing any changes."
472
+ },
473
+ {
474
+ "command": "<%= config.bin %> <%= command.id %> -rqt v2.10.0 | xargs -n1 -I{} npm install --prefix {}",
475
+ "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."
476
+ }
400
477
  ],
401
478
  "flags": {
402
- "conversation-id": {
403
- "description": "Scope to artifacts attached to the given conversation.",
404
- "name": "conversation-id",
479
+ "verbose": {
480
+ "char": "v",
481
+ "description": "Enable additional logging",
482
+ "name": "verbose",
483
+ "allowNo": false,
484
+ "type": "boolean"
485
+ },
486
+ "recursive": {
487
+ "char": "r",
488
+ "description": "Bump version in current directory and all subdirectories",
489
+ "name": "recursive",
490
+ "allowNo": false,
491
+ "type": "boolean"
492
+ },
493
+ "tag": {
494
+ "char": "t",
495
+ "description": "Version tag to bump target for bump (e.g. v2.10.0), defaults to the CLI version",
496
+ "name": "tag",
405
497
  "hasDynamicHelp": false,
406
498
  "multiple": false,
407
499
  "type": "option"
408
500
  },
409
- "since": {
410
- "description": "Scope to artifacts created on/after this ISO date.",
411
- "name": "since",
501
+ "quiet": {
502
+ "char": "q",
503
+ "description": "Only output paths for updated packages",
504
+ "name": "quiet",
505
+ "allowNo": false,
506
+ "type": "boolean"
507
+ },
508
+ "dry": {
509
+ "char": "d",
510
+ "description": "Dry run, do not write changes to package.json files",
511
+ "name": "dry",
512
+ "allowNo": false,
513
+ "type": "boolean"
514
+ }
515
+ },
516
+ "hasDynamicHelp": false,
517
+ "hiddenAliases": [],
518
+ "id": "bump",
519
+ "pluginAlias": "@memberjunction/cli",
520
+ "pluginName": "@memberjunction/cli",
521
+ "pluginType": "core",
522
+ "strict": true,
523
+ "enableJsonFlag": false,
524
+ "isESM": true,
525
+ "relativePath": [
526
+ "dist",
527
+ "commands",
528
+ "bump",
529
+ "index.js"
530
+ ]
531
+ },
532
+ "bump:usage": {
533
+ "aliases": [],
534
+ "args": {},
535
+ "description": "Show usage, flags, examples, and runtime hints for every `mj bump` command.",
536
+ "flags": {
537
+ "format": {
538
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
539
+ "name": "format",
540
+ "hasDynamicHelp": false,
541
+ "multiple": false,
542
+ "options": [
543
+ "text",
544
+ "json",
545
+ "md"
546
+ ],
547
+ "type": "option"
548
+ }
549
+ },
550
+ "hasDynamicHelp": false,
551
+ "hiddenAliases": [],
552
+ "id": "bump:usage",
553
+ "pluginAlias": "@memberjunction/cli",
554
+ "pluginName": "@memberjunction/cli",
555
+ "pluginType": "core",
556
+ "strict": true,
557
+ "enableJsonFlag": false,
558
+ "isESM": true,
559
+ "relativePath": [
560
+ "dist",
561
+ "commands",
562
+ "bump",
563
+ "usage.js"
564
+ ]
565
+ },
566
+ "bundle": {
567
+ "aliases": [],
568
+ "args": {},
569
+ "description": "Create a self-contained MemberJunction distribution zip for offline/air-gapped installs",
570
+ "examples": [
571
+ "<%= config.bin %> <%= command.id %> --out ./mj-install.zip",
572
+ "<%= config.bin %> <%= command.id %> --tag v5.38.0 --out ./mj-install.zip",
573
+ "<%= config.bin %> <%= command.id %> --source . --out ./mj-install.zip",
574
+ "<%= config.bin %> <%= command.id %> --tag v5.38.0 --with-migrations --out ./mj-install.zip",
575
+ "<%= config.bin %> <%= command.id %> --with-migrations --db-platform postgresql --out ./mj-install.zip"
576
+ ],
577
+ "flags": {
578
+ "out": {
579
+ "char": "o",
580
+ "description": "Output zip path",
581
+ "name": "out",
582
+ "required": true,
412
583
  "hasDynamicHelp": false,
413
584
  "multiple": false,
414
585
  "type": "option"
415
586
  },
416
- "limit": {
417
- "description": "Maximum number of rows to inspect.",
418
- "name": "limit",
419
- "default": 100,
587
+ "tag": {
588
+ "char": "t",
589
+ "description": "Release tag to bundle (e.g. v5.38.0). Defaults to the latest branch tip.",
590
+ "name": "tag",
420
591
  "hasDynamicHelp": false,
421
592
  "multiple": false,
422
593
  "type": "option"
423
594
  },
424
- "apply": {
425
- "description": "Write changes. Without this flag, this command only reports what it would do.",
426
- "name": "apply",
595
+ "source": {
596
+ "description": "Bundle from a local working-tree directory instead of fetching from the repo",
597
+ "name": "source",
598
+ "hasDynamicHelp": false,
599
+ "multiple": false,
600
+ "type": "option"
601
+ },
602
+ "with-migrations": {
603
+ "description": "Include the migration tree(s) so an air-gapped \"mj migrate\" can run offline. Ships both SQL Server and PostgreSQL trees by default.",
604
+ "name": "with-migrations",
605
+ "allowNo": false,
606
+ "type": "boolean"
607
+ },
608
+ "db-platform": {
609
+ "dependsOn": [
610
+ "with-migrations"
611
+ ],
612
+ "description": "With --with-migrations, ship only this platform's migration tree instead of both",
613
+ "name": "db-platform",
614
+ "hasDynamicHelp": false,
615
+ "multiple": false,
616
+ "options": [
617
+ "sqlserver",
618
+ "postgresql"
619
+ ],
620
+ "type": "option"
621
+ },
622
+ "no-claude-pack": {
623
+ "description": "Exclude the Claude Code pack (CLAUDE.md + .claude/) from the bundle. By default the pack is included so air-gapped installs get the same out-of-the-box Claude experience as online installs.",
624
+ "name": "no-claude-pack",
427
625
  "allowNo": false,
428
626
  "type": "boolean"
429
627
  },
430
628
  "verbose": {
431
629
  "char": "v",
432
- "description": "Print every candidate row, not just the summary.",
630
+ "description": "Show detailed output",
433
631
  "name": "verbose",
434
632
  "allowNo": false,
435
633
  "type": "boolean"
@@ -437,7 +635,7 @@
437
635
  },
438
636
  "hasDynamicHelp": false,
439
637
  "hiddenAliases": [],
440
- "id": "artifacts:reclassify",
638
+ "id": "bundle",
441
639
  "pluginAlias": "@memberjunction/cli",
442
640
  "pluginName": "@memberjunction/cli",
443
641
  "pluginType": "core",
@@ -447,8 +645,108 @@
447
645
  "relativePath": [
448
646
  "dist",
449
647
  "commands",
450
- "artifacts",
451
- "reclassify.js"
648
+ "bundle",
649
+ "index.js"
650
+ ]
651
+ },
652
+ "bundle:usage": {
653
+ "aliases": [],
654
+ "args": {},
655
+ "description": "Show usage, flags, examples, and runtime hints for every `mj bundle` command.",
656
+ "flags": {
657
+ "format": {
658
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
659
+ "name": "format",
660
+ "hasDynamicHelp": false,
661
+ "multiple": false,
662
+ "options": [
663
+ "text",
664
+ "json",
665
+ "md"
666
+ ],
667
+ "type": "option"
668
+ }
669
+ },
670
+ "hasDynamicHelp": false,
671
+ "hiddenAliases": [],
672
+ "id": "bundle:usage",
673
+ "pluginAlias": "@memberjunction/cli",
674
+ "pluginName": "@memberjunction/cli",
675
+ "pluginType": "core",
676
+ "strict": true,
677
+ "enableJsonFlag": false,
678
+ "isESM": true,
679
+ "relativePath": [
680
+ "dist",
681
+ "commands",
682
+ "bundle",
683
+ "usage.js"
684
+ ]
685
+ },
686
+ "clean": {
687
+ "aliases": [],
688
+ "args": {},
689
+ "description": "Resets the MemberJunction database to a pre-installation state",
690
+ "examples": [
691
+ "<%= config.bin %> <%= command.id %>\n"
692
+ ],
693
+ "flags": {
694
+ "verbose": {
695
+ "char": "v",
696
+ "description": "Enable additional logging",
697
+ "name": "verbose",
698
+ "allowNo": false,
699
+ "type": "boolean"
700
+ }
701
+ },
702
+ "hasDynamicHelp": false,
703
+ "hiddenAliases": [],
704
+ "id": "clean",
705
+ "pluginAlias": "@memberjunction/cli",
706
+ "pluginName": "@memberjunction/cli",
707
+ "pluginType": "core",
708
+ "strict": true,
709
+ "enableJsonFlag": false,
710
+ "isESM": true,
711
+ "relativePath": [
712
+ "dist",
713
+ "commands",
714
+ "clean",
715
+ "index.js"
716
+ ]
717
+ },
718
+ "clean:usage": {
719
+ "aliases": [],
720
+ "args": {},
721
+ "description": "Show usage, flags, examples, and runtime hints for every `mj clean` command.",
722
+ "flags": {
723
+ "format": {
724
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
725
+ "name": "format",
726
+ "hasDynamicHelp": false,
727
+ "multiple": false,
728
+ "options": [
729
+ "text",
730
+ "json",
731
+ "md"
732
+ ],
733
+ "type": "option"
734
+ }
735
+ },
736
+ "hasDynamicHelp": false,
737
+ "hiddenAliases": [],
738
+ "id": "clean:usage",
739
+ "pluginAlias": "@memberjunction/cli",
740
+ "pluginName": "@memberjunction/cli",
741
+ "pluginType": "core",
742
+ "strict": true,
743
+ "enableJsonFlag": false,
744
+ "isESM": true,
745
+ "relativePath": [
746
+ "dist",
747
+ "commands",
748
+ "clean",
749
+ "usage.js"
452
750
  ]
453
751
  },
454
752
  "baseline:build": {
@@ -789,65 +1087,27 @@
789
1087
  "roundtrip.js"
790
1088
  ]
791
1089
  },
792
- "bump": {
1090
+ "baseline:usage": {
793
1091
  "aliases": [],
794
1092
  "args": {},
795
- "description": "Bumps MemberJunction dependency versions",
796
- "examples": [
797
- {
798
- "command": "<%= config.bin %> <%= command.id %>",
799
- "description": "Bump all @memberjunction/* dependencies in the current directory's package.json to the CLI version"
800
- },
801
- {
802
- "command": "<%= config.bin %> <%= command.id %> -rdv",
803
- "description": "Preview all recursive packages bumps without writing any changes."
804
- },
805
- {
806
- "command": "<%= config.bin %> <%= command.id %> -rqt v2.10.0 | xargs -n1 -I{} npm install --prefix {}",
807
- "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."
808
- }
809
- ],
1093
+ "description": "Show usage, flags, examples, and runtime hints for every `mj baseline` command.",
810
1094
  "flags": {
811
- "verbose": {
812
- "char": "v",
813
- "description": "Enable additional logging",
814
- "name": "verbose",
815
- "allowNo": false,
816
- "type": "boolean"
817
- },
818
- "recursive": {
819
- "char": "r",
820
- "description": "Bump version in current directory and all subdirectories",
821
- "name": "recursive",
822
- "allowNo": false,
823
- "type": "boolean"
824
- },
825
- "tag": {
826
- "char": "t",
827
- "description": "Version tag to bump target for bump (e.g. v2.10.0), defaults to the CLI version",
828
- "name": "tag",
1095
+ "format": {
1096
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
1097
+ "name": "format",
829
1098
  "hasDynamicHelp": false,
830
1099
  "multiple": false,
1100
+ "options": [
1101
+ "text",
1102
+ "json",
1103
+ "md"
1104
+ ],
831
1105
  "type": "option"
832
- },
833
- "quiet": {
834
- "char": "q",
835
- "description": "Only output paths for updated packages",
836
- "name": "quiet",
837
- "allowNo": false,
838
- "type": "boolean"
839
- },
840
- "dry": {
841
- "char": "d",
842
- "description": "Dry run, do not write changes to package.json files",
843
- "name": "dry",
844
- "allowNo": false,
845
- "type": "boolean"
846
1106
  }
847
1107
  },
848
1108
  "hasDynamicHelp": false,
849
1109
  "hiddenAliases": [],
850
- "id": "bump",
1110
+ "id": "baseline:usage",
851
1111
  "pluginAlias": "@memberjunction/cli",
852
1112
  "pluginName": "@memberjunction/cli",
853
1113
  "pluginType": "core",
@@ -857,75 +1117,50 @@
857
1117
  "relativePath": [
858
1118
  "dist",
859
1119
  "commands",
860
- "bump",
861
- "index.js"
1120
+ "baseline",
1121
+ "usage.js"
862
1122
  ]
863
1123
  },
864
- "bundle": {
1124
+ "artifacts:reclassify": {
865
1125
  "aliases": [],
866
1126
  "args": {},
867
- "description": "Create a self-contained MemberJunction distribution zip for offline/air-gapped installs",
1127
+ "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.",
868
1128
  "examples": [
869
- "<%= config.bin %> <%= command.id %> --out ./mj-install.zip",
870
- "<%= config.bin %> <%= command.id %> --tag v5.38.0 --out ./mj-install.zip",
871
- "<%= config.bin %> <%= command.id %> --source . --out ./mj-install.zip",
872
- "<%= config.bin %> <%= command.id %> --tag v5.38.0 --with-migrations --out ./mj-install.zip",
873
- "<%= config.bin %> <%= command.id %> --with-migrations --db-platform postgresql --out ./mj-install.zip"
1129
+ "<%= config.bin %> <%= command.id %>",
1130
+ "<%= config.bin %> <%= command.id %> --apply --limit 50"
874
1131
  ],
875
1132
  "flags": {
876
- "out": {
877
- "char": "o",
878
- "description": "Output zip path",
879
- "name": "out",
880
- "required": true,
881
- "hasDynamicHelp": false,
882
- "multiple": false,
883
- "type": "option"
884
- },
885
- "tag": {
886
- "char": "t",
887
- "description": "Release tag to bundle (e.g. v5.38.0). Defaults to the latest branch tip.",
888
- "name": "tag",
1133
+ "conversation-id": {
1134
+ "description": "Scope to artifacts attached to the given conversation.",
1135
+ "name": "conversation-id",
889
1136
  "hasDynamicHelp": false,
890
1137
  "multiple": false,
891
1138
  "type": "option"
892
1139
  },
893
- "source": {
894
- "description": "Bundle from a local working-tree directory instead of fetching from the repo",
895
- "name": "source",
1140
+ "since": {
1141
+ "description": "Scope to artifacts created on/after this ISO date.",
1142
+ "name": "since",
896
1143
  "hasDynamicHelp": false,
897
1144
  "multiple": false,
898
1145
  "type": "option"
899
1146
  },
900
- "with-migrations": {
901
- "description": "Include the migration tree(s) so an air-gapped \"mj migrate\" can run offline. Ships both SQL Server and PostgreSQL trees by default.",
902
- "name": "with-migrations",
903
- "allowNo": false,
904
- "type": "boolean"
905
- },
906
- "db-platform": {
907
- "dependsOn": [
908
- "with-migrations"
909
- ],
910
- "description": "With --with-migrations, ship only this platform's migration tree instead of both",
911
- "name": "db-platform",
1147
+ "limit": {
1148
+ "description": "Maximum number of rows to inspect.",
1149
+ "name": "limit",
1150
+ "default": 100,
912
1151
  "hasDynamicHelp": false,
913
1152
  "multiple": false,
914
- "options": [
915
- "sqlserver",
916
- "postgresql"
917
- ],
918
1153
  "type": "option"
919
1154
  },
920
- "no-claude-pack": {
921
- "description": "Exclude the Claude Code pack (CLAUDE.md + .claude/) from the bundle. By default the pack is included so air-gapped installs get the same out-of-the-box Claude experience as online installs.",
922
- "name": "no-claude-pack",
1155
+ "apply": {
1156
+ "description": "Write changes. Without this flag, this command only reports what it would do.",
1157
+ "name": "apply",
923
1158
  "allowNo": false,
924
1159
  "type": "boolean"
925
1160
  },
926
1161
  "verbose": {
927
1162
  "char": "v",
928
- "description": "Show detailed output",
1163
+ "description": "Print every candidate row, not just the summary.",
929
1164
  "name": "verbose",
930
1165
  "allowNo": false,
931
1166
  "type": "boolean"
@@ -933,7 +1168,7 @@
933
1168
  },
934
1169
  "hasDynamicHelp": false,
935
1170
  "hiddenAliases": [],
936
- "id": "bundle",
1171
+ "id": "artifacts:reclassify",
937
1172
  "pluginAlias": "@memberjunction/cli",
938
1173
  "pluginName": "@memberjunction/cli",
939
1174
  "pluginType": "core",
@@ -943,29 +1178,31 @@
943
1178
  "relativePath": [
944
1179
  "dist",
945
1180
  "commands",
946
- "bundle",
947
- "index.js"
1181
+ "artifacts",
1182
+ "reclassify.js"
948
1183
  ]
949
1184
  },
950
- "clean": {
1185
+ "artifacts:usage": {
951
1186
  "aliases": [],
952
1187
  "args": {},
953
- "description": "Resets the MemberJunction database to a pre-installation state",
954
- "examples": [
955
- "<%= config.bin %> <%= command.id %>\n"
956
- ],
1188
+ "description": "Show usage, flags, examples, and runtime hints for every `mj artifacts` command.",
957
1189
  "flags": {
958
- "verbose": {
959
- "char": "v",
960
- "description": "Enable additional logging",
961
- "name": "verbose",
962
- "allowNo": false,
963
- "type": "boolean"
1190
+ "format": {
1191
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
1192
+ "name": "format",
1193
+ "hasDynamicHelp": false,
1194
+ "multiple": false,
1195
+ "options": [
1196
+ "text",
1197
+ "json",
1198
+ "md"
1199
+ ],
1200
+ "type": "option"
964
1201
  }
965
1202
  },
966
1203
  "hasDynamicHelp": false,
967
1204
  "hiddenAliases": [],
968
- "id": "clean",
1205
+ "id": "artifacts:usage",
969
1206
  "pluginAlias": "@memberjunction/cli",
970
1207
  "pluginName": "@memberjunction/cli",
971
1208
  "pluginType": "core",
@@ -975,8 +1212,8 @@
975
1212
  "relativePath": [
976
1213
  "dist",
977
1214
  "commands",
978
- "clean",
979
- "index.js"
1215
+ "artifacts",
1216
+ "usage.js"
980
1217
  ]
981
1218
  },
982
1219
  "codegen:5-0-fix-entity-names": {
@@ -1224,15 +1461,17 @@
1224
1461
  ],
1225
1462
  "flags": {
1226
1463
  "format": {
1227
- "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
1464
+ "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
1228
1465
  "name": "format",
1229
- "default": "text",
1230
1466
  "hasDynamicHelp": false,
1231
1467
  "multiple": false,
1232
1468
  "options": [
1233
1469
  "text",
1234
1470
  "json",
1235
- "md"
1471
+ "md",
1472
+ "human",
1473
+ "console",
1474
+ "markdown"
1236
1475
  ],
1237
1476
  "type": "option"
1238
1477
  },
@@ -1249,6 +1488,18 @@
1249
1488
  "allowNo": false,
1250
1489
  "type": "boolean"
1251
1490
  },
1491
+ "no-app-packages": {
1492
+ "description": "Do not load installed Open App server packages (or the host's generated packages) for this run, so records are written with the generic BaseEntity — no custom Save() logic or lifecycle hooks.",
1493
+ "name": "no-app-packages",
1494
+ "allowNo": false,
1495
+ "type": "boolean"
1496
+ },
1497
+ "interactive": {
1498
+ "description": "Allow interactive prompts. Defaults to on at a terminal and off when piped, spawned, or in CI, so an agent never hangs on a question. Use --no-interactive to force it off.",
1499
+ "name": "interactive",
1500
+ "allowNo": true,
1501
+ "type": "boolean"
1502
+ },
1252
1503
  "skipdb": {
1253
1504
  "description": "Skip database operations. Only regenerate TypeScript entities, Angular components, and GraphQL resolvers from existing metadata.",
1254
1505
  "name": "skipdb",
@@ -1266,6 +1517,25 @@
1266
1517
  "name": "force-advanced-gen",
1267
1518
  "allowNo": false,
1268
1519
  "type": "boolean"
1520
+ },
1521
+ "no-ai": {
1522
+ "description": "Disable AI-driven advanced generation (descriptions, categories, search ranking). Overrides config and credential checks. Can also be set with MJ_CODEGEN_NO_AI=1.",
1523
+ "name": "no-ai",
1524
+ "allowNo": false,
1525
+ "type": "boolean"
1526
+ },
1527
+ "sql-output-dir": {
1528
+ "description": "Directory for CodeGen_Run_*.sql (EntityField INSERTs and other metadata SQL). Open Apps default to ./migrations/codegen. Do not point this at MJ/migrations/v*.",
1529
+ "name": "sql-output-dir",
1530
+ "hasDynamicHelp": false,
1531
+ "multiple": false,
1532
+ "type": "option"
1533
+ },
1534
+ "skip-commands": {
1535
+ "description": "Skip running BEFORE and AFTER shell commands configured in mj.config. Can also be set with MJ_CODEGEN_SKIP_COMMANDS=1.",
1536
+ "name": "skip-commands",
1537
+ "allowNo": false,
1538
+ "type": "boolean"
1269
1539
  }
1270
1540
  },
1271
1541
  "hasDynamicHelp": false,
@@ -1297,6 +1567,21 @@
1297
1567
  "type": "boolean",
1298
1568
  "description": "Re-run advanced generation for all entities"
1299
1569
  },
1570
+ {
1571
+ "name": "--no-ai",
1572
+ "type": "boolean",
1573
+ "description": "Disable AI-driven advanced generation (same as MJ_CODEGEN_NO_AI=1)"
1574
+ },
1575
+ {
1576
+ "name": "--skip-commands",
1577
+ "type": "boolean",
1578
+ "description": "Skip running BEFORE/AFTER commands (same as MJ_CODEGEN_SKIP_COMMANDS=1)"
1579
+ },
1580
+ {
1581
+ "name": "--sql-output-dir",
1582
+ "type": "string",
1583
+ "description": "Directory for CodeGen_Run metadata SQL (Open Apps: ./migrations/codegen)"
1584
+ },
1300
1585
  {
1301
1586
  "name": "--format",
1302
1587
  "type": "text|json|md",
@@ -1306,6 +1591,7 @@
1306
1591
  "examples": [
1307
1592
  "mj codegen",
1308
1593
  "mj codegen --skipdb",
1594
+ "mj codegen --skip-commands",
1309
1595
  "mj codegen --format=json"
1310
1596
  ],
1311
1597
  "runtime": {
@@ -1454,9 +1740,8 @@
1454
1740
  "description": "Show usage, flags, examples, and runtime hints for `mj codegen`.",
1455
1741
  "flags": {
1456
1742
  "format": {
1457
- "description": "Output format",
1743
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
1458
1744
  "name": "format",
1459
- "default": "text",
1460
1745
  "hasDynamicHelp": false,
1461
1746
  "multiple": false,
1462
1747
  "options": [
@@ -1920,6 +2205,40 @@
1920
2205
  "status.js"
1921
2206
  ]
1922
2207
  },
2208
+ "dbdoc:usage": {
2209
+ "aliases": [],
2210
+ "args": {},
2211
+ "description": "Show usage, flags, examples, and runtime hints for every `mj dbdoc` command.",
2212
+ "flags": {
2213
+ "format": {
2214
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
2215
+ "name": "format",
2216
+ "hasDynamicHelp": false,
2217
+ "multiple": false,
2218
+ "options": [
2219
+ "text",
2220
+ "json",
2221
+ "md"
2222
+ ],
2223
+ "type": "option"
2224
+ }
2225
+ },
2226
+ "hasDynamicHelp": false,
2227
+ "hiddenAliases": [],
2228
+ "id": "dbdoc:usage",
2229
+ "pluginAlias": "@memberjunction/cli",
2230
+ "pluginName": "@memberjunction/cli",
2231
+ "pluginType": "core",
2232
+ "strict": true,
2233
+ "enableJsonFlag": false,
2234
+ "isESM": true,
2235
+ "relativePath": [
2236
+ "dist",
2237
+ "commands",
2238
+ "dbdoc",
2239
+ "usage.js"
2240
+ ]
2241
+ },
1923
2242
  "dev": {
1924
2243
  "aliases": [],
1925
2244
  "args": {},
@@ -1948,9 +2267,8 @@
1948
2267
  "description": "Show usage, flags, examples, and runtime hints for every `mj dev` command.",
1949
2268
  "flags": {
1950
2269
  "format": {
1951
- "description": "Output format",
2270
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
1952
2271
  "name": "format",
1953
- "default": "text",
1954
2272
  "hasDynamicHelp": false,
1955
2273
  "multiple": false,
1956
2274
  "options": [
@@ -2034,6 +2352,40 @@
2034
2352
  "index.js"
2035
2353
  ]
2036
2354
  },
2355
+ "doctor:usage": {
2356
+ "aliases": [],
2357
+ "args": {},
2358
+ "description": "Show usage, flags, examples, and runtime hints for every `mj doctor` command.",
2359
+ "flags": {
2360
+ "format": {
2361
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
2362
+ "name": "format",
2363
+ "hasDynamicHelp": false,
2364
+ "multiple": false,
2365
+ "options": [
2366
+ "text",
2367
+ "json",
2368
+ "md"
2369
+ ],
2370
+ "type": "option"
2371
+ }
2372
+ },
2373
+ "hasDynamicHelp": false,
2374
+ "hiddenAliases": [],
2375
+ "id": "doctor:usage",
2376
+ "pluginAlias": "@memberjunction/cli",
2377
+ "pluginName": "@memberjunction/cli",
2378
+ "pluginType": "core",
2379
+ "strict": true,
2380
+ "enableJsonFlag": false,
2381
+ "isESM": true,
2382
+ "relativePath": [
2383
+ "dist",
2384
+ "commands",
2385
+ "doctor",
2386
+ "usage.js"
2387
+ ]
2388
+ },
2037
2389
  "install:claude": {
2038
2390
  "aliases": [],
2039
2391
  "args": {},
@@ -2268,6 +2620,40 @@
2268
2620
  "index.js"
2269
2621
  ]
2270
2622
  },
2623
+ "install:usage": {
2624
+ "aliases": [],
2625
+ "args": {},
2626
+ "description": "Show usage, flags, examples, and runtime hints for every `mj install` command.",
2627
+ "flags": {
2628
+ "format": {
2629
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
2630
+ "name": "format",
2631
+ "hasDynamicHelp": false,
2632
+ "multiple": false,
2633
+ "options": [
2634
+ "text",
2635
+ "json",
2636
+ "md"
2637
+ ],
2638
+ "type": "option"
2639
+ }
2640
+ },
2641
+ "hasDynamicHelp": false,
2642
+ "hiddenAliases": [],
2643
+ "id": "install:usage",
2644
+ "pluginAlias": "@memberjunction/cli",
2645
+ "pluginName": "@memberjunction/cli",
2646
+ "pluginType": "core",
2647
+ "strict": true,
2648
+ "enableJsonFlag": false,
2649
+ "isESM": true,
2650
+ "relativePath": [
2651
+ "dist",
2652
+ "commands",
2653
+ "install",
2654
+ "usage.js"
2655
+ ]
2656
+ },
2271
2657
  "migrate:convert": {
2272
2658
  "aliases": [],
2273
2659
  "args": {},
@@ -2311,6 +2697,14 @@
2311
2697
  "multiple": false,
2312
2698
  "type": "option"
2313
2699
  },
2700
+ "core-schema": {
2701
+ "description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
2702
+ "name": "core-schema",
2703
+ "default": "__mj",
2704
+ "hasDynamicHelp": false,
2705
+ "multiple": false,
2706
+ "type": "option"
2707
+ },
2314
2708
  "dry-run": {
2315
2709
  "description": "Show what would be converted without writing files",
2316
2710
  "name": "dry-run",
@@ -2527,6 +2921,14 @@
2527
2921
  "multiple": false,
2528
2922
  "type": "option"
2529
2923
  },
2924
+ "core-schema": {
2925
+ "description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
2926
+ "name": "core-schema",
2927
+ "default": "__mj",
2928
+ "hasDynamicHelp": false,
2929
+ "multiple": false,
2930
+ "type": "option"
2931
+ },
2530
2932
  "baseline-floor": {
2531
2933
  "description": "Re-bake migrations strictly AFTER this version key (default: the latest B* in output-dir)",
2532
2934
  "name": "baseline-floor",
@@ -2557,6 +2959,40 @@
2557
2959
  "rebake.js"
2558
2960
  ]
2559
2961
  },
2962
+ "migrate:usage": {
2963
+ "aliases": [],
2964
+ "args": {},
2965
+ "description": "Show usage, flags, examples, and runtime hints for every `mj migrate` command.",
2966
+ "flags": {
2967
+ "format": {
2968
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
2969
+ "name": "format",
2970
+ "hasDynamicHelp": false,
2971
+ "multiple": false,
2972
+ "options": [
2973
+ "text",
2974
+ "json",
2975
+ "md"
2976
+ ],
2977
+ "type": "option"
2978
+ }
2979
+ },
2980
+ "hasDynamicHelp": false,
2981
+ "hiddenAliases": [],
2982
+ "id": "migrate:usage",
2983
+ "pluginAlias": "@memberjunction/cli",
2984
+ "pluginName": "@memberjunction/cli",
2985
+ "pluginType": "core",
2986
+ "strict": true,
2987
+ "enableJsonFlag": false,
2988
+ "isESM": true,
2989
+ "relativePath": [
2990
+ "dist",
2991
+ "commands",
2992
+ "migrate",
2993
+ "usage.js"
2994
+ ]
2995
+ },
2560
2996
  "plugin:add": {
2561
2997
  "aliases": [],
2562
2998
  "args": {
@@ -2573,21 +3009,55 @@
2573
3009
  ],
2574
3010
  "flags": {
2575
3011
  "format": {
2576
- "description": "Output format",
3012
+ "description": "Output format",
3013
+ "name": "format",
3014
+ "default": "text",
3015
+ "hasDynamicHelp": false,
3016
+ "multiple": false,
3017
+ "options": [
3018
+ "text",
3019
+ "json"
3020
+ ],
3021
+ "type": "option"
3022
+ }
3023
+ },
3024
+ "hasDynamicHelp": false,
3025
+ "hiddenAliases": [],
3026
+ "id": "plugin:add",
3027
+ "pluginAlias": "@memberjunction/cli",
3028
+ "pluginName": "@memberjunction/cli",
3029
+ "pluginType": "core",
3030
+ "strict": true,
3031
+ "enableJsonFlag": false,
3032
+ "isESM": true,
3033
+ "relativePath": [
3034
+ "dist",
3035
+ "commands",
3036
+ "plugin",
3037
+ "add.js"
3038
+ ]
3039
+ },
3040
+ "plugin:usage": {
3041
+ "aliases": [],
3042
+ "args": {},
3043
+ "description": "Show usage, flags, examples, and runtime hints for every `mj plugin` command.",
3044
+ "flags": {
3045
+ "format": {
3046
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
2577
3047
  "name": "format",
2578
- "default": "text",
2579
3048
  "hasDynamicHelp": false,
2580
3049
  "multiple": false,
2581
3050
  "options": [
2582
3051
  "text",
2583
- "json"
3052
+ "json",
3053
+ "md"
2584
3054
  ],
2585
3055
  "type": "option"
2586
3056
  }
2587
3057
  },
2588
3058
  "hasDynamicHelp": false,
2589
3059
  "hiddenAliases": [],
2590
- "id": "plugin:add",
3060
+ "id": "plugin:usage",
2591
3061
  "pluginAlias": "@memberjunction/cli",
2592
3062
  "pluginName": "@memberjunction/cli",
2593
3063
  "pluginType": "core",
@@ -2598,7 +3068,7 @@
2598
3068
  "dist",
2599
3069
  "commands",
2600
3070
  "plugin",
2601
- "add.js"
3071
+ "usage.js"
2602
3072
  ]
2603
3073
  },
2604
3074
  "querygen:export": {
@@ -2773,6 +3243,40 @@
2773
3243
  "generate.js"
2774
3244
  ]
2775
3245
  },
3246
+ "querygen:usage": {
3247
+ "aliases": [],
3248
+ "args": {},
3249
+ "description": "Show usage, flags, examples, and runtime hints for every `mj querygen` command.",
3250
+ "flags": {
3251
+ "format": {
3252
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
3253
+ "name": "format",
3254
+ "hasDynamicHelp": false,
3255
+ "multiple": false,
3256
+ "options": [
3257
+ "text",
3258
+ "json",
3259
+ "md"
3260
+ ],
3261
+ "type": "option"
3262
+ }
3263
+ },
3264
+ "hasDynamicHelp": false,
3265
+ "hiddenAliases": [],
3266
+ "id": "querygen:usage",
3267
+ "pluginAlias": "@memberjunction/cli",
3268
+ "pluginName": "@memberjunction/cli",
3269
+ "pluginType": "core",
3270
+ "strict": true,
3271
+ "enableJsonFlag": false,
3272
+ "isESM": true,
3273
+ "relativePath": [
3274
+ "dist",
3275
+ "commands",
3276
+ "querygen",
3277
+ "usage.js"
3278
+ ]
3279
+ },
2776
3280
  "querygen:validate": {
2777
3281
  "aliases": [],
2778
3282
  "args": {},
@@ -2883,6 +3387,40 @@
2883
3387
  "index.js"
2884
3388
  ]
2885
3389
  },
3390
+ "sql-audit:usage": {
3391
+ "aliases": [],
3392
+ "args": {},
3393
+ "description": "Show usage, flags, examples, and runtime hints for every `mj sql-audit` command.",
3394
+ "flags": {
3395
+ "format": {
3396
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
3397
+ "name": "format",
3398
+ "hasDynamicHelp": false,
3399
+ "multiple": false,
3400
+ "options": [
3401
+ "text",
3402
+ "json",
3403
+ "md"
3404
+ ],
3405
+ "type": "option"
3406
+ }
3407
+ },
3408
+ "hasDynamicHelp": false,
3409
+ "hiddenAliases": [],
3410
+ "id": "sql-audit:usage",
3411
+ "pluginAlias": "@memberjunction/cli",
3412
+ "pluginName": "@memberjunction/cli",
3413
+ "pluginType": "core",
3414
+ "strict": true,
3415
+ "enableJsonFlag": false,
3416
+ "isESM": true,
3417
+ "relativePath": [
3418
+ "dist",
3419
+ "commands",
3420
+ "sql-audit",
3421
+ "usage.js"
3422
+ ]
3423
+ },
2886
3424
  "sql-convert": {
2887
3425
  "aliases": [],
2888
3426
  "args": {
@@ -2968,6 +3506,40 @@
2968
3506
  "index.js"
2969
3507
  ]
2970
3508
  },
3509
+ "sql-convert:usage": {
3510
+ "aliases": [],
3511
+ "args": {},
3512
+ "description": "Show usage, flags, examples, and runtime hints for every `mj sql-convert` command.",
3513
+ "flags": {
3514
+ "format": {
3515
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
3516
+ "name": "format",
3517
+ "hasDynamicHelp": false,
3518
+ "multiple": false,
3519
+ "options": [
3520
+ "text",
3521
+ "json",
3522
+ "md"
3523
+ ],
3524
+ "type": "option"
3525
+ }
3526
+ },
3527
+ "hasDynamicHelp": false,
3528
+ "hiddenAliases": [],
3529
+ "id": "sql-convert:usage",
3530
+ "pluginAlias": "@memberjunction/cli",
3531
+ "pluginName": "@memberjunction/cli",
3532
+ "pluginType": "core",
3533
+ "strict": true,
3534
+ "enableJsonFlag": false,
3535
+ "isESM": true,
3536
+ "relativePath": [
3537
+ "dist",
3538
+ "commands",
3539
+ "sql-convert",
3540
+ "usage.js"
3541
+ ]
3542
+ },
2971
3543
  "standards:adopt": {
2972
3544
  "aliases": [],
2973
3545
  "args": {},
@@ -3156,6 +3728,40 @@
3156
3728
  "list.js"
3157
3729
  ]
3158
3730
  },
3731
+ "standards:usage": {
3732
+ "aliases": [],
3733
+ "args": {},
3734
+ "description": "Show usage, flags, examples, and runtime hints for every `mj standards` command.",
3735
+ "flags": {
3736
+ "format": {
3737
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
3738
+ "name": "format",
3739
+ "hasDynamicHelp": false,
3740
+ "multiple": false,
3741
+ "options": [
3742
+ "text",
3743
+ "json",
3744
+ "md"
3745
+ ],
3746
+ "type": "option"
3747
+ }
3748
+ },
3749
+ "hasDynamicHelp": false,
3750
+ "hiddenAliases": [],
3751
+ "id": "standards:usage",
3752
+ "pluginAlias": "@memberjunction/cli",
3753
+ "pluginName": "@memberjunction/cli",
3754
+ "pluginType": "core",
3755
+ "strict": true,
3756
+ "enableJsonFlag": false,
3757
+ "isESM": true,
3758
+ "relativePath": [
3759
+ "dist",
3760
+ "commands",
3761
+ "standards",
3762
+ "usage.js"
3763
+ ]
3764
+ },
3159
3765
  "sync:file-reset": {
3160
3766
  "aliases": [],
3161
3767
  "args": {},
@@ -3226,11 +3832,59 @@
3226
3832
  "sync:init": {
3227
3833
  "aliases": [],
3228
3834
  "args": {},
3229
- "description": "Initialize a directory for metadata synchronization",
3835
+ "description": "Initialize a directory for metadata synchronization.\n\nPrompts at a terminal; runs unattended when piped, spawned, or in CI. To script it,\npass --setup-entity (and --entity/--dir when setting up \"other\").",
3230
3836
  "examples": [
3231
- "<%= config.bin %> <%= command.id %>"
3837
+ {
3838
+ "command": "<%= config.bin %> <%= command.id %> --setup-entity=no",
3839
+ "description": "Initialize with no entity directory"
3840
+ },
3841
+ {
3842
+ "command": "<%= config.bin %> <%= command.id %> --setup-entity=ai-prompts",
3843
+ "description": "Initialize and set up the AI Prompts directory"
3844
+ },
3845
+ {
3846
+ "command": "<%= config.bin %> <%= command.id %> --setup-entity=other --entity=\"MJ: AI Models\" --dir=ai-models",
3847
+ "description": "Initialize for an arbitrary entity"
3848
+ },
3849
+ {
3850
+ "command": "<%= config.bin %> <%= command.id %> --no-interactive --setup-entity=no",
3851
+ "description": "Never prompt, even at a terminal"
3852
+ }
3232
3853
  ],
3233
- "flags": {},
3854
+ "flags": {
3855
+ "setup-entity": {
3856
+ "description": "Which entity directory to set up. Use \"no\" to skip.",
3857
+ "name": "setup-entity",
3858
+ "hasDynamicHelp": false,
3859
+ "multiple": false,
3860
+ "options": [
3861
+ "ai-prompts",
3862
+ "other",
3863
+ "no"
3864
+ ],
3865
+ "type": "option"
3866
+ },
3867
+ "entity": {
3868
+ "description": "Entity name when --setup-entity=other (e.g. \"MJ: AI Models\").",
3869
+ "name": "entity",
3870
+ "hasDynamicHelp": false,
3871
+ "multiple": false,
3872
+ "type": "option"
3873
+ },
3874
+ "dir": {
3875
+ "description": "Directory name when --setup-entity=other. Defaults to a slug of --entity.",
3876
+ "name": "dir",
3877
+ "hasDynamicHelp": false,
3878
+ "multiple": false,
3879
+ "type": "option"
3880
+ },
3881
+ "overwrite": {
3882
+ "description": "Overwrite an existing configuration. Without this, an initialized directory is left untouched.",
3883
+ "name": "overwrite",
3884
+ "allowNo": true,
3885
+ "type": "boolean"
3886
+ }
3887
+ },
3234
3888
  "hasDynamicHelp": false,
3235
3889
  "hiddenAliases": [],
3236
3890
  "id": "sync:init",
@@ -3258,15 +3912,17 @@
3258
3912
  ],
3259
3913
  "flags": {
3260
3914
  "format": {
3261
- "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
3915
+ "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
3262
3916
  "name": "format",
3263
- "default": "text",
3264
3917
  "hasDynamicHelp": false,
3265
3918
  "multiple": false,
3266
3919
  "options": [
3267
3920
  "text",
3268
3921
  "json",
3269
- "md"
3922
+ "md",
3923
+ "human",
3924
+ "console",
3925
+ "markdown"
3270
3926
  ],
3271
3927
  "type": "option"
3272
3928
  },
@@ -3283,6 +3939,18 @@
3283
3939
  "allowNo": false,
3284
3940
  "type": "boolean"
3285
3941
  },
3942
+ "no-app-packages": {
3943
+ "description": "Do not load installed Open App server packages (or the host's generated packages) for this run, so records are written with the generic BaseEntity — no custom Save() logic or lifecycle hooks.",
3944
+ "name": "no-app-packages",
3945
+ "allowNo": false,
3946
+ "type": "boolean"
3947
+ },
3948
+ "interactive": {
3949
+ "description": "Allow interactive prompts. Defaults to on at a terminal and off when piped, spawned, or in CI, so an agent never hangs on a question. Use --no-interactive to force it off.",
3950
+ "name": "interactive",
3951
+ "allowNo": true,
3952
+ "type": "boolean"
3953
+ },
3286
3954
  "entity": {
3287
3955
  "description": "Entity name to pull",
3288
3956
  "name": "entity",
@@ -3460,15 +4128,17 @@
3460
4128
  ],
3461
4129
  "flags": {
3462
4130
  "format": {
3463
- "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
4131
+ "description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
3464
4132
  "name": "format",
3465
- "default": "text",
3466
4133
  "hasDynamicHelp": false,
3467
4134
  "multiple": false,
3468
4135
  "options": [
3469
4136
  "text",
3470
4137
  "json",
3471
- "md"
4138
+ "md",
4139
+ "human",
4140
+ "console",
4141
+ "markdown"
3472
4142
  ],
3473
4143
  "type": "option"
3474
4144
  },
@@ -3485,6 +4155,18 @@
3485
4155
  "allowNo": false,
3486
4156
  "type": "boolean"
3487
4157
  },
4158
+ "no-app-packages": {
4159
+ "description": "Do not load installed Open App server packages (or the host's generated packages) for this run, so records are written with the generic BaseEntity — no custom Save() logic or lifecycle hooks.",
4160
+ "name": "no-app-packages",
4161
+ "allowNo": false,
4162
+ "type": "boolean"
4163
+ },
4164
+ "interactive": {
4165
+ "description": "Allow interactive prompts. Defaults to on at a terminal and off when piped, spawned, or in CI, so an agent never hangs on a question. Use --no-interactive to force it off.",
4166
+ "name": "interactive",
4167
+ "allowNo": true,
4168
+ "type": "boolean"
4169
+ },
3488
4170
  "dir": {
3489
4171
  "description": "Specific entity directory to push",
3490
4172
  "name": "dir",
@@ -3517,7 +4199,7 @@
3517
4199
  "type": "boolean"
3518
4200
  },
3519
4201
  "parallel-batch-size": {
3520
- "description": "Number of records to process in parallel (default: 10)",
4202
+ "description": "JSON-root graphs to process in parallel (default: 10, not 1)",
3521
4203
  "name": "parallel-batch-size",
3522
4204
  "default": 10,
3523
4205
  "hasDynamicHelp": false,
@@ -3675,9 +4357,8 @@
3675
4357
  "description": "Show usage, flags, examples, and runtime hints for every `mj sync` command.",
3676
4358
  "flags": {
3677
4359
  "format": {
3678
- "description": "Output format",
4360
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
3679
4361
  "name": "format",
3680
- "default": "text",
3681
4362
  "hasDynamicHelp": false,
3682
4363
  "multiple": false,
3683
4364
  "options": [
@@ -3877,15 +4558,19 @@
3877
4558
  },
3878
4559
  "format": {
3879
4560
  "char": "f",
3880
- "description": "Output format",
4561
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
3881
4562
  "name": "format",
3882
- "default": "console",
3883
4563
  "hasDynamicHelp": false,
3884
4564
  "multiple": false,
3885
4565
  "options": [
3886
- "console",
4566
+ "text",
3887
4567
  "json",
3888
- "markdown"
4568
+ "md",
4569
+ "human",
4570
+ "console",
4571
+ "markdown",
4572
+ "compact",
4573
+ "table"
3889
4574
  ],
3890
4575
  "type": "option"
3891
4576
  },
@@ -3972,15 +4657,19 @@
3972
4657
  },
3973
4658
  "format": {
3974
4659
  "char": "f",
3975
- "description": "Output format",
4660
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
3976
4661
  "name": "format",
3977
- "default": "console",
3978
4662
  "hasDynamicHelp": false,
3979
4663
  "multiple": false,
3980
4664
  "options": [
3981
- "console",
4665
+ "text",
3982
4666
  "json",
3983
- "markdown"
4667
+ "md",
4668
+ "human",
4669
+ "console",
4670
+ "markdown",
4671
+ "compact",
4672
+ "table"
3984
4673
  ],
3985
4674
  "type": "option"
3986
4675
  },
@@ -4095,15 +4784,19 @@
4095
4784
  },
4096
4785
  "format": {
4097
4786
  "char": "f",
4098
- "description": "Output format",
4787
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
4099
4788
  "name": "format",
4100
- "default": "console",
4101
4789
  "hasDynamicHelp": false,
4102
4790
  "multiple": false,
4103
4791
  "options": [
4104
- "console",
4792
+ "text",
4105
4793
  "json",
4106
- "markdown"
4794
+ "md",
4795
+ "human",
4796
+ "console",
4797
+ "markdown",
4798
+ "compact",
4799
+ "table"
4107
4800
  ],
4108
4801
  "type": "option"
4109
4802
  },
@@ -4175,15 +4868,19 @@
4175
4868
  },
4176
4869
  "format": {
4177
4870
  "char": "f",
4178
- "description": "Output format",
4871
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
4179
4872
  "name": "format",
4180
- "default": "console",
4181
4873
  "hasDynamicHelp": false,
4182
4874
  "multiple": false,
4183
4875
  "options": [
4184
- "console",
4876
+ "text",
4185
4877
  "json",
4186
- "markdown"
4878
+ "md",
4879
+ "human",
4880
+ "console",
4881
+ "markdown",
4882
+ "compact",
4883
+ "table"
4187
4884
  ],
4188
4885
  "type": "option"
4189
4886
  },
@@ -4266,15 +4963,19 @@
4266
4963
  },
4267
4964
  "format": {
4268
4965
  "char": "f",
4269
- "description": "Output format",
4966
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
4270
4967
  "name": "format",
4271
- "default": "console",
4272
4968
  "hasDynamicHelp": false,
4273
4969
  "multiple": false,
4274
4970
  "options": [
4275
- "console",
4971
+ "text",
4276
4972
  "json",
4277
- "markdown"
4973
+ "md",
4974
+ "human",
4975
+ "console",
4976
+ "markdown",
4977
+ "compact",
4978
+ "table"
4278
4979
  ],
4279
4980
  "type": "option"
4280
4981
  },
@@ -4355,6 +5056,40 @@
4355
5056
  "suite.js"
4356
5057
  ]
4357
5058
  },
5059
+ "test:usage": {
5060
+ "aliases": [],
5061
+ "args": {},
5062
+ "description": "Show usage, flags, examples, and runtime hints for every `mj test` command.",
5063
+ "flags": {
5064
+ "format": {
5065
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
5066
+ "name": "format",
5067
+ "hasDynamicHelp": false,
5068
+ "multiple": false,
5069
+ "options": [
5070
+ "text",
5071
+ "json",
5072
+ "md"
5073
+ ],
5074
+ "type": "option"
5075
+ }
5076
+ },
5077
+ "hasDynamicHelp": false,
5078
+ "hiddenAliases": [],
5079
+ "id": "test:usage",
5080
+ "pluginAlias": "@memberjunction/cli",
5081
+ "pluginName": "@memberjunction/cli",
5082
+ "pluginType": "core",
5083
+ "strict": true,
5084
+ "enableJsonFlag": false,
5085
+ "isESM": true,
5086
+ "relativePath": [
5087
+ "dist",
5088
+ "commands",
5089
+ "test",
5090
+ "usage.js"
5091
+ ]
5092
+ },
4358
5093
  "test:validate": {
4359
5094
  "aliases": [],
4360
5095
  "args": {
@@ -4396,15 +5131,19 @@
4396
5131
  },
4397
5132
  "format": {
4398
5133
  "char": "f",
4399
- "description": "Output format",
5134
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
4400
5135
  "name": "format",
4401
- "default": "console",
4402
5136
  "hasDynamicHelp": false,
4403
5137
  "multiple": false,
4404
5138
  "options": [
4405
- "console",
5139
+ "text",
4406
5140
  "json",
4407
- "markdown"
5141
+ "md",
5142
+ "human",
5143
+ "console",
5144
+ "markdown",
5145
+ "compact",
5146
+ "table"
4408
5147
  ],
4409
5148
  "type": "option"
4410
5149
  },
@@ -4539,6 +5278,40 @@
4539
5278
  "index.js"
4540
5279
  ]
4541
5280
  },
5281
+ "translate-sql:usage": {
5282
+ "aliases": [],
5283
+ "args": {},
5284
+ "description": "Show usage, flags, examples, and runtime hints for every `mj translate-sql` command.",
5285
+ "flags": {
5286
+ "format": {
5287
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
5288
+ "name": "format",
5289
+ "hasDynamicHelp": false,
5290
+ "multiple": false,
5291
+ "options": [
5292
+ "text",
5293
+ "json",
5294
+ "md"
5295
+ ],
5296
+ "type": "option"
5297
+ }
5298
+ },
5299
+ "hasDynamicHelp": false,
5300
+ "hiddenAliases": [],
5301
+ "id": "translate-sql:usage",
5302
+ "pluginAlias": "@memberjunction/cli",
5303
+ "pluginName": "@memberjunction/cli",
5304
+ "pluginType": "core",
5305
+ "strict": true,
5306
+ "enableJsonFlag": false,
5307
+ "isESM": true,
5308
+ "relativePath": [
5309
+ "dist",
5310
+ "commands",
5311
+ "translate-sql",
5312
+ "usage.js"
5313
+ ]
5314
+ },
4542
5315
  "update:claude": {
4543
5316
  "aliases": [],
4544
5317
  "args": {},
@@ -4677,19 +5450,70 @@
4677
5450
  "claude.js"
4678
5451
  ]
4679
5452
  },
4680
- "ai:agents:list": {
5453
+ "update:usage": {
4681
5454
  "aliases": [],
4682
5455
  "args": {},
4683
- "description": "List available AI agents",
5456
+ "description": "Show usage, flags, examples, and runtime hints for every `mj update` command.",
5457
+ "flags": {
5458
+ "format": {
5459
+ "description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
5460
+ "name": "format",
5461
+ "hasDynamicHelp": false,
5462
+ "multiple": false,
5463
+ "options": [
5464
+ "text",
5465
+ "json",
5466
+ "md"
5467
+ ],
5468
+ "type": "option"
5469
+ }
5470
+ },
5471
+ "hasDynamicHelp": false,
5472
+ "hiddenAliases": [],
5473
+ "id": "update:usage",
5474
+ "pluginAlias": "@memberjunction/cli",
5475
+ "pluginName": "@memberjunction/cli",
5476
+ "pluginType": "core",
5477
+ "strict": true,
5478
+ "enableJsonFlag": false,
5479
+ "isESM": true,
5480
+ "relativePath": [
5481
+ "dist",
5482
+ "commands",
5483
+ "update",
5484
+ "usage.js"
5485
+ ]
5486
+ },
5487
+ "ai:actions:list": {
5488
+ "aliases": [],
5489
+ "args": {},
5490
+ "description": "List available AI actions",
4684
5491
  "examples": [
4685
5492
  "<%= config.bin %> <%= command.id %>",
4686
5493
  "<%= config.bin %> <%= command.id %> --output=table",
4687
5494
  "<%= config.bin %> <%= command.id %> --output=json"
4688
5495
  ],
4689
5496
  "flags": {
5497
+ "format": {
5498
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5499
+ "name": "format",
5500
+ "hasDynamicHelp": false,
5501
+ "multiple": false,
5502
+ "options": [
5503
+ "text",
5504
+ "json",
5505
+ "md",
5506
+ "human",
5507
+ "console",
5508
+ "markdown",
5509
+ "compact",
5510
+ "table"
5511
+ ],
5512
+ "type": "option"
5513
+ },
4690
5514
  "output": {
4691
5515
  "char": "o",
4692
- "description": "Output format",
5516
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
4693
5517
  "name": "output",
4694
5518
  "default": "compact",
4695
5519
  "hasDynamicHelp": false,
@@ -4704,7 +5528,7 @@
4704
5528
  },
4705
5529
  "hasDynamicHelp": false,
4706
5530
  "hiddenAliases": [],
4707
- "id": "ai:agents:list",
5531
+ "id": "ai:actions:list",
4708
5532
  "pluginAlias": "@memberjunction/cli",
4709
5533
  "pluginName": "@memberjunction/cli",
4710
5534
  "pluginType": "core",
@@ -4715,53 +5539,64 @@
4715
5539
  "dist",
4716
5540
  "commands",
4717
5541
  "ai",
4718
- "agents",
5542
+ "actions",
4719
5543
  "list.js"
4720
5544
  ]
4721
5545
  },
4722
- "ai:agents:run": {
5546
+ "ai:actions:run": {
4723
5547
  "aliases": [],
4724
5548
  "args": {},
4725
- "description": "Execute an AI agent with a prompt or start interactive chat",
5549
+ "description": "Execute an AI action with parameters",
4726
5550
  "examples": [
4727
- "<%= config.bin %> <%= command.id %> -a \"Skip: Requirements Expert\" -p \"Create a dashboard for sales metrics\"",
4728
- "<%= config.bin %> <%= command.id %> -a \"Child Component Generator Sub-agent\" --chat",
4729
- "<%= config.bin %> <%= command.id %> -a \"Skip: Technical Design Expert\" -p \"Build a React component\" --verbose --timeout=600000"
5551
+ "<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
5552
+ "<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
5553
+ "<%= 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\"",
5554
+ "<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
4730
5555
  ],
4731
5556
  "flags": {
4732
- "agent": {
4733
- "char": "a",
4734
- "description": "Agent name",
4735
- "name": "agent",
5557
+ "name": {
5558
+ "char": "n",
5559
+ "description": "Action name",
5560
+ "name": "name",
4736
5561
  "required": true,
4737
5562
  "hasDynamicHelp": false,
4738
5563
  "multiple": false,
4739
5564
  "type": "option"
4740
5565
  },
4741
- "prompt": {
5566
+ "param": {
4742
5567
  "char": "p",
4743
- "description": "Prompt to execute",
4744
- "exclusive": [
4745
- "chat"
4746
- ],
4747
- "name": "prompt",
5568
+ "description": "Action parameters in key=value format",
5569
+ "name": "param",
4748
5570
  "hasDynamicHelp": false,
4749
- "multiple": false,
5571
+ "multiple": true,
4750
5572
  "type": "option"
4751
5573
  },
4752
- "chat": {
4753
- "char": "c",
4754
- "description": "Start interactive chat mode",
4755
- "exclusive": [
4756
- "prompt"
4757
- ],
4758
- "name": "chat",
5574
+ "dry-run": {
5575
+ "description": "Validate without executing",
5576
+ "name": "dry-run",
4759
5577
  "allowNo": false,
4760
5578
  "type": "boolean"
4761
5579
  },
5580
+ "format": {
5581
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5582
+ "name": "format",
5583
+ "hasDynamicHelp": false,
5584
+ "multiple": false,
5585
+ "options": [
5586
+ "text",
5587
+ "json",
5588
+ "md",
5589
+ "human",
5590
+ "console",
5591
+ "markdown",
5592
+ "compact",
5593
+ "table"
5594
+ ],
5595
+ "type": "option"
5596
+ },
4762
5597
  "output": {
4763
5598
  "char": "o",
4764
- "description": "Output format",
5599
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
4765
5600
  "name": "output",
4766
5601
  "default": "compact",
4767
5602
  "hasDynamicHelp": false,
@@ -4791,7 +5626,7 @@
4791
5626
  },
4792
5627
  "hasDynamicHelp": false,
4793
5628
  "hiddenAliases": [],
4794
- "id": "ai:agents:run",
5629
+ "id": "ai:actions:run",
4795
5630
  "pluginAlias": "@memberjunction/cli",
4796
5631
  "pluginName": "@memberjunction/cli",
4797
5632
  "pluginType": "core",
@@ -4802,7 +5637,7 @@
4802
5637
  "dist",
4803
5638
  "commands",
4804
5639
  "ai",
4805
- "agents",
5640
+ "actions",
4806
5641
  "run.js"
4807
5642
  ]
4808
5643
  },
@@ -4827,9 +5662,26 @@
4827
5662
  "<%= config.bin %> <%= command.id %> abc-123-def-456 --export full --file report.json"
4828
5663
  ],
4829
5664
  "flags": {
5665
+ "format": {
5666
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5667
+ "name": "format",
5668
+ "hasDynamicHelp": false,
5669
+ "multiple": false,
5670
+ "options": [
5671
+ "text",
5672
+ "json",
5673
+ "md",
5674
+ "human",
5675
+ "console",
5676
+ "markdown",
5677
+ "compact",
5678
+ "table"
5679
+ ],
5680
+ "type": "option"
5681
+ },
4830
5682
  "output": {
4831
5683
  "char": "o",
4832
- "description": "Output format",
5684
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
4833
5685
  "name": "output",
4834
5686
  "default": "compact",
4835
5687
  "hasDynamicHelp": false,
@@ -5022,19 +5874,36 @@
5022
5874
  "index.js"
5023
5875
  ]
5024
5876
  },
5025
- "ai:actions:list": {
5877
+ "ai:agents:list": {
5026
5878
  "aliases": [],
5027
5879
  "args": {},
5028
- "description": "List available AI actions",
5880
+ "description": "List available AI agents",
5029
5881
  "examples": [
5030
5882
  "<%= config.bin %> <%= command.id %>",
5031
5883
  "<%= config.bin %> <%= command.id %> --output=table",
5032
5884
  "<%= config.bin %> <%= command.id %> --output=json"
5033
5885
  ],
5034
5886
  "flags": {
5887
+ "format": {
5888
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5889
+ "name": "format",
5890
+ "hasDynamicHelp": false,
5891
+ "multiple": false,
5892
+ "options": [
5893
+ "text",
5894
+ "json",
5895
+ "md",
5896
+ "human",
5897
+ "console",
5898
+ "markdown",
5899
+ "compact",
5900
+ "table"
5901
+ ],
5902
+ "type": "option"
5903
+ },
5035
5904
  "output": {
5036
5905
  "char": "o",
5037
- "description": "Output format",
5906
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
5038
5907
  "name": "output",
5039
5908
  "default": "compact",
5040
5909
  "hasDynamicHelp": false,
@@ -5049,7 +5918,7 @@
5049
5918
  },
5050
5919
  "hasDynamicHelp": false,
5051
5920
  "hiddenAliases": [],
5052
- "id": "ai:actions:list",
5921
+ "id": "ai:agents:list",
5053
5922
  "pluginAlias": "@memberjunction/cli",
5054
5923
  "pluginName": "@memberjunction/cli",
5055
5924
  "pluginType": "core",
@@ -5060,47 +5929,70 @@
5060
5929
  "dist",
5061
5930
  "commands",
5062
5931
  "ai",
5063
- "actions",
5932
+ "agents",
5064
5933
  "list.js"
5065
5934
  ]
5066
5935
  },
5067
- "ai:actions:run": {
5936
+ "ai:agents:run": {
5068
5937
  "aliases": [],
5069
5938
  "args": {},
5070
- "description": "Execute an AI action with parameters",
5939
+ "description": "Execute an AI agent with a prompt or start interactive chat",
5071
5940
  "examples": [
5072
- "<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
5073
- "<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
5074
- "<%= 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\"",
5075
- "<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
5941
+ "<%= config.bin %> <%= command.id %> -a \"Skip: Requirements Expert\" -p \"Create a dashboard for sales metrics\"",
5942
+ "<%= config.bin %> <%= command.id %> -a \"Child Component Generator Sub-agent\" --chat",
5943
+ "<%= config.bin %> <%= command.id %> -a \"Skip: Technical Design Expert\" -p \"Build a React component\" --verbose --timeout=600000"
5076
5944
  ],
5077
5945
  "flags": {
5078
- "name": {
5079
- "char": "n",
5080
- "description": "Action name",
5081
- "name": "name",
5946
+ "agent": {
5947
+ "char": "a",
5948
+ "description": "Agent name",
5949
+ "name": "agent",
5082
5950
  "required": true,
5083
5951
  "hasDynamicHelp": false,
5084
5952
  "multiple": false,
5085
5953
  "type": "option"
5086
5954
  },
5087
- "param": {
5955
+ "prompt": {
5088
5956
  "char": "p",
5089
- "description": "Action parameters in key=value format",
5090
- "name": "param",
5957
+ "description": "Prompt to execute",
5958
+ "exclusive": [
5959
+ "chat"
5960
+ ],
5961
+ "name": "prompt",
5091
5962
  "hasDynamicHelp": false,
5092
- "multiple": true,
5963
+ "multiple": false,
5093
5964
  "type": "option"
5094
5965
  },
5095
- "dry-run": {
5096
- "description": "Validate without executing",
5097
- "name": "dry-run",
5966
+ "chat": {
5967
+ "char": "c",
5968
+ "description": "Start interactive chat mode",
5969
+ "exclusive": [
5970
+ "prompt"
5971
+ ],
5972
+ "name": "chat",
5098
5973
  "allowNo": false,
5099
5974
  "type": "boolean"
5100
5975
  },
5976
+ "format": {
5977
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5978
+ "name": "format",
5979
+ "hasDynamicHelp": false,
5980
+ "multiple": false,
5981
+ "options": [
5982
+ "text",
5983
+ "json",
5984
+ "md",
5985
+ "human",
5986
+ "console",
5987
+ "markdown",
5988
+ "compact",
5989
+ "table"
5990
+ ],
5991
+ "type": "option"
5992
+ },
5101
5993
  "output": {
5102
5994
  "char": "o",
5103
- "description": "Output format",
5995
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
5104
5996
  "name": "output",
5105
5997
  "default": "compact",
5106
5998
  "hasDynamicHelp": false,
@@ -5130,7 +6022,7 @@
5130
6022
  },
5131
6023
  "hasDynamicHelp": false,
5132
6024
  "hiddenAliases": [],
5133
- "id": "ai:actions:run",
6025
+ "id": "ai:agents:run",
5134
6026
  "pluginAlias": "@memberjunction/cli",
5135
6027
  "pluginName": "@memberjunction/cli",
5136
6028
  "pluginType": "core",
@@ -5141,7 +6033,7 @@
5141
6033
  "dist",
5142
6034
  "commands",
5143
6035
  "ai",
5144
- "actions",
6036
+ "agents",
5145
6037
  "run.js"
5146
6038
  ]
5147
6039
  },
@@ -5237,9 +6129,26 @@
5237
6129
  "multiple": false,
5238
6130
  "type": "option"
5239
6131
  },
6132
+ "format": {
6133
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
6134
+ "name": "format",
6135
+ "hasDynamicHelp": false,
6136
+ "multiple": false,
6137
+ "options": [
6138
+ "text",
6139
+ "json",
6140
+ "md",
6141
+ "human",
6142
+ "console",
6143
+ "markdown",
6144
+ "compact",
6145
+ "table"
6146
+ ],
6147
+ "type": "option"
6148
+ },
5240
6149
  "output": {
5241
6150
  "char": "o",
5242
- "description": "Output format",
6151
+ "description": "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). Prefer --format.",
5243
6152
  "name": "output",
5244
6153
  "default": "compact",
5245
6154
  "hasDynamicHelp": false,
@@ -5544,15 +6453,19 @@
5544
6453
  },
5545
6454
  "format": {
5546
6455
  "char": "f",
5547
- "description": "Output format.",
6456
+ "description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
5548
6457
  "name": "format",
5549
- "default": "console",
5550
6458
  "hasDynamicHelp": false,
5551
6459
  "multiple": false,
5552
6460
  "options": [
5553
- "console",
6461
+ "text",
5554
6462
  "json",
5555
- "markdown"
6463
+ "md",
6464
+ "human",
6465
+ "console",
6466
+ "markdown",
6467
+ "compact",
6468
+ "table"
5556
6469
  ],
5557
6470
  "type": "option"
5558
6471
  },
@@ -5927,5 +6840,5 @@
5927
6840
  ]
5928
6841
  }
5929
6842
  },
5930
- "version": "6.1.0-edge.4"
6843
+ "version": "6.1.0-edge.6"
5931
6844
  }