@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.
- package/.claude/settings.local.json +36 -0
- package/.eslintrc.json +44 -0
- package/.idea/codeStyles/Project.xml +60 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +11 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +572 -0
- package/LICENSE +201 -0
- package/PHASE1-SUMMARY.md +269 -0
- package/PUBLISHING.md +111 -0
- package/README.md +1056 -0
- package/TESTING.md +212 -0
- package/TODOs.md +94 -0
- package/bin/mcpc +9 -0
- package/bin/mcpc-bridge +9 -0
- package/dist/bridge/index.d.ts +3 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +587 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +9 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +81 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/clean.d.ts +11 -0
- package/dist/cli/commands/clean.d.ts.map +1 -0
- package/dist/cli/commands/clean.js +224 -0
- package/dist/cli/commands/clean.js.map +1 -0
- package/dist/cli/commands/index.d.ts +8 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +8 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/logging.d.ts +3 -0
- package/dist/cli/commands/logging.d.ts.map +1 -0
- package/dist/cli/commands/logging.js +22 -0
- package/dist/cli/commands/logging.js.map +1 -0
- package/dist/cli/commands/prompts.d.ts +6 -0
- package/dist/cli/commands/prompts.d.ts.map +1 -0
- package/dist/cli/commands/prompts.js +27 -0
- package/dist/cli/commands/prompts.js.map +1 -0
- package/dist/cli/commands/resources.d.ts +11 -0
- package/dist/cli/commands/resources.d.ts.map +1 -0
- package/dist/cli/commands/resources.js +70 -0
- package/dist/cli/commands/resources.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +28 -0
- package/dist/cli/commands/sessions.d.ts.map +1 -0
- package/dist/cli/commands/sessions.js +356 -0
- package/dist/cli/commands/sessions.js.map +1 -0
- package/dist/cli/commands/tools.d.ts +8 -0
- package/dist/cli/commands/tools.d.ts.map +1 -0
- package/dist/cli/commands/tools.js +54 -0
- package/dist/cli/commands/tools.js.map +1 -0
- package/dist/cli/commands/utilities.d.ts +3 -0
- package/dist/cli/commands/utilities.d.ts.map +1 -0
- package/dist/cli/commands/utilities.js +20 -0
- package/dist/cli/commands/utilities.js.map +1 -0
- package/dist/cli/helpers.d.ts +18 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +165 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +326 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/output.d.ts +18 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +221 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/parser.d.ts +19 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +168 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/shell-parser.d.ts +5 -0
- package/dist/cli/shell-parser.d.ts.map +1 -0
- package/dist/cli/shell-parser.js +38 -0
- package/dist/cli/shell-parser.js.map +1 -0
- package/dist/cli/shell.d.ts +2 -0
- package/dist/cli/shell.d.ts.map +1 -0
- package/dist/cli/shell.js +277 -0
- package/dist/cli/shell.js.map +1 -0
- package/dist/cli/tool-result.d.ts +2 -0
- package/dist/cli/tool-result.d.ts.map +1 -0
- package/dist/cli/tool-result.js +19 -0
- package/dist/cli/tool-result.js.map +1 -0
- package/dist/core/factory.d.ts +19 -0
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +55 -0
- package/dist/core/factory.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/mcp-client.d.ts +30 -0
- package/dist/core/mcp-client.d.ts.map +1 -0
- package/dist/core/mcp-client.js +215 -0
- package/dist/core/mcp-client.js.map +1 -0
- package/dist/core/transports.d.ts +12 -0
- package/dist/core/transports.d.ts.map +1 -0
- package/dist/core/transports.js +65 -0
- package/dist/core/transports.js.map +1 -0
- package/dist/lib/auth/auth-profiles.d.ts +7 -0
- package/dist/lib/auth/auth-profiles.d.ts.map +1 -0
- package/dist/lib/auth/auth-profiles.js +105 -0
- package/dist/lib/auth/auth-profiles.js.map +1 -0
- package/dist/lib/auth/keychain.d.ts +22 -0
- package/dist/lib/auth/keychain.d.ts.map +1 -0
- package/dist/lib/auth/keychain.js +92 -0
- package/dist/lib/auth/keychain.js.map +1 -0
- package/dist/lib/auth/oauth-flow.d.ts +7 -0
- package/dist/lib/auth/oauth-flow.d.ts.map +1 -0
- package/dist/lib/auth/oauth-flow.js +236 -0
- package/dist/lib/auth/oauth-flow.js.map +1 -0
- package/dist/lib/auth/oauth-provider.d.ts +24 -0
- package/dist/lib/auth/oauth-provider.d.ts.map +1 -0
- package/dist/lib/auth/oauth-provider.js +144 -0
- package/dist/lib/auth/oauth-provider.js.map +1 -0
- package/dist/lib/auth/oauth-token-manager.d.ts +25 -0
- package/dist/lib/auth/oauth-token-manager.d.ts.map +1 -0
- package/dist/lib/auth/oauth-token-manager.js +70 -0
- package/dist/lib/auth/oauth-token-manager.js.map +1 -0
- package/dist/lib/auth/oauth-utils.d.ts +14 -0
- package/dist/lib/auth/oauth-utils.d.ts.map +1 -0
- package/dist/lib/auth/oauth-utils.js +68 -0
- package/dist/lib/auth/oauth-utils.js.map +1 -0
- package/dist/lib/auth/token-refresh.d.ts +2 -0
- package/dist/lib/auth/token-refresh.d.ts.map +1 -0
- package/dist/lib/auth/token-refresh.js +70 -0
- package/dist/lib/auth/token-refresh.js.map +1 -0
- package/dist/lib/bridge-client.d.ts +23 -0
- package/dist/lib/bridge-client.d.ts.map +1 -0
- package/dist/lib/bridge-client.js +181 -0
- package/dist/lib/bridge-client.js.map +1 -0
- package/dist/lib/bridge-manager.d.ts +17 -0
- package/dist/lib/bridge-manager.d.ts.map +1 -0
- package/dist/lib/bridge-manager.js +240 -0
- package/dist/lib/bridge-manager.js.map +1 -0
- package/dist/lib/config.d.ts +6 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +116 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/errors.d.ts +23 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +81 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock.d.ts +2 -0
- package/dist/lib/file-lock.d.ts.map +1 -0
- package/dist/lib/file-lock.js +46 -0
- package/dist/lib/file-lock.js.map +1 -0
- package/dist/lib/file-logger.d.ts +19 -0
- package/dist/lib/file-logger.d.ts.map +1 -0
- package/dist/lib/file-logger.js +126 -0
- package/dist/lib/file-logger.js.map +1 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +6 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/logger.d.ts +24 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +189 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/session-client.d.ts +28 -0
- package/dist/lib/session-client.d.ts.map +1 -0
- package/dist/lib/session-client.js +104 -0
- package/dist/lib/session-client.js.map +1 -0
- package/dist/lib/sessions.d.ts +9 -0
- package/dist/lib/sessions.d.ts.map +1 -0
- package/dist/lib/sessions.js +116 -0
- package/dist/lib/sessions.js.map +1 -0
- package/dist/lib/types.d.ts +117 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +29 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +173 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +71 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|