@a5c-ai/adapters-cli 5.1.1-staging.52898ebfc24f

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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/dist/bootstrap.d.ts +13 -0
  4. package/dist/bootstrap.d.ts.map +1 -0
  5. package/dist/bootstrap.js +59 -0
  6. package/dist/bootstrap.js.map +1 -0
  7. package/dist/commands/adapters.d.ts +4 -0
  8. package/dist/commands/adapters.d.ts.map +1 -0
  9. package/dist/commands/adapters.js +5 -0
  10. package/dist/commands/adapters.js.map +1 -0
  11. package/dist/commands/agent.d.ts +11 -0
  12. package/dist/commands/agent.d.ts.map +1 -0
  13. package/dist/commands/agent.js +219 -0
  14. package/dist/commands/agent.js.map +1 -0
  15. package/dist/commands/auth.d.ts +4 -0
  16. package/dist/commands/auth.d.ts.map +1 -0
  17. package/dist/commands/auth.js +5 -0
  18. package/dist/commands/auth.js.map +1 -0
  19. package/dist/commands/config.d.ts +4 -0
  20. package/dist/commands/config.d.ts.map +1 -0
  21. package/dist/commands/config.js +5 -0
  22. package/dist/commands/config.js.map +1 -0
  23. package/dist/commands/detect-host.d.ts +4 -0
  24. package/dist/commands/detect-host.d.ts.map +1 -0
  25. package/dist/commands/detect-host.js +5 -0
  26. package/dist/commands/detect-host.js.map +1 -0
  27. package/dist/commands/doctor.d.ts +3 -0
  28. package/dist/commands/doctor.d.ts.map +1 -0
  29. package/dist/commands/doctor.js +120 -0
  30. package/dist/commands/doctor.js.map +1 -0
  31. package/dist/commands/gateway/index.d.ts +5 -0
  32. package/dist/commands/gateway/index.d.ts.map +1 -0
  33. package/dist/commands/gateway/index.js +39 -0
  34. package/dist/commands/gateway/index.js.map +1 -0
  35. package/dist/commands/gateway/serve.d.ts +5 -0
  36. package/dist/commands/gateway/serve.d.ts.map +1 -0
  37. package/dist/commands/gateway/serve.js +76 -0
  38. package/dist/commands/gateway/serve.js.map +1 -0
  39. package/dist/commands/gateway/status.d.ts +2 -0
  40. package/dist/commands/gateway/status.d.ts.map +1 -0
  41. package/dist/commands/gateway/status.js +24 -0
  42. package/dist/commands/gateway/status.js.map +1 -0
  43. package/dist/commands/gateway/tokens.d.ts +2 -0
  44. package/dist/commands/gateway/tokens.d.ts.map +1 -0
  45. package/dist/commands/gateway/tokens.js +85 -0
  46. package/dist/commands/gateway/tokens.js.map +1 -0
  47. package/dist/commands/help.d.ts +13 -0
  48. package/dist/commands/help.d.ts.map +1 -0
  49. package/dist/commands/help.js +501 -0
  50. package/dist/commands/help.js.map +1 -0
  51. package/dist/commands/hooks.d.ts +16 -0
  52. package/dist/commands/hooks.d.ts.map +1 -0
  53. package/dist/commands/hooks.js +207 -0
  54. package/dist/commands/hooks.js.map +1 -0
  55. package/dist/commands/install-helpers.d.ts +5 -0
  56. package/dist/commands/install-helpers.d.ts.map +1 -0
  57. package/dist/commands/install-helpers.js +5 -0
  58. package/dist/commands/install-helpers.js.map +1 -0
  59. package/dist/commands/install.d.ts +4 -0
  60. package/dist/commands/install.d.ts.map +1 -0
  61. package/dist/commands/install.js +5 -0
  62. package/dist/commands/install.js.map +1 -0
  63. package/dist/commands/launch-bridge-hooks.d.ts +8 -0
  64. package/dist/commands/launch-bridge-hooks.d.ts.map +1 -0
  65. package/dist/commands/launch-bridge-hooks.js +8 -0
  66. package/dist/commands/launch-bridge-hooks.js.map +1 -0
  67. package/dist/commands/launch-completion-engine.d.ts +7 -0
  68. package/dist/commands/launch-completion-engine.d.ts.map +1 -0
  69. package/dist/commands/launch-completion-engine.js +8 -0
  70. package/dist/commands/launch-completion-engine.js.map +1 -0
  71. package/dist/commands/launch.d.ts +8 -0
  72. package/dist/commands/launch.d.ts.map +1 -0
  73. package/dist/commands/launch.js +8 -0
  74. package/dist/commands/launch.js.map +1 -0
  75. package/dist/commands/mcp.d.ts +3 -0
  76. package/dist/commands/mcp.d.ts.map +1 -0
  77. package/dist/commands/mcp.js +93 -0
  78. package/dist/commands/mcp.js.map +1 -0
  79. package/dist/commands/models.d.ts +8 -0
  80. package/dist/commands/models.d.ts.map +1 -0
  81. package/dist/commands/models.js +306 -0
  82. package/dist/commands/models.js.map +1 -0
  83. package/dist/commands/plugin.d.ts +3 -0
  84. package/dist/commands/plugin.d.ts.map +1 -0
  85. package/dist/commands/plugin.js +96 -0
  86. package/dist/commands/plugin.js.map +1 -0
  87. package/dist/commands/profiles.d.ts +8 -0
  88. package/dist/commands/profiles.d.ts.map +1 -0
  89. package/dist/commands/profiles.js +206 -0
  90. package/dist/commands/profiles.js.map +1 -0
  91. package/dist/commands/remote.d.ts +30 -0
  92. package/dist/commands/remote.d.ts.map +1 -0
  93. package/dist/commands/remote.js +204 -0
  94. package/dist/commands/remote.js.map +1 -0
  95. package/dist/commands/run.d.ts +27 -0
  96. package/dist/commands/run.d.ts.map +1 -0
  97. package/dist/commands/run.js +355 -0
  98. package/dist/commands/run.js.map +1 -0
  99. package/dist/commands/sessions.d.ts +8 -0
  100. package/dist/commands/sessions.d.ts.map +1 -0
  101. package/dist/commands/sessions.js +225 -0
  102. package/dist/commands/sessions.js.map +1 -0
  103. package/dist/commands/skill.d.ts +10 -0
  104. package/dist/commands/skill.d.ts.map +1 -0
  105. package/dist/commands/skill.js +217 -0
  106. package/dist/commands/skill.js.map +1 -0
  107. package/dist/commands/tui.d.ts +3 -0
  108. package/dist/commands/tui.d.ts.map +1 -0
  109. package/dist/commands/tui.js +57 -0
  110. package/dist/commands/tui.js.map +1 -0
  111. package/dist/commands/workspaces.d.ts +4 -0
  112. package/dist/commands/workspaces.d.ts.map +1 -0
  113. package/dist/commands/workspaces.js +187 -0
  114. package/dist/commands/workspaces.js.map +1 -0
  115. package/dist/exit-codes.d.ts +32 -0
  116. package/dist/exit-codes.d.ts.map +1 -0
  117. package/dist/exit-codes.js +68 -0
  118. package/dist/exit-codes.js.map +1 -0
  119. package/dist/index.d.ts +23 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +216 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/index.test.d.ts +1 -0
  124. package/dist/index.test.d.ts.map +1 -0
  125. package/dist/index.test.js +23 -0
  126. package/dist/index.test.js.map +1 -0
  127. package/dist/lib/agent-capabilities.d.ts +6 -0
  128. package/dist/lib/agent-capabilities.d.ts.map +1 -0
  129. package/dist/lib/agent-capabilities.js +63 -0
  130. package/dist/lib/agent-capabilities.js.map +1 -0
  131. package/dist/lib/agent-skill-paths.d.ts +9 -0
  132. package/dist/lib/agent-skill-paths.d.ts.map +1 -0
  133. package/dist/lib/agent-skill-paths.js +70 -0
  134. package/dist/lib/agent-skill-paths.js.map +1 -0
  135. package/dist/lib/agent-subagent-paths.d.ts +8 -0
  136. package/dist/lib/agent-subagent-paths.d.ts.map +1 -0
  137. package/dist/lib/agent-subagent-paths.js +64 -0
  138. package/dist/lib/agent-subagent-paths.js.map +1 -0
  139. package/dist/loggingConfig.d.ts +11 -0
  140. package/dist/loggingConfig.d.ts.map +1 -0
  141. package/dist/loggingConfig.js +17 -0
  142. package/dist/loggingConfig.js.map +1 -0
  143. package/dist/output.d.ts +55 -0
  144. package/dist/output.d.ts.map +1 -0
  145. package/dist/output.js +129 -0
  146. package/dist/output.js.map +1 -0
  147. package/dist/parse-args.d.ts +57 -0
  148. package/dist/parse-args.d.ts.map +1 -0
  149. package/dist/parse-args.js +261 -0
  150. package/dist/parse-args.js.map +1 -0
  151. package/dist/read-stdin.d.ts +1 -0
  152. package/dist/read-stdin.d.ts.map +1 -0
  153. package/dist/read-stdin.js +14 -0
  154. package/dist/read-stdin.js.map +1 -0
  155. package/package.json +79 -0
@@ -0,0 +1,187 @@
1
+ import { WorkspaceService } from '@a5c-ai/comm-adapter';
2
+ import { flagArr, flagBool, flagStr } from '../parse-args.js';
3
+ import { ExitCode } from '../exit-codes.js';
4
+ import { printError, printJsonError, printJsonOk, printTable } from '../output.js';
5
+ export const WORKSPACE_FLAGS = {
6
+ repo: { type: 'string', repeatable: true },
7
+ mode: { type: 'string' },
8
+ name: { type: 'string' },
9
+ branch: { type: 'string' },
10
+ root: { type: 'string' },
11
+ force: { type: 'boolean' },
12
+ };
13
+ function jsonMode(args) {
14
+ return flagBool(args.flags, 'json') === true;
15
+ }
16
+ function toSessionBindings(value) {
17
+ if (!Array.isArray(value)) {
18
+ return [];
19
+ }
20
+ return value.flatMap((entry) => {
21
+ if (!entry || typeof entry !== 'object') {
22
+ return [];
23
+ }
24
+ const session = entry;
25
+ if (typeof session.agent !== 'string' || typeof session.sessionId !== 'string') {
26
+ return [];
27
+ }
28
+ return [{
29
+ agent: session.agent,
30
+ sessionId: session.sessionId,
31
+ status: session.status === 'running' ? 'running' : 'stopped',
32
+ cwd: typeof session.cwd === 'string' ? session.cwd : undefined,
33
+ title: typeof session.title === 'string' ? session.title : undefined,
34
+ updatedAt: typeof session.updatedAt === 'string' ? session.updatedAt : new Date().toISOString(),
35
+ activeRunId: typeof session.activeRunId === 'string' ? session.activeRunId : null,
36
+ latestRunId: typeof session.latestRunId === 'string' ? session.latestRunId : null,
37
+ }];
38
+ });
39
+ }
40
+ export async function workspacesCommand(_client, args) {
41
+ const json = jsonMode(args);
42
+ const service = new WorkspaceService();
43
+ const sub = args.subcommand ?? 'list';
44
+ try {
45
+ switch (sub) {
46
+ case 'list': {
47
+ const payload = await service.listWorkspaces();
48
+ if (json) {
49
+ printJsonOk(payload);
50
+ return ExitCode.SUCCESS;
51
+ }
52
+ printTable(['ID', 'Name', 'Status', 'Mode', 'CWD', 'Root'], payload.workspaces.map((workspace) => [
53
+ workspace.id,
54
+ workspace.name,
55
+ workspace.status,
56
+ workspace.mode,
57
+ workspace.defaultCwd,
58
+ workspace.rootPath,
59
+ ]));
60
+ return ExitCode.SUCCESS;
61
+ }
62
+ case 'create': {
63
+ const name = args.positionals[0] ?? flagStr(args.flags, 'name');
64
+ const repos = flagArr(args.flags, 'repo');
65
+ if (!name) {
66
+ if (json)
67
+ printJsonError('VALIDATION_ERROR', 'Usage: adapters workspaces create <name> --repo <path> [--repo <path>...]');
68
+ else
69
+ printError('Usage: adapters workspaces create <name> --repo <path> [--repo <path>...]');
70
+ return ExitCode.USAGE_ERROR;
71
+ }
72
+ if (repos.length === 0) {
73
+ if (json)
74
+ printJsonError('VALIDATION_ERROR', 'At least one --repo path is required.');
75
+ else
76
+ printError('At least one --repo path is required.');
77
+ return ExitCode.USAGE_ERROR;
78
+ }
79
+ const created = await service.createWorkspace({
80
+ name,
81
+ repos: repos.map((repo) => ({ path: repo })),
82
+ mode: flagStr(args.flags, 'mode') === 'symlink' ? 'symlink' : 'worktree',
83
+ branchName: flagStr(args.flags, 'branch') ?? undefined,
84
+ rootDir: flagStr(args.flags, 'root') ?? undefined,
85
+ });
86
+ if (json) {
87
+ printJsonOk(created);
88
+ }
89
+ else {
90
+ process.stdout.write(`${created.id}\t${created.rootPath}\n`);
91
+ }
92
+ return ExitCode.SUCCESS;
93
+ }
94
+ case 'archive': {
95
+ const identifier = args.positionals[0];
96
+ if (!identifier) {
97
+ if (json)
98
+ printJsonError('VALIDATION_ERROR', 'Usage: adapters workspaces archive <workspace>');
99
+ else
100
+ printError('Usage: adapters workspaces archive <workspace>');
101
+ return ExitCode.USAGE_ERROR;
102
+ }
103
+ const archived = await service.archiveWorkspace(identifier);
104
+ if (json)
105
+ printJsonOk(archived);
106
+ else
107
+ process.stdout.write(`Archived ${archived.id}\n`);
108
+ return ExitCode.SUCCESS;
109
+ }
110
+ case 'cleanup': {
111
+ const identifier = args.positionals[0];
112
+ if (!identifier) {
113
+ if (json)
114
+ printJsonError('VALIDATION_ERROR', 'Usage: adapters workspaces cleanup <workspace>');
115
+ else
116
+ printError('Usage: adapters workspaces cleanup <workspace>');
117
+ return ExitCode.USAGE_ERROR;
118
+ }
119
+ const cleaned = await service.cleanupWorkspace(identifier);
120
+ if (json)
121
+ printJsonOk(cleaned);
122
+ else
123
+ process.stdout.write(`Cleaned ${cleaned.id}\n`);
124
+ return ExitCode.SUCCESS;
125
+ }
126
+ case 'recover': {
127
+ const identifier = args.positionals[0];
128
+ if (!identifier) {
129
+ if (json)
130
+ printJsonError('VALIDATION_ERROR', 'Usage: adapters workspaces recover <workspace>');
131
+ else
132
+ printError('Usage: adapters workspaces recover <workspace>');
133
+ return ExitCode.USAGE_ERROR;
134
+ }
135
+ const recovered = await service.recoverWorkspace(identifier);
136
+ if (json)
137
+ printJsonOk(recovered);
138
+ else
139
+ process.stdout.write(`Recovered ${recovered.id}\n`);
140
+ return ExitCode.SUCCESS;
141
+ }
142
+ case 'delete': {
143
+ const identifier = args.positionals[0];
144
+ if (!identifier) {
145
+ if (json)
146
+ printJsonError('VALIDATION_ERROR', 'Usage: adapters workspaces delete <workspace> [--force]');
147
+ else
148
+ printError('Usage: adapters workspaces delete <workspace> [--force]');
149
+ return ExitCode.USAGE_ERROR;
150
+ }
151
+ await service.deleteWorkspace(identifier, { forceCleanup: flagBool(args.flags, 'force') === true });
152
+ if (json)
153
+ printJsonOk({ deleted: identifier });
154
+ else
155
+ process.stdout.write(`Deleted ${identifier}\n`);
156
+ return ExitCode.SUCCESS;
157
+ }
158
+ case 'sync-sessions': {
159
+ const body = toSessionBindings(args.positionals[0] ? JSON.parse(args.positionals[0]) : []);
160
+ await service.reconcileSessions(body);
161
+ const payload = await service.listWorkspaces();
162
+ if (json)
163
+ printJsonOk(payload);
164
+ else
165
+ process.stdout.write(`Synced ${body.length} sessions\n`);
166
+ return ExitCode.SUCCESS;
167
+ }
168
+ default:
169
+ if (json)
170
+ printJsonError('VALIDATION_ERROR', `Unknown workspaces subcommand: ${sub}`);
171
+ else
172
+ printError(`Unknown workspaces subcommand: ${sub}`);
173
+ return ExitCode.USAGE_ERROR;
174
+ }
175
+ }
176
+ catch (error) {
177
+ const message = error instanceof Error ? error.message : String(error);
178
+ if (json) {
179
+ printJsonError('INTERNAL', message);
180
+ }
181
+ else {
182
+ printError(message);
183
+ }
184
+ return ExitCode.GENERAL_ERROR;
185
+ }
186
+ }
187
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Exit code constants and ErrorCode-to-exit-code mapping.
3
+ *
4
+ * @see docs/10-cli-reference.md Section 4
5
+ */
6
+ import type { ErrorCode } from '@a5c-ai/comm-adapter';
7
+ /** CLI exit code constants. */
8
+ export declare const ExitCode: {
9
+ readonly SUCCESS: 0;
10
+ readonly GENERAL_ERROR: 1;
11
+ readonly USAGE_ERROR: 2;
12
+ readonly AGENT_NOT_FOUND: 3;
13
+ readonly AGENT_NOT_INSTALLED: 4;
14
+ readonly AUTH_ERROR: 5;
15
+ readonly CAPABILITY_ERROR: 6;
16
+ readonly CONFIG_ERROR: 7;
17
+ readonly SESSION_NOT_FOUND: 8;
18
+ readonly PROFILE_NOT_FOUND: 9;
19
+ readonly PLUGIN_ERROR: 10;
20
+ readonly TIMEOUT: 11;
21
+ readonly AGENT_CRASHED: 12;
22
+ readonly ABORTED: 13;
23
+ readonly RATE_LIMITED: 14;
24
+ readonly CONTEXT_EXCEEDED: 15;
25
+ };
26
+ export type ExitCodeValue = (typeof ExitCode)[keyof typeof ExitCode];
27
+ /**
28
+ * Map an ErrorCode to an exit code.
29
+ *
30
+ * @see docs/10-cli-reference.md Section 4.1
31
+ */
32
+ export declare function errorCodeToExitCode(code: ErrorCode): ExitCodeValue;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;CAiBX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAqClE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Exit code constants and ErrorCode-to-exit-code mapping.
3
+ *
4
+ * @see docs/10-cli-reference.md Section 4
5
+ */
6
+ /** CLI exit code constants. */
7
+ export const ExitCode = {
8
+ SUCCESS: 0,
9
+ GENERAL_ERROR: 1,
10
+ USAGE_ERROR: 2,
11
+ AGENT_NOT_FOUND: 3,
12
+ AGENT_NOT_INSTALLED: 4,
13
+ AUTH_ERROR: 5,
14
+ CAPABILITY_ERROR: 6,
15
+ CONFIG_ERROR: 7,
16
+ SESSION_NOT_FOUND: 8,
17
+ PROFILE_NOT_FOUND: 9,
18
+ PLUGIN_ERROR: 10,
19
+ TIMEOUT: 11,
20
+ AGENT_CRASHED: 12,
21
+ ABORTED: 13,
22
+ RATE_LIMITED: 14,
23
+ CONTEXT_EXCEEDED: 15,
24
+ };
25
+ /**
26
+ * Map an ErrorCode to an exit code.
27
+ *
28
+ * @see docs/10-cli-reference.md Section 4.1
29
+ */
30
+ export function errorCodeToExitCode(code) {
31
+ switch (code) {
32
+ case 'VALIDATION_ERROR':
33
+ return ExitCode.USAGE_ERROR;
34
+ case 'AGENT_NOT_FOUND':
35
+ case 'UNKNOWN_AGENT':
36
+ return ExitCode.AGENT_NOT_FOUND;
37
+ case 'AGENT_NOT_INSTALLED':
38
+ return ExitCode.AGENT_NOT_INSTALLED;
39
+ case 'AUTH_ERROR':
40
+ return ExitCode.AUTH_ERROR;
41
+ case 'CAPABILITY_ERROR':
42
+ return ExitCode.CAPABILITY_ERROR;
43
+ case 'CONFIG_ERROR':
44
+ case 'CONFIG_LOCK_ERROR':
45
+ return ExitCode.CONFIG_ERROR;
46
+ case 'SESSION_NOT_FOUND':
47
+ return ExitCode.SESSION_NOT_FOUND;
48
+ case 'PROFILE_NOT_FOUND':
49
+ return ExitCode.PROFILE_NOT_FOUND;
50
+ case 'PLUGIN_ERROR':
51
+ return ExitCode.PLUGIN_ERROR;
52
+ case 'TIMEOUT':
53
+ case 'INACTIVITY_TIMEOUT':
54
+ return ExitCode.TIMEOUT;
55
+ case 'AGENT_CRASH':
56
+ return ExitCode.AGENT_CRASHED;
57
+ case 'ABORTED':
58
+ return ExitCode.ABORTED;
59
+ case 'RATE_LIMITED':
60
+ return ExitCode.RATE_LIMITED;
61
+ case 'CONTEXT_EXCEEDED':
62
+ return ExitCode.CONTEXT_EXCEEDED;
63
+ // General error: SPAWN_ERROR, INTERNAL, PARSE_ERROR, and everything else
64
+ default:
65
+ return ExitCode.GENERAL_ERROR;
66
+ }
67
+ }
68
+ //# sourceMappingURL=exit-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,CAAC;IACtB,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;CACZ,CAAC;AAIX;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC,mBAAmB,CAAC;QACtC,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC,gBAAgB,CAAC;QACnC,KAAK,cAAc,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAAC;QACpC,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC,iBAAiB,CAAC;QACpC,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,KAAK,SAAS,CAAC;QACf,KAAK,oBAAoB;YACvB,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC,gBAAgB,CAAC;QACnC,yEAAyE;QACzE;YACE,OAAO,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @a5c-ai/adapters-cli
4
+ *
5
+ * CLI binary entry point for the `adapters` command.
6
+ *
7
+ * Parses arguments, creates a client, and dispatches to the appropriate
8
+ * command handler. Exports core functionality for programmatic use.
9
+ */
10
+ export { createClient } from '@a5c-ai/comm-adapter';
11
+ export { ExitCode, errorCodeToExitCode } from './exit-codes.js';
12
+ export { parseArgs } from './parse-args.js';
13
+ export { registerBuiltInAdapters } from './bootstrap.js';
14
+ export { resolveCliLoggerConfig, type CliLoggerConfig } from './loggingConfig.js';
15
+ export type { ParsedArgs, FlagDef } from './parse-args.js';
16
+ export { main as runCli };
17
+ /**
18
+ * Main CLI entry point.
19
+ *
20
+ * @param argv - Command-line arguments (defaults to process.argv.slice(2))
21
+ * @returns Exit code
22
+ */
23
+ export declare function main(argv?: string[]): Promise<number>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,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,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClF,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,CAAC;AAkC1B;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0K3D"}
package/dist/index.js ADDED
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @a5c-ai/adapters-cli
4
+ *
5
+ * CLI binary entry point for the `adapters` command.
6
+ *
7
+ * Parses arguments, creates a client, and dispatches to the appropriate
8
+ * command handler. Exports core functionality for programmatic use.
9
+ */
10
+ export { createClient } from '@a5c-ai/comm-adapter';
11
+ export { ExitCode, errorCodeToExitCode } from './exit-codes.js';
12
+ export { parseArgs } from './parse-args.js';
13
+ export { registerBuiltInAdapters } from './bootstrap.js';
14
+ export { resolveCliLoggerConfig } from './loggingConfig.js';
15
+ // Re-exported so the meta-package shim (`@a5c-ai/adapters`) can drive the CLI.
16
+ export { main as runCli };
17
+ import { createClient, AgentMuxError } from '@a5c-ai/comm-adapter';
18
+ import { parseArgs } from './parse-args.js';
19
+ import { flagBool, flagStr } from './parse-args.js';
20
+ import { RUN_FLAGS } from './commands/run.js';
21
+ import { INSTALL_FLAGS } from './commands/install.js';
22
+ import { ExitCode, errorCodeToExitCode } from './exit-codes.js';
23
+ import { setColorEnabled, printError, printJsonError } from './output.js';
24
+ import { printHelp, printVersion } from './commands/help.js';
25
+ import { runCommand } from './commands/run.js';
26
+ import { adaptersCommand } from './commands/adapters.js';
27
+ import { sessionsCommand } from './commands/sessions.js';
28
+ import { configCommand } from './commands/config.js';
29
+ import { authCommand } from './commands/auth.js';
30
+ import { modelsCommand } from './commands/models.js';
31
+ import { profilesCommand } from './commands/profiles.js';
32
+ import { pluginCommand } from './commands/plugin.js';
33
+ import { mcpCommand } from './commands/mcp.js';
34
+ import { installCommand } from './commands/install.js';
35
+ import { detectHostCommand } from './commands/detect-host.js';
36
+ import { remoteCommand, REMOTE_FLAGS } from './commands/remote.js';
37
+ import { hooksCommand, HOOKS_FLAGS } from './commands/hooks.js';
38
+ import { doctorCommand } from './commands/doctor.js';
39
+ import { tuiCommand } from './commands/tui.js';
40
+ import { skillCommand, SKILL_FLAGS } from './commands/skill.js';
41
+ import { agentCommand, AGENT_FLAGS } from './commands/agent.js';
42
+ import { gatewayCommand, GATEWAY_FLAGS } from './commands/gateway/index.js';
43
+ import { launchCommand, LAUNCH_FLAGS } from './commands/launch.js';
44
+ import { workspacesCommand, WORKSPACE_FLAGS } from './commands/workspaces.js';
45
+ import { registerBuiltInAdapters } from './bootstrap.js';
46
+ import { reconfigureLogger } from '@a5c-ai/adapters-observability';
47
+ import { resolveCliLoggerConfig } from './loggingConfig.js';
48
+ /**
49
+ * Main CLI entry point.
50
+ *
51
+ * @param argv - Command-line arguments (defaults to process.argv.slice(2))
52
+ * @returns Exit code
53
+ */
54
+ export async function main(argv) {
55
+ const rawArgs = argv ?? process.argv.slice(2);
56
+ // First pass: parse with all known flags to capture global flags
57
+ const args = parseArgs(rawArgs, { ...RUN_FLAGS, ...INSTALL_FLAGS, ...REMOTE_FLAGS, ...HOOKS_FLAGS, ...SKILL_FLAGS, ...AGENT_FLAGS, ...GATEWAY_FLAGS, ...LAUNCH_FLAGS, ...WORKSPACE_FLAGS });
58
+ // Handle --no-color
59
+ if (flagBool(args.flags, 'no-color') === true) {
60
+ setColorEnabled(false);
61
+ }
62
+ // Handle --version / -V
63
+ if (flagBool(args.flags, 'version') === true) {
64
+ printVersion();
65
+ return ExitCode.SUCCESS;
66
+ }
67
+ // Handle `adapters version` command
68
+ if (args.command === 'version') {
69
+ printVersion();
70
+ return ExitCode.SUCCESS;
71
+ }
72
+ // Handle --help / -h
73
+ if (flagBool(args.flags, 'help') === true) {
74
+ printHelp(args.command);
75
+ return ExitCode.SUCCESS;
76
+ }
77
+ // Handle `adapters help [command]`
78
+ if (args.command === 'help') {
79
+ printHelp(args.positionals[0] ?? args.subcommand);
80
+ return ExitCode.SUCCESS;
81
+ }
82
+ // No command — print help. But if there are stray positionals, treat
83
+ // the first as an unknown command so users get actionable feedback
84
+ // instead of silently seeing the help text with a success exit code.
85
+ if (!args.command) {
86
+ if (args.positionals.length > 0) {
87
+ const unknown = args.positionals[0];
88
+ const jsonModeEarly = flagBool(args.flags, 'json') === true;
89
+ if (jsonModeEarly) {
90
+ printJsonError('VALIDATION_ERROR', `Unknown command: ${unknown}`);
91
+ }
92
+ else {
93
+ printError(`Unknown command: ${unknown}. Run "adapters help" for usage.`);
94
+ }
95
+ return ExitCode.USAGE_ERROR;
96
+ }
97
+ printHelp();
98
+ return ExitCode.SUCCESS;
99
+ }
100
+ // Create client with global flag overrides
101
+ const jsonMode = flagBool(args.flags, 'json') === true;
102
+ try {
103
+ const clientOpts = {};
104
+ const configDir = flagStr(args.flags, 'config-dir');
105
+ const projectDir = flagStr(args.flags, 'project-dir');
106
+ const debug = flagBool(args.flags, 'debug');
107
+ const agent = flagStr(args.flags, 'agent');
108
+ const model = flagStr(args.flags, 'model');
109
+ const logLevel = flagStr(args.flags, 'log-level');
110
+ const logFile = flagStr(args.flags, 'log-file');
111
+ if (configDir)
112
+ clientOpts['configDir'] = configDir;
113
+ if (projectDir)
114
+ clientOpts['projectConfigDir'] = projectDir;
115
+ if (debug)
116
+ clientOpts['debug'] = true;
117
+ if (agent)
118
+ clientOpts['defaultAgent'] = agent;
119
+ if (model)
120
+ clientOpts['defaultModel'] = model;
121
+ reconfigureLogger(resolveCliLoggerConfig({ debug, logLevel, logFile }));
122
+ const client = createClient(clientOpts);
123
+ registerBuiltInAdapters(client);
124
+ // Dispatch to command handler
125
+ switch (args.command) {
126
+ case 'run':
127
+ return await runCommand(client, args);
128
+ case 'adapters':
129
+ return await adaptersCommand(client, args);
130
+ case 'sessions':
131
+ return await sessionsCommand(client, args);
132
+ case 'config':
133
+ return await configCommand(client, args);
134
+ case 'auth':
135
+ return await authCommand(client, args);
136
+ case 'models':
137
+ return await modelsCommand(client, args);
138
+ case 'profiles':
139
+ return await profilesCommand(client, args);
140
+ case 'plugin':
141
+ case 'plugins':
142
+ return await pluginCommand(client, args);
143
+ case 'mcp':
144
+ return await mcpCommand(client, args);
145
+ case 'install':
146
+ case 'uninstall':
147
+ case 'update':
148
+ case 'detect':
149
+ return await installCommand(client, args);
150
+ case 'detect-host':
151
+ return await detectHostCommand(client, args);
152
+ case 'remote':
153
+ return await remoteCommand(client, args);
154
+ case 'hooks':
155
+ return await hooksCommand(client, args);
156
+ case 'doctor':
157
+ return await doctorCommand(client, args);
158
+ case 'tui':
159
+ return await tuiCommand(client, args);
160
+ case 'skill':
161
+ return await skillCommand(client, args);
162
+ case 'agent':
163
+ return await agentCommand(client, args);
164
+ case 'gateway':
165
+ return await gatewayCommand(client, args);
166
+ case 'launch':
167
+ return await launchCommand(client, args);
168
+ case 'workspaces':
169
+ return await workspacesCommand(client, args);
170
+ default:
171
+ if (jsonMode) {
172
+ printJsonError('VALIDATION_ERROR', `Unknown command: ${args.command}`);
173
+ }
174
+ else {
175
+ printError(`Unknown command: ${args.command}. Run "adapters help" for usage.`);
176
+ }
177
+ return ExitCode.USAGE_ERROR;
178
+ }
179
+ }
180
+ catch (err) {
181
+ if (err instanceof AgentMuxError) {
182
+ if (jsonMode) {
183
+ printJsonError(err.code, err.message, err.recoverable);
184
+ }
185
+ else {
186
+ printError(err.message);
187
+ }
188
+ return errorCodeToExitCode(err.code);
189
+ }
190
+ const message = err instanceof Error ? err.message : String(err);
191
+ if (jsonMode) {
192
+ printJsonError('INTERNAL', message);
193
+ }
194
+ else {
195
+ printError(message);
196
+ }
197
+ return ExitCode.GENERAL_ERROR;
198
+ }
199
+ }
200
+ // Run when executed directly (not imported)
201
+ // We detect this by checking if this file is the entry point
202
+ const isDirectRun = typeof process !== 'undefined' &&
203
+ process.argv[1] &&
204
+ (process.argv[1].endsWith('/index.js') ||
205
+ process.argv[1].endsWith('\\index.js') ||
206
+ process.argv[1].endsWith('/adapters') ||
207
+ process.argv[1].endsWith('\\adapters'));
208
+ if (isDirectRun) {
209
+ main().then((code) => {
210
+ process.exitCode = code;
211
+ }).catch((err) => {
212
+ process.stderr.write(`Fatal error: ${err instanceof Error ? err.message : String(err)}\n`);
213
+ process.exitCode = 1;
214
+ });
215
+ }
216
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { resolveCliLoggerConfig } from "./loggingConfig.js";
3
+ describe("resolveCliLoggerConfig", () => {
4
+ it("uses CLI logging flags without mutating ADAPTERS env vars", () => {
5
+ const env = {};
6
+ const config = resolveCliLoggerConfig({
7
+ debug: true,
8
+ logLevel: "warn",
9
+ logFile: "/tmp/adapters.log",
10
+ }, env);
11
+ expect(config).toEqual({ level: "warn", logFile: "/tmp/adapters.log" });
12
+ expect(env.AGENT_MUX_LOG_LEVEL).toBeUndefined();
13
+ expect(env.AGENT_MUX_LOG_FILE).toBeUndefined();
14
+ expect(env.AGENT_MUX_OBSERVABILITY_MODE).toBeUndefined();
15
+ });
16
+ it("falls back to startup env as input when flags are absent", () => {
17
+ expect(resolveCliLoggerConfig({}, {
18
+ AGENT_MUX_LOG_LEVEL: "error",
19
+ AGENT_MUX_LOG_FILE: "/tmp/from-env.log",
20
+ })).toEqual({ level: "error", logFile: "/tmp/from-env.log" });
21
+ });
22
+ });
23
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,GAAG,GAAsB,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,mBAAmB;SAC7B,EAAE,GAAG,CAAC,CAAC;QAER,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE;YAChC,mBAAmB,EAAE,OAAO;YAC5B,kBAAkB,EAAE,mBAAmB;SACxC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface AgentCapabilities {
2
+ supportsPlugins: boolean;
3
+ pluginCommands: string[];
4
+ nativePluginCommand: string;
5
+ }
6
+ export declare function detectAgentCapabilities(agent: string): Promise<AgentCapabilities>;
@@ -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"}