@trishchuk/codex-mcp-tool 2.1.1 → 2.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.
- package/README.md +18 -11
- package/dist/constants.d.ts +2 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -7
- package/dist/constants.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/tools/ask-codex.tool.d.ts.map +1 -1
- package/dist/tools/ask-codex.tool.js +9 -4
- package/dist/tools/ask-codex.tool.js.map +1 -1
- package/dist/tools/batch-codex.tool.d.ts.map +1 -1
- package/dist/tools/batch-codex.tool.js +75 -26
- package/dist/tools/batch-codex.tool.js.map +1 -1
- package/dist/tools/brainstorm.tool.d.ts.map +1 -1
- package/dist/tools/brainstorm.tool.js +3 -3
- package/dist/tools/brainstorm.tool.js.map +1 -1
- package/dist/tools/do-act.tool.d.ts.map +1 -1
- package/dist/tools/do-act.tool.js +4 -4
- package/dist/tools/do-act.tool.js.map +1 -1
- package/dist/tools/review-codex.tool.d.ts.map +1 -1
- package/dist/tools/review-codex.tool.js +21 -9
- package/dist/tools/review-codex.tool.js.map +1 -1
- package/dist/utils/codexCommandBuilder.d.ts +5 -3
- package/dist/utils/codexCommandBuilder.d.ts.map +1 -1
- package/dist/utils/codexCommandBuilder.js +19 -22
- package/dist/utils/codexCommandBuilder.js.map +1 -1
- package/dist/utils/errorTypes.js +1 -1
- package/dist/utils/errorTypes.js.map +1 -1
- package/dist/utils/modelDetection.d.ts +13 -37
- package/dist/utils/modelDetection.d.ts.map +1 -1
- package/dist/utils/modelDetection.js +13 -138
- package/dist/utils/modelDetection.js.map +1 -1
- package/dist/utils/outputParser.d.ts +9 -2
- package/dist/utils/outputParser.d.ts.map +1 -1
- package/dist/utils/outputParser.js +136 -19
- package/dist/utils/outputParser.js.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
import { Logger } from './logger.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Detect whether raw output contains Codex CLI section markers (interactive format).
|
|
4
|
+
* Codex CLI v0.114.0+ sends interactive output (header, metadata, thinking, tool executions)
|
|
5
|
+
* to stderr, while stdout contains only the clean final response.
|
|
6
|
+
*/
|
|
7
|
+
function hasInteractiveFormat(rawOutput) {
|
|
8
|
+
return rawOutput.includes('OpenAI Codex') || rawOutput.includes('--------');
|
|
9
|
+
}
|
|
10
|
+
export function parseCodexOutput(rawOutput, rawStderr) {
|
|
11
|
+
// Codex CLI v0.114.0+: stdout = clean response, stderr = interactive output.
|
|
12
|
+
// If stdout has no section markers, treat it as the clean final response directly.
|
|
13
|
+
if (!hasInteractiveFormat(rawOutput) && rawOutput.trim()) {
|
|
14
|
+
// Extract tokens and metadata from stderr if available
|
|
15
|
+
let tokensUsed;
|
|
16
|
+
let metadata = {};
|
|
17
|
+
if (rawStderr) {
|
|
18
|
+
const tokensMatch = rawStderr.match(/tokens used[:\s]*(\d[\d\s]*\d|\d+)/);
|
|
19
|
+
if (tokensMatch) {
|
|
20
|
+
tokensUsed = parseInt(tokensMatch[1].replace(/\s/g, ''), 10);
|
|
21
|
+
}
|
|
22
|
+
// Parse metadata from stderr (interactive format)
|
|
23
|
+
if (hasInteractiveFormat(rawStderr)) {
|
|
24
|
+
const parsed = parseInteractiveOutput(rawStderr);
|
|
25
|
+
metadata = parsed.metadata;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const output = {
|
|
29
|
+
metadata,
|
|
30
|
+
userInstructions: '',
|
|
31
|
+
thinking: undefined,
|
|
32
|
+
response: rawOutput.trim(),
|
|
33
|
+
tokensUsed,
|
|
34
|
+
timestamps: [],
|
|
35
|
+
rawOutput,
|
|
36
|
+
rawStderr,
|
|
37
|
+
};
|
|
38
|
+
Logger.codexResponse(output.response, tokensUsed);
|
|
39
|
+
return output;
|
|
40
|
+
}
|
|
41
|
+
// Fallback: if stdout is empty but stderr has content, try stderr
|
|
42
|
+
const effectiveOutput = rawOutput.trim() ? rawOutput : rawStderr || rawOutput;
|
|
43
|
+
const parsed = parseInteractiveOutput(effectiveOutput);
|
|
44
|
+
parsed.rawStderr = rawStderr;
|
|
45
|
+
return parsed;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Parse Codex CLI interactive output format (header + metadata + thinking + response).
|
|
49
|
+
* Used for older CLI versions where everything goes to stdout,
|
|
50
|
+
* or for parsing stderr in newer versions.
|
|
51
|
+
*/
|
|
52
|
+
function parseInteractiveOutput(rawOutput) {
|
|
3
53
|
const lines = rawOutput.split('\n');
|
|
4
54
|
const timestamps = [];
|
|
5
55
|
let metadata = {};
|
|
@@ -11,20 +61,24 @@ export function parseCodexOutput(rawOutput) {
|
|
|
11
61
|
let metadataLines = [];
|
|
12
62
|
let thinkingLines = [];
|
|
13
63
|
let responseLines = [];
|
|
64
|
+
// Section marker patterns — must match ONLY standalone markers, not content lines.
|
|
65
|
+
// Codex CLI uses these as speaker/action labels on their own line.
|
|
66
|
+
const STANDALONE_MARKERS = /^(codex|assistant|user|exec|thinking)$/;
|
|
14
67
|
for (let i = 0; i < lines.length; i++) {
|
|
15
68
|
const line = lines[i];
|
|
69
|
+
const trimmed = line.trim();
|
|
16
70
|
// Extract timestamps
|
|
17
71
|
const timestampMatch = line.match(/^\[([^\]]+)\]/);
|
|
18
72
|
if (timestampMatch) {
|
|
19
73
|
timestamps.push(timestampMatch[1]);
|
|
20
74
|
}
|
|
21
|
-
// Extract tokens used
|
|
22
|
-
const tokensMatch = line.match(/tokens used:\s*(\d+)/);
|
|
75
|
+
// Extract tokens used (with or without colon, handle space-separated numbers like "7 951")
|
|
76
|
+
const tokensMatch = line.match(/tokens used[:\s]*(\d[\d\s]*\d|\d+)/);
|
|
23
77
|
if (tokensMatch) {
|
|
24
|
-
tokensUsed = parseInt(tokensMatch[1], 10);
|
|
78
|
+
tokensUsed = parseInt(tokensMatch[1].replace(/\s/g, ''), 10);
|
|
25
79
|
continue;
|
|
26
80
|
}
|
|
27
|
-
// Identify sections
|
|
81
|
+
// Identify sections by standalone markers and structural patterns
|
|
28
82
|
if (line.includes('OpenAI Codex') || line.includes('Codex CLI')) {
|
|
29
83
|
currentSection = 'header';
|
|
30
84
|
continue;
|
|
@@ -42,40 +96,57 @@ export function parseCodexOutput(rawOutput) {
|
|
|
42
96
|
currentSection = 'userInstructions';
|
|
43
97
|
continue;
|
|
44
98
|
}
|
|
45
|
-
else if (
|
|
99
|
+
else if (trimmed === 'user') {
|
|
100
|
+
// User prompt section — skip user's input
|
|
101
|
+
currentSection = 'user';
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
else if (trimmed === 'thinking') {
|
|
46
105
|
currentSection = 'thinking';
|
|
47
106
|
continue;
|
|
48
107
|
}
|
|
49
|
-
else if (
|
|
108
|
+
else if (trimmed === 'codex' || trimmed === 'assistant') {
|
|
50
109
|
currentSection = 'response';
|
|
51
110
|
continue;
|
|
52
111
|
}
|
|
112
|
+
else if (trimmed === 'exec' ||
|
|
113
|
+
trimmed.startsWith('collab ') ||
|
|
114
|
+
trimmed.startsWith('Plan ') ||
|
|
115
|
+
trimmed.startsWith('mcp:') ||
|
|
116
|
+
trimmed.startsWith('mcp startup:') ||
|
|
117
|
+
trimmed.startsWith('spawn_agent(')) {
|
|
118
|
+
// Skip tool execution, collaboration, planning, and MCP lifecycle lines
|
|
119
|
+
currentSection = 'exec';
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
53
122
|
// Parse based on current section
|
|
54
123
|
switch (currentSection) {
|
|
55
124
|
case 'metadata':
|
|
56
|
-
if (
|
|
57
|
-
metadataLines.push(
|
|
125
|
+
if (trimmed) {
|
|
126
|
+
metadataLines.push(trimmed);
|
|
58
127
|
}
|
|
59
128
|
break;
|
|
60
129
|
case 'userInstructions':
|
|
61
|
-
if (
|
|
130
|
+
if (trimmed && !line.includes('User instructions:')) {
|
|
62
131
|
userInstructions += line + '\n';
|
|
63
132
|
}
|
|
64
133
|
break;
|
|
65
134
|
case 'thinking':
|
|
66
|
-
if (
|
|
135
|
+
if (trimmed) {
|
|
67
136
|
thinkingLines.push(line);
|
|
68
137
|
}
|
|
69
138
|
break;
|
|
70
139
|
case 'response':
|
|
71
140
|
case 'content':
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
!line.includes('assistant') &&
|
|
75
|
-
!line.includes('tokens used:')) {
|
|
141
|
+
// Only filter standalone markers and token lines, not content containing keywords
|
|
142
|
+
if (trimmed && !STANDALONE_MARKERS.test(trimmed)) {
|
|
76
143
|
responseLines.push(line);
|
|
77
144
|
}
|
|
78
145
|
break;
|
|
146
|
+
case 'user':
|
|
147
|
+
case 'exec':
|
|
148
|
+
// Skip user prompt and exec output lines
|
|
149
|
+
break;
|
|
79
150
|
}
|
|
80
151
|
}
|
|
81
152
|
// Parse metadata
|
|
@@ -136,15 +207,61 @@ export function formatCodexResponse(output, includeThinking = true, includeMetad
|
|
|
136
207
|
}
|
|
137
208
|
return formatted;
|
|
138
209
|
}
|
|
139
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Format full execution log from stderr (interactive output).
|
|
212
|
+
* Shows the complete Codex CLI session: metadata, thinking, tool executions, and final response.
|
|
213
|
+
*/
|
|
214
|
+
export function formatCodexResponseFull(output) {
|
|
215
|
+
const stderr = output.rawStderr || '';
|
|
216
|
+
const stdout = output.rawOutput || '';
|
|
217
|
+
if (!stderr.trim() && !stdout.trim()) {
|
|
218
|
+
return '(empty response)';
|
|
219
|
+
}
|
|
220
|
+
let formatted = '';
|
|
221
|
+
// Include metadata header
|
|
222
|
+
if (output.metadata.model || output.metadata.sandbox) {
|
|
223
|
+
formatted += `**Codex Configuration:**\n`;
|
|
224
|
+
if (output.metadata.model)
|
|
225
|
+
formatted += `- Model: ${output.metadata.model}\n`;
|
|
226
|
+
if (output.metadata.sandbox)
|
|
227
|
+
formatted += `- Sandbox: ${output.metadata.sandbox}\n`;
|
|
228
|
+
if (output.metadata.approval)
|
|
229
|
+
formatted += `- Approval: ${output.metadata.approval}\n`;
|
|
230
|
+
if (output.metadata.reasoning_effort)
|
|
231
|
+
formatted += `- Reasoning: ${output.metadata.reasoning_effort}\n`;
|
|
232
|
+
formatted += '\n';
|
|
233
|
+
}
|
|
234
|
+
// Full execution log from stderr
|
|
235
|
+
if (stderr.trim()) {
|
|
236
|
+
formatted += `**Execution Log:**\n`;
|
|
237
|
+
formatted += '```\n' + stderr.trim() + '\n```\n\n';
|
|
238
|
+
}
|
|
239
|
+
// Final response from stdout
|
|
240
|
+
if (stdout.trim()) {
|
|
241
|
+
formatted += `**Final Response:**\n`;
|
|
242
|
+
formatted += stdout.trim();
|
|
243
|
+
}
|
|
244
|
+
// Token usage
|
|
245
|
+
if (output.tokensUsed) {
|
|
246
|
+
formatted += `\n\n*Tokens used: ${output.tokensUsed}*`;
|
|
247
|
+
}
|
|
248
|
+
return formatted;
|
|
249
|
+
}
|
|
250
|
+
export function formatCodexResponseForMCP(result, includeThinking = true, includeMetadata = true, stderr, responseMode = 'clean') {
|
|
140
251
|
// Try to parse the output first
|
|
141
252
|
try {
|
|
142
|
-
const parsed = parseCodexOutput(result);
|
|
253
|
+
const parsed = parseCodexOutput(result, stderr);
|
|
254
|
+
if (responseMode === 'full') {
|
|
255
|
+
return formatCodexResponseFull(parsed);
|
|
256
|
+
}
|
|
143
257
|
return formatCodexResponse(parsed, includeThinking, includeMetadata);
|
|
144
258
|
}
|
|
145
259
|
catch {
|
|
146
|
-
// If parsing fails, return the raw output
|
|
147
|
-
|
|
260
|
+
// If parsing fails, return the raw output (prefer non-empty source)
|
|
261
|
+
if (responseMode === 'full' && stderr?.trim()) {
|
|
262
|
+
return `**Execution Log:**\n\`\`\`\n${stderr.trim()}\n\`\`\`\n\n**Final Response:**\n${result.trim() || '(empty)'}`;
|
|
263
|
+
}
|
|
264
|
+
return result.trim() || stderr?.trim() || result;
|
|
148
265
|
}
|
|
149
266
|
}
|
|
150
267
|
export function extractCodeBlocks(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.js","sourceRoot":"","sources":["../../src/utils/outputParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"outputParser.js","sourceRoot":"","sources":["../../src/utils/outputParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.x51xxx/codex-mcp-tool",
|
|
4
|
-
"description": "MCP server bridging
|
|
4
|
+
"description": "MCP server bridging AI assistants to OpenAI Codex CLI for code analysis and review",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/x51xxx/codex-mcp-tool",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.3.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@trishchuk/codex-mcp-tool",
|
|
14
|
-
"version": "2.
|
|
14
|
+
"version": "2.3.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|