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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/commands/help.d.ts.map +1 -1
  2. package/dist/commands/help.js +35 -0
  3. package/dist/commands/help.js.map +1 -1
  4. package/dist/commands/mcp.d.ts +4 -0
  5. package/dist/commands/mcp.d.ts.map +1 -0
  6. package/dist/commands/mcp.js +89 -0
  7. package/dist/commands/mcp.js.map +1 -0
  8. package/dist/commands/plugin.d.ts +4 -0
  9. package/dist/commands/plugin.d.ts.map +1 -0
  10. package/dist/commands/plugin.js +77 -0
  11. package/dist/commands/plugin.js.map +1 -0
  12. package/dist/commands/skill.d.ts +11 -0
  13. package/dist/commands/skill.d.ts.map +1 -0
  14. package/dist/commands/skill.js +217 -0
  15. package/dist/commands/skill.js.map +1 -0
  16. package/dist/commands/tui.d.ts +4 -0
  17. package/dist/commands/tui.d.ts.map +1 -0
  18. package/dist/commands/tui.js +56 -0
  19. package/dist/commands/tui.js.map +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +13 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/agent-capabilities.d.ts +7 -0
  24. package/dist/lib/agent-capabilities.d.ts.map +1 -0
  25. package/dist/lib/agent-capabilities.js +63 -0
  26. package/dist/lib/agent-capabilities.js.map +1 -0
  27. package/dist/lib/agent-skill-paths.d.ts +9 -0
  28. package/dist/lib/agent-skill-paths.d.ts.map +1 -0
  29. package/dist/lib/agent-skill-paths.js +54 -0
  30. package/dist/lib/agent-skill-paths.js.map +1 -0
  31. package/dist/parse-args.js +4 -4
  32. package/dist/parse-args.js.map +1 -1
  33. package/package.json +3 -3
  34. package/dist/commands/plugins.d.ts +0 -9
  35. package/dist/commands/plugins.d.ts.map +0 -1
  36. package/dist/commands/plugins.js +0 -180
  37. package/dist/commands/plugins.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyUH;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4WH;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
@@ -32,6 +32,8 @@ Commands:
32
32
  profiles Manage named RunOptions presets
33
33
  auth Check and setup authentication
34
34
  plugins Manage agent plugins
35
+ plugin Manage native agent plugins
36
+ mcp Manage MCP servers
35
37
  detect-host Detect which agent harness we are running under
36
38
  remote Install / update amux on a remote host
37
39
  hooks Manage and dispatch unified agent hooks
@@ -288,6 +290,39 @@ Flags:
288
290
  --version <ver> Pin to specific version
289
291
  --global Install globally
290
292
  --json Output as JSON
293
+ `,
294
+ plugin: `amux plugin - Native agent plugin management
295
+
296
+ Usage:
297
+ amux plugin list <agent>
298
+ amux plugin install <agent> <plugin>
299
+ amux plugin enable <agent> <plugin>
300
+ amux plugin disable <agent> <plugin>
301
+ amux plugin marketplace <agent> [cmd]
302
+
303
+ Flags:
304
+ --help Show help
305
+
306
+ Examples:
307
+ amux plugin list claude
308
+ amux plugin install claude filesystem-watcher
309
+ amux plugin marketplace claude
310
+
311
+ Note: This command delegates to native agent plugin systems.
312
+ For MCP server management, use "amux mcp" instead.
313
+ `,
314
+ mcp: `amux mcp - MCP (Model Context Protocol) server management
315
+
316
+ Usage:
317
+ amux mcp list <agent>
318
+ amux mcp install <agent> <server>
319
+ amux mcp enable <agent> <server>
320
+ amux mcp disable <agent> <server>
321
+
322
+ Examples:
323
+ amux mcp list claude
324
+ amux mcp install claude filesystem
325
+ amux mcp enable claude memory
291
326
  `,
292
327
  hooks: `amux hooks - Unified hook management and dispatch
293
328
 
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAQ,OAAO,CAAC,oBAAoB,CAA0B,CAAC,OAAO,IAAI,OAAO,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;AAE9B,2BAA2B;AAC3B,MAAM,SAAS,GAAG,kCAAkC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C1D,CAAC;AAEF,mCAAmC;AACnC,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCN;IACC,QAAQ,EAAE;;;;;;;;;;;;;;CAcX;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;CAkBX;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;CAkBX;IACC,IAAI,EAAE;;;;;;;;;;;;;CAaP;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;CAkBV;IACC,MAAM,EAAE;;;;;;;;;;;;;;CAcT;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;IACC,SAAS,EAAE;;;;CAIZ;IACC,aAAa,EAAE;;;;;;;;CAQhB;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBT;IACC,OAAO,EAAE;;;;;;;;;;;CAWV;IACC,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBR;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;CACA,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,IAAI,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAQ,OAAO,CAAC,oBAAoB,CAA0B,CAAC,OAAO,IAAI,OAAO,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;AAE9B,2BAA2B;AAC3B,MAAM,SAAS,GAAG,kCAAkC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C1D,CAAC;AAEF,mCAAmC;AACnC,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCN;IACC,QAAQ,EAAE;;;;;;;;;;;;;;CAcX;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;CAkBX;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;CAkBX;IACC,IAAI,EAAE;;;;;;;;;;;;;CAaP;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;CAkBV;IACC,MAAM,EAAE;;;;;;;;;;;;;;CAcT;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;IACC,SAAS,EAAE;;;;CAIZ;IACC,aAAa,EAAE;;;;;;;;CAQhB;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBT;IACC,OAAO,EAAE;;;;;;;;;;;CAWV;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBT;IACC,GAAG,EAAE;;;;;;;;;;;;CAYN;IACC,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBR;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;CACA,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,IAAI,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AgentMuxClient } from '@a5c-ai/agent-mux-core';
2
+ import type { ParsedArgs } from '../parse-args.js';
3
+ export declare function mcpCommand(client: AgentMuxClient, args: ParsedArgs): Promise<number>;
4
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
@@ -0,0 +1,89 @@
1
+ import { ExitCode } from '../exit-codes.js';
2
+ import { printError } from '../output.js';
3
+ export async function mcpCommand(client, args) {
4
+ if (args.flags.help) {
5
+ process.stdout.write([
6
+ 'Usage: amux mcp <subcommand> <agent> [args] [flags]',
7
+ '',
8
+ 'Manage Model Context Protocol (MCP) servers per agent',
9
+ '',
10
+ 'Subcommands:',
11
+ ' list <agent> List installed MCP servers',
12
+ ' install <agent> <server> Install MCP server',
13
+ ' uninstall <agent> <server> Uninstall MCP server',
14
+ '',
15
+ 'Flags:',
16
+ ' --project Use project-level configuration',
17
+ ' --global Use global configuration (default)',
18
+ '',
19
+ 'Examples:',
20
+ ' amux mcp list claude',
21
+ ' amux mcp install claude filesystem',
22
+ ' amux mcp install claude filesystem --project',
23
+ ].join('\n') + '\n');
24
+ return ExitCode.SUCCESS;
25
+ }
26
+ const subcommand = args.subcommand;
27
+ const agentName = args.positionals[0];
28
+ if (!subcommand) {
29
+ printError('Missing subcommand. Available: list, install, uninstall');
30
+ return ExitCode.GENERAL_ERROR;
31
+ }
32
+ if (!agentName) {
33
+ printError('Missing required argument: <agent>');
34
+ return ExitCode.GENERAL_ERROR;
35
+ }
36
+ const isGlobal = args.flags.global === true || !args.flags.project;
37
+ try {
38
+ switch (subcommand) {
39
+ case 'list': {
40
+ const servers = client.config.getMcpServers(agentName);
41
+ if (servers.length === 0) {
42
+ process.stdout.write('(no MCP servers installed)\n');
43
+ return ExitCode.SUCCESS;
44
+ }
45
+ for (const server of servers) {
46
+ const status = 'enabled'; // MCP servers are enabled by default
47
+ process.stdout.write(`${server.name}\t${status}\t${server.command}\n`);
48
+ }
49
+ return ExitCode.SUCCESS;
50
+ }
51
+ case 'install': {
52
+ const serverName = args.positionals[1];
53
+ if (!serverName) {
54
+ printError('Missing required argument: <server>');
55
+ return ExitCode.GENERAL_ERROR;
56
+ }
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);
65
+ process.stdout.write(`installed: ${serverName} (${isGlobal ? 'global' : 'project'})\n`);
66
+ return ExitCode.SUCCESS;
67
+ }
68
+ case 'uninstall': {
69
+ const serverToRemove = args.positionals[1];
70
+ if (!serverToRemove) {
71
+ printError('Missing required argument: <server>');
72
+ return ExitCode.GENERAL_ERROR;
73
+ }
74
+ await client.config.removeMcpServer(agentName, serverToRemove);
75
+ process.stdout.write(`uninstalled: ${serverToRemove}\n`);
76
+ return ExitCode.SUCCESS;
77
+ }
78
+ default:
79
+ printError(`Unknown subcommand: ${subcommand}`);
80
+ return ExitCode.GENERAL_ERROR;
81
+ }
82
+ }
83
+ catch (err) {
84
+ const msg = err.message ?? String(err);
85
+ printError(`mcp ${subcommand} failed: ${msg}`);
86
+ return ExitCode.GENERAL_ERROR;
87
+ }
88
+ }
89
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AgentMuxClient } from '@a5c-ai/agent-mux-core';
2
+ import type { ParsedArgs } from '../parse-args.js';
3
+ export declare function pluginCommand(client: AgentMuxClient, args: ParsedArgs): Promise<number>;
4
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,77 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import { ExitCode } from '../exit-codes.js';
4
+ import { printError, printJsonError } from '../output.js';
5
+ import { flagBool } from '../parse-args.js';
6
+ import { detectAgentCapabilities } from '../lib/agent-capabilities.js';
7
+ const execAsync = promisify(exec);
8
+ export async function pluginCommand(client, args) {
9
+ if (args.flags.help) {
10
+ process.stdout.write([
11
+ 'Usage: amux plugin <subcommand> <agent> [args] [flags]',
12
+ '',
13
+ 'Manage plugins through agent-native plugin systems',
14
+ '',
15
+ 'Subcommands:',
16
+ ' list <agent> List installed plugins',
17
+ ' install <agent> <plugin> Install plugin',
18
+ ' enable <agent> <plugin> Enable plugin',
19
+ ' disable <agent> <plugin> Disable plugin',
20
+ ' marketplace <agent> [cmd] Access plugin marketplace',
21
+ '',
22
+ 'Examples:',
23
+ ' amux plugin list claude',
24
+ ' amux plugin install claude filesystem-watcher',
25
+ ' amux plugin marketplace claude',
26
+ '',
27
+ 'Note: Plugin support varies by agent. Use "amux mcp" for MCP servers.',
28
+ ].join('\n') + '\n');
29
+ return ExitCode.SUCCESS;
30
+ }
31
+ const subcommand = args.subcommand;
32
+ const agentName = args.positionals[0];
33
+ if (!subcommand) {
34
+ printError('Missing subcommand. Available: list, install, enable, disable, marketplace');
35
+ return ExitCode.GENERAL_ERROR;
36
+ }
37
+ if (!agentName) {
38
+ printError('Missing required argument: <agent>');
39
+ return ExitCode.GENERAL_ERROR;
40
+ }
41
+ const capabilities = await detectAgentCapabilities(agentName);
42
+ const json = flagBool(args.flags, 'json') === true;
43
+ if (!capabilities.supportsPlugins) {
44
+ const msg = `Plugin management not supported for ${agentName}. Use 'amux mcp' for MCP servers.`;
45
+ if (json)
46
+ printJsonError('CAPABILITY_ERROR', msg);
47
+ else
48
+ printError(msg);
49
+ return ExitCode.GENERAL_ERROR;
50
+ }
51
+ if (!capabilities.pluginCommands.includes(subcommand)) {
52
+ printError(`Subcommand '${subcommand}' not supported for ${agentName}. Available: ${capabilities.pluginCommands.join(', ')}`);
53
+ return ExitCode.GENERAL_ERROR;
54
+ }
55
+ // Build native command
56
+ const nativeArgs = [subcommand, ...args.positionals.slice(1)].join(' ');
57
+ const nativeCommand = `${capabilities.nativePluginCommand} ${nativeArgs}`;
58
+ try {
59
+ const result = await execAsync(nativeCommand, {
60
+ timeout: 30000
61
+ });
62
+ if (result.stdout)
63
+ process.stdout.write(result.stdout);
64
+ if (result.stderr)
65
+ process.stderr.write(result.stderr);
66
+ return ExitCode.SUCCESS;
67
+ }
68
+ catch (error) {
69
+ if (error.stdout)
70
+ process.stdout.write(error.stdout);
71
+ if (error.stderr)
72
+ process.stderr.write(error.stderr);
73
+ printError(`Plugin command failed: ${error.message}`);
74
+ return error.code || ExitCode.GENERAL_ERROR;
75
+ }
76
+ }
77
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `amux skill <subcommand> <agent> [args] [--global|--project]`
3
+ *
4
+ * Skills are file-convention only — no underlying harness command.
5
+ * We copy/remove skill folders into per-agent locations.
6
+ */
7
+ import type { AgentMuxClient } from '@a5c-ai/agent-mux-core';
8
+ import type { ParsedArgs, FlagDef } from '../parse-args.js';
9
+ export declare const SKILL_FLAGS: Record<string, FlagDef>;
10
+ export declare function skillCommand(_client: AgentMuxClient, args: ParsedArgs): Promise<number>;
11
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAM5D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAK/C,CAAC;AA8BF,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAsJjB"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * `amux skill <subcommand> <agent> [args] [--global|--project]`
3
+ *
4
+ * Skills are file-convention only — no underlying harness command.
5
+ * We copy/remove skill folders into per-agent locations.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import { flagBool, flagStr } from '../parse-args.js';
10
+ import { ExitCode } from '../exit-codes.js';
11
+ import { printError, printJsonOk, printJsonError, printTable } from '../output.js';
12
+ import { getSkillPaths, getSkillDir, listSupportedAgents } from '../lib/agent-skill-paths.js';
13
+ export const SKILL_FLAGS = {
14
+ global: { type: 'boolean' },
15
+ project: { type: 'boolean' },
16
+ name: { type: 'string' },
17
+ force: { type: 'boolean' },
18
+ };
19
+ function jsonMode(args) {
20
+ return flagBool(args.flags, 'json') === true;
21
+ }
22
+ function resolveScope(args, fallback = 'project') {
23
+ if (flagBool(args.flags, 'global') === true)
24
+ return 'global';
25
+ if (flagBool(args.flags, 'project') === true)
26
+ return 'project';
27
+ return fallback;
28
+ }
29
+ function copyDirRecursive(src, dst) {
30
+ fs.mkdirSync(dst, { recursive: true });
31
+ for (const name of fs.readdirSync(src)) {
32
+ const s = path.join(src, name);
33
+ const d = path.join(dst, name);
34
+ const stat = fs.statSync(s);
35
+ if (stat.isDirectory()) {
36
+ copyDirRecursive(s, d);
37
+ }
38
+ else if (stat.isFile()) {
39
+ fs.copyFileSync(s, d);
40
+ }
41
+ }
42
+ }
43
+ function rmDirRecursive(target) {
44
+ fs.rmSync(target, { recursive: true, force: true });
45
+ }
46
+ export async function skillCommand(_client, args) {
47
+ const json = jsonMode(args);
48
+ if (args.flags.help || (!args.subcommand && args.positionals.length === 0)) {
49
+ process.stdout.write([
50
+ 'Usage: amux skill <subcommand> <agent> [args] [--global|--project]',
51
+ '',
52
+ 'Manage skill folders for an agent (file-convention based, no native command).',
53
+ '',
54
+ 'Subcommands:',
55
+ ' list <agent> List installed skills',
56
+ ' add <agent> <source-folder> Copy a skill folder into the agent skills dir',
57
+ ' [--name <name>] [--force]',
58
+ ' remove <agent> <name> Remove a skill folder',
59
+ ' where <agent> Show skill directory paths for the agent',
60
+ ' agents List agents with known skill conventions',
61
+ '',
62
+ 'Scope flags (default: --project):',
63
+ ' --global Use the user-level skills dir',
64
+ ' --project Use the project-level skills dir',
65
+ '',
66
+ 'Examples:',
67
+ ' amux skill list claude',
68
+ ' amux skill add claude ./skills/my-skill --global',
69
+ ' amux skill remove claude my-skill --project',
70
+ ].join('\n') + '\n');
71
+ return ExitCode.SUCCESS;
72
+ }
73
+ const sub = args.subcommand;
74
+ if (!sub) {
75
+ if (json)
76
+ printJsonError('VALIDATION_ERROR', 'Missing subcommand');
77
+ else
78
+ printError('Missing subcommand. Available: list, add, remove, where, agents');
79
+ return ExitCode.USAGE_ERROR;
80
+ }
81
+ if (sub === 'agents') {
82
+ const agents = listSupportedAgents();
83
+ if (json)
84
+ printJsonOk({ agents });
85
+ else
86
+ process.stdout.write(agents.join('\n') + '\n');
87
+ return ExitCode.SUCCESS;
88
+ }
89
+ const agent = args.positionals[0];
90
+ if (!agent) {
91
+ if (json)
92
+ printJsonError('VALIDATION_ERROR', 'Missing required argument: <agent>');
93
+ else
94
+ printError('Missing required argument: <agent>');
95
+ return ExitCode.USAGE_ERROR;
96
+ }
97
+ const paths = getSkillPaths(agent);
98
+ if (!paths) {
99
+ if (json)
100
+ printJsonError('VALIDATION_ERROR', `Unknown agent for skills: ${agent}`);
101
+ else
102
+ printError(`Unknown agent for skills: ${agent}. Try: amux skill agents`);
103
+ return ExitCode.USAGE_ERROR;
104
+ }
105
+ switch (sub) {
106
+ case 'where': {
107
+ if (json)
108
+ printJsonOk({ agent, ...paths });
109
+ else {
110
+ printTable(['Scope', 'Path'], [
111
+ ['global', paths.global],
112
+ ['project', paths.project],
113
+ ]);
114
+ }
115
+ return ExitCode.SUCCESS;
116
+ }
117
+ case 'list': {
118
+ const scope = resolveScope(args, 'project');
119
+ const dir = getSkillDir(agent, scope);
120
+ if (!fs.existsSync(dir)) {
121
+ if (json)
122
+ printJsonOk({ agent, scope, dir, skills: [] });
123
+ else
124
+ process.stdout.write(`(no skills in ${dir})\n`);
125
+ return ExitCode.SUCCESS;
126
+ }
127
+ const entries = fs.readdirSync(dir).filter((n) => {
128
+ try {
129
+ return fs.statSync(path.join(dir, n)).isDirectory();
130
+ }
131
+ catch {
132
+ return false;
133
+ }
134
+ });
135
+ if (json)
136
+ printJsonOk({ agent, scope, dir, skills: entries });
137
+ else if (entries.length === 0)
138
+ process.stdout.write(`(no skills in ${dir})\n`);
139
+ else {
140
+ printTable(['Skill', 'Path'], entries.map((n) => [n, path.join(dir, n)]));
141
+ }
142
+ return ExitCode.SUCCESS;
143
+ }
144
+ case 'add': {
145
+ const source = args.positionals[1];
146
+ if (!source) {
147
+ if (json)
148
+ printJsonError('VALIDATION_ERROR', 'Missing source folder');
149
+ else
150
+ printError('Usage: amux skill add <agent> <source-folder> [--name <n>] [--global|--project]');
151
+ return ExitCode.USAGE_ERROR;
152
+ }
153
+ const absSource = path.resolve(source);
154
+ if (!fs.existsSync(absSource) || !fs.statSync(absSource).isDirectory()) {
155
+ if (json)
156
+ printJsonError('VALIDATION_ERROR', `Source is not a directory: ${absSource}`);
157
+ else
158
+ printError(`Source is not a directory: ${absSource}`);
159
+ return ExitCode.GENERAL_ERROR;
160
+ }
161
+ const scope = resolveScope(args, 'project');
162
+ const dir = getSkillDir(agent, scope);
163
+ const name = flagStr(args.flags, 'name') ?? path.basename(absSource);
164
+ const dst = path.join(dir, name);
165
+ if (fs.existsSync(dst)) {
166
+ if (flagBool(args.flags, 'force') !== true) {
167
+ if (json)
168
+ printJsonError('CONFLICT', `Already exists: ${dst} (use --force)`);
169
+ else
170
+ printError(`Already exists: ${dst} (use --force)`);
171
+ return ExitCode.GENERAL_ERROR;
172
+ }
173
+ rmDirRecursive(dst);
174
+ }
175
+ copyDirRecursive(absSource, dst);
176
+ if (json)
177
+ printJsonOk({ added: name, scope, path: dst });
178
+ else
179
+ process.stdout.write(`Installed skill ${name} (${scope}) → ${dst}\n`);
180
+ return ExitCode.SUCCESS;
181
+ }
182
+ case 'remove': {
183
+ const name = args.positionals[1];
184
+ if (!name) {
185
+ if (json)
186
+ printJsonError('VALIDATION_ERROR', 'Missing skill name');
187
+ else
188
+ printError('Usage: amux skill remove <agent> <name> [--global|--project]');
189
+ return ExitCode.USAGE_ERROR;
190
+ }
191
+ const scope = resolveScope(args, 'project');
192
+ const dir = getSkillDir(agent, scope);
193
+ const target = path.join(dir, name);
194
+ if (!fs.existsSync(target)) {
195
+ if (json)
196
+ printJsonError('NOT_FOUND', `No skill ${name} in ${dir}`);
197
+ else
198
+ printError(`No skill ${name} in ${dir}`);
199
+ return ExitCode.GENERAL_ERROR;
200
+ }
201
+ rmDirRecursive(target);
202
+ if (json)
203
+ printJsonOk({ removed: name, scope, path: target });
204
+ else
205
+ process.stdout.write(`Removed skill ${name} (${scope})\n`);
206
+ return ExitCode.SUCCESS;
207
+ }
208
+ default: {
209
+ if (json)
210
+ printJsonError('VALIDATION_ERROR', `Unknown skill subcommand: ${sub}`);
211
+ else
212
+ printError(`Unknown skill subcommand: ${sub}`);
213
+ return ExitCode.USAGE_ERROR;
214
+ }
215
+ }
216
+ }
217
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AgentMuxClient } from '@a5c-ai/agent-mux-core';
2
+ import type { ParsedArgs } from '../parse-args.js';
3
+ export declare function tuiCommand(client: AgentMuxClient, args: ParsedArgs): Promise<number>;
4
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
@@ -0,0 +1,56 @@
1
+ import { ExitCode } from '../exit-codes.js';
2
+ import { printError } from '../output.js';
3
+ export async function tuiCommand(client, args) {
4
+ if (args.flags.help) {
5
+ process.stdout.write([
6
+ 'Usage: amux tui [--agent <name>]',
7
+ '',
8
+ 'Launches the Ink-based agent-mux TUI with the default plugin set.',
9
+ '',
10
+ 'Options:',
11
+ ' --agent <name> Default agent for new prompts (default: claude-code)',
12
+ ' --user-plugins-dir <dir> Override user-plugin discovery dir',
13
+ ' (default: $AMUX_TUI_PLUGINS_DIR or ~/.amux/tui-plugins)',
14
+ ' --no-user-plugins Skip discovering user plugins from the directory',
15
+ ].join('\n') + '\n');
16
+ return ExitCode.SUCCESS;
17
+ }
18
+ let tui;
19
+ try {
20
+ const dynImport = new Function('m', 'return import(m)');
21
+ tui = (await dynImport('@a5c-ai/agent-mux-tui'));
22
+ }
23
+ catch (err) {
24
+ printError('The TUI package is not installed. Install it with:\n' +
25
+ ' npm i -g @a5c-ai/agent-mux-tui\n' +
26
+ `Underlying error: ${err.message}`);
27
+ return ExitCode.GENERAL_ERROR;
28
+ }
29
+ const React = await import('react');
30
+ const defaultAgent = args.flags.agent ?? 'claude-code';
31
+ const noUser = args.flags['no-user-plugins'] === true;
32
+ const userDir = typeof args.flags['user-plugins-dir'] === 'string'
33
+ ? args.flags['user-plugins-dir']
34
+ : tui.defaultExternalPluginsDir();
35
+ const plugins = [...tui.builtinPlugins];
36
+ if (!noUser) {
37
+ try {
38
+ const ext = await tui.loadExternalPlugins(userDir);
39
+ plugins.push(...ext.plugins);
40
+ for (const e of ext.errors) {
41
+ process.stderr.write(`tui: failed to load plugin from ${e.source}: ${e.error}\n`);
42
+ }
43
+ }
44
+ catch (e) {
45
+ process.stderr.write(`tui: external plugin discovery failed: ${e.message}\n`);
46
+ }
47
+ }
48
+ const { render } = await import('ink');
49
+ render(React.createElement(tui.App, {
50
+ client: client,
51
+ plugins: plugins,
52
+ defaultAgent,
53
+ }));
54
+ return ExitCode.SUCCESS;
55
+ }
56
+ //# sourceMappingURL=tui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.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,CAClB;YACE,kCAAkC;YAClC,EAAE;YACF,mEAAmE;YACnE,EAAE;YACF,UAAU;YACV,kFAAkF;YAClF,gEAAgE;YAChE,qFAAqF;YACrF,8EAA8E;SAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACpB,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,GAOH,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAoC,CAAC;QAC3F,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAU,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CACR,sDAAsD;YACpD,oCAAoC;YACpC,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAChD,CAAC;QACF,OAAO,QAAQ,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,YAAY,GAAI,IAAI,CAAC,KAAK,CAAC,KAA4B,IAAI,aAAa,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACtD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,QAAQ;QAChD,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAY;QAC5C,CAAC,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAc,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA2C,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CACJ,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAY,EAAE;QACpC,MAAM,EAAE,MAAe;QACvB,OAAO,EAAE,OAAgB;QACzB,YAAY;KACb,CAAC,CACH,CAAC;IACF,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,CAAC;AAyB1B;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgJ3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,CAAC;AA4B1B;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0J3D"}
package/dist/index.js CHANGED
@@ -28,12 +28,15 @@ import { configCommand } from './commands/config.js';
28
28
  import { authCommand } from './commands/auth.js';
29
29
  import { modelsCommand } from './commands/models.js';
30
30
  import { profilesCommand } from './commands/profiles.js';
31
- import { pluginsCommand } from './commands/plugins.js';
31
+ import { pluginCommand } from './commands/plugin.js';
32
+ import { mcpCommand } from './commands/mcp.js';
32
33
  import { installCommand } from './commands/install.js';
33
34
  import { detectHostCommand } from './commands/detect-host.js';
34
35
  import { remoteCommand, REMOTE_FLAGS } from './commands/remote.js';
35
36
  import { hooksCommand, HOOKS_FLAGS } from './commands/hooks.js';
36
37
  import { doctorCommand } from './commands/doctor.js';
38
+ import { tuiCommand } from './commands/tui.js';
39
+ import { skillCommand, SKILL_FLAGS } from './commands/skill.js';
37
40
  import { registerBuiltInAdapters } from './bootstrap.js';
38
41
  /**
39
42
  * Main CLI entry point.
@@ -44,7 +47,7 @@ import { registerBuiltInAdapters } from './bootstrap.js';
44
47
  export async function main(argv) {
45
48
  const rawArgs = argv ?? process.argv.slice(2);
46
49
  // First pass: parse with all known flags to capture global flags
47
- const args = parseArgs(rawArgs, { ...RUN_FLAGS, ...INSTALL_FLAGS, ...REMOTE_FLAGS, ...HOOKS_FLAGS });
50
+ const args = parseArgs(rawArgs, { ...RUN_FLAGS, ...INSTALL_FLAGS, ...REMOTE_FLAGS, ...HOOKS_FLAGS, ...SKILL_FLAGS });
48
51
  // Handle --no-color
49
52
  if (flagBool(args.flags, 'no-color') === true) {
50
53
  setColorEnabled(false);
@@ -124,8 +127,11 @@ export async function main(argv) {
124
127
  return await modelsCommand(client, args);
125
128
  case 'profiles':
126
129
  return await profilesCommand(client, args);
130
+ case 'plugin':
127
131
  case 'plugins':
128
- return await pluginsCommand(client, args);
132
+ return await pluginCommand(client, args);
133
+ case 'mcp':
134
+ return await mcpCommand(client, args);
129
135
  case 'install':
130
136
  case 'uninstall':
131
137
  case 'update':
@@ -139,6 +145,10 @@ export async function main(argv) {
139
145
  return await hooksCommand(client, args);
140
146
  case 'doctor':
141
147
  return await doctorCommand(client, args);
148
+ case 'tui':
149
+ return await tuiCommand(client, args);
150
+ case 'skill':
151
+ return await skillCommand(client, args);
142
152
  default:
143
153
  if (jsonMode) {
144
154
  printJsonError('VALIDATION_ERROR', `Unknown command: ${args.command}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface AgentCapabilities {
2
+ supportsPlugins: boolean;
3
+ pluginCommands: string[];
4
+ nativePluginCommand: string;
5
+ }
6
+ export declare function detectAgentCapabilities(agent: string): Promise<AgentCapabilities>;
7
+ //# sourceMappingURL=agent-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-capabilities.d.ts","sourceRoot":"","sources":["../../src/lib/agent-capabilities.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAqCD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyBvF"}
@@ -0,0 +1,63 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ const execAsync = promisify(exec);
4
+ const AGENT_PLUGIN_CONFIGS = {
5
+ claude: {
6
+ command: 'claude plugins',
7
+ commands: ['list', 'install', 'enable', 'disable', 'marketplace', 'uninstall', 'update'],
8
+ },
9
+ gemini: {
10
+ command: 'gemini extensions',
11
+ commands: ['list', 'install', 'update'],
12
+ },
13
+ copilot: {
14
+ command: 'copilot plugin',
15
+ commands: ['list', 'install', 'update', 'uninstall'],
16
+ },
17
+ opencode: {
18
+ command: 'opencode plugins',
19
+ commands: ['list', 'install'],
20
+ },
21
+ omp: {
22
+ command: 'omp plugin',
23
+ commands: ['list', 'install', 'uninstall', 'enable', 'disable', 'doctor'],
24
+ },
25
+ openclaw: {
26
+ command: 'openclaw plugins',
27
+ commands: ['list', 'install', 'enable', 'disable', 'doctor'],
28
+ },
29
+ pi: {
30
+ command: 'pi',
31
+ commands: ['list', 'install', 'update', 'config'],
32
+ },
33
+ qwen: {
34
+ command: 'qwen extensions',
35
+ commands: ['install', 'settings'],
36
+ }
37
+ };
38
+ export async function detectAgentCapabilities(agent) {
39
+ const config = AGENT_PLUGIN_CONFIGS[agent];
40
+ if (!config) {
41
+ return {
42
+ supportsPlugins: false,
43
+ pluginCommands: [],
44
+ nativePluginCommand: '',
45
+ };
46
+ }
47
+ try {
48
+ await execAsync(`${config.command} --help`, { timeout: 5000 });
49
+ return {
50
+ supportsPlugins: true,
51
+ pluginCommands: [...config.commands],
52
+ nativePluginCommand: config.command,
53
+ };
54
+ }
55
+ catch {
56
+ return {
57
+ supportsPlugins: false,
58
+ pluginCommands: [],
59
+ nativePluginCommand: '',
60
+ };
61
+ }
62
+ }
63
+ //# sourceMappingURL=agent-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-capabilities.js","sourceRoot":"","sources":["../../src/lib/agent-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAQlC,MAAM,oBAAoB,GAAG;IAC3B,MAAM,EAAE;QACN,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC;KACzF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;KACxC;IACD,OAAO,EAAE;QACP,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;KACrD;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KAC9B;IACD,GAAG,EAAE;QACH,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC1E;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC7D;IACD,EAAE,EAAE;QACF,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAClD;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;CACO,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAa;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAA0C,CAAC,CAAC;IAEhF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,EAAE;YAClB,mBAAmB,EAAE,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,mBAAmB,EAAE,MAAM,CAAC,OAAO;SACpC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,EAAE;YAClB,mBAAmB,EAAE,EAAE;SACxB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type SkillScope = 'global' | 'project';
2
+ export interface SkillPaths {
3
+ global: string;
4
+ project: string;
5
+ }
6
+ export declare function getSkillPaths(agent: string, projectRoot?: string): SkillPaths | null;
7
+ export declare function getSkillDir(agent: string, scope: SkillScope, projectRoot?: string): string | null;
8
+ export declare function listSupportedAgents(): string[];
9
+ //# sourceMappingURL=agent-skill-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skill-paths.d.ts","sourceRoot":"","sources":["../../src/lib/agent-skill-paths.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,SAAgB,GAAG,UAAU,GAAG,IAAI,CAS3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,SAAgB,GAAG,MAAM,GAAG,IAAI,CAIxG;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
@@ -0,0 +1,54 @@
1
+ import * as os from 'node:os';
2
+ import * as path from 'node:path';
3
+ const HOME = os.homedir() || '.';
4
+ const REGISTRY = {
5
+ claude: {
6
+ global: path.join(HOME, '.claude', 'skills'),
7
+ project: path.join('.claude', 'skills'),
8
+ },
9
+ 'claude-code': {
10
+ global: path.join(HOME, '.claude', 'skills'),
11
+ project: path.join('.claude', 'skills'),
12
+ },
13
+ codex: {
14
+ global: path.join(HOME, '.codex', 'skills'),
15
+ project: path.join('.codex', 'skills'),
16
+ },
17
+ cursor: {
18
+ global: path.join(HOME, '.cursor', 'skills'),
19
+ project: path.join('.cursor', 'skills'),
20
+ },
21
+ opencode: {
22
+ global: path.join(HOME, '.opencode', 'skills'),
23
+ project: path.join('.opencode', 'skills'),
24
+ },
25
+ gemini: {
26
+ global: path.join(HOME, '.gemini', 'skills'),
27
+ project: path.join('.gemini', 'skills'),
28
+ },
29
+ copilot: {
30
+ global: path.join(HOME, '.copilot', 'skills'),
31
+ project: path.join('.copilot', 'skills'),
32
+ },
33
+ };
34
+ export function getSkillPaths(agent, projectRoot = process.cwd()) {
35
+ const entry = REGISTRY[agent];
36
+ if (!entry)
37
+ return null;
38
+ return {
39
+ global: entry.global,
40
+ project: path.isAbsolute(entry.project)
41
+ ? entry.project
42
+ : path.join(projectRoot, entry.project),
43
+ };
44
+ }
45
+ export function getSkillDir(agent, scope, projectRoot = process.cwd()) {
46
+ const p = getSkillPaths(agent, projectRoot);
47
+ if (!p)
48
+ return null;
49
+ return scope === 'global' ? p.global : p.project;
50
+ }
51
+ export function listSupportedAgents() {
52
+ return Object.keys(REGISTRY);
53
+ }
54
+ //# sourceMappingURL=agent-skill-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skill-paths.js","sourceRoot":"","sources":["../../src/lib/agent-skill-paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC;AAEjC,MAAM,QAAQ,GAA+B;IAC3C,MAAM,EAAE;QACN,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KACxC;IACD,aAAa,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KACxC;IACD,KAAK,EAAE;QACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACvC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KACxC;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC1C;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KACxC;IACD,OAAO,EAAE;QACP,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;KACzC;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IACvF,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -28,13 +28,13 @@ const COMMANDS = new Set([
28
28
  'run', 'install', 'uninstall', 'update', 'detect', 'detect-host',
29
29
  'remote', 'hooks',
30
30
  'adapters', 'capabilities', 'models',
31
- 'plugins', 'sessions', 'cost', 'config', 'profiles',
32
- 'auth', 'init', 'version', 'help', 'doctor',
31
+ 'plugins', 'plugin', 'mcp', 'sessions', 'cost', 'config', 'profiles',
32
+ 'auth', 'init', 'version', 'help', 'doctor', 'tui', 'skill',
33
33
  ]);
34
34
  /** Commands that have subcommands. */
35
35
  const SUBCOMMAND_COMMANDS = new Set([
36
- 'adapters', 'models', 'plugins', 'sessions', 'config', 'profiles', 'auth',
37
- 'remote', 'hooks',
36
+ 'adapters', 'models', 'plugins', 'plugin', 'mcp', 'sessions', 'config', 'profiles', 'auth',
37
+ 'remote', 'hooks', 'skill',
38
38
  ]);
39
39
  /**
40
40
  * Parse argv into structured args.
@@ -1 +1 @@
1
- {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../src/parse-args.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a5c-ai/agent-mux-cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "CLI binary (amux) for agent-mux",
@@ -51,7 +51,7 @@
51
51
  "prepublishOnly": "npm run build"
52
52
  },
53
53
  "dependencies": {
54
- "@a5c-ai/agent-mux-core": "0.2.0",
55
- "@a5c-ai/agent-mux-adapters": "0.2.0"
54
+ "@a5c-ai/agent-mux-core": "0.3.0",
55
+ "@a5c-ai/agent-mux-adapters": "0.3.0"
56
56
  }
57
57
  }
@@ -1,9 +0,0 @@
1
- /**
2
- * `amux plugins` subcommands.
3
- *
4
- * @see docs/10-cli-reference.md Section 11
5
- */
6
- import type { AgentMuxClient } from '@a5c-ai/agent-mux-core';
7
- import type { ParsedArgs } from '../parse-args.js';
8
- export declare function pluginsCommand(client: AgentMuxClient, args: ParsedArgs): Promise<number>;
9
- //# sourceMappingURL=plugins.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.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,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA4D9F"}
@@ -1,180 +0,0 @@
1
- /**
2
- * `amux plugins` subcommands.
3
- *
4
- * @see docs/10-cli-reference.md Section 11
5
- */
6
- import { AgentMuxError } from '@a5c-ai/agent-mux-core';
7
- import { flagBool, flagStr } from '../parse-args.js';
8
- import { ExitCode, errorCodeToExitCode } from '../exit-codes.js';
9
- import { printTable, printJsonOk, printJsonError, printError, } from '../output.js';
10
- export async function pluginsCommand(client, args) {
11
- const sub = args.subcommand;
12
- const jsonMode = flagBool(args.flags, 'json') === true;
13
- if (sub === 'list') {
14
- const agent = args.positionals[0] ?? flagStr(args.flags, 'agent');
15
- if (!agent) {
16
- if (jsonMode) {
17
- printJsonError('VALIDATION_ERROR', 'Missing required argument: <agent>');
18
- }
19
- else {
20
- printError('Missing required argument: <agent>');
21
- }
22
- return ExitCode.USAGE_ERROR;
23
- }
24
- return pluginsList(client, agent, jsonMode);
25
- }
26
- if (sub === 'install') {
27
- const agent = args.positionals[0];
28
- const plugin = args.positionals[1];
29
- if (!agent || !plugin) {
30
- if (jsonMode) {
31
- printJsonError('VALIDATION_ERROR', 'Usage: amux plugins install <agent> <plugin>');
32
- }
33
- else {
34
- printError('Usage: amux plugins install <agent> <plugin>');
35
- }
36
- return ExitCode.USAGE_ERROR;
37
- }
38
- return pluginsInstall(client, agent, plugin, args, jsonMode);
39
- }
40
- if (sub === 'uninstall') {
41
- const agent = args.positionals[0];
42
- const plugin = args.positionals[1];
43
- if (!agent || !plugin) {
44
- if (jsonMode) {
45
- printJsonError('VALIDATION_ERROR', 'Usage: amux plugins uninstall <agent> <plugin>');
46
- }
47
- else {
48
- printError('Usage: amux plugins uninstall <agent> <plugin>');
49
- }
50
- return ExitCode.USAGE_ERROR;
51
- }
52
- return pluginsUninstall(client, agent, plugin, jsonMode);
53
- }
54
- if (!sub) {
55
- if (jsonMode) {
56
- printJsonError('VALIDATION_ERROR', 'Missing subcommand. Available: list, install, uninstall');
57
- }
58
- else {
59
- printError('Missing subcommand. Available: list, install, uninstall');
60
- }
61
- return ExitCode.USAGE_ERROR;
62
- }
63
- if (jsonMode) {
64
- printJsonError('VALIDATION_ERROR', `Unknown subcommand: plugins ${sub}`);
65
- }
66
- else {
67
- printError(`Unknown subcommand: plugins ${sub}`);
68
- }
69
- return ExitCode.USAGE_ERROR;
70
- }
71
- async function pluginsList(client, agent, jsonMode) {
72
- try {
73
- // PluginManager is currently a stub — gracefully handle
74
- // PluginManager is a stub interface at this phase; accessing optional
75
- // methods/properties by string key requires a loose view.
76
- const pm = client.plugins;
77
- if (pm['_stub']) {
78
- if (jsonMode) {
79
- printJsonOk([]);
80
- }
81
- else {
82
- process.stdout.write('Plugin management is not yet implemented.\n');
83
- }
84
- return ExitCode.SUCCESS;
85
- }
86
- const list = (await pm['list']?.(agent)) ?? [];
87
- if (jsonMode) {
88
- printJsonOk(list);
89
- return ExitCode.SUCCESS;
90
- }
91
- const rows = list.map((p) => [
92
- String(p['id'] ?? '--'),
93
- String(p['name'] ?? '--'),
94
- String(p['version'] ?? '--'),
95
- String(p['format'] ?? '--'),
96
- p['enabled'] ? 'yes' : 'no',
97
- ]);
98
- printTable(['Plugin ID', 'Name', 'Version', 'Format', 'Enabled'], rows);
99
- return ExitCode.SUCCESS;
100
- }
101
- catch (err) {
102
- return handleError(err, jsonMode);
103
- }
104
- }
105
- async function pluginsInstall(client, agent, plugin, args, jsonMode) {
106
- try {
107
- // PluginManager is a stub interface at this phase; accessing optional
108
- // methods/properties by string key requires a loose view.
109
- const pm = client.plugins;
110
- if (pm['_stub']) {
111
- if (jsonMode) {
112
- printJsonError('PLUGIN_ERROR', 'Plugin management is not yet implemented');
113
- }
114
- else {
115
- printError('Plugin management is not yet implemented.');
116
- }
117
- return ExitCode.PLUGIN_ERROR;
118
- }
119
- const version = flagStr(args.flags, 'version');
120
- const global = flagBool(args.flags, 'global');
121
- await pm['install']?.(agent, plugin, { version, global });
122
- if (jsonMode) {
123
- printJsonOk({ installed: plugin, agent });
124
- }
125
- else {
126
- process.stdout.write(`Plugin "${plugin}" installed for ${agent}.\n`);
127
- }
128
- return ExitCode.SUCCESS;
129
- }
130
- catch (err) {
131
- return handleError(err, jsonMode);
132
- }
133
- }
134
- async function pluginsUninstall(client, agent, plugin, jsonMode) {
135
- try {
136
- // PluginManager is a stub interface at this phase; accessing optional
137
- // methods/properties by string key requires a loose view.
138
- const pm = client.plugins;
139
- if (pm['_stub']) {
140
- if (jsonMode) {
141
- printJsonError('PLUGIN_ERROR', 'Plugin management is not yet implemented');
142
- }
143
- else {
144
- printError('Plugin management is not yet implemented.');
145
- }
146
- return ExitCode.PLUGIN_ERROR;
147
- }
148
- await pm['uninstall']?.(agent, plugin);
149
- if (jsonMode) {
150
- printJsonOk({ uninstalled: plugin, agent });
151
- }
152
- else {
153
- process.stdout.write(`Plugin "${plugin}" uninstalled from ${agent}.\n`);
154
- }
155
- return ExitCode.SUCCESS;
156
- }
157
- catch (err) {
158
- return handleError(err, jsonMode);
159
- }
160
- }
161
- function handleError(err, jsonMode) {
162
- if (err instanceof AgentMuxError) {
163
- if (jsonMode) {
164
- printJsonError(err.code, err.message, err.recoverable);
165
- }
166
- else {
167
- printError(err.message);
168
- }
169
- return errorCodeToExitCode(err.code);
170
- }
171
- const message = err instanceof Error ? err.message : String(err);
172
- if (jsonMode) {
173
- printJsonError('INTERNAL', message);
174
- }
175
- else {
176
- printError(message);
177
- }
178
- return ExitCode.GENERAL_ERROR;
179
- }
180
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/commands/plugins.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,GACpD,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAsB,EAAE,IAAgB;IAC3E,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,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,8CAA8C,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,kBAAkB,EAAE,gDAAgD,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,gDAAgD,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,kBAAkB,EAAE,yDAAyD,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,yDAAyD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,cAAc,CAAC,kBAAkB,EAAE,+BAA+B,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAsB,EAAE,KAAa,EAAE,QAAiB;IACjF,IAAI,CAAC;QACH,wDAAwD;QACxD,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,OAA6C,CAAC;QAChE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAO,EAAE,CAAC,MAAM,CAAc,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAI,IAAuC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YACzB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YAC5B,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,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,cAAc,CAC3B,MAAsB,EAAE,KAAa,EAAE,MAAc,EAAE,IAAgB,EAAE,QAAiB;IAE1F,IAAI,CAAC;QACH,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,OAA6C,CAAC;QAChE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,2CAA2C,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAO,EAAE,CAAC,SAAS,CAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExE,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,mBAAmB,KAAK,KAAK,CAAC,CAAC;QACvE,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,gBAAgB,CAC7B,MAAsB,EAAE,KAAa,EAAE,MAAc,EAAE,QAAiB;IAExE,IAAI,CAAC;QACH,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,OAA6C,CAAC;QAChE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,2CAA2C,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;QAED,MAAO,EAAE,CAAC,WAAW,CAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,sBAAsB,KAAK,KAAK,CAAC,CAAC;QAC1E,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"}