@trishchuk/codex-mcp-tool 1.0.6 ā 1.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 +92 -16
- package/dist/constants.d.ts +64 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +85 -31
- package/dist/constants.js.map +1 -1
- package/dist/index.js +28 -26
- package/dist/index.js.map +1 -1
- package/dist/tools/apply-diff.tool.d.ts +3 -0
- package/dist/tools/apply-diff.tool.d.ts.map +1 -0
- package/dist/tools/apply-diff.tool.js +52 -0
- package/dist/tools/apply-diff.tool.js.map +1 -0
- package/dist/tools/ask-codex.tool.d.ts.map +1 -1
- package/dist/tools/ask-codex.tool.js +171 -33
- package/dist/tools/ask-codex.tool.js.map +1 -1
- package/dist/tools/batch-codex.tool.d.ts +3 -0
- package/dist/tools/batch-codex.tool.d.ts.map +1 -0
- package/dist/tools/batch-codex.tool.js +134 -0
- package/dist/tools/batch-codex.tool.js.map +1 -0
- package/dist/tools/brainstorm.tool.d.ts.map +1 -1
- package/dist/tools/brainstorm.tool.js +62 -29
- package/dist/tools/brainstorm.tool.js.map +1 -1
- package/dist/tools/exec-codex.tool.d.ts +3 -0
- package/dist/tools/exec-codex.tool.d.ts.map +1 -0
- package/dist/tools/exec-codex.tool.js +46 -0
- package/dist/tools/exec-codex.tool.js.map +1 -0
- package/dist/tools/fetch-chunk.tool.d.ts.map +1 -1
- package/dist/tools/fetch-chunk.tool.js +12 -8
- package/dist/tools/fetch-chunk.tool.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry.d.ts +3 -3
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +9 -5
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/review-codex.tool.d.ts +3 -0
- package/dist/tools/review-codex.tool.d.ts.map +1 -0
- package/dist/tools/review-codex.tool.js +91 -0
- package/dist/tools/review-codex.tool.js.map +1 -0
- package/dist/tools/simple-tools.d.ts +1 -0
- package/dist/tools/simple-tools.d.ts.map +1 -1
- package/dist/tools/simple-tools.js +42 -11
- package/dist/tools/simple-tools.js.map +1 -1
- package/dist/tools/test-tool.example.d.ts.map +1 -1
- package/dist/tools/test-tool.example.js +12 -10
- package/dist/tools/test-tool.example.js.map +1 -1
- package/dist/tools/timeout-test.tool.js +5 -5
- package/dist/tools/timeout-test.tool.js.map +1 -1
- package/dist/utils/changeModeChunker.d.ts.map +1 -1
- package/dist/utils/changeModeChunker.js +10 -6
- package/dist/utils/changeModeChunker.js.map +1 -1
- package/dist/utils/changeModeParser.d.ts.map +1 -1
- package/dist/utils/changeModeParser.js.map +1 -1
- package/dist/utils/changeModeRunner.d.ts.map +1 -1
- package/dist/utils/changeModeRunner.js +17 -11
- package/dist/utils/changeModeRunner.js.map +1 -1
- package/dist/utils/changeModeTranslator.d.ts.map +1 -1
- package/dist/utils/changeModeTranslator.js +5 -2
- package/dist/utils/changeModeTranslator.js.map +1 -1
- package/dist/utils/chunkCache.d.ts.map +1 -1
- package/dist/utils/chunkCache.js +6 -4
- package/dist/utils/chunkCache.js.map +1 -1
- package/dist/utils/codexCommandBuilder.d.ts +80 -0
- package/dist/utils/codexCommandBuilder.d.ts.map +1 -0
- package/dist/utils/codexCommandBuilder.js +259 -0
- package/dist/utils/codexCommandBuilder.js.map +1 -0
- package/dist/utils/codexExecutor.d.ts +19 -0
- package/dist/utils/codexExecutor.d.ts.map +1 -1
- package/dist/utils/codexExecutor.js +49 -57
- package/dist/utils/codexExecutor.js.map +1 -1
- package/dist/utils/commandExecutor.d.ts.map +1 -1
- package/dist/utils/commandExecutor.js +25 -17
- package/dist/utils/commandExecutor.js.map +1 -1
- package/dist/utils/fibonacci.d.ts +2 -0
- package/dist/utils/fibonacci.d.ts.map +1 -0
- package/dist/utils/fibonacci.js +17 -0
- package/dist/utils/fibonacci.js.map +1 -0
- package/dist/utils/gitHelper.d.ts +20 -0
- package/dist/utils/gitHelper.d.ts.map +1 -0
- package/dist/utils/gitHelper.js +66 -0
- package/dist/utils/gitHelper.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +21 -15
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/modelDetection.d.ts +45 -0
- package/dist/utils/modelDetection.d.ts.map +1 -0
- package/dist/utils/modelDetection.js +148 -0
- package/dist/utils/modelDetection.js.map +1 -0
- package/dist/utils/outputParser.d.ts +26 -0
- package/dist/utils/outputParser.d.ts.map +1 -0
- package/dist/utils/outputParser.js +174 -0
- package/dist/utils/outputParser.js.map +1 -0
- package/dist/utils/reviewParser.d.ts +28 -0
- package/dist/utils/reviewParser.d.ts.map +1 -0
- package/dist/utils/reviewParser.js +87 -0
- package/dist/utils/reviewParser.js.map +1 -0
- package/dist/utils/versionDetection.d.ts +108 -0
- package/dist/utils/versionDetection.d.ts.map +1 -0
- package/dist/utils/versionDetection.js +160 -0
- package/dist/utils/versionDetection.js.map +1 -0
- package/dist/utils/workingDirResolver.d.ts +52 -0
- package/dist/utils/workingDirResolver.d.ts.map +1 -0
- package/dist/utils/workingDirResolver.js +217 -0
- package/dist/utils/workingDirResolver.js.map +1 -0
- package/package.json +8 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-diff.tool.d.ts","sourceRoot":"","sources":["../../src/tools/apply-diff.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,eAAO,MAAM,aAAa,EAAE,WAsD3B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { executeCodexApply } from '../utils/codexExecutor.js';
|
|
3
|
+
import { STATUS_MESSAGES } from '../constants.js';
|
|
4
|
+
const applyDiffArgsSchema = z.object({
|
|
5
|
+
dryRun: z.boolean().default(false).describe("Preview changes without applying them"),
|
|
6
|
+
validate: z.boolean().default(true).describe("Validate changes before applying"),
|
|
7
|
+
});
|
|
8
|
+
export const applyDiffTool = {
|
|
9
|
+
name: "apply-diff",
|
|
10
|
+
description: "Apply the latest diff produced by Codex agent to the local git repository",
|
|
11
|
+
zodSchema: applyDiffArgsSchema,
|
|
12
|
+
prompt: {
|
|
13
|
+
description: "Apply Codex-generated code changes to your git repository",
|
|
14
|
+
},
|
|
15
|
+
category: 'codex',
|
|
16
|
+
execute: async (args, onProgress) => {
|
|
17
|
+
const { dryRun, validate } = args;
|
|
18
|
+
try {
|
|
19
|
+
if (onProgress) {
|
|
20
|
+
onProgress(STATUS_MESSAGES.APPLYING_DIFF);
|
|
21
|
+
}
|
|
22
|
+
const result = await executeCodexApply({
|
|
23
|
+
dryRun: dryRun,
|
|
24
|
+
validate: validate,
|
|
25
|
+
}, onProgress);
|
|
26
|
+
let response = STATUS_MESSAGES.APPLYING_DIFF + '\n\n';
|
|
27
|
+
if (dryRun) {
|
|
28
|
+
response += '**Dry Run Mode - No changes applied:**\n';
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
response += '**Changes Applied:**\n';
|
|
32
|
+
}
|
|
33
|
+
response += '```\n' + result + '\n```';
|
|
34
|
+
if (!dryRun) {
|
|
35
|
+
response += '\n\nā
Git diff has been successfully applied to your working tree.';
|
|
36
|
+
response += '\n\n*Note: Review the changes and commit them when ready.*';
|
|
37
|
+
}
|
|
38
|
+
return response;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
42
|
+
if (errorMessage.includes('No diff found') || errorMessage.includes('no changes')) {
|
|
43
|
+
return 'ā ļø **No Diff Available**: No recent Codex-generated diff found to apply.\n\nTo generate a diff:\n1. Use `ask-codex` with a code modification request\n2. Then use `apply-diff` to apply the changes';
|
|
44
|
+
}
|
|
45
|
+
if (errorMessage.includes('not a git repository')) {
|
|
46
|
+
return 'ā **Git Repository Required**: This command must be run within a git repository.\n\n```bash\ngit init # Initialize a new repository\n```';
|
|
47
|
+
}
|
|
48
|
+
return `ā **Apply Diff Failed**: ${errorMessage}\n\n**Troubleshooting:**\n- Ensure you're in a git repository\n- Check that Codex has generated a recent diff\n- Verify working tree is clean or conflicts are resolved`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=apply-diff.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-diff.tool.js","sourceRoot":"","sources":["../../src/tools/apply-diff.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,2EAA2E;IACxF,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE;QACN,WAAW,EAAE,2DAA2D;KACzE;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAElC,IAAI,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,MAAM,EAAE,MAAiB;gBACzB,QAAQ,EAAE,QAAmB;aAC9B,EACD,UAAU,CACX,CAAC;YAEF,IAAI,QAAQ,GAAG,eAAe,CAAC,aAAa,GAAG,MAAM,CAAC;YAEtD,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,IAAI,0CAA0C,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,QAAQ,IAAI,wBAAwB,CAAC;YACvC,CAAC;YAED,QAAQ,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;YAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,IAAI,oEAAoE,CAAC;gBACjF,QAAQ,IAAI,4DAA4D,CAAC;YAC3E,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClF,OAAO,qMAAqM,CAAC;YAC/M,CAAC;YAED,IAAI,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAClD,OAAO,2IAA2I,CAAC;YACrJ,CAAC;YAED,OAAO,4BAA4B,YAAY,yKAAyK,CAAC;QAC3N,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-codex.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-codex.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-codex.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-codex.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsG5C,eAAO,MAAM,YAAY,EAAE,WAoJ1B,CAAC"}
|
|
@@ -1,18 +1,43 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { executeCodex } from '../utils/codexExecutor.js';
|
|
3
3
|
import { processChangeModeOutput } from '../utils/changeModeRunner.js';
|
|
4
|
-
import {
|
|
4
|
+
import { formatCodexResponseForMCP } from '../utils/outputParser.js';
|
|
5
|
+
import { MODELS, APPROVAL_POLICIES, ERROR_MESSAGES } from '../constants.js';
|
|
5
6
|
const askCodexArgsSchema = z.object({
|
|
6
|
-
prompt: z
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
prompt: z
|
|
8
|
+
.string()
|
|
9
|
+
.min(1)
|
|
10
|
+
.describe("Task or question. Use @ to include files (e.g., '@largefile.ts explain')."),
|
|
11
|
+
model: z
|
|
12
|
+
.string()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe(`Model: ${Object.values(MODELS).join(', ')}. Default: gpt-5.1-codex-max`),
|
|
15
|
+
sandbox: z
|
|
16
|
+
.boolean()
|
|
17
|
+
.default(false)
|
|
18
|
+
.describe('Quick automation mode: enables workspace-write + on-failure approval. Alias for fullAuto.'),
|
|
19
|
+
fullAuto: z.boolean().optional().describe('Full automation mode'),
|
|
20
|
+
approvalPolicy: z
|
|
21
|
+
.enum(['never', 'on-request', 'on-failure', 'untrusted'])
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Approval: never, on-request, on-failure, untrusted'),
|
|
24
|
+
approval: z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe(`Approval policy: ${Object.values(APPROVAL_POLICIES).join(', ')}`),
|
|
28
|
+
sandboxMode: z
|
|
29
|
+
.enum(['read-only', 'workspace-write', 'danger-full-access'])
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Access: read-only, workspace-write, danger-full-access'),
|
|
32
|
+
yolo: z.boolean().optional().describe('ā ļø Bypass all safety (dangerous)'),
|
|
33
|
+
cd: z.string().optional().describe('Working directory'),
|
|
34
|
+
workingDir: z.string().optional().describe('Working directory for execution'),
|
|
35
|
+
changeMode: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.default(false)
|
|
38
|
+
.describe('Return structured OLD/NEW edits for refactoring'),
|
|
39
|
+
chunkIndex: z
|
|
40
|
+
.preprocess(val => {
|
|
16
41
|
if (typeof val === 'number')
|
|
17
42
|
return val;
|
|
18
43
|
if (typeof val === 'string') {
|
|
@@ -20,41 +45,154 @@ const askCodexArgsSchema = z.object({
|
|
|
20
45
|
return isNaN(parsed) ? undefined : parsed;
|
|
21
46
|
}
|
|
22
47
|
return undefined;
|
|
23
|
-
}, z.number().min(1).optional())
|
|
24
|
-
|
|
48
|
+
}, z.number().min(1).optional())
|
|
49
|
+
.describe('Chunk index (1-based)'),
|
|
50
|
+
chunkCacheKey: z.string().optional().describe('Cache key for continuation'),
|
|
51
|
+
image: z
|
|
52
|
+
.union([z.string(), z.array(z.string())])
|
|
53
|
+
.optional()
|
|
54
|
+
.describe('Optional image file path(s) to include with the prompt'),
|
|
55
|
+
config: z
|
|
56
|
+
.union([z.string(), z.record(z.any())])
|
|
57
|
+
.optional()
|
|
58
|
+
.describe("Configuration overrides as 'key=value' string or object"),
|
|
59
|
+
profile: z.string().optional().describe('Configuration profile to use from ~/.codex/config.toml'),
|
|
60
|
+
timeout: z.number().optional().describe('Maximum execution time in milliseconds (optional)'),
|
|
61
|
+
includeThinking: z
|
|
62
|
+
.boolean()
|
|
63
|
+
.default(true)
|
|
64
|
+
.describe('Include reasoning/thinking section in response'),
|
|
65
|
+
includeMetadata: z.boolean().default(true).describe('Include configuration metadata in response'),
|
|
66
|
+
search: z
|
|
67
|
+
.boolean()
|
|
68
|
+
.optional()
|
|
69
|
+
.describe('Enable web search using native --search flag (v0.52.0+). Requires network access - automatically sets sandbox to workspace-write if not specified.'),
|
|
70
|
+
oss: z
|
|
71
|
+
.boolean()
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('Use local Ollama server (convenience for -c model_provider=oss). Requires Ollama running locally. Automatically sets sandbox to workspace-write if not specified.'),
|
|
74
|
+
enableFeatures: z
|
|
75
|
+
.array(z.string())
|
|
76
|
+
.optional()
|
|
77
|
+
.describe('Enable feature flags (repeatable). Equivalent to -c features.<name>=true'),
|
|
78
|
+
disableFeatures: z
|
|
79
|
+
.array(z.string())
|
|
80
|
+
.optional()
|
|
81
|
+
.describe('Disable feature flags (repeatable). Equivalent to -c features.<name>=false'),
|
|
82
|
+
// New parameters (v1.3.0+)
|
|
83
|
+
addDirs: z
|
|
84
|
+
.array(z.string())
|
|
85
|
+
.optional()
|
|
86
|
+
.describe('Additional writable directories beyond workspace (e.g., ["/tmp", "/var/log"]). Useful for monorepos and multi-directory projects.'),
|
|
87
|
+
toolOutputTokenLimit: z
|
|
88
|
+
.number()
|
|
89
|
+
.min(100)
|
|
90
|
+
.max(10000)
|
|
91
|
+
.optional()
|
|
92
|
+
.describe('Maximum tokens for tool outputs (100-10,000). Controls response verbosity.'),
|
|
25
93
|
});
|
|
26
94
|
export const askCodexTool = {
|
|
27
95
|
name: 'ask-codex',
|
|
28
|
-
description:
|
|
96
|
+
description: 'Execute Codex CLI with file analysis (@syntax), model selection, and safety controls. Supports changeMode.',
|
|
29
97
|
zodSchema: askCodexArgsSchema,
|
|
30
98
|
prompt: {
|
|
31
|
-
description:
|
|
99
|
+
description: 'Execute Codex CLI with optional changeMode',
|
|
32
100
|
},
|
|
33
101
|
category: 'utility',
|
|
34
102
|
execute: async (args, onProgress) => {
|
|
35
|
-
const { prompt, model, sandbox, fullAuto, approvalPolicy, sandboxMode, yolo, cd, changeMode, chunkIndex, chunkCacheKey } = args;
|
|
103
|
+
const { prompt, model, sandbox, fullAuto, approvalPolicy, approval, sandboxMode, yolo, cd, workingDir, changeMode, chunkIndex, chunkCacheKey, image, config, profile, timeout, includeThinking, includeMetadata, search, oss, enableFeatures, disableFeatures, addDirs, toolOutputTokenLimit, } = args;
|
|
104
|
+
if (!prompt?.trim()) {
|
|
105
|
+
throw new Error(ERROR_MESSAGES.NO_PROMPT_PROVIDED);
|
|
106
|
+
}
|
|
36
107
|
if (changeMode && chunkIndex && chunkCacheKey) {
|
|
37
108
|
return processChangeModeOutput('', {
|
|
38
109
|
chunkIndex: chunkIndex,
|
|
39
110
|
cacheKey: chunkCacheKey,
|
|
40
|
-
prompt: prompt
|
|
111
|
+
prompt: prompt,
|
|
41
112
|
});
|
|
42
113
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
114
|
+
try {
|
|
115
|
+
// Use enhanced executeCodex for better feature support
|
|
116
|
+
const result = await executeCodex(prompt, {
|
|
117
|
+
model: model,
|
|
118
|
+
fullAuto: Boolean(fullAuto ?? sandbox),
|
|
119
|
+
approvalPolicy: approvalPolicy,
|
|
120
|
+
approval: approval,
|
|
121
|
+
sandboxMode: sandboxMode,
|
|
122
|
+
yolo: Boolean(yolo),
|
|
123
|
+
cd: cd,
|
|
124
|
+
workingDir: workingDir,
|
|
125
|
+
image,
|
|
126
|
+
config,
|
|
127
|
+
profile: profile,
|
|
128
|
+
timeout: timeout,
|
|
129
|
+
search: search,
|
|
130
|
+
oss: oss,
|
|
131
|
+
enableFeatures: enableFeatures,
|
|
132
|
+
disableFeatures: disableFeatures,
|
|
133
|
+
addDirs: addDirs,
|
|
134
|
+
toolOutputTokenLimit: toolOutputTokenLimit,
|
|
135
|
+
}, onProgress);
|
|
136
|
+
if (changeMode) {
|
|
137
|
+
return processChangeModeOutput(result, {
|
|
138
|
+
chunkIndex: args.chunkIndex,
|
|
139
|
+
prompt: prompt,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Format response with enhanced output parsing
|
|
143
|
+
return formatCodexResponseForMCP(result, includeThinking, includeMetadata);
|
|
56
144
|
}
|
|
57
|
-
|
|
58
|
-
|
|
145
|
+
catch (error) {
|
|
146
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
147
|
+
// Enhanced error handling with helpful context
|
|
148
|
+
if (errorMessage.includes('not found') || errorMessage.includes('command not found')) {
|
|
149
|
+
return `ā **Codex CLI Not Found**: ${ERROR_MESSAGES.CODEX_NOT_FOUND}
|
|
150
|
+
|
|
151
|
+
**Quick Fix:**
|
|
152
|
+
\`\`\`bash
|
|
153
|
+
npm install -g @openai/codex
|
|
154
|
+
\`\`\`
|
|
155
|
+
|
|
156
|
+
**Verification:** Run \`codex --version\` to confirm installation.`;
|
|
157
|
+
}
|
|
158
|
+
if (errorMessage.includes('authentication') || errorMessage.includes('unauthorized')) {
|
|
159
|
+
return `ā **Authentication Failed**: ${ERROR_MESSAGES.AUTHENTICATION_FAILED}
|
|
160
|
+
|
|
161
|
+
**Setup Options:**
|
|
162
|
+
1. **API Key:** \`export OPENAI_API_KEY=your-key\`
|
|
163
|
+
2. **Login:** \`codex login\` (requires ChatGPT subscription)
|
|
164
|
+
|
|
165
|
+
**Troubleshooting:** Verify key has Codex access in OpenAI dashboard.`;
|
|
166
|
+
}
|
|
167
|
+
if (errorMessage.includes('quota') || errorMessage.includes('rate limit')) {
|
|
168
|
+
return `ā **Usage Limit Reached**: ${ERROR_MESSAGES.QUOTA_EXCEEDED}
|
|
169
|
+
|
|
170
|
+
**Solutions:**
|
|
171
|
+
1. Wait and retry - rate limits reset periodically
|
|
172
|
+
2. Check quota in OpenAI dashboard`;
|
|
173
|
+
}
|
|
174
|
+
if (errorMessage.includes('timeout')) {
|
|
175
|
+
return `ā **Request Timeout**: Operation took longer than expected
|
|
176
|
+
|
|
177
|
+
**Solutions:**
|
|
178
|
+
1. Increase timeout: Add \`timeout: 300000\` (5 minutes)
|
|
179
|
+
2. Simplify request: Break complex queries into smaller parts`;
|
|
180
|
+
}
|
|
181
|
+
if (errorMessage.includes('sandbox') || errorMessage.includes('permission')) {
|
|
182
|
+
return `ā **Permission Error**: ${ERROR_MESSAGES.SANDBOX_VIOLATION}
|
|
183
|
+
|
|
184
|
+
**Solutions:**
|
|
185
|
+
1. Relax sandbox: Use \`sandboxMode: "workspace-write"\`
|
|
186
|
+
2. Adjust approval: Try \`approval: "on-request"\``;
|
|
187
|
+
}
|
|
188
|
+
// Generic error with context
|
|
189
|
+
return `ā **Codex Execution Error**: ${errorMessage}
|
|
190
|
+
|
|
191
|
+
**Debug Steps:**
|
|
192
|
+
1. Verify Codex CLI: \`codex --version\`
|
|
193
|
+
2. Check authentication: \`codex login\`
|
|
194
|
+
3. Try simpler query first`;
|
|
195
|
+
}
|
|
196
|
+
},
|
|
59
197
|
};
|
|
60
198
|
//# sourceMappingURL=ask-codex.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-codex.tool.js","sourceRoot":"","sources":["../../src/tools/ask-codex.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"ask-codex.tool.js","sourceRoot":"","sources":["../../src/tools/ask-codex.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-codex.tool.d.ts","sourceRoot":"","sources":["../../src/tools/batch-codex.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAkC5C,eAAO,MAAM,cAAc,EAAE,WA6I5B,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { executeCodex } from '../utils/codexExecutor.js';
|
|
3
|
+
import { MODELS, SANDBOX_MODES } from '../constants.js';
|
|
4
|
+
// Define task type for batch operations
|
|
5
|
+
const batchTaskSchema = z.object({
|
|
6
|
+
task: z.string().describe('Atomic task description'),
|
|
7
|
+
target: z.string().optional().describe('Target files/directories (use @ syntax)'),
|
|
8
|
+
priority: z.enum(['high', 'normal', 'low']).default('normal').describe('Task priority'),
|
|
9
|
+
});
|
|
10
|
+
const batchCodexArgsSchema = z.object({
|
|
11
|
+
tasks: z.array(batchTaskSchema).min(1).describe('Array of atomic tasks to delegate to Codex'),
|
|
12
|
+
model: z
|
|
13
|
+
.string()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe(`Model to use: ${Object.values(MODELS).join(', ')}`),
|
|
16
|
+
sandbox: z
|
|
17
|
+
.string()
|
|
18
|
+
.default(SANDBOX_MODES.WORKSPACE_WRITE)
|
|
19
|
+
.describe(`Sandbox mode: ${Object.values(SANDBOX_MODES).join(', ')}`),
|
|
20
|
+
parallel: z.boolean().default(false).describe('Execute tasks in parallel (experimental)'),
|
|
21
|
+
stopOnError: z.boolean().default(true).describe('Stop execution if any task fails'),
|
|
22
|
+
timeout: z.number().optional().describe('Maximum execution time per task in milliseconds'),
|
|
23
|
+
workingDir: z.string().optional().describe('Working directory for execution'),
|
|
24
|
+
search: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Enable web search for all tasks (activates web_search_request feature)'),
|
|
28
|
+
oss: z.boolean().optional().describe('Use local Ollama server'),
|
|
29
|
+
enableFeatures: z.array(z.string()).optional().describe('Enable feature flags'),
|
|
30
|
+
disableFeatures: z.array(z.string()).optional().describe('Disable feature flags'),
|
|
31
|
+
});
|
|
32
|
+
export const batchCodexTool = {
|
|
33
|
+
name: 'batch-codex',
|
|
34
|
+
description: 'Delegate multiple atomic tasks to Codex for batch processing. Ideal for repetitive operations, mass refactoring, and automated code transformations',
|
|
35
|
+
zodSchema: batchCodexArgsSchema,
|
|
36
|
+
prompt: {
|
|
37
|
+
description: 'Execute multiple atomic Codex tasks in batch mode for efficient automation',
|
|
38
|
+
},
|
|
39
|
+
category: 'codex',
|
|
40
|
+
execute: async (args, onProgress) => {
|
|
41
|
+
const { tasks, model, sandbox, parallel, stopOnError, timeout, workingDir, search, oss, enableFeatures, disableFeatures, } = args;
|
|
42
|
+
const taskList = tasks;
|
|
43
|
+
if (!taskList || taskList.length === 0) {
|
|
44
|
+
throw new Error('No tasks provided for batch execution');
|
|
45
|
+
}
|
|
46
|
+
const results = [];
|
|
47
|
+
let failedCount = 0;
|
|
48
|
+
let successCount = 0;
|
|
49
|
+
// Sort tasks by priority
|
|
50
|
+
const sortedTasks = [...taskList].sort((a, b) => {
|
|
51
|
+
const priorityOrder = { high: 0, normal: 1, low: 2 };
|
|
52
|
+
return (priorityOrder[a.priority] -
|
|
53
|
+
priorityOrder[b.priority]);
|
|
54
|
+
});
|
|
55
|
+
if (onProgress) {
|
|
56
|
+
onProgress(`š Starting batch execution of ${sortedTasks.length} tasks...`);
|
|
57
|
+
}
|
|
58
|
+
// Execute tasks sequentially
|
|
59
|
+
// TODO: Implement parallel execution when parallel flag is true
|
|
60
|
+
for (let i = 0; i < sortedTasks.length; i++) {
|
|
61
|
+
const task = sortedTasks[i];
|
|
62
|
+
const taskPrompt = task.target ? `${task.task} in ${task.target}` : task.task;
|
|
63
|
+
if (onProgress) {
|
|
64
|
+
onProgress(`\n[${i + 1}/${sortedTasks.length}] Executing: ${taskPrompt}`);
|
|
65
|
+
}
|
|
66
|
+
// Skip remaining tasks if stopOnError is true and we have failures
|
|
67
|
+
if (stopOnError && failedCount > 0) {
|
|
68
|
+
results.push({
|
|
69
|
+
task: taskPrompt,
|
|
70
|
+
status: 'skipped',
|
|
71
|
+
error: 'Skipped due to previous failure',
|
|
72
|
+
});
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const result = await executeCodex(taskPrompt, {
|
|
77
|
+
model: model,
|
|
78
|
+
sandboxMode: sandbox,
|
|
79
|
+
timeout: timeout,
|
|
80
|
+
workingDir: workingDir,
|
|
81
|
+
search: search,
|
|
82
|
+
oss: oss,
|
|
83
|
+
enableFeatures: enableFeatures,
|
|
84
|
+
disableFeatures: disableFeatures,
|
|
85
|
+
}, undefined // No progress for individual tasks to keep output clean
|
|
86
|
+
);
|
|
87
|
+
results.push({
|
|
88
|
+
task: taskPrompt,
|
|
89
|
+
status: 'success',
|
|
90
|
+
output: result.substring(0, 500), // Truncate for summary
|
|
91
|
+
});
|
|
92
|
+
successCount++;
|
|
93
|
+
if (onProgress) {
|
|
94
|
+
onProgress(`ā
Completed: ${task.task}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
99
|
+
results.push({
|
|
100
|
+
task: taskPrompt,
|
|
101
|
+
status: 'failed',
|
|
102
|
+
error: errorMessage,
|
|
103
|
+
});
|
|
104
|
+
failedCount++;
|
|
105
|
+
if (onProgress) {
|
|
106
|
+
onProgress(`ā Failed: ${task.task} - ${errorMessage}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Generate summary report
|
|
111
|
+
let report = `\nš **Batch Execution Summary**\n`;
|
|
112
|
+
report += `\n- Total tasks: ${sortedTasks.length}`;
|
|
113
|
+
report += `\n- Successful: ${successCount} ā
`;
|
|
114
|
+
report += `\n- Failed: ${failedCount} ā`;
|
|
115
|
+
report += `\n- Skipped: ${sortedTasks.length - successCount - failedCount} āļø`;
|
|
116
|
+
report += `\n\n**Task Results:**\n`;
|
|
117
|
+
for (const result of results) {
|
|
118
|
+
const icon = result.status === 'success' ? 'ā
' : result.status === 'failed' ? 'ā' : 'āļø';
|
|
119
|
+
report += `\n${icon} **${result.task}**`;
|
|
120
|
+
if (result.status === 'success' && result.output) {
|
|
121
|
+
report += `\n Output: ${result.output.substring(0, 100)}...`;
|
|
122
|
+
}
|
|
123
|
+
else if (result.error) {
|
|
124
|
+
report += `\n Error: ${result.error}`;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// If all tasks failed, throw an error
|
|
128
|
+
if (failedCount === sortedTasks.length) {
|
|
129
|
+
throw new Error(`All ${failedCount} tasks failed. See report above for details.`);
|
|
130
|
+
}
|
|
131
|
+
return report;
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=batch-codex.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-codex.tool.js","sourceRoot":"","sources":["../../src/tools/batch-codex.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainstorm.tool.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"brainstorm.tool.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsJ5C,eAAO,MAAM,cAAc,EAAE,WAqE5B,CAAC"}
|