@trishchuk/codex-mcp-tool 1.2.0 → 1.4.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 (54) hide show
  1. package/README.md +84 -170
  2. package/dist/constants.d.ts +12 -0
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +14 -1
  5. package/dist/constants.js.map +1 -1
  6. package/dist/index.js +1 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/tools/ask-codex.tool.d.ts.map +1 -1
  9. package/dist/tools/ask-codex.tool.js +82 -54
  10. package/dist/tools/ask-codex.tool.js.map +1 -1
  11. package/dist/tools/batch-codex.tool.js +1 -1
  12. package/dist/tools/batch-codex.tool.js.map +1 -1
  13. package/dist/tools/health.tool.d.ts +3 -0
  14. package/dist/tools/health.tool.d.ts.map +1 -0
  15. package/dist/tools/health.tool.js +189 -0
  16. package/dist/tools/health.tool.js.map +1 -0
  17. package/dist/tools/index.d.ts.map +1 -1
  18. package/dist/tools/index.js +4 -4
  19. package/dist/tools/index.js.map +1 -1
  20. package/dist/tools/list-sessions.tool.d.ts +3 -0
  21. package/dist/tools/list-sessions.tool.d.ts.map +1 -0
  22. package/dist/tools/list-sessions.tool.js +71 -0
  23. package/dist/tools/list-sessions.tool.js.map +1 -0
  24. package/dist/utils/codexCommandBuilder.d.ts +87 -0
  25. package/dist/utils/codexCommandBuilder.d.ts.map +1 -0
  26. package/dist/utils/codexCommandBuilder.js +285 -0
  27. package/dist/utils/codexCommandBuilder.js.map +1 -0
  28. package/dist/utils/codexExecutor.d.ts +12 -1
  29. package/dist/utils/codexExecutor.d.ts.map +1 -1
  30. package/dist/utils/codexExecutor.js +18 -181
  31. package/dist/utils/codexExecutor.js.map +1 -1
  32. package/dist/utils/commandExecutor.js +3 -3
  33. package/dist/utils/commandExecutor.js.map +1 -1
  34. package/dist/utils/errorTypes.d.ts +74 -0
  35. package/dist/utils/errorTypes.d.ts.map +1 -0
  36. package/dist/utils/errorTypes.js +268 -0
  37. package/dist/utils/errorTypes.js.map +1 -0
  38. package/dist/utils/modelDetection.d.ts +45 -0
  39. package/dist/utils/modelDetection.d.ts.map +1 -0
  40. package/dist/utils/modelDetection.js +148 -0
  41. package/dist/utils/modelDetection.js.map +1 -0
  42. package/dist/utils/sessionStorage.d.ts +79 -0
  43. package/dist/utils/sessionStorage.d.ts.map +1 -0
  44. package/dist/utils/sessionStorage.js +276 -0
  45. package/dist/utils/sessionStorage.js.map +1 -0
  46. package/dist/utils/versionDetection.d.ts +123 -0
  47. package/dist/utils/versionDetection.d.ts.map +1 -0
  48. package/dist/utils/versionDetection.js +188 -0
  49. package/dist/utils/versionDetection.js.map +1 -0
  50. package/dist/utils/workingDirResolver.d.ts +13 -8
  51. package/dist/utils/workingDirResolver.d.ts.map +1 -1
  52. package/dist/utils/workingDirResolver.js +44 -26
  53. package/dist/utils/workingDirResolver.js.map +1 -1
  54. package/package.json +4 -2
@@ -68,34 +68,39 @@ export function findProjectRoot(startPath) {
68
68
  * Ensures that the provided path points to a directory.
69
69
  * If the path is a file, returns its parent directory.
70
70
  * If the path doesn't exist or is invalid, returns undefined.
71
+ * Supports both absolute and relative paths.
71
72
  *
72
- * @param path - The file or directory path
73
+ * @param path - The file or directory path (absolute or relative)
74
+ * @param baseDir - Base directory for resolving relative paths (default: process.cwd())
73
75
  * @returns The directory path, or undefined if invalid
74
76
  */
75
- export function ensureDirectory(path) {
77
+ export function ensureDirectory(path, baseDir = process.cwd()) {
76
78
  if (!path) {
77
79
  return undefined;
78
80
  }
79
81
  try {
82
+ // Resolve to absolute path if relative
83
+ const absolutePath = isAbsolute(path) ? path : resolve(baseDir, path);
84
+ Logger.debug(`Resolving path: ${path} -> ${absolutePath} (base: ${baseDir})`);
80
85
  // Check if path exists
81
- if (!existsSync(path)) {
82
- Logger.debug(`Path does not exist: ${path}`);
86
+ if (!existsSync(absolutePath)) {
87
+ Logger.debug(`Path does not exist: ${absolutePath}`);
83
88
  return undefined;
84
89
  }
85
90
  // Get file stats
86
- const stats = statSync(path);
91
+ const stats = statSync(absolutePath);
87
92
  // If it's a directory, return as-is
88
93
  if (stats.isDirectory()) {
89
- return path;
94
+ return absolutePath;
90
95
  }
91
96
  // If it's a file, return its parent directory
92
97
  if (stats.isFile()) {
93
- const parentDir = dirname(path);
98
+ const parentDir = dirname(absolutePath);
94
99
  Logger.debug(`Path is a file, using parent directory: ${parentDir}`);
95
100
  return parentDir;
96
101
  }
97
102
  // If it's neither file nor directory (symlink, etc.), try to resolve
98
- Logger.debug(`Path is neither file nor directory: ${path}`);
103
+ Logger.debug(`Path is neither file nor directory: ${absolutePath}`);
99
104
  return undefined;
100
105
  }
101
106
  catch (error) {
@@ -104,35 +109,46 @@ export function ensureDirectory(path) {
104
109
  }
105
110
  }
106
111
  /**
107
- * Extract absolute file paths from @path syntax in the prompt.
108
- * Supports both quoted and unquoted paths.
112
+ * Extract file paths from @path syntax in the prompt.
113
+ * Supports both quoted and unquoted paths, absolute and relative.
109
114
  *
110
115
  * Examples:
111
- * - @/absolute/path/to/file.ts
112
- * - @"/path with spaces/file.ts"
113
- * - @'/path with spaces/file.ts'
116
+ * - @/absolute/path/to/file.ts (absolute)
117
+ * - @./relative/path/to/file.ts (relative)
118
+ * - @src/file.ts (relative)
119
+ * - @"path with spaces/file.ts" (quoted, can be absolute or relative)
120
+ * - @'path with spaces/file.ts' (quoted, can be absolute or relative)
114
121
  *
115
122
  * @param prompt - The user prompt that may contain @path references
123
+ * @param baseDir - Base directory for resolving relative paths (default: process.cwd())
116
124
  * @returns Array of absolute paths found in the prompt
117
125
  */
118
- export function extractPathFromAtSyntax(prompt) {
126
+ export function extractPathFromAtSyntax(prompt, baseDir = process.cwd()) {
119
127
  const paths = [];
120
128
  // Pattern 1: Quoted paths with @ prefix: @"path" or @'path'
121
129
  const quotedPathRegex = /@["']([^"']+)["']/g;
122
130
  let match;
123
131
  while ((match = quotedPathRegex.exec(prompt)) !== null) {
124
132
  const path = match[1];
125
- if (isAbsolute(path)) {
126
- paths.push(path);
127
- }
133
+ // Convert to absolute if relative
134
+ const absolutePath = isAbsolute(path) ? path : resolve(baseDir, path);
135
+ paths.push(absolutePath);
136
+ Logger.debug(`Extracted quoted @path: ${path} -> ${absolutePath}`);
128
137
  }
129
- // Pattern 2: Unquoted paths with @ prefix: @/path (no spaces)
130
- const unquotedPathRegex = /@(\/[^\s"']+)/g;
131
- while ((match = unquotedPathRegex.exec(prompt)) !== null) {
138
+ // Pattern 2: Unquoted absolute paths: @/path
139
+ const absolutePathRegex = /@(\/[^\s"']+)/g;
140
+ while ((match = absolutePathRegex.exec(prompt)) !== null) {
132
141
  const path = match[1];
133
- if (isAbsolute(path)) {
134
- paths.push(path);
135
- }
142
+ paths.push(path);
143
+ Logger.debug(`Extracted absolute @path: ${path}`);
144
+ }
145
+ // Pattern 3: Unquoted relative paths: @./path or @../path or @word/path
146
+ const relativePathRegex = /@(\.{1,2}\/[^\s"']+|[a-zA-Z0-9_-]+\/[^\s"']+)/g;
147
+ while ((match = relativePathRegex.exec(prompt)) !== null) {
148
+ const path = match[1];
149
+ const absolutePath = resolve(baseDir, path);
150
+ paths.push(absolutePath);
151
+ Logger.debug(`Extracted relative @path: ${path} -> ${absolutePath}`);
136
152
  }
137
153
  Logger.debug(`Extracted ${paths.length} paths from @syntax: ${paths.join(', ')}`);
138
154
  return paths;
@@ -151,9 +167,11 @@ export function extractPathFromAtSyntax(prompt) {
151
167
  */
152
168
  export function resolveWorkingDirectory(options) {
153
169
  const { workingDir, prompt } = options || {};
170
+ // Get a base directory for resolving relative paths
171
+ const baseDir = process.env['CODEX_MCP_CWD'] || process.env['PWD'] || process.env['INIT_CWD'] || process.cwd();
154
172
  // Priority 1: Explicit workingDir parameter
155
173
  if (workingDir) {
156
- const validDir = ensureDirectory(workingDir);
174
+ const validDir = ensureDirectory(workingDir, baseDir);
157
175
  if (validDir) {
158
176
  Logger.debug(`Using explicit working directory: ${validDir}`);
159
177
  return validDir;
@@ -167,7 +185,7 @@ export function resolveWorkingDirectory(options) {
167
185
  for (const envVar of envVars) {
168
186
  const envValue = process.env[envVar];
169
187
  if (envValue) {
170
- const validDir = ensureDirectory(envValue);
188
+ const validDir = ensureDirectory(envValue, process.cwd());
171
189
  if (validDir) {
172
190
  Logger.debug(`Using environment variable ${envVar}: ${validDir}`);
173
191
  return validDir;
@@ -179,7 +197,7 @@ export function resolveWorkingDirectory(options) {
179
197
  }
180
198
  // Priority 3: Automatic inference from @path syntax
181
199
  if (prompt) {
182
- const paths = extractPathFromAtSyntax(prompt);
200
+ const paths = extractPathFromAtSyntax(prompt, baseDir);
183
201
  for (const path of paths) {
184
202
  if (existsSync(path)) {
185
203
  // Find the project root for this path
@@ -1 +1 @@
1
- {"version":3,"file":"workingDirResolver.js","sourceRoot":"","sources":["../../src/utils/workingDirResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workingDirResolver.js","sourceRoot":"","sources":["../../src/utils/workingDirResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trishchuk/codex-mcp-tool",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "MCP server for Codex CLI integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -53,11 +53,13 @@
53
53
  "LICENSE"
54
54
  ],
55
55
  "dependencies": {
56
- "@modelcontextprotocol/sdk": "^0.6.1",
56
+ "@modelcontextprotocol/sdk": "^1.23.0",
57
+ "cross-spawn": "^7.0.6",
57
58
  "zod": "^3.25.76",
58
59
  "zod-to-json-schema": "^3.24.6"
59
60
  },
60
61
  "devDependencies": {
62
+ "@types/cross-spawn": "^6.0.6",
61
63
  "@types/inquirer": "^9.0.0",
62
64
  "@types/node": "^18.19.124",
63
65
  "archiver": "^7.0.1",