@a5c-ai/agent-mux-cli 0.3.0 → 0.4.1

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 (65) hide show
  1. package/dist/bootstrap.d.ts +1 -1
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +24 -6
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/commands/agent.d.ts +12 -0
  6. package/dist/commands/agent.d.ts.map +1 -0
  7. package/dist/commands/agent.js +219 -0
  8. package/dist/commands/agent.js.map +1 -0
  9. package/dist/commands/gateway/index.d.ts +6 -0
  10. package/dist/commands/gateway/index.d.ts.map +1 -0
  11. package/dist/commands/gateway/index.js +39 -0
  12. package/dist/commands/gateway/index.js.map +1 -0
  13. package/dist/commands/gateway/serve.d.ts +6 -0
  14. package/dist/commands/gateway/serve.d.ts.map +1 -0
  15. package/dist/commands/gateway/serve.js +67 -0
  16. package/dist/commands/gateway/serve.js.map +1 -0
  17. package/dist/commands/gateway/status.d.ts +3 -0
  18. package/dist/commands/gateway/status.d.ts.map +1 -0
  19. package/dist/commands/gateway/status.js +24 -0
  20. package/dist/commands/gateway/status.js.map +1 -0
  21. package/dist/commands/gateway/tokens.d.ts +3 -0
  22. package/dist/commands/gateway/tokens.d.ts.map +1 -0
  23. package/dist/commands/gateway/tokens.js +75 -0
  24. package/dist/commands/gateway/tokens.js.map +1 -0
  25. package/dist/commands/help.d.ts.map +1 -1
  26. package/dist/commands/help.js +100 -0
  27. package/dist/commands/help.js.map +1 -1
  28. package/dist/commands/hooks.d.ts.map +1 -1
  29. package/dist/commands/hooks.js +1 -13
  30. package/dist/commands/hooks.js.map +1 -1
  31. package/dist/commands/launch.d.ts +52 -0
  32. package/dist/commands/launch.d.ts.map +1 -0
  33. package/dist/commands/launch.js +580 -0
  34. package/dist/commands/launch.js.map +1 -0
  35. package/dist/commands/mcp.d.ts.map +1 -1
  36. package/dist/commands/mcp.js +15 -11
  37. package/dist/commands/mcp.js.map +1 -1
  38. package/dist/commands/models.d.ts.map +1 -1
  39. package/dist/commands/models.js +164 -11
  40. package/dist/commands/models.js.map +1 -1
  41. package/dist/commands/plugin.d.ts.map +1 -1
  42. package/dist/commands/plugin.js +28 -9
  43. package/dist/commands/plugin.js.map +1 -1
  44. package/dist/commands/run.d.ts.map +1 -1
  45. package/dist/commands/run.js +91 -24
  46. package/dist/commands/run.js.map +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +31 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/agent-skill-paths.d.ts +1 -0
  51. package/dist/lib/agent-skill-paths.d.ts.map +1 -1
  52. package/dist/lib/agent-skill-paths.js +18 -2
  53. package/dist/lib/agent-skill-paths.js.map +1 -1
  54. package/dist/lib/agent-subagent-paths.d.ts +9 -0
  55. package/dist/lib/agent-subagent-paths.d.ts.map +1 -0
  56. package/dist/lib/agent-subagent-paths.js +54 -0
  57. package/dist/lib/agent-subagent-paths.js.map +1 -0
  58. package/dist/parse-args.d.ts.map +1 -1
  59. package/dist/parse-args.js +6 -2
  60. package/dist/parse-args.js.map +1 -1
  61. package/dist/read-stdin.d.ts +2 -0
  62. package/dist/read-stdin.d.ts.map +1 -0
  63. package/dist/read-stdin.js +14 -0
  64. package/dist/read-stdin.js.map +1 -0
  65. package/package.json +10 -3
@@ -37,14 +37,25 @@ export async function mcpCommand(client, args) {
37
37
  try {
38
38
  switch (subcommand) {
39
39
  case 'list': {
40
- const servers = client.config.getMcpServers(agentName);
40
+ const plugins = await client.plugins.list(agentName);
41
+ const servers = plugins.filter(p => p.format === 'mcp-server' || !p.format);
41
42
  if (servers.length === 0) {
42
43
  process.stdout.write('(no MCP servers installed)\n');
43
44
  return ExitCode.SUCCESS;
44
45
  }
45
46
  for (const server of servers) {
46
47
  const status = 'enabled'; // MCP servers are enabled by default
47
- process.stdout.write(`${server.name}\t${status}\t${server.command}\n`);
48
+ const s = server;
49
+ let cmdStr = s.command ?? '';
50
+ if (s.args && s.args.length > 0)
51
+ cmdStr += ' ' + s.args.join(' ');
52
+ let envStr = '';
53
+ if (s.env && Object.keys(s.env).length > 0) {
54
+ envStr = Object.entries(s.env).map(([k, v]) => `${k}=${v}`).join(' ');
55
+ }
56
+ const scopeStr = s.scope ? `[${s.scope}]` : '';
57
+ const displayStr = [s.pluginId, status, scopeStr, cmdStr, envStr].filter(Boolean).join('\t');
58
+ process.stdout.write(`${displayStr}\n`);
48
59
  }
49
60
  return ExitCode.SUCCESS;
50
61
  }
@@ -54,14 +65,7 @@ export async function mcpCommand(client, args) {
54
65
  printError('Missing required argument: <server>');
55
66
  return ExitCode.GENERAL_ERROR;
56
67
  }
57
- // Create a basic MCP server config - in a real implementation this would
58
- // likely look up the server in a registry to get the proper command
59
- const serverConfig = {
60
- name: serverName,
61
- transport: 'stdio',
62
- command: serverName, // Basic implementation - assumes command matches name
63
- };
64
- await client.config.addMcpServer(agentName, serverConfig);
68
+ await client.plugins.install(agentName, serverName, { global: isGlobal });
65
69
  process.stdout.write(`installed: ${serverName} (${isGlobal ? 'global' : 'project'})\n`);
66
70
  return ExitCode.SUCCESS;
67
71
  }
@@ -71,7 +75,7 @@ export async function mcpCommand(client, args) {
71
75
  printError('Missing required argument: <server>');
72
76
  return ExitCode.GENERAL_ERROR;
73
77
  }
74
- await client.config.removeMcpServer(agentName, serverToRemove);
78
+ await client.plugins.uninstall(agentName, serverToRemove, { global: args.flags.global });
75
79
  process.stdout.write(`uninstalled: ${serverToRemove}\n`);
76
80
  return ExitCode.SUCCESS;
77
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,IAAgB;IAEhB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,qDAAqD;YACrD,EAAE;YACF,uDAAuD;YACvD,EAAE;YACF,cAAc;YACd,8DAA8D;YAC9D,sDAAsD;YACtD,wDAAwD;YACxD,EAAE;YACF,QAAQ;YACR,mEAAmE;YACnE,sEAAsE;YACtE,EAAE;YACF,WAAW;YACX,wBAAwB;YACxB,sCAAsC;YACtC,gDAAgD;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,CAAC,yDAAyD,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,UAAU,CAAC,oCAAoC,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAEnE,IAAI,CAAC;QACH,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAkB,CAAC,CAAC;gBAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBACrD,OAAO,QAAQ,CAAC,OAAO,CAAC;gBAC1B,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,qCAAqC;oBAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC1B,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,CAAC,qCAAqC,CAAC,CAAC;oBAClD,OAAO,QAAQ,CAAC,aAAa,CAAC;gBAChC,CAAC;gBACD,yEAAyE;gBACzE,oEAAoE;gBACpE,MAAM,YAAY,GAAG;oBACnB,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,OAAgB;oBAC3B,OAAO,EAAE,UAAU,EAAE,sDAAsD;iBAC5E,CAAC;gBACF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAkB,EAAE,YAAY,CAAC,CAAC;gBACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC;gBACxF,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC1B,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,UAAU,CAAC,qCAAqC,CAAC,CAAC;oBAClD,OAAO,QAAQ,CAAC,aAAa,CAAC;gBAChC,CAAC;gBACD,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,SAAkB,EAAE,cAAc,CAAC,CAAC;gBACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,cAAc,IAAI,CAAC,CAAC;gBACzD,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC1B,CAAC;YACD;gBACE,UAAU,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO,QAAQ,CAAC,aAAa,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,UAAU,CAAC,OAAO,UAAU,YAAY,GAAG,EAAE,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,aAAa,CAAC;IAChC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA2D7F"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA6F7F"}
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * @see docs/10-cli-reference.md Section 10
5
5
  */
6
- import { AgentMuxError } from '@a5c-ai/agent-mux-core';
6
+ import { AgentMuxError, PROVIDER_DEFAULTS, MODEL_TRANSLATION_TABLE } from '@a5c-ai/agent-mux-core';
7
7
  import { flagBool, flagStr } from '../parse-args.js';
8
8
  import { ExitCode, errorCodeToExitCode } from '../exit-codes.js';
9
- import { printTable, printJsonOk, printJsonError, printError, printJson, toPlain, } from '../output.js';
9
+ import { printTable, printJsonOk, printJsonError, printError, printJson, printKeyValue, toPlain, } from '../output.js';
10
10
  export async function modelsCommand(client, args) {
11
11
  const sub = args.subcommand;
12
12
  const jsonMode = flagBool(args.flags, 'json') === true;
@@ -50,12 +50,45 @@ export async function modelsCommand(client, args) {
50
50
  }
51
51
  return modelsRefresh(client, agent, jsonMode);
52
52
  }
53
+ if (sub === 'current') {
54
+ const agent = args.positionals[0] ?? flagStr(args.flags, 'agent');
55
+ if (!agent) {
56
+ if (jsonMode) {
57
+ printJsonError('VALIDATION_ERROR', 'Missing required argument: <agent>');
58
+ }
59
+ else {
60
+ printError('Missing required argument: <agent>');
61
+ }
62
+ return ExitCode.USAGE_ERROR;
63
+ }
64
+ return modelsCurrent(client, agent, jsonMode);
65
+ }
66
+ if (sub === 'set') {
67
+ const agent = args.positionals[0] ?? flagStr(args.flags, 'agent');
68
+ const modelId = args.positionals[1];
69
+ const provider = flagStr(args.flags, 'provider');
70
+ if (!agent || !modelId) {
71
+ if (jsonMode) {
72
+ printJsonError('VALIDATION_ERROR', 'Usage: amux models set <agent> <model> [--provider <provider>]');
73
+ }
74
+ else {
75
+ printError('Usage: amux models set <agent> <model> [--provider <provider>]');
76
+ }
77
+ return ExitCode.USAGE_ERROR;
78
+ }
79
+ return modelsSet(client, agent, modelId, provider, jsonMode);
80
+ }
81
+ // Top-level --provider flag (no subcommand required)
82
+ const topLevelProvider = flagStr(args.flags, 'provider');
83
+ if (!sub && topLevelProvider) {
84
+ return modelsProvider(topLevelProvider, jsonMode);
85
+ }
53
86
  if (!sub) {
54
87
  if (jsonMode) {
55
- printJsonError('VALIDATION_ERROR', 'Missing subcommand. Available: list, info, refresh');
88
+ printJsonError('VALIDATION_ERROR', 'Missing subcommand. Available: list, info, refresh, current, set');
56
89
  }
57
90
  else {
58
- printError('Missing subcommand. Available: list, info, refresh');
91
+ printError('Missing subcommand. Available: list, info, refresh, current, set');
59
92
  }
60
93
  return ExitCode.USAGE_ERROR;
61
94
  }
@@ -69,7 +102,7 @@ export async function modelsCommand(client, args) {
69
102
  }
70
103
  async function modelsList(client, agent, jsonMode) {
71
104
  try {
72
- const models = client.models.models(agent);
105
+ const models = client.models.catalog(agent);
73
106
  if (jsonMode) {
74
107
  printJsonOk(models);
75
108
  return ExitCode.SUCCESS;
@@ -79,13 +112,15 @@ async function modelsList(client, agent, jsonMode) {
79
112
  return [
80
113
  String(m['id'] ?? m['modelId'] ?? '--'),
81
114
  String(m['displayName'] ?? m['name'] ?? '--'),
115
+ String(m['provider'] ?? '--'),
116
+ String(m['protocol'] ?? '--'),
117
+ String(m['deployment'] ?? '--'),
82
118
  String(m['contextWindow'] ?? '--'),
83
- String(m['maxOutputTokens'] ?? '--'),
84
- m['supportsThinking'] ? 'yes' : 'no',
85
- m['supportsStreaming'] ? 'yes' : 'no',
119
+ String(m['source'] ?? '--'),
120
+ m['isDefault'] ? 'yes' : 'no',
86
121
  ];
87
122
  });
88
- printTable(['Model ID', 'Display Name', 'Context', 'Max Output', 'Thinking', 'Streaming'], rows);
123
+ printTable(['Model ID', 'Display Name', 'Provider', 'Protocol', 'Deploy', 'Context', 'Source', 'Default'], rows);
89
124
  return ExitCode.SUCCESS;
90
125
  }
91
126
  catch (err) {
@@ -119,11 +154,83 @@ async function modelsInfo(client, agent, modelId, jsonMode) {
119
154
  async function modelsRefresh(client, agent, jsonMode) {
120
155
  try {
121
156
  await client.models.refresh(agent);
157
+ const models = client.models.catalog(agent);
158
+ const lastUpdated = client.models.lastUpdated(agent).toISOString();
159
+ if (jsonMode) {
160
+ printJsonOk({ refreshed: agent, count: models.length, lastUpdated });
161
+ }
162
+ else {
163
+ process.stdout.write(`Model list refreshed for ${agent} (${models.length} entries, ${lastUpdated}).\n`);
164
+ }
165
+ return ExitCode.SUCCESS;
166
+ }
167
+ catch (err) {
168
+ return handleError(err, jsonMode);
169
+ }
170
+ }
171
+ async function modelsCurrent(client, agent, jsonMode) {
172
+ try {
173
+ const selection = client.config.getModelSelection(agent);
174
+ const effective = selection.effectiveModel
175
+ ? client.models.model(agent, selection.effectiveModel)
176
+ : null;
177
+ const payload = {
178
+ agent,
179
+ configuredModel: selection.configuredModel,
180
+ configuredProvider: selection.configuredProvider,
181
+ defaultModel: selection.defaultModel,
182
+ effectiveModel: effective?.modelId ?? selection.effectiveModel,
183
+ effectiveModelDetails: effective,
184
+ };
185
+ if (jsonMode) {
186
+ printJsonOk(payload);
187
+ }
188
+ else {
189
+ printKeyValue([
190
+ ['Agent', agent],
191
+ ['Configured Model', selection.configuredModel ?? '--'],
192
+ ['Configured Provider', selection.configuredProvider ?? '--'],
193
+ ['Default Model', selection.defaultModel ?? '--'],
194
+ ['Effective Model', effective?.modelId ?? selection.effectiveModel ?? '--'],
195
+ ['Provider', effective?.provider ?? '--'],
196
+ ['Protocol', effective?.protocol ?? '--'],
197
+ ['Deployment', effective?.deployment ?? '--'],
198
+ ]);
199
+ }
200
+ return ExitCode.SUCCESS;
201
+ }
202
+ catch (err) {
203
+ return handleError(err, jsonMode);
204
+ }
205
+ }
206
+ async function modelsSet(client, agent, modelId, provider, jsonMode) {
207
+ try {
208
+ const validation = client.models.validate(agent, modelId);
209
+ if (!validation.valid || !validation.model) {
210
+ if (jsonMode) {
211
+ printJsonError('VALIDATION_ERROR', validation.message);
212
+ }
213
+ else {
214
+ printError(validation.message);
215
+ }
216
+ return ExitCode.USAGE_ERROR;
217
+ }
218
+ const resolvedModelId = validation.resolvedModelId ?? validation.model.modelId;
219
+ await client.config.setModelSelection(agent, { model: resolvedModelId, provider });
220
+ const selection = client.config.getModelSelection(agent);
221
+ const payload = {
222
+ agent,
223
+ requestedModel: modelId,
224
+ configuredModel: selection.configuredModel,
225
+ configuredProvider: selection.configuredProvider,
226
+ status: validation.status,
227
+ effectiveModel: selection.effectiveModel,
228
+ };
122
229
  if (jsonMode) {
123
- printJsonOk({ refreshed: agent });
230
+ printJsonOk(payload);
124
231
  }
125
232
  else {
126
- process.stdout.write(`Model list refreshed for ${agent}.\n`);
233
+ process.stdout.write(`Set model for ${agent} to ${resolvedModelId}${provider ? ` (${provider})` : ''}.\n`);
127
234
  }
128
235
  return ExitCode.SUCCESS;
129
236
  }
@@ -131,6 +238,52 @@ async function modelsRefresh(client, agent, jsonMode) {
131
238
  return handleError(err, jsonMode);
132
239
  }
133
240
  }
241
+ function modelsProvider(providerId, jsonMode) {
242
+ const defaults = PROVIDER_DEFAULTS[providerId];
243
+ if (!defaults) {
244
+ const available = Object.keys(PROVIDER_DEFAULTS).join(', ');
245
+ if (jsonMode) {
246
+ printJsonError('VALIDATION_ERROR', `Unknown provider: ${providerId}. Available: ${available}`);
247
+ }
248
+ else {
249
+ printError(`Unknown provider: ${providerId}. Available: ${available}`);
250
+ }
251
+ return ExitCode.USAGE_ERROR;
252
+ }
253
+ // Collect translation table entries that have a mapping for this provider
254
+ const translationRows = [];
255
+ for (const [canonical, mapping] of Object.entries(MODEL_TRANSLATION_TABLE)) {
256
+ const translated = mapping[providerId];
257
+ if (translated) {
258
+ translationRows.push([canonical, translated]);
259
+ }
260
+ }
261
+ if (jsonMode) {
262
+ printJsonOk({
263
+ provider: providerId,
264
+ defaultModel: defaults.defaultModel,
265
+ transport: defaults.transport,
266
+ authType: defaults.authType,
267
+ apiBase: defaults.apiBase,
268
+ envKey: defaults.envKey ?? null,
269
+ modelTranslations: Object.fromEntries(translationRows),
270
+ });
271
+ return ExitCode.SUCCESS;
272
+ }
273
+ printKeyValue([
274
+ ['Provider', providerId],
275
+ ['Default Model', defaults.defaultModel || '--'],
276
+ ['Transport', defaults.transport],
277
+ ['Auth Type', defaults.authType],
278
+ ['API Base', defaults.apiBase || '--'],
279
+ ['Env Key', defaults.envKey ?? '--'],
280
+ ]);
281
+ if (translationRows.length > 0) {
282
+ process.stdout.write('\nModel Translations:\n');
283
+ printTable(['Canonical Model', `${providerId} Model ID`], translationRows);
284
+ }
285
+ return ExitCode.SUCCESS;
286
+ }
134
287
  function handleError(err, jsonMode) {
135
288
  if (err instanceof AgentMuxError) {
136
289
  if (jsonMode) {
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GACxE,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAsB,EAAE,IAAgB;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAEvD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,yCAAyC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,kBAAkB,EAAE,oDAAoD,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,oDAAoD,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,cAAc,CAAC,kBAAkB,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAsB,EAAE,KAAa,EAAE,QAAiB;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;gBACP,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;gBACvC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBAC7C,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;gBAClC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;gBACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;aACpC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,UAAU,CACR,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,EAC9E,IAAI,CACL,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAsB,EAAE,KAAa,EAAE,OAAe,EAAE,QAAiB;IAEzE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,iBAAiB,EAAE,UAAU,OAAO,0BAA0B,KAAK,GAAG,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,UAAU,OAAO,0BAA0B,KAAK,GAAG,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAsB,EAAE,KAAa,EAAE,QAAiB;IACnF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAY,EAAE,QAAiB;IAClD,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,QAAQ,CAAC,aAAa,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAwEjB"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAoFjB"}
@@ -6,11 +6,12 @@ import { flagBool } from '../parse-args.js';
6
6
  import { detectAgentCapabilities } from '../lib/agent-capabilities.js';
7
7
  const execAsync = promisify(exec);
8
8
  export async function pluginCommand(client, args) {
9
+ const json = flagBool(args.flags, 'json') === true;
9
10
  if (args.flags.help) {
10
11
  process.stdout.write([
11
12
  'Usage: amux plugin <subcommand> <agent> [args] [flags]',
12
13
  '',
13
- 'Manage plugins through agent-native plugin systems',
14
+ 'Manage plugins through agent-native plugin systems.',
14
15
  '',
15
16
  'Subcommands:',
16
17
  ' list <agent> List installed plugins',
@@ -19,6 +20,9 @@ export async function pluginCommand(client, args) {
19
20
  ' disable <agent> <plugin> Disable plugin',
20
21
  ' marketplace <agent> [cmd] Access plugin marketplace',
21
22
  '',
23
+ 'Flags:',
24
+ ' --json Emit JSON envelopes on stdout/stderr',
25
+ '',
22
26
  'Examples:',
23
27
  ' amux plugin list claude',
24
28
  ' amux plugin install claude filesystem-watcher',
@@ -31,15 +35,22 @@ export async function pluginCommand(client, args) {
31
35
  const subcommand = args.subcommand;
32
36
  const agentName = args.positionals[0];
33
37
  if (!subcommand) {
34
- printError('Missing subcommand. Available: list, install, enable, disable, marketplace');
35
- return ExitCode.GENERAL_ERROR;
38
+ const msg = 'Missing subcommand. Available: list, install, enable, disable, marketplace';
39
+ if (json)
40
+ printJsonError('VALIDATION_ERROR', msg);
41
+ else
42
+ printError(msg);
43
+ return ExitCode.USAGE_ERROR;
36
44
  }
37
45
  if (!agentName) {
38
- printError('Missing required argument: <agent>');
39
- return ExitCode.GENERAL_ERROR;
46
+ const msg = 'Missing required argument: <agent>';
47
+ if (json)
48
+ printJsonError('VALIDATION_ERROR', msg);
49
+ else
50
+ printError(msg);
51
+ return ExitCode.USAGE_ERROR;
40
52
  }
41
53
  const capabilities = await detectAgentCapabilities(agentName);
42
- const json = flagBool(args.flags, 'json') === true;
43
54
  if (!capabilities.supportsPlugins) {
44
55
  const msg = `Plugin management not supported for ${agentName}. Use 'amux mcp' for MCP servers.`;
45
56
  if (json)
@@ -49,8 +60,12 @@ export async function pluginCommand(client, args) {
49
60
  return ExitCode.GENERAL_ERROR;
50
61
  }
51
62
  if (!capabilities.pluginCommands.includes(subcommand)) {
52
- printError(`Subcommand '${subcommand}' not supported for ${agentName}. Available: ${capabilities.pluginCommands.join(', ')}`);
53
- return ExitCode.GENERAL_ERROR;
63
+ const msg = `Subcommand '${subcommand}' not supported for ${agentName}. Available: ${capabilities.pluginCommands.join(', ')}`;
64
+ if (json)
65
+ printJsonError('VALIDATION_ERROR', msg);
66
+ else
67
+ printError(msg);
68
+ return ExitCode.USAGE_ERROR;
54
69
  }
55
70
  // Build native command
56
71
  const nativeArgs = [subcommand, ...args.positionals.slice(1)].join(' ');
@@ -70,7 +85,11 @@ export async function pluginCommand(client, args) {
70
85
  process.stdout.write(error.stdout);
71
86
  if (error.stderr)
72
87
  process.stderr.write(error.stderr);
73
- printError(`Plugin command failed: ${error.message}`);
88
+ const msg = `Plugin command failed: ${error.message}`;
89
+ if (json)
90
+ printJsonError('EXECUTION_ERROR', msg);
91
+ else
92
+ printError(msg);
74
93
  return error.code || ExitCode.GENERAL_ERROR;
75
94
  }
76
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKhD,qCAAqC;AACrC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAoC7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAgBlG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CA0FvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAsG1F"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQhD,qCAAqC;AACrC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAsC7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAgBlG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CA8FvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA6H1F"}