@apify/mcpc 0.1.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 (178) hide show
  1. package/.claude/settings.local.json +36 -0
  2. package/.eslintrc.json +44 -0
  3. package/.idea/codeStyles/Project.xml +60 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +11 -0
  6. package/.idea/prettier.xml +6 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/.idea/workspace.xml +572 -0
  9. package/LICENSE +201 -0
  10. package/PHASE1-SUMMARY.md +269 -0
  11. package/PUBLISHING.md +111 -0
  12. package/README.md +1056 -0
  13. package/TESTING.md +212 -0
  14. package/TODOs.md +94 -0
  15. package/bin/mcpc +9 -0
  16. package/bin/mcpc-bridge +9 -0
  17. package/dist/bridge/index.d.ts +3 -0
  18. package/dist/bridge/index.d.ts.map +1 -0
  19. package/dist/bridge/index.js +587 -0
  20. package/dist/bridge/index.js.map +1 -0
  21. package/dist/cli/commands/auth.d.ts +9 -0
  22. package/dist/cli/commands/auth.d.ts.map +1 -0
  23. package/dist/cli/commands/auth.js +81 -0
  24. package/dist/cli/commands/auth.js.map +1 -0
  25. package/dist/cli/commands/clean.d.ts +11 -0
  26. package/dist/cli/commands/clean.d.ts.map +1 -0
  27. package/dist/cli/commands/clean.js +224 -0
  28. package/dist/cli/commands/clean.js.map +1 -0
  29. package/dist/cli/commands/index.d.ts +8 -0
  30. package/dist/cli/commands/index.d.ts.map +1 -0
  31. package/dist/cli/commands/index.js +8 -0
  32. package/dist/cli/commands/index.js.map +1 -0
  33. package/dist/cli/commands/logging.d.ts +3 -0
  34. package/dist/cli/commands/logging.d.ts.map +1 -0
  35. package/dist/cli/commands/logging.js +22 -0
  36. package/dist/cli/commands/logging.js.map +1 -0
  37. package/dist/cli/commands/prompts.d.ts +6 -0
  38. package/dist/cli/commands/prompts.d.ts.map +1 -0
  39. package/dist/cli/commands/prompts.js +27 -0
  40. package/dist/cli/commands/prompts.js.map +1 -0
  41. package/dist/cli/commands/resources.d.ts +11 -0
  42. package/dist/cli/commands/resources.d.ts.map +1 -0
  43. package/dist/cli/commands/resources.js +70 -0
  44. package/dist/cli/commands/resources.js.map +1 -0
  45. package/dist/cli/commands/sessions.d.ts +28 -0
  46. package/dist/cli/commands/sessions.d.ts.map +1 -0
  47. package/dist/cli/commands/sessions.js +356 -0
  48. package/dist/cli/commands/sessions.js.map +1 -0
  49. package/dist/cli/commands/tools.d.ts +8 -0
  50. package/dist/cli/commands/tools.d.ts.map +1 -0
  51. package/dist/cli/commands/tools.js +54 -0
  52. package/dist/cli/commands/tools.js.map +1 -0
  53. package/dist/cli/commands/utilities.d.ts +3 -0
  54. package/dist/cli/commands/utilities.d.ts.map +1 -0
  55. package/dist/cli/commands/utilities.js +20 -0
  56. package/dist/cli/commands/utilities.js.map +1 -0
  57. package/dist/cli/helpers.d.ts +18 -0
  58. package/dist/cli/helpers.d.ts.map +1 -0
  59. package/dist/cli/helpers.js +165 -0
  60. package/dist/cli/helpers.js.map +1 -0
  61. package/dist/cli/index.d.ts +3 -0
  62. package/dist/cli/index.d.ts.map +1 -0
  63. package/dist/cli/index.js +326 -0
  64. package/dist/cli/index.js.map +1 -0
  65. package/dist/cli/output.d.ts +18 -0
  66. package/dist/cli/output.d.ts.map +1 -0
  67. package/dist/cli/output.js +221 -0
  68. package/dist/cli/output.js.map +1 -0
  69. package/dist/cli/parser.d.ts +19 -0
  70. package/dist/cli/parser.d.ts.map +1 -0
  71. package/dist/cli/parser.js +168 -0
  72. package/dist/cli/parser.js.map +1 -0
  73. package/dist/cli/shell-parser.d.ts +5 -0
  74. package/dist/cli/shell-parser.d.ts.map +1 -0
  75. package/dist/cli/shell-parser.js +38 -0
  76. package/dist/cli/shell-parser.js.map +1 -0
  77. package/dist/cli/shell.d.ts +2 -0
  78. package/dist/cli/shell.d.ts.map +1 -0
  79. package/dist/cli/shell.js +277 -0
  80. package/dist/cli/shell.js.map +1 -0
  81. package/dist/cli/tool-result.d.ts +2 -0
  82. package/dist/cli/tool-result.d.ts.map +1 -0
  83. package/dist/cli/tool-result.js +19 -0
  84. package/dist/cli/tool-result.js.map +1 -0
  85. package/dist/core/factory.d.ts +19 -0
  86. package/dist/core/factory.d.ts.map +1 -0
  87. package/dist/core/factory.js +55 -0
  88. package/dist/core/factory.js.map +1 -0
  89. package/dist/core/index.d.ts +4 -0
  90. package/dist/core/index.d.ts.map +1 -0
  91. package/dist/core/index.js +4 -0
  92. package/dist/core/index.js.map +1 -0
  93. package/dist/core/mcp-client.d.ts +30 -0
  94. package/dist/core/mcp-client.d.ts.map +1 -0
  95. package/dist/core/mcp-client.js +215 -0
  96. package/dist/core/mcp-client.js.map +1 -0
  97. package/dist/core/transports.d.ts +12 -0
  98. package/dist/core/transports.d.ts.map +1 -0
  99. package/dist/core/transports.js +65 -0
  100. package/dist/core/transports.js.map +1 -0
  101. package/dist/lib/auth/auth-profiles.d.ts +7 -0
  102. package/dist/lib/auth/auth-profiles.d.ts.map +1 -0
  103. package/dist/lib/auth/auth-profiles.js +105 -0
  104. package/dist/lib/auth/auth-profiles.js.map +1 -0
  105. package/dist/lib/auth/keychain.d.ts +22 -0
  106. package/dist/lib/auth/keychain.d.ts.map +1 -0
  107. package/dist/lib/auth/keychain.js +92 -0
  108. package/dist/lib/auth/keychain.js.map +1 -0
  109. package/dist/lib/auth/oauth-flow.d.ts +7 -0
  110. package/dist/lib/auth/oauth-flow.d.ts.map +1 -0
  111. package/dist/lib/auth/oauth-flow.js +236 -0
  112. package/dist/lib/auth/oauth-flow.js.map +1 -0
  113. package/dist/lib/auth/oauth-provider.d.ts +24 -0
  114. package/dist/lib/auth/oauth-provider.d.ts.map +1 -0
  115. package/dist/lib/auth/oauth-provider.js +144 -0
  116. package/dist/lib/auth/oauth-provider.js.map +1 -0
  117. package/dist/lib/auth/oauth-token-manager.d.ts +25 -0
  118. package/dist/lib/auth/oauth-token-manager.d.ts.map +1 -0
  119. package/dist/lib/auth/oauth-token-manager.js +70 -0
  120. package/dist/lib/auth/oauth-token-manager.js.map +1 -0
  121. package/dist/lib/auth/oauth-utils.d.ts +14 -0
  122. package/dist/lib/auth/oauth-utils.d.ts.map +1 -0
  123. package/dist/lib/auth/oauth-utils.js +68 -0
  124. package/dist/lib/auth/oauth-utils.js.map +1 -0
  125. package/dist/lib/auth/token-refresh.d.ts +2 -0
  126. package/dist/lib/auth/token-refresh.d.ts.map +1 -0
  127. package/dist/lib/auth/token-refresh.js +70 -0
  128. package/dist/lib/auth/token-refresh.js.map +1 -0
  129. package/dist/lib/bridge-client.d.ts +23 -0
  130. package/dist/lib/bridge-client.d.ts.map +1 -0
  131. package/dist/lib/bridge-client.js +181 -0
  132. package/dist/lib/bridge-client.js.map +1 -0
  133. package/dist/lib/bridge-manager.d.ts +17 -0
  134. package/dist/lib/bridge-manager.d.ts.map +1 -0
  135. package/dist/lib/bridge-manager.js +240 -0
  136. package/dist/lib/bridge-manager.js.map +1 -0
  137. package/dist/lib/config.d.ts +6 -0
  138. package/dist/lib/config.d.ts.map +1 -0
  139. package/dist/lib/config.js +116 -0
  140. package/dist/lib/config.js.map +1 -0
  141. package/dist/lib/errors.d.ts +23 -0
  142. package/dist/lib/errors.d.ts.map +1 -0
  143. package/dist/lib/errors.js +81 -0
  144. package/dist/lib/errors.js.map +1 -0
  145. package/dist/lib/file-lock.d.ts +2 -0
  146. package/dist/lib/file-lock.d.ts.map +1 -0
  147. package/dist/lib/file-lock.js +46 -0
  148. package/dist/lib/file-lock.js.map +1 -0
  149. package/dist/lib/file-logger.d.ts +19 -0
  150. package/dist/lib/file-logger.d.ts.map +1 -0
  151. package/dist/lib/file-logger.js +126 -0
  152. package/dist/lib/file-logger.js.map +1 -0
  153. package/dist/lib/index.d.ts +6 -0
  154. package/dist/lib/index.d.ts.map +1 -0
  155. package/dist/lib/index.js +6 -0
  156. package/dist/lib/index.js.map +1 -0
  157. package/dist/lib/logger.d.ts +24 -0
  158. package/dist/lib/logger.d.ts.map +1 -0
  159. package/dist/lib/logger.js +189 -0
  160. package/dist/lib/logger.js.map +1 -0
  161. package/dist/lib/session-client.d.ts +28 -0
  162. package/dist/lib/session-client.d.ts.map +1 -0
  163. package/dist/lib/session-client.js +104 -0
  164. package/dist/lib/session-client.js.map +1 -0
  165. package/dist/lib/sessions.d.ts +9 -0
  166. package/dist/lib/sessions.d.ts.map +1 -0
  167. package/dist/lib/sessions.js +116 -0
  168. package/dist/lib/sessions.js.map +1 -0
  169. package/dist/lib/types.d.ts +117 -0
  170. package/dist/lib/types.d.ts.map +1 -0
  171. package/dist/lib/types.js +2 -0
  172. package/dist/lib/types.js.map +1 -0
  173. package/dist/lib/utils.d.ts +29 -0
  174. package/dist/lib/utils.d.ts.map +1 -0
  175. package/dist/lib/utils.js +173 -0
  176. package/dist/lib/utils.js.map +1 -0
  177. package/package.json +71 -0
  178. package/tsconfig.test.json +11 -0
@@ -0,0 +1,221 @@
1
+ import chalk from 'chalk';
2
+ import { extractSingleTextContent } from './tool-result.js';
3
+ export { extractSingleTextContent } from './tool-result.js';
4
+ export function formatOutput(data, mode = 'human') {
5
+ if (mode === 'json') {
6
+ return formatJson(data);
7
+ }
8
+ return formatHuman(data);
9
+ }
10
+ export function formatJson(data) {
11
+ return JSON.stringify(data, null, 2);
12
+ }
13
+ export function formatHuman(data) {
14
+ if (data === null || data === undefined) {
15
+ return chalk.gray('(no data)');
16
+ }
17
+ const singleText = extractSingleTextContent(data);
18
+ if (singleText !== undefined) {
19
+ return singleText;
20
+ }
21
+ if (Array.isArray(data)) {
22
+ if (data.length === 0) {
23
+ return chalk.gray('(empty list)');
24
+ }
25
+ const first = data[0];
26
+ if (first && typeof first === 'object') {
27
+ if ('name' in first && 'inputSchema' in first) {
28
+ return formatTools(data);
29
+ }
30
+ if ('uri' in first) {
31
+ return formatResources(data);
32
+ }
33
+ if ('name' in first && 'arguments' in first) {
34
+ return formatPrompts(data);
35
+ }
36
+ }
37
+ return data.map((item) => formatHuman(item)).join('\n');
38
+ }
39
+ if (typeof data === 'object') {
40
+ return formatObject(data);
41
+ }
42
+ if (typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean') {
43
+ return String(data);
44
+ }
45
+ return JSON.stringify(data);
46
+ }
47
+ function formatToolAnnotations(annotations) {
48
+ if (!annotations)
49
+ return null;
50
+ const parts = [];
51
+ if (annotations.readOnlyHint === true) {
52
+ parts.push('read-only');
53
+ }
54
+ else if (annotations.destructiveHint === true) {
55
+ parts.push(chalk.red('destructive'));
56
+ }
57
+ if (annotations.idempotentHint === true) {
58
+ parts.push('idempotent');
59
+ }
60
+ if (annotations.openWorldHint === true) {
61
+ parts.push('open-world');
62
+ }
63
+ return parts.length > 0 ? parts.join(', ') : null;
64
+ }
65
+ export function formatTools(tools) {
66
+ const lines = [];
67
+ lines.push(`Available tools (${tools.length})`);
68
+ lines.push('');
69
+ for (const tool of tools) {
70
+ const annotationsStr = formatToolAnnotations(tool.annotations);
71
+ const suffix = annotationsStr ? ` ${chalk.gray(`[${annotationsStr}]`)}` : '';
72
+ lines.push(`- \`${tool.name}\`${suffix}`);
73
+ }
74
+ lines.push('');
75
+ lines.push('Tool details:');
76
+ lines.push('');
77
+ for (const tool of tools) {
78
+ const title = tool.annotations?.title || tool.name;
79
+ const titleSuffix = title !== tool.name ? ` - ${title}` : '';
80
+ if (tool.description) {
81
+ lines.push(`## \`${tool.name}\`${titleSuffix}: ${tool.description}`);
82
+ }
83
+ else {
84
+ lines.push(`## \`${tool.name}\`${titleSuffix}: ${chalk.gray('(no description)')}`);
85
+ }
86
+ }
87
+ return lines.join('\n');
88
+ }
89
+ export function formatToolDetail(tool) {
90
+ const lines = [];
91
+ const title = tool.annotations?.title || tool.name;
92
+ lines.push(`# Tool \`${tool.name}\`${title !== tool.name ? ` - ${title}` : ''}`);
93
+ lines.push('');
94
+ if (tool.annotations) {
95
+ const annotationLines = [];
96
+ if (tool.annotations.readOnlyHint === true) {
97
+ annotationLines.push('- Read-only: yes');
98
+ }
99
+ if (tool.annotations.destructiveHint === true) {
100
+ annotationLines.push('- ' + chalk.red('Destructive: yes'));
101
+ }
102
+ if (tool.annotations.idempotentHint === true) {
103
+ annotationLines.push('- Idempotent: yes');
104
+ }
105
+ if (tool.annotations.openWorldHint === true) {
106
+ annotationLines.push('- Open-world: yes (can access external resources)');
107
+ }
108
+ if (annotationLines.length > 0) {
109
+ lines.push('## Annotations');
110
+ lines.push(...annotationLines);
111
+ lines.push('');
112
+ }
113
+ }
114
+ if (tool.description) {
115
+ lines.push('## Description');
116
+ lines.push(tool.description);
117
+ lines.push('');
118
+ }
119
+ lines.push('## Input schema');
120
+ lines.push('```json');
121
+ lines.push(JSON.stringify(tool.inputSchema, null, 2));
122
+ lines.push('```');
123
+ if ('outputSchema' in tool && tool.outputSchema) {
124
+ lines.push('');
125
+ lines.push('## Output schema');
126
+ lines.push('```json');
127
+ lines.push(JSON.stringify(tool.outputSchema, null, 2));
128
+ lines.push('```');
129
+ }
130
+ return lines.join('\n');
131
+ }
132
+ export function formatResources(resources) {
133
+ const lines = [];
134
+ lines.push(`# Resources`);
135
+ lines.push('');
136
+ for (const resource of resources) {
137
+ lines.push(`## \`${resource.uri}\``);
138
+ const details = [];
139
+ if (resource.name) {
140
+ details.push(`**Name:** ${resource.name}`);
141
+ }
142
+ if (resource.description) {
143
+ details.push(`**Description:** ${resource.description}`);
144
+ }
145
+ if (resource.mimeType) {
146
+ details.push(`**MIME Type:** ${resource.mimeType}`);
147
+ }
148
+ if (details.length > 0) {
149
+ lines.push(details.join(' \n'));
150
+ }
151
+ lines.push('');
152
+ }
153
+ return lines.join('\n');
154
+ }
155
+ export function formatPrompts(prompts) {
156
+ const lines = [];
157
+ lines.push(`# Prompts`);
158
+ lines.push('');
159
+ for (const prompt of prompts) {
160
+ lines.push(`## \`${prompt.name}\``);
161
+ if (prompt.description) {
162
+ lines.push(prompt.description);
163
+ }
164
+ if (prompt.arguments && prompt.arguments.length > 0) {
165
+ lines.push('');
166
+ lines.push('**Arguments:**');
167
+ for (const arg of prompt.arguments) {
168
+ const required = arg.required ? ' (required)' : '';
169
+ const description = arg.description ? ` - ${arg.description}` : '';
170
+ lines.push(`- \`${arg.name}\`${required}${description}`);
171
+ }
172
+ }
173
+ lines.push('');
174
+ }
175
+ return lines.join('\n');
176
+ }
177
+ export function formatObject(obj) {
178
+ const lines = [];
179
+ for (const [key, value] of Object.entries(obj)) {
180
+ const formattedKey = chalk.cyan(`${key}:`);
181
+ let formattedValue;
182
+ if (value === null || value === undefined) {
183
+ formattedValue = chalk.gray(String(value));
184
+ }
185
+ else if (typeof value === 'object') {
186
+ formattedValue = JSON.stringify(value, null, 2);
187
+ }
188
+ else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
189
+ formattedValue = String(value);
190
+ }
191
+ else {
192
+ formattedValue = JSON.stringify(value);
193
+ }
194
+ lines.push(`${formattedKey} ${formattedValue}`);
195
+ }
196
+ return lines.join('\n');
197
+ }
198
+ export function formatSuccess(message) {
199
+ return chalk.green(`✓ ${message}`);
200
+ }
201
+ export function formatError(message) {
202
+ return chalk.red(`✗ ${message}`);
203
+ }
204
+ export function formatWarning(message) {
205
+ return chalk.yellow(`⚠ ${message}`);
206
+ }
207
+ export function formatInfo(message) {
208
+ return chalk.blue(`ℹ ${message}`);
209
+ }
210
+ export function logTarget(target, outputMode, hide = false) {
211
+ if (outputMode === 'human' && !hide) {
212
+ console.log(chalk.blue(`[Using session: ${target}]`));
213
+ }
214
+ }
215
+ export function formatJsonError(error, code) {
216
+ return JSON.stringify({
217
+ error: error.message,
218
+ code,
219
+ }, null, 2);
220
+ }
221
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare function getVerboseFromEnv(): boolean;
2
+ export declare function getJsonFromEnv(): boolean;
3
+ export declare function optionTakesValue(arg: string): boolean;
4
+ export declare function findTarget(args: string[]): {
5
+ target: string;
6
+ targetIndex: number;
7
+ } | undefined;
8
+ export declare function extractOptions(args: string[]): {
9
+ config?: string;
10
+ headers?: string[];
11
+ timeout?: number;
12
+ profile?: string;
13
+ verbose: boolean;
14
+ json: boolean;
15
+ };
16
+ export declare function hasCommandAfterTarget(args: string[]): boolean;
17
+ export declare function parseCommandArgs(args: string[] | undefined): Record<string, unknown>;
18
+ export declare function loadArgsFromFile(filePath: string): Record<string, unknown>;
19
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAoBA,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAKD,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAiBD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGrD;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmB9F;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf,CAoCA;AAKD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAkB7D;AAaD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDpF;AASD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B1E"}
@@ -0,0 +1,168 @@
1
+ import { readFileSync } from 'fs';
2
+ import { ClientError, resolvePath } from '../lib/index.js';
3
+ function isEnvTrue(envVar) {
4
+ if (!envVar)
5
+ return false;
6
+ const normalized = envVar.toLowerCase().trim();
7
+ return normalized === '1' || normalized === 'true' || normalized === 'yes';
8
+ }
9
+ export function getVerboseFromEnv() {
10
+ return isEnvTrue(process.env.MCPC_VERBOSE);
11
+ }
12
+ export function getJsonFromEnv() {
13
+ return isEnvTrue(process.env.MCPC_JSON);
14
+ }
15
+ const OPTIONS_WITH_VALUES = [
16
+ '-c',
17
+ '--config',
18
+ '-H',
19
+ '--header',
20
+ '--timeout',
21
+ '--profile',
22
+ '--schema',
23
+ '--schema-mode',
24
+ ];
25
+ export function optionTakesValue(arg) {
26
+ const optionName = arg.includes('=') ? arg.substring(0, arg.indexOf('=')) : arg;
27
+ return OPTIONS_WITH_VALUES.includes(optionName);
28
+ }
29
+ export function findTarget(args) {
30
+ for (let i = 0; i < args.length; i++) {
31
+ const arg = args[i];
32
+ if (!arg)
33
+ continue;
34
+ if (arg.startsWith('-')) {
35
+ if (optionTakesValue(arg) && !arg.includes('=') && i + 1 < args.length) {
36
+ i++;
37
+ }
38
+ continue;
39
+ }
40
+ return { target: arg, targetIndex: i };
41
+ }
42
+ return undefined;
43
+ }
44
+ export function extractOptions(args) {
45
+ const options = {
46
+ verbose: args.includes('--verbose') || getVerboseFromEnv(),
47
+ json: args.includes('--json') || args.includes('-j') || getJsonFromEnv(),
48
+ };
49
+ const configIndex = args.findIndex((arg) => arg === '--config' || arg === '-c');
50
+ const config = configIndex >= 0 && configIndex + 1 < args.length ? args[configIndex + 1] : undefined;
51
+ const headers = [];
52
+ for (let i = 0; i < args.length; i++) {
53
+ const arg = args[i];
54
+ const nextArg = args[i + 1];
55
+ if ((arg === '--header' || arg === '-H') && nextArg) {
56
+ headers.push(nextArg);
57
+ }
58
+ }
59
+ const timeoutIndex = args.findIndex((arg) => arg === '--timeout');
60
+ const timeoutValue = timeoutIndex >= 0 && timeoutIndex + 1 < args.length ? args[timeoutIndex + 1] : undefined;
61
+ const timeout = timeoutValue ? parseInt(timeoutValue, 10) : undefined;
62
+ const profileIndex = args.findIndex((arg) => arg === '--profile');
63
+ const profile = profileIndex >= 0 && profileIndex + 1 < args.length ? args[profileIndex + 1] : undefined;
64
+ return {
65
+ ...options,
66
+ ...(config && { config }),
67
+ ...(headers.length > 0 && { headers }),
68
+ ...(timeout !== undefined && { timeout }),
69
+ ...(profile && { profile }),
70
+ };
71
+ }
72
+ export function hasCommandAfterTarget(args) {
73
+ for (let i = 2; i < args.length; i++) {
74
+ const arg = args[i];
75
+ if (!arg)
76
+ continue;
77
+ if (arg.startsWith('-')) {
78
+ if (optionTakesValue(arg) && !arg.includes('=')) {
79
+ i++;
80
+ }
81
+ continue;
82
+ }
83
+ return true;
84
+ }
85
+ return false;
86
+ }
87
+ export function parseCommandArgs(args) {
88
+ if (!args || args.length === 0) {
89
+ return {};
90
+ }
91
+ const firstArg = args[0];
92
+ if (firstArg && (firstArg.startsWith('{') || firstArg.startsWith('['))) {
93
+ if (args.length > 1) {
94
+ throw new ClientError('When using inline JSON, only one argument is allowed');
95
+ }
96
+ try {
97
+ const parsedArgs = JSON.parse(firstArg);
98
+ if (typeof parsedArgs !== 'object' || parsedArgs === null) {
99
+ throw new ClientError('Inline JSON must be an object or array');
100
+ }
101
+ return parsedArgs;
102
+ }
103
+ catch (error) {
104
+ if (error instanceof ClientError) {
105
+ throw error;
106
+ }
107
+ throw new ClientError(`Invalid JSON: ${error.message}`);
108
+ }
109
+ }
110
+ const parsedArgs = {};
111
+ for (const pair of args) {
112
+ if (pair.includes(':=')) {
113
+ const colonEqualIndex = pair.indexOf(':=');
114
+ const key = pair.substring(0, colonEqualIndex);
115
+ const jsonValue = pair.substring(colonEqualIndex + 2);
116
+ if (!key || jsonValue === undefined || jsonValue === '') {
117
+ throw new ClientError(`Invalid argument format: ${pair}. Use key=value or key:=json`);
118
+ }
119
+ try {
120
+ parsedArgs[key] = JSON.parse(jsonValue);
121
+ }
122
+ catch (error) {
123
+ throw new ClientError(`Invalid JSON value for ${key}: ${error.message}`);
124
+ }
125
+ }
126
+ else if (pair.includes('=')) {
127
+ const equalIndex = pair.indexOf('=');
128
+ const key = pair.substring(0, equalIndex);
129
+ const value = pair.substring(equalIndex + 1);
130
+ if (!key || value === undefined) {
131
+ throw new ClientError(`Invalid argument format: ${pair}. Use key=value or key:=json`);
132
+ }
133
+ parsedArgs[key] = value;
134
+ }
135
+ else {
136
+ throw new ClientError(`Invalid argument format: ${pair}. Use key=value, key:=json, or inline JSON`);
137
+ }
138
+ }
139
+ return parsedArgs;
140
+ }
141
+ export function loadArgsFromFile(filePath) {
142
+ const resolvedPath = resolvePath(filePath);
143
+ let fileContent;
144
+ try {
145
+ fileContent = readFileSync(resolvedPath, 'utf-8');
146
+ }
147
+ catch (error) {
148
+ const err = error;
149
+ if (err.code === 'ENOENT') {
150
+ throw new ClientError(`Arguments file not found: ${filePath}`);
151
+ }
152
+ throw new ClientError(`Failed to read arguments file: ${err.message}`);
153
+ }
154
+ try {
155
+ const parsed = JSON.parse(fileContent);
156
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
157
+ throw new ClientError('Arguments file must contain a JSON object');
158
+ }
159
+ return parsed;
160
+ }
161
+ catch (error) {
162
+ if (error instanceof ClientError) {
163
+ throw error;
164
+ }
165
+ throw new ClientError(`Invalid JSON in arguments file: ${error.message}`);
166
+ }
167
+ }
168
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function parseShellCommand(line: string): {
2
+ command: string;
3
+ args: string[];
4
+ };
5
+ //# sourceMappingURL=shell-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-parser.d.ts","sourceRoot":"","sources":["../../src/cli/shell-parser.ts"],"names":[],"mappings":"AASA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAuCnF"}
@@ -0,0 +1,38 @@
1
+ export function parseShellCommand(line) {
2
+ const trimmed = line.trim();
3
+ if (!trimmed) {
4
+ return { command: '', args: [] };
5
+ }
6
+ const parts = [];
7
+ let current = '';
8
+ let inQuote = false;
9
+ let quoteChar = '';
10
+ for (let i = 0; i < trimmed.length; i++) {
11
+ const char = trimmed[i];
12
+ if ((char === '"' || char === "'") && !inQuote) {
13
+ inQuote = true;
14
+ quoteChar = char;
15
+ }
16
+ else if (char === quoteChar && inQuote) {
17
+ inQuote = false;
18
+ quoteChar = '';
19
+ }
20
+ else if (char === ' ' && !inQuote) {
21
+ if (current) {
22
+ parts.push(current);
23
+ current = '';
24
+ }
25
+ }
26
+ else {
27
+ current += char;
28
+ }
29
+ }
30
+ if (current) {
31
+ parts.push(current);
32
+ }
33
+ return {
34
+ command: parts[0] || '',
35
+ args: parts.slice(1),
36
+ };
37
+ }
38
+ //# sourceMappingURL=shell-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-parser.js","sourceRoot":"","sources":["../../src/cli/shell-parser.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAGD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,GAAG,IAAI,CAAC;YACf,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function startShell(target: string): Promise<void>;
2
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/cli/shell.ts"],"names":[],"mappings":"AAkWA,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC9D"}