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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +81 -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 +26 -0
  80. package/dist/commands/migrate/convert.d.ts.map +1 -1
  81. package/dist/commands/migrate/convert.js +115 -13
  82. package/dist/commands/migrate/convert.js.map +1 -1
  83. package/dist/commands/migrate/index.d.ts +9 -0
  84. package/dist/commands/migrate/index.d.ts.map +1 -1
  85. package/dist/commands/migrate/index.js +41 -1
  86. package/dist/commands/migrate/index.js.map +1 -1
  87. package/dist/commands/migrate/rebake.d.ts +1 -0
  88. package/dist/commands/migrate/rebake.d.ts.map +1 -1
  89. package/dist/commands/migrate/rebake.js +16 -6
  90. package/dist/commands/migrate/rebake.js.map +1 -1
  91. package/dist/commands/migrate/usage.d.ts +7 -0
  92. package/dist/commands/migrate/usage.d.ts.map +1 -0
  93. package/dist/commands/migrate/usage.js +10 -0
  94. package/dist/commands/migrate/usage.js.map +1 -0
  95. package/dist/commands/plugin/usage.d.ts +7 -0
  96. package/dist/commands/plugin/usage.d.ts.map +1 -0
  97. package/dist/commands/plugin/usage.js +10 -0
  98. package/dist/commands/plugin/usage.js.map +1 -0
  99. package/dist/commands/querygen/usage.d.ts +7 -0
  100. package/dist/commands/querygen/usage.d.ts.map +1 -0
  101. package/dist/commands/querygen/usage.js +10 -0
  102. package/dist/commands/querygen/usage.js.map +1 -0
  103. package/dist/commands/sql-audit/usage.d.ts +7 -0
  104. package/dist/commands/sql-audit/usage.d.ts.map +1 -0
  105. package/dist/commands/sql-audit/usage.js +10 -0
  106. package/dist/commands/sql-audit/usage.js.map +1 -0
  107. package/dist/commands/sql-convert/usage.d.ts +7 -0
  108. package/dist/commands/sql-convert/usage.d.ts.map +1 -0
  109. package/dist/commands/sql-convert/usage.js +10 -0
  110. package/dist/commands/sql-convert/usage.js.map +1 -0
  111. package/dist/commands/standards/usage.d.ts +7 -0
  112. package/dist/commands/standards/usage.d.ts.map +1 -0
  113. package/dist/commands/standards/usage.js +10 -0
  114. package/dist/commands/standards/usage.js.map +1 -0
  115. package/dist/commands/sync/file-reset.d.ts +6 -6
  116. package/dist/commands/sync/file-reset.d.ts.map +1 -1
  117. package/dist/commands/sync/file-reset.js +151 -127
  118. package/dist/commands/sync/file-reset.js.map +1 -1
  119. package/dist/commands/sync/init.d.ts +10 -1
  120. package/dist/commands/sync/init.d.ts.map +1 -1
  121. package/dist/commands/sync/init.js +127 -78
  122. package/dist/commands/sync/init.js.map +1 -1
  123. package/dist/commands/test/compare.d.ts +11 -11
  124. package/dist/commands/test/compare.d.ts.map +1 -1
  125. package/dist/commands/test/compare.js +8 -7
  126. package/dist/commands/test/compare.js.map +1 -1
  127. package/dist/commands/test/history.d.ts +7 -7
  128. package/dist/commands/test/history.d.ts.map +1 -1
  129. package/dist/commands/test/history.js +8 -7
  130. package/dist/commands/test/history.js.map +1 -1
  131. package/dist/commands/test/list.d.ts +8 -8
  132. package/dist/commands/test/list.d.ts.map +1 -1
  133. package/dist/commands/test/list.js +8 -7
  134. package/dist/commands/test/list.js.map +1 -1
  135. package/dist/commands/test/regression/compare.d.ts.map +1 -1
  136. package/dist/commands/test/regression/compare.js +5 -7
  137. package/dist/commands/test/regression/compare.js.map +1 -1
  138. package/dist/commands/test/run.d.ts +9 -9
  139. package/dist/commands/test/run.d.ts.map +1 -1
  140. package/dist/commands/test/run.js +8 -7
  141. package/dist/commands/test/run.js.map +1 -1
  142. package/dist/commands/test/suite.d.ts +11 -11
  143. package/dist/commands/test/suite.d.ts.map +1 -1
  144. package/dist/commands/test/suite.js +8 -7
  145. package/dist/commands/test/suite.js.map +1 -1
  146. package/dist/commands/test/usage.d.ts +7 -0
  147. package/dist/commands/test/usage.d.ts.map +1 -0
  148. package/dist/commands/test/usage.js +10 -0
  149. package/dist/commands/test/usage.js.map +1 -0
  150. package/dist/commands/test/validate.d.ts +7 -7
  151. package/dist/commands/test/validate.d.ts.map +1 -1
  152. package/dist/commands/test/validate.js +8 -7
  153. package/dist/commands/test/validate.js.map +1 -1
  154. package/dist/commands/translate-sql/usage.d.ts +7 -0
  155. package/dist/commands/translate-sql/usage.d.ts.map +1 -0
  156. package/dist/commands/translate-sql/usage.js +10 -0
  157. package/dist/commands/translate-sql/usage.js.map +1 -0
  158. package/dist/commands/update/usage.d.ts +7 -0
  159. package/dist/commands/update/usage.d.ts.map +1 -0
  160. package/dist/commands/update/usage.js +10 -0
  161. package/dist/commands/update/usage.js.map +1 -0
  162. package/dist/commands/usage.d.ts.map +1 -1
  163. package/dist/commands/usage.js +9 -4
  164. package/dist/commands/usage.js.map +1 -1
  165. package/dist/hooks/prerun.d.ts.map +1 -1
  166. package/dist/hooks/prerun.js +63 -30
  167. package/dist/hooks/prerun.js.map +1 -1
  168. package/dist/lib/cli-plugins.d.ts +8 -1
  169. package/dist/lib/cli-plugins.d.ts.map +1 -1
  170. package/dist/lib/cli-plugins.js +17 -1
  171. package/dist/lib/cli-plugins.js.map +1 -1
  172. package/dist/lib/derived-usage.d.ts +68 -0
  173. package/dist/lib/derived-usage.d.ts.map +1 -0
  174. package/dist/lib/derived-usage.js +121 -0
  175. package/dist/lib/derived-usage.js.map +1 -0
  176. package/dist/lib/domain-profiles.d.ts +42 -0
  177. package/dist/lib/domain-profiles.d.ts.map +1 -0
  178. package/dist/lib/domain-profiles.js +118 -0
  179. package/dist/lib/domain-profiles.js.map +1 -0
  180. package/dist/lib/domain-usage-command.d.ts.map +1 -1
  181. package/dist/lib/domain-usage-command.js +9 -4
  182. package/dist/lib/domain-usage-command.js.map +1 -1
  183. package/dist/lib/format-compat.d.ts +68 -0
  184. package/dist/lib/format-compat.d.ts.map +1 -0
  185. package/dist/lib/format-compat.js +111 -0
  186. package/dist/lib/format-compat.js.map +1 -0
  187. package/dist/lib/interactive-guard.d.ts +56 -0
  188. package/dist/lib/interactive-guard.d.ts.map +1 -0
  189. package/dist/lib/interactive-guard.js +60 -0
  190. package/dist/lib/interactive-guard.js.map +1 -0
  191. package/dist/lib/legacy-install.d.ts.map +1 -1
  192. package/dist/lib/legacy-install.js +4 -0
  193. package/dist/lib/legacy-install.js.map +1 -1
  194. package/dist/lib/usage-render.d.ts +2 -2
  195. package/dist/lib/usage-render.d.ts.map +1 -1
  196. package/dist/lib/usage-render.js +2 -1
  197. package/dist/lib/usage-render.js.map +1 -1
  198. package/dist/light-commands.d.ts.map +1 -1
  199. package/dist/light-commands.js +43 -0
  200. package/dist/light-commands.js.map +1 -1
  201. package/dist/utils/open-app-context.d.ts +24 -0
  202. package/dist/utils/open-app-context.d.ts.map +1 -1
  203. package/dist/utils/open-app-context.js +21 -6
  204. package/dist/utils/open-app-context.js.map +1 -1
  205. package/dist/utils/update-check.d.ts +86 -0
  206. package/dist/utils/update-check.d.ts.map +1 -0
  207. package/dist/utils/update-check.js +98 -0
  208. package/dist/utils/update-check.js.map +1 -0
  209. package/oclif.manifest.json +4099 -3239
  210. package/package.json +21 -21
package/README.md CHANGED
@@ -67,6 +67,87 @@ npm install --save-dev @memberjunction/cli
67
67
 
68
68
  **Requires Node.js 20.0.0 or higher.**
69
69
 
70
+ ## Using `mj` from an agent or CI
71
+
72
+ `mj` detects whether a human is present and behaves accordingly. Nothing changes for
73
+ someone typing at a terminal; everything changes for a program.
74
+
75
+ ### Prompting follows the terminal
76
+
77
+ A command prompts when stdin and stdout are both real terminals. When either is piped
78
+ or redirected, when a CI environment variable is set, or when `TERM=dumb`, it does not —
79
+ and a command that needs a value it wasn't given fails immediately, naming the flag that
80
+ supplies it, rather than blocking on stdin forever:
81
+
82
+ ```console
83
+ $ mj sync init # at a terminal: prompts, exactly as before
84
+
85
+ $ mj sync init < /dev/null # spawned by an agent
86
+ › Error: An entity-directory choice is required and this run has no interactive
87
+ › terminal. Pass --setup-entity=ai-prompts|other|no.
88
+ › Try this: Pass --setup-entity=ai-prompts|other|no.
89
+ $ echo $?
90
+ 1
91
+
92
+ $ mj sync init --setup-entity=no # scripted: runs unattended anywhere
93
+ ```
94
+
95
+ Override the detection in either direction with `--interactive` / `--no-interactive`, or
96
+ pin it for a whole shell session with `MJ_CLI_INTERACTIVE=0` (or `1`). An agent harness
97
+ that shells out through a pty should set `MJ_CLI_INTERACTIVE=0` so its subprocesses can
98
+ never block on a question.
99
+
100
+ ### Output follows the pipe
101
+
102
+ With no explicit `--format`, `mj` writes human output to a terminal and JSON to a pipe —
103
+ banner, spinners and color are suppressed automatically when stdout is redirected.
104
+
105
+ ```bash
106
+ mj usage # human-readable domain map
107
+ mj usage | jq '.data.domains' # JSON envelope, no flag needed
108
+ mj codegen --format=text > build.log # force human output into a file
109
+ export MJ_CLI_FORMAT=json # pin the format for a whole session
110
+ ```
111
+
112
+ `--format` accepts `text | json | md` everywhere. The older per-family spellings
113
+ (`console`/`markdown` under `mj test *`, `compact`/`table` under `mj ai *`) still work and
114
+ still win over auto-detection when passed explicitly.
115
+
116
+ > **Note on `-o`:** `-o` means *output format* in the `mj ai` family and *output file path*
117
+ > in `mj test`, `querygen export`, and `sql-audit`. Prefer `--format` — it means the same
118
+ > thing in every command.
119
+
120
+ ### Discovering commands without burning context
121
+
122
+ `mj usage` is a two-tier progressive-disclosure surface. Tier 1 is a ~200-token domain map;
123
+ tier 2 is one domain's commands, flags, examples, and expected runtime. Reading the full
124
+ oclif help tree instead costs roughly 13–15k tokens.
125
+
126
+ ```bash
127
+ mj usage # every domain + a one-line summary + a runtime class
128
+ mj sync usage # every mj sync command, its flags and examples
129
+ mj sync usage --format=json # the same, machine-readable
130
+ ```
131
+
132
+ Each entry carries a **runtime hint** (`fast` | `moderate` | `slow` | `variable`, often with
133
+ a typical duration) so a caller wrapping `mj` in a timeout can budget correctly instead of
134
+ killing a healthy long-running command. Commands also emit a `{"event":"start", ...}` line
135
+ on stderr before doing work.
136
+
137
+ ### The result envelope
138
+
139
+ Commands built on `BaseCLIPlugin` emit a versioned envelope on stdout, with all progress and
140
+ logging on stderr:
141
+
142
+ ```json
143
+ {"version":"1","success":false,"command":"sync:push","durationSeconds":1.2,
144
+ "errors":[{"context":"metadata/entities","message":"No mj.config.cjs found.",
145
+ "code":"E_NO_CONFIG","suggestion":"Run `mj sync init` in this directory first."}]}
146
+ ```
147
+
148
+ `code` is stable and safe to branch on; `message` is free to be reworded. `version` lets a
149
+ caller detect a contract change rather than silently mis-parsing.
150
+
70
151
  ## Configuration
71
152
 
72
153
  Uses [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) to find configuration:
@@ -3,7 +3,8 @@ export default class ActionsList extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
8
  };
8
9
  run(): Promise<void>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/actions/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SAA+B;IAEjD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/actions/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SAA+B;IAEjD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B3B"}
@@ -1,5 +1,6 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import ora from 'ora-classic';
3
+ import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, resolveLegacyFormat } from '../../../lib/format-compat.js';
3
4
  export default class ActionsList extends Command {
4
5
  static { this.description = 'List available AI actions'; }
5
6
  static { this.examples = [
@@ -8,23 +9,31 @@ export default class ActionsList extends Command {
8
9
  '<%= config.bin %> <%= command.id %> --output=json',
9
10
  ]; }
10
11
  static { this.flags = {
12
+ format: CANONICAL_FORMAT_FLAG,
11
13
  output: Flags.string({
12
14
  char: 'o',
13
- description: 'Output format',
15
+ description: "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). "
16
+ + 'Prefer --format.',
14
17
  options: ['compact', 'json', 'table'],
15
18
  default: 'compact',
16
19
  }),
17
20
  }; }
18
21
  async run() {
19
22
  const { ActionService, OutputFormatter } = await import('@memberjunction/ai-cli');
20
- const { flags } = await this.parse(ActionsList);
23
+ const { flags, metadata } = await this.parse(ActionsList);
21
24
  const spinner = ora();
22
25
  try {
23
26
  spinner.start('Loading available actions...');
24
27
  const service = new ActionService();
25
28
  const actions = await service.listActions();
26
29
  spinner.stop();
27
- const formatter = new OutputFormatter(flags.output);
30
+ const formatter = new OutputFormatter(resolveLegacyFormat({
31
+ format: flags.format,
32
+ legacy: flags.output,
33
+ legacyDefault: 'compact',
34
+ legacyWasExplicit: metadata.flags.output?.setFromDefault === false,
35
+ map: AI_FORMAT_MAP,
36
+ }));
28
37
  this.log(formatter.formatActionList(actions));
29
38
  // Force exit after completion
30
39
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ai/actions/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;aACvC,gBAAW,GAAG,2BAA2B,CAAC;aAE1C,aAAQ,GAAG;QAChB,qCAAqC;QACrC,oDAAoD;QACpD,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAElF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAsC,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAE9C,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ai/actions/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1G,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;aACvC,gBAAW,GAAG,2BAA2B,CAAC;aAE1C,aAAQ,GAAG;QAChB,qCAAqC;QACrC,oDAAoD;QACpD,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EACT,wGAAwG;kBACtG,kBAAkB;YACtB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAElF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,mBAAmB,CAAC;gBACxD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAsC;gBACpD,aAAa,EAAE,SAAkB;gBACjC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,KAAK;gBAClE,GAAG,EAAE,aAAa;aACnB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAE9C,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -3,12 +3,13 @@ export default class ActionsRun extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- name: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- param: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
8
- 'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- timeout: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ param: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ 'dry-run': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ timeout: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
13
  };
13
14
  run(): Promise<void>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/actions/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA0C;IAE5D,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;MA4BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsD3B"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/actions/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA0C;IAE5D,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoD3B"}
@@ -1,6 +1,6 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import ora from 'ora-classic';
3
- import chalk from 'chalk';
3
+ import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, resolveLegacyFormat } from '../../../lib/format-compat.js';
4
4
  export default class ActionsRun extends Command {
5
5
  static { this.description = 'Execute an AI action with parameters'; }
6
6
  static { this.examples = [
@@ -23,9 +23,11 @@ export default class ActionsRun extends Command {
23
23
  'dry-run': Flags.boolean({
24
24
  description: 'Validate without executing',
25
25
  }),
26
+ format: CANONICAL_FORMAT_FLAG,
26
27
  output: Flags.string({
27
28
  char: 'o',
28
- description: 'Output format',
29
+ description: "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). "
30
+ + 'Prefer --format.',
29
31
  options: ['compact', 'json', 'table'],
30
32
  default: 'compact',
31
33
  }),
@@ -40,9 +42,15 @@ export default class ActionsRun extends Command {
40
42
  }; }
41
43
  async run() {
42
44
  const { ActionService, OutputFormatter } = await import('@memberjunction/ai-cli');
43
- const { flags } = await this.parse(ActionsRun);
45
+ const { flags, metadata } = await this.parse(ActionsRun);
44
46
  const service = new ActionService();
45
- const formatter = new OutputFormatter(flags.output);
47
+ const formatter = new OutputFormatter(resolveLegacyFormat({
48
+ format: flags.format,
49
+ legacy: flags.output,
50
+ legacyDefault: 'compact',
51
+ legacyWasExplicit: metadata.flags.output?.setFromDefault === false,
52
+ map: AI_FORMAT_MAP,
53
+ }));
46
54
  // Parse parameters
47
55
  const params = {};
48
56
  if (flags.param) {
@@ -56,18 +64,9 @@ export default class ActionsRun extends Command {
56
64
  }
57
65
  try {
58
66
  if (flags['dry-run']) {
59
- // For dry-run, just show what would be executed
60
- this.log(chalk.yellow('Dry-run mode: Action would be executed with these parameters:'));
61
- this.log(chalk.cyan(`Action: ${flags.name}`));
62
- if (Object.keys(params).length > 0) {
63
- this.log(chalk.cyan('Parameters:'));
64
- for (const [key, value] of Object.entries(params)) {
65
- this.log(` ${key}: ${value}`);
66
- }
67
- }
68
- else {
69
- this.log(chalk.gray('No parameters provided'));
70
- }
67
+ // Route the dry run through the same formatter as a real run, so --format=json
68
+ // describes the planned execution as data instead of a coloured paragraph.
69
+ this.log(formatter.formatActionDryRun(flags.name, params));
71
70
  }
72
71
  else {
73
72
  // Execute action
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/ai/actions/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/ai/actions/run.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ export default class AgentsList extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
8
  };
8
9
  run(): Promise<void>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/agents/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA8B;IAEhD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/agents/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA8B;IAEhD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B3B"}
@@ -1,5 +1,6 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import ora from 'ora-classic';
3
+ import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, resolveLegacyFormat } from '../../../lib/format-compat.js';
3
4
  export default class AgentsList extends Command {
4
5
  static { this.description = 'List available AI agents'; }
5
6
  static { this.examples = [
@@ -8,23 +9,31 @@ export default class AgentsList extends Command {
8
9
  '<%= config.bin %> <%= command.id %> --output=json',
9
10
  ]; }
10
11
  static { this.flags = {
12
+ format: CANONICAL_FORMAT_FLAG,
11
13
  output: Flags.string({
12
14
  char: 'o',
13
- description: 'Output format',
15
+ description: "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). "
16
+ + 'Prefer --format.',
14
17
  options: ['compact', 'json', 'table'],
15
18
  default: 'compact',
16
19
  }),
17
20
  }; }
18
21
  async run() {
19
22
  const { AgentService, OutputFormatter } = await import('@memberjunction/ai-cli');
20
- const { flags } = await this.parse(AgentsList);
23
+ const { flags, metadata } = await this.parse(AgentsList);
21
24
  const spinner = ora();
22
25
  try {
23
26
  spinner.start('Loading available agents...');
24
27
  const service = new AgentService();
25
28
  const agents = await service.listAgents();
26
29
  spinner.stop();
27
- const formatter = new OutputFormatter(flags.output);
30
+ const formatter = new OutputFormatter(resolveLegacyFormat({
31
+ format: flags.format,
32
+ legacy: flags.output,
33
+ legacyDefault: 'compact',
34
+ legacyWasExplicit: metadata.flags.output?.setFromDefault === false,
35
+ map: AI_FORMAT_MAP,
36
+ }));
28
37
  this.log(formatter.formatAgentList(agents));
29
38
  // Force exit after completion
30
39
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ai/agents/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,0BAA0B,CAAC;aAEzC,aAAQ,GAAG;QAChB,qCAAqC;QACrC,oDAAoD;QACpD,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEjF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAsC,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5C,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ai/agents/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1G,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,0BAA0B,CAAC;aAEzC,aAAQ,GAAG;QAChB,qCAAqC;QACrC,oDAAoD;QACpD,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EACT,wGAAwG;kBACtG,kBAAkB;YACtB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEjF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,mBAAmB,CAAC;gBACxD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAsC;gBACpD,aAAa,EAAE,SAAkB;gBACjC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,KAAK;gBAClE,GAAG,EAAE,aAAa;aACnB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5C,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -3,12 +3,13 @@ export default class AgentsRun extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- prompt: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
- chat: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- timeout: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ agent: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ prompt: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ chat: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ timeout: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
13
  };
13
14
  run(): Promise<void>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/agents/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAiE;IAEnF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;MA8BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC3B"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/agents/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAiE;IAEnF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAiCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8D3B"}
@@ -1,5 +1,7 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import ora from 'ora-classic';
3
+ import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, resolveLegacyFormat } from '../../../lib/format-compat.js';
4
+ import { failOnNonInteractive, requireInteractive } from '../../../lib/interactive-guard.js';
3
5
  export default class AgentsRun extends Command {
4
6
  static { this.description = 'Execute an AI agent with a prompt or start interactive chat'; }
5
7
  static { this.examples = [
@@ -23,9 +25,11 @@ export default class AgentsRun extends Command {
23
25
  description: 'Start interactive chat mode',
24
26
  exclusive: ['prompt'],
25
27
  }),
28
+ format: CANONICAL_FORMAT_FLAG,
26
29
  output: Flags.string({
27
30
  char: 'o',
28
- description: 'Output format',
31
+ description: "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). "
32
+ + 'Prefer --format.',
29
33
  options: ['compact', 'json', 'table'],
30
34
  default: 'compact',
31
35
  }),
@@ -39,16 +43,34 @@ export default class AgentsRun extends Command {
39
43
  }),
40
44
  }; }
41
45
  async run() {
42
- const { AgentService, OutputFormatter, ConversationService } = await import('@memberjunction/ai-cli');
43
- const { flags } = await this.parse(AgentsRun);
46
+ const { flags, metadata } = await this.parse(AgentsRun);
44
47
  if (!flags.prompt && !flags.chat) {
45
48
  this.error('Either --prompt or --chat flag is required');
46
49
  }
50
+ // --chat is a REPL that reads stdin turn by turn: interactive by nature, with no
51
+ // flag that could stand in for the conversation. Spawned or piped it would sit on
52
+ // stdin forever, so refuse before loading anything and name the flag that does work
53
+ // headlessly. Checked here — ahead of the service import — so the refusal costs
54
+ // nothing and cannot be mistaken for a startup failure.
55
+ if (flags.chat) {
56
+ try {
57
+ requireInteractive('Interactive chat mode', 'Use --prompt "<your prompt>" for a single non-interactive execution, or re-run --chat at an interactive terminal.');
58
+ }
59
+ catch (error) {
60
+ failOnNonInteractive(this, error);
61
+ }
62
+ }
63
+ const { AgentService, OutputFormatter, ConversationService } = await import('@memberjunction/ai-cli');
47
64
  const service = new AgentService();
48
- const formatter = new OutputFormatter(flags.output);
65
+ const formatter = new OutputFormatter(resolveLegacyFormat({
66
+ format: flags.format,
67
+ legacy: flags.output,
68
+ legacyDefault: 'compact',
69
+ legacyWasExplicit: metadata.flags.output?.setFromDefault === false,
70
+ map: AI_FORMAT_MAP,
71
+ }));
49
72
  try {
50
73
  if (flags.chat) {
51
- // Interactive chat mode
52
74
  const conversationService = new ConversationService();
53
75
  await conversationService.startChat(flags.agent, undefined, {
54
76
  verbose: flags.verbose,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/ai/agents/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/commands/ai/agents/run.ts"],"names":[],"mappings":"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"}
@@ -3,22 +3,23 @@ export default class AgentRun extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- step: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
8
- detail: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
- errors: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
- list: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
12
- status: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
13
- days: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
14
- limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
15
- export: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
16
- file: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
17
- 'max-tokens': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
18
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ step: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ detail: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ errors: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ list: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ agent: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ status: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ days: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
+ export: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
+ file: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
+ 'max-tokens': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
19
20
  };
20
21
  static args: {
21
- runId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
22
+ runId: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
22
23
  };
23
24
  run(): Promise<void>;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/audit/agent-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAKnD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAsF;IAExG,MAAM,CAAC,QAAQ,WAkBb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAwFV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmG3B"}
1
+ {"version":3,"file":"agent-run.d.ts","sourceRoot":"","sources":["../../../../src/commands/ai/audit/agent-run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAMnD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAsF;IAExG,MAAM,CAAC,QAAQ,WAkBb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MA2FV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6G3B"}
@@ -2,6 +2,7 @@ import { Command, Flags, Args } from '@oclif/core';
2
2
  import ora from 'ora-classic';
3
3
  import chalk from 'chalk';
4
4
  import * as fs from 'fs/promises';
5
+ import { CANONICAL_FORMAT_FLAG, resolveLegacyFormat } from '../../../lib/format-compat.js';
5
6
  export default class AgentRun extends Command {
6
7
  static { this.description = 'Audit and analyze AI agent execution runs for debugging and performance analysis'; }
7
8
  static { this.examples = [
@@ -21,9 +22,11 @@ export default class AgentRun extends Command {
21
22
  ]; }
22
23
  static { this.flags = {
23
24
  // Output format
25
+ format: CANONICAL_FORMAT_FLAG,
24
26
  output: Flags.string({
25
27
  char: 'o',
26
- description: 'Output format',
28
+ description: "Output format (legacy alias for --format in the 'mj ai' family; elsewhere -o is an output FILE path). "
29
+ + 'Prefer --format.',
27
30
  options: ['compact', 'json', 'table', 'markdown'],
28
31
  default: 'compact',
29
32
  }),
@@ -104,8 +107,17 @@ export default class AgentRun extends Command {
104
107
  }; }
105
108
  async run() {
106
109
  const { AgentAuditService } = await import('@memberjunction/ai-cli');
107
- const { args, flags } = await this.parse(AgentRun);
110
+ const { args, flags, metadata } = await this.parse(AgentRun);
108
111
  const spinner = ora();
112
+ // One typed resolution for all four render sites below — replaces the `as any`
113
+ // casts and applies the same --format/pipe rules as the rest of the CLI.
114
+ const outputFormat = resolveLegacyFormat({
115
+ format: flags.format,
116
+ legacy: flags.output,
117
+ legacyDefault: 'compact',
118
+ legacyWasExplicit: metadata.flags.output?.setFromDefault === false,
119
+ map: { text: 'compact', json: 'json', md: 'markdown' },
120
+ });
109
121
  try {
110
122
  const service = new AgentAuditService();
111
123
  // MODE 1: List recent runs
@@ -118,7 +130,7 @@ export default class AgentRun extends Command {
118
130
  limit: flags.limit,
119
131
  });
120
132
  spinner.stop();
121
- this.log(service.formatRunList(runs, flags.output));
133
+ this.log(service.formatRunList(runs, outputFormat));
122
134
  process.exit(0);
123
135
  return;
124
136
  }
@@ -134,7 +146,7 @@ export default class AgentRun extends Command {
134
146
  maxTokens: flags['max-tokens'],
135
147
  });
136
148
  spinner.stop();
137
- this.log(service.formatStepDetail(stepDetail, flags.output));
149
+ this.log(service.formatStepDetail(stepDetail, outputFormat));
138
150
  process.exit(0);
139
151
  return;
140
152
  }
@@ -143,7 +155,7 @@ export default class AgentRun extends Command {
143
155
  spinner.start('Analyzing errors...');
144
156
  const errorAnalysis = await service.analyzeErrors(args.runId);
145
157
  spinner.stop();
146
- this.log(service.formatErrorAnalysis(errorAnalysis, flags.output));
158
+ this.log(service.formatErrorAnalysis(errorAnalysis, outputFormat));
147
159
  process.exit(0);
148
160
  return;
149
161
  }
@@ -165,7 +177,7 @@ export default class AgentRun extends Command {
165
177
  maxTokens: flags['max-tokens'],
166
178
  });
167
179
  spinner.stop();
168
- this.log(service.formatRunSummary(summary, flags.output));
180
+ this.log(service.formatRunSummary(summary, outputFormat));
169
181
  if (flags.verbose) {
170
182
  this.log(chalk.dim('\nšŸ’” Tip: Use --step <N> to see details for a specific step'));
171
183
  this.log(chalk.dim('šŸ’” Tip: Use --errors to see only error information'));
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../../../src/commands/ai/audit/agent-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../../../src/commands/ai/audit/agent-run.ts"],"names":[],"mappings":"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"}