@maxanatsko/gemini-mcp-tool 3.0.0 → 3.0.1

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 (67) hide show
  1. package/README.md +13 -13
  2. package/dist/backends/codex.d.ts +1 -1
  3. package/dist/backends/codex.d.ts.map +1 -1
  4. package/dist/backends/codex.js +66 -42
  5. package/dist/backends/codex.js.map +1 -1
  6. package/dist/backends/gemini.d.ts.map +1 -1
  7. package/dist/backends/gemini.js +10 -62
  8. package/dist/backends/gemini.js.map +1 -1
  9. package/dist/constants.d.ts +10 -5
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +10 -5
  12. package/dist/constants.js.map +1 -1
  13. package/dist/index.js +38 -34
  14. package/dist/index.js.map +1 -1
  15. package/dist/tools/ask.tool.d.ts.map +1 -1
  16. package/dist/tools/ask.tool.js +7 -1
  17. package/dist/tools/ask.tool.js.map +1 -1
  18. package/dist/tools/brainstorm.tool.d.ts.map +1 -1
  19. package/dist/tools/brainstorm.tool.js +7 -1
  20. package/dist/tools/brainstorm.tool.js.map +1 -1
  21. package/dist/tools/registry.d.ts +17 -0
  22. package/dist/tools/registry.d.ts.map +1 -1
  23. package/dist/tools/registry.js +6 -1
  24. package/dist/tools/registry.js.map +1 -1
  25. package/dist/tools/review-code.tool.d.ts.map +1 -1
  26. package/dist/tools/review-code.tool.js +43 -3
  27. package/dist/tools/review-code.tool.js.map +1 -1
  28. package/dist/tools/timeout-test.tool.d.ts.map +1 -1
  29. package/dist/tools/timeout-test.tool.js +6 -0
  30. package/dist/tools/timeout-test.tool.js.map +1 -1
  31. package/dist/utils/changeModeInstructions.d.ts +17 -0
  32. package/dist/utils/changeModeInstructions.d.ts.map +1 -0
  33. package/dist/utils/changeModeInstructions.js +100 -0
  34. package/dist/utils/changeModeInstructions.js.map +1 -0
  35. package/dist/utils/commandExecutor.d.ts.map +1 -1
  36. package/dist/utils/commandExecutor.js +2 -1
  37. package/dist/utils/commandExecutor.js.map +1 -1
  38. package/dist/utils/envAllowlist.d.ts +17 -0
  39. package/dist/utils/envAllowlist.d.ts.map +1 -0
  40. package/dist/utils/envAllowlist.js +54 -0
  41. package/dist/utils/envAllowlist.js.map +1 -0
  42. package/dist/utils/geminiExecutor.d.ts.map +1 -1
  43. package/dist/utils/geminiExecutor.js +2 -61
  44. package/dist/utils/geminiExecutor.js.map +1 -1
  45. package/dist/utils/reviewFormatter.d.ts +1 -1
  46. package/dist/utils/reviewFormatter.d.ts.map +1 -1
  47. package/dist/utils/reviewFormatter.js +6 -3
  48. package/dist/utils/reviewFormatter.js.map +1 -1
  49. package/dist/utils/reviewPromptBuilder.d.ts +1 -1
  50. package/dist/utils/reviewPromptBuilder.d.ts.map +1 -1
  51. package/dist/utils/reviewResponseParser.d.ts +1 -1
  52. package/dist/utils/reviewResponseParser.d.ts.map +1 -1
  53. package/dist/utils/sessionManager.d.ts +1 -0
  54. package/dist/utils/sessionManager.d.ts.map +1 -1
  55. package/dist/utils/sessionManager.js +47 -44
  56. package/dist/utils/sessionManager.js.map +1 -1
  57. package/dist/utils/sessionSchemas.d.ts +31 -34
  58. package/dist/utils/sessionSchemas.d.ts.map +1 -1
  59. package/package.json +9 -13
  60. package/dist/tools/ask-gemini.tool.d.ts +0 -3
  61. package/dist/tools/ask-gemini.tool.d.ts.map +0 -1
  62. package/dist/tools/ask-gemini.tool.js +0 -70
  63. package/dist/tools/ask-gemini.tool.js.map +0 -1
  64. package/dist/utils/askGeminiSessionManager.d.ts +0 -57
  65. package/dist/utils/askGeminiSessionManager.d.ts.map +0 -1
  66. package/dist/utils/askGeminiSessionManager.js +0 -110
  67. package/dist/utils/askGeminiSessionManager.js.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Gemini MCP Tool
1
+ # AI CLI MCP Server
2
2
 
3
3
  <br>
4
4
 
@@ -7,17 +7,17 @@
7
7
  │ │
8
8
  │ Model Context Protocol server for Gemini CLI + Codex CLI │
9
9
  │ │
10
- │ Claude ──────────────── Gemini
10
+ │ Claude ──────────── Gemini / Codex
11
11
  │ │
12
- │ Leverage Gemini's massive token window
13
- │ for large file and codebase analysis
12
+ │ Leverage Gemini's massive token window or Codex's
13
+ advanced reasoning for large file and codebase analysis
14
14
  │ │
15
15
  └─────────────────────────────────────────────────────────────────┘
16
16
  ```
17
17
 
18
18
  <br>
19
19
 
20
- **Version** `2.1.0`
20
+ **Version** `3.0.0`
21
21
  **License** `MIT`
22
22
 
23
23
  ---
@@ -44,7 +44,7 @@ Google Gemini CLI (configured)
44
44
  ### Recommended
45
45
 
46
46
  ```bash
47
- claude mcp add gemini-cli -- npx -y maxanatsko/gemini-mcp-tool
47
+ claude mcp add ai-cli -- npx -y @maxanatsko/ai-cli-mcp-server
48
48
  ```
49
49
 
50
50
  <br>
@@ -52,14 +52,14 @@ claude mcp add gemini-cli -- npx -y maxanatsko/gemini-mcp-tool
52
52
  ### Local Development
53
53
 
54
54
  ```bash
55
- git clone https://github.com/maxanatsko/gemini-mcp-tool.git
56
- cd gemini-mcp-tool
55
+ git clone https://github.com/maxanatsko/ai-cli-mcp-server.git
56
+ cd ai-cli-mcp-server
57
57
 
58
58
  npm install
59
59
  npm run build
60
60
  npm link
61
61
 
62
- claude mcp add gemini-cli -- gemini-mcp
62
+ claude mcp add ai-cli -- ai-cli-mcp
63
63
  ```
64
64
 
65
65
  <br>
@@ -85,9 +85,9 @@ claude mcp add gemini-cli -- gemini-mcp
85
85
  ```json
86
86
  {
87
87
  "mcpServers": {
88
- "gemini-cli": {
88
+ "ai-cli": {
89
89
  "command": "npx",
90
- "args": ["-y", "maxanatsko/gemini-mcp-tool"]
90
+ "args": ["-y", "@maxanatsko/ai-cli-mcp-server"]
91
91
  }
92
92
  }
93
93
  }
@@ -190,9 +190,9 @@ changeMode Optional Structured edit suggestions
190
190
 
191
191
  <br>
192
192
 
193
- [Documentation](https://jamubc.github.io/gemini-mcp-tool/)
193
+ [Documentation](https://maxanatsko.github.io/ai-cli-mcp-server/)
194
194
  [Original Project](https://github.com/jamubc/gemini-mcp-tool)
195
- [This Fork](https://github.com/maxanatsko/gemini-mcp-tool)
195
+ [This Fork](https://github.com/maxanatsko/ai-cli-mcp-server)
196
196
 
197
197
  <br>
198
198
 
@@ -16,7 +16,7 @@ export declare class CodexBackend implements BackendExecutor {
16
16
  private buildArgs;
17
17
  /**
18
18
  * Validate that a resolved path is within the allowed workspace
19
- * Prevents path traversal attacks
19
+ * Prevents path traversal attacks including Windows drive letter escapes
20
20
  */
21
21
  private isPathWithinWorkspace;
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAUxF,qBAAa,YAAa,YAAW,eAAe;IAClD,IAAI,EAAE,WAAW,CAAW;IAEtB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC,aAAa,CAAC;IAuBnB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC,SAAS,IAAI,MAAM,EAAE;IAUrB,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,SAAS;IAkDjB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;OAKG;YACW,iBAAiB;IAmL/B,OAAO,CAAC,2BAA2B;IAwBnC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,cAAc;CA4EvB"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYxF,qBAAa,YAAa,YAAW,eAAe;IAClD,IAAI,EAAE,WAAW,CAAW;IAEtB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC,aAAa,CAAC;IA+BnB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,SAAS,IAAI,MAAM,EAAE;IAWrB,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,SAAS;IAoDjB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;OAKG;YACW,iBAAiB;IAmL/B,OAAO,CAAC,2BAA2B;IAInC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkGvB,OAAO,CAAC,cAAc;CAwFvB"}
@@ -10,10 +10,19 @@ import * as fs from 'fs/promises';
10
10
  import { constants as fsConstants } from 'fs';
11
11
  import * as path from 'path';
12
12
  import { Logger } from '../utils/logger.js';
13
- import { CODEX_CLI, CODEX_FILE_REF, CODEX_MODELS, ERROR_MESSAGES } from '../constants.js';
13
+ import { CODEX_CLI, CODEX_FILE_REF, CODEX_OUTPUT, CODEX_MODELS, ERROR_MESSAGES } from '../constants.js';
14
+ import { getAllowedEnv } from '../utils/envAllowlist.js';
15
+ import { getChangeModeInstructionsCondensed } from '../utils/changeModeInstructions.js';
14
16
  export class CodexBackend {
15
17
  name = 'codex';
16
18
  async execute(prompt, config, onProgress) {
19
+ // Security: Validate model name to prevent argument injection
20
+ if (config.model && config.model.startsWith('-')) {
21
+ throw new Error(`Invalid model name: model cannot start with '-'`);
22
+ }
23
+ if (config.codexThreadId && config.codexThreadId.startsWith('-')) {
24
+ throw new Error(`Invalid codex thread id: thread id cannot start with '-'`);
25
+ }
17
26
  // Translate @file references to inline content since Codex doesn't support them
18
27
  const processedPrompt = await this.translateFileRefs(prompt, config.cwd);
19
28
  // Apply changeMode instructions if enabled
@@ -33,13 +42,15 @@ export class CodexBackend {
33
42
  }
34
43
  async isAvailable() {
35
44
  return new Promise((resolve) => {
36
- const child = spawn('which', ['codex'], { shell: true });
45
+ const checker = process.platform === 'win32' ? 'where' : 'which';
46
+ const child = spawn(checker, ['codex']);
37
47
  child.on('close', (code) => resolve(code === 0));
38
48
  child.on('error', () => resolve(false));
39
49
  });
40
50
  }
41
51
  getModels() {
42
52
  return [
53
+ CODEX_MODELS.GPT_5_3_CODEX,
43
54
  CODEX_MODELS.GPT_5_2_CODEX,
44
55
  CODEX_MODELS.GPT_5_1_CODEX_MINI,
45
56
  CODEX_MODELS.GPT_5_1_CODEX_MAX,
@@ -55,14 +66,7 @@ export class CodexBackend {
55
66
  }
56
67
  buildArgs(config) {
57
68
  const args = [];
58
- // Use resume command if we have an existing thread ID
59
- // `codex resume <threadId>` is a separate top-level command, not a subcommand of exec
60
- if (config.codexThreadId) {
61
- args.push(CODEX_CLI.COMMANDS.RESUME, config.codexThreadId);
62
- }
63
- else {
64
- args.push(CODEX_CLI.COMMANDS.EXEC);
65
- }
69
+ // Codex parses approval/sandbox options as global flags; place before subcommands.
66
70
  if (config.model) {
67
71
  args.push(CODEX_CLI.FLAGS.MODEL, config.model);
68
72
  }
@@ -84,9 +88,14 @@ export class CodexBackend {
84
88
  Logger.warn('⚠️ SECURITY: Codex full filesystem access enabled (danger-full-access)');
85
89
  }
86
90
  args.push(CODEX_CLI.FLAGS.SANDBOX, sandboxMode);
87
- // Reasoning effort (defaults to medium if not specified)
91
+ // Reasoning effort is configured via --config (not --reasoning-effort) in current Codex CLI.
88
92
  if (config.reasoningEffort) {
89
- args.push(CODEX_CLI.FLAGS.REASONING_EFFORT, config.reasoningEffort);
93
+ args.push(CODEX_CLI.FLAGS.CONFIG, `model_reasoning_effort="${config.reasoningEffort}"`);
94
+ }
95
+ // Use `codex exec` and `codex exec resume <threadId>` for non-interactive mode.
96
+ args.push(CODEX_CLI.COMMANDS.EXEC);
97
+ if (config.codexThreadId) {
98
+ args.push(CODEX_CLI.COMMANDS.RESUME, config.codexThreadId);
90
99
  }
91
100
  // Enable JSON output to capture thread_id
92
101
  args.push(CODEX_CLI.FLAGS.JSON);
@@ -96,15 +105,14 @@ export class CodexBackend {
96
105
  }
97
106
  /**
98
107
  * Validate that a resolved path is within the allowed workspace
99
- * Prevents path traversal attacks
108
+ * Prevents path traversal attacks including Windows drive letter escapes
100
109
  */
101
110
  isPathWithinWorkspace(resolvedPath, workingDir) {
102
- // Normalize both paths to handle any .. or . components
103
111
  const normalizedPath = path.normalize(resolvedPath);
104
112
  const normalizedWorkDir = path.normalize(workingDir);
105
- // Check if the resolved path starts with the working directory
106
- return normalizedPath.startsWith(normalizedWorkDir + path.sep) ||
107
- normalizedPath === normalizedWorkDir;
113
+ const relative = path.relative(normalizedWorkDir, normalizedPath);
114
+ // Check: empty string (workspace root) is allowed, doesn't escape via '..', not absolute (handles Windows drive letters)
115
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
108
116
  }
109
117
  /**
110
118
  * Translate @file references to inline content
@@ -252,34 +260,19 @@ export class CodexBackend {
252
260
  return translated;
253
261
  }
254
262
  applyChangeModeInstructions(prompt) {
255
- return `
256
- [CHANGEMODE INSTRUCTIONS]
257
- You are generating code modifications. Output changes in a structured format that can be applied programmatically.
258
-
259
- OUTPUT FORMAT (follow exactly):
260
- **FILE: [filename]:[line_number]**
261
- \`\`\`
262
- OLD:
263
- [exact code to be replaced]
264
- NEW:
265
- [new code to insert]
266
- \`\`\`
267
-
268
- REQUIREMENTS:
269
- 1. The OLD section must match the file content EXACTLY
270
- 2. Include enough context to make the match unique
271
- 3. Provide complete, functional replacement code
272
-
273
- USER REQUEST:
274
- ${prompt}
275
- `;
263
+ return getChangeModeInstructionsCondensed(prompt);
276
264
  }
277
265
  /**
278
266
  * Parse JSONL output from Codex CLI
279
267
  * Extracts thread_id from thread.started event and response text from message events
280
268
  */
281
269
  parseJsonOutput(jsonlOutput) {
282
- const lines = jsonlOutput.trim().split('\n');
270
+ const allLines = jsonlOutput.trim().split('\n');
271
+ // Defensive line limit to prevent DoS via massive JSONL output
272
+ const lines = allLines.slice(0, CODEX_OUTPUT.MAX_JSONL_LINES);
273
+ if (allLines.length >= CODEX_OUTPUT.MAX_JSONL_LINES) {
274
+ Logger.warn(`Truncated JSONL output to ${CODEX_OUTPUT.MAX_JSONL_LINES} lines`);
275
+ }
283
276
  let threadId;
284
277
  const responseChunks = [];
285
278
  for (const line of lines) {
@@ -297,6 +290,26 @@ ${prompt}
297
290
  if (event.type === 'item.agent_message' && event.content) {
298
291
  responseChunks.push(event.content);
299
292
  }
293
+ // Newer Codex JSONL emits completed items with nested payload.
294
+ // Example: {"type":"item.completed","item":{"type":"agent_message","text":"..."}}
295
+ if (event.type === 'item.completed' && event.item) {
296
+ const item = event.item;
297
+ if (item.type === 'agent_message') {
298
+ if (typeof item.text === 'string') {
299
+ responseChunks.push(item.text);
300
+ }
301
+ else if (typeof item.content === 'string') {
302
+ responseChunks.push(item.content);
303
+ }
304
+ else if (Array.isArray(item.content)) {
305
+ for (const part of item.content) {
306
+ if (part?.type === 'text' && part.text) {
307
+ responseChunks.push(part.text);
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
300
313
  // Also check for message content in turn.completed
301
314
  if (event.type === 'turn.completed' && event.output) {
302
315
  if (typeof event.output === 'string') {
@@ -348,7 +361,7 @@ ${prompt}
348
361
  const startTime = Date.now();
349
362
  Logger.commandExecution('codex', args, startTime);
350
363
  const childProcess = spawn('codex', args, {
351
- env: process.env,
364
+ env: getAllowedEnv(),
352
365
  shell: false,
353
366
  stdio: ['pipe', 'pipe', 'pipe'],
354
367
  cwd: cwd || process.cwd(),
@@ -359,11 +372,22 @@ ${prompt}
359
372
  let stdout = '';
360
373
  let stderr = '';
361
374
  let isResolved = false;
375
+ let outputSizeExceeded = false;
362
376
  childProcess.stdout.on('data', (data) => {
363
- stdout += data.toString();
377
+ // Security: Prevent memory exhaustion from massive output
378
+ if (outputSizeExceeded)
379
+ return;
380
+ const chunk = data.toString();
381
+ if (stdout.length + chunk.length > CODEX_OUTPUT.MAX_OUTPUT_SIZE) {
382
+ Logger.warn(`Output exceeds ${CODEX_OUTPUT.MAX_OUTPUT_SIZE / 1024 / 1024}MB limit, killing process`);
383
+ outputSizeExceeded = true;
384
+ childProcess.kill('SIGTERM');
385
+ return;
386
+ }
387
+ stdout += chunk;
364
388
  // For JSON output, try to parse and report progress from events
365
389
  if (onProgress) {
366
- const newLines = data.toString().split('\n');
390
+ const newLines = chunk.split('\n');
367
391
  for (const line of newLines) {
368
392
  if (!line.trim())
369
393
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/backends/gemini.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AASxF,qBAAa,aAAc,YAAW,eAAe;IACnD,IAAI,EAAE,WAAW,CAAY;IAEvB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC,aAAa,CAAC;IAmDnB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC,SAAS,IAAI,MAAM,EAAE;IASrB,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,2BAA2B;IAiEnC,OAAO,CAAC,cAAc;CAgEvB"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/backends/gemini.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAWxF,qBAAa,aAAc,YAAW,eAAe;IACnD,IAAI,EAAE,WAAW,CAAY;IAEvB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC,aAAa,CAAC;IAwDnB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,SAAS,IAAI,MAAM,EAAE;IASrB,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,cAAc;CAgEvB"}
@@ -4,9 +4,15 @@
4
4
  import { spawn } from 'child_process';
5
5
  import { Logger } from '../utils/logger.js';
6
6
  import { ERROR_MESSAGES, STATUS_MESSAGES, MODELS, CLI } from '../constants.js';
7
+ import { getAllowedEnv } from '../utils/envAllowlist.js';
8
+ import { getChangeModeInstructions } from '../utils/changeModeInstructions.js';
7
9
  export class GeminiBackend {
8
10
  name = 'gemini';
9
11
  async execute(prompt, config, onProgress) {
12
+ // Security: Validate model name to prevent argument injection
13
+ if (config.model && config.model.startsWith('-')) {
14
+ throw new Error(`Invalid model name: model cannot start with '-'`);
15
+ }
10
16
  let processedPrompt = prompt;
11
17
  let usedModel = config.model;
12
18
  // Apply changeMode instructions if enabled
@@ -53,7 +59,8 @@ export class GeminiBackend {
53
59
  }
54
60
  async isAvailable() {
55
61
  return new Promise((resolve) => {
56
- const child = spawn('which', ['gemini'], { shell: true });
62
+ const checker = process.platform === 'win32' ? 'where' : 'which';
63
+ const child = spawn(checker, ['gemini']);
57
64
  child.on('close', (code) => resolve(code === 0));
58
65
  child.on('error', () => resolve(false));
59
66
  });
@@ -95,73 +102,14 @@ export class GeminiBackend {
95
102
  }
96
103
  applyChangeModeInstructions(prompt) {
97
104
  const processedPrompt = prompt.replace(/file:(\S+)/g, '@$1');
98
- return `
99
- [CHANGEMODE INSTRUCTIONS]
100
- You are generating code modifications that will be processed by an automated system. The output format is critical because it enables programmatic application of changes without human intervention.
101
-
102
- INSTRUCTIONS:
103
- 1. Analyze each provided file thoroughly
104
- 2. Identify locations requiring changes based on the user request
105
- 3. For each change, output in the exact format specified
106
- 4. The OLD section must be EXACTLY what appears in the file (copy-paste exact match)
107
- 5. Provide complete, directly replacing code blocks
108
- 6. Verify line numbers are accurate
109
-
110
- CRITICAL REQUIREMENTS:
111
- 1. Output edits in the EXACT format specified below - no deviations
112
- 2. The OLD string MUST be findable with Ctrl+F - it must be a unique, exact match
113
- 3. Include enough surrounding lines to make the OLD string unique
114
- 4. If a string appears multiple times (like </div>), include enough context lines above and below to make it unique
115
- 5. Copy the OLD content EXACTLY as it appears - including all whitespace, indentation, line breaks
116
- 6. Never use partial lines - always include complete lines from start to finish
117
-
118
- OUTPUT FORMAT (follow exactly):
119
- **FILE: [filename]:[line_number]**
120
- \`\`\`
121
- OLD:
122
- [exact code to be replaced - must match file content precisely]
123
- NEW:
124
- [new code to insert - complete and functional]
125
- \`\`\`
126
-
127
- EXAMPLE 1 - Simple unique match:
128
- **FILE: src/utils/helper.js:100**
129
- \`\`\`
130
- OLD:
131
- function getMessage() {
132
- return "Hello World";
133
- }
134
- NEW:
135
- function getMessage() {
136
- return "Hello Universe!";
137
- }
138
- \`\`\`
139
-
140
- EXAMPLE 2 - Common tag needing context:
141
- **FILE: index.html:245**
142
- \`\`\`
143
- OLD:
144
- </div>
145
- </div>
146
- </section>
147
- NEW:
148
- </div>
149
- </footer>
150
- </section>
151
- \`\`\`
152
-
153
- IMPORTANT: The OLD section must be an EXACT copy from the file that can be found with Ctrl+F!
154
-
155
- USER REQUEST:
156
- ${processedPrompt}
157
- `;
105
+ return getChangeModeInstructions(processedPrompt);
158
106
  }
159
107
  executeCommand(args, onProgress, cwd) {
160
108
  return new Promise((resolve, reject) => {
161
109
  const startTime = Date.now();
162
110
  Logger.commandExecution(CLI.COMMANDS.GEMINI, args, startTime);
163
111
  const childProcess = spawn(CLI.COMMANDS.GEMINI, args, {
164
- env: process.env,
112
+ env: getAllowedEnv(),
165
113
  shell: false,
166
114
  stdio: ['ignore', 'pipe', 'pipe'],
167
115
  cwd: cwd || process.cwd(),
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/backends/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/backends/gemini.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,eAAe,EACf,MAAM,EACN,GAAG,EACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,OAAO,aAAa;IACxB,IAAI,GAAgB,QAAQ,CAAC;IAE7B,KAAK,CAAC,OAAO,CACX,MAAc,EACd,MAAqB,EACrB,UAAqC;QAErC,8DAA8D;QAC9D,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,eAAe,GAAG,MAAM,CAAC;QAC7B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAE7B,2CAA2C;QAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACzE,OAAO;gBACL,QAAQ;gBACR,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,cAAc,qBAAqB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClF,UAAU,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAE1C,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBACrE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;gBAEzB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjF,MAAM,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,KAAK,YAAY,CAAC,CAAC;oBACpE,UAAU,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;oBAC5C,OAAO;wBACL,QAAQ;wBACR,OAAO,EAAE,IAAI,CAAC,IAAI;wBAClB,KAAK,EAAE,SAAS;qBACjB,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,MAAM,oBAAoB,GAAG,aAAa,YAAY,KAAK;wBACzD,CAAC,CAAC,aAAa,CAAC,OAAO;wBACvB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,GAAG,oBAAoB,MAAM,CAAC,KAAK,0BAA0B,oBAAoB,EAAE,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO;YACL,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,GAAG;YACV,MAAM,CAAC,KAAK;SACb,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,MAAqB;QACrD,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,sCAAsC;QACtC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YACjE,CAAC,CAAC,IAAI,MAAM,GAAG;YACf,CAAC,CAAC,MAAM,CAAC;QAEX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,2BAA2B,CAAC,MAAc;QAChD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAEO,cAAc,CACpB,IAAc,EACd,UAAqC,EACrC,GAAY;QAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE;gBACpD,GAAG,EAAE,aAAa,EAAE;gBACpB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;aAC1B,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAE3B,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE1B,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;oBACxD,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;oBACnC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;oBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;oBAClB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBACxC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;wBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC;wBACtD,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,IAAI,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC;oBACrF,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -74,13 +74,13 @@ export declare const CODEX_CLI: {
74
74
  readonly RESUME: "resume";
75
75
  };
76
76
  readonly FLAGS: {
77
+ readonly CONFIG: "--config";
77
78
  readonly MODEL: "-m";
78
79
  readonly APPROVAL: "-a";
79
80
  readonly SANDBOX: "-s";
80
81
  readonly FULL_AUTO: "--full-auto";
81
82
  readonly JSON: "--json";
82
83
  readonly STDIN: "-";
83
- readonly REASONING_EFFORT: "--reasoning-effort";
84
84
  };
85
85
  readonly APPROVAL_MODES: {
86
86
  readonly UNTRUSTED: "untrusted";
@@ -105,17 +105,22 @@ export declare const CODEX_FILE_REF: {
105
105
  readonly MAX_TOTAL_BYTES: number;
106
106
  readonly MAX_DIR_ENTRIES: 200;
107
107
  };
108
+ export declare const CODEX_OUTPUT: {
109
+ readonly MAX_OUTPUT_SIZE: number;
110
+ readonly MAX_JSONL_LINES: 10000;
111
+ };
108
112
  export declare const CODEX_MODELS: {
113
+ readonly GPT_5_3_CODEX: "gpt-5.3-codex";
109
114
  readonly GPT_5_2_CODEX: "gpt-5.2-codex";
110
115
  readonly GPT_5_1_CODEX_MINI: "gpt-5.1-codex-mini";
111
116
  readonly GPT_5_1_CODEX_MAX: "gpt-5.1-codex-max";
112
117
  readonly GPT_5_2: "gpt-5.2";
113
118
  readonly GPT_5_1: "gpt-5.1";
114
119
  readonly GPT_5_1_CODEX: "gpt-5.1-codex";
115
- readonly DEFAULT: "gpt-5.2-codex";
120
+ readonly DEFAULT: "gpt-5.3-codex";
116
121
  };
117
122
  export declare const SESSION: {
118
- readonly BASE_DIR: ".gemini-mcp/sessions";
123
+ readonly BASE_DIR: ".ai-cli-mcp/sessions";
119
124
  readonly DEFAULT_TTL: number;
120
125
  readonly DEFAULT_MAX_SESSIONS: 20;
121
126
  readonly DEFAULT_EVICTION_POLICY: "lru";
@@ -123,7 +128,7 @@ export declare const SESSION: {
123
128
  readonly 'review-code': {
124
129
  readonly TTL: number;
125
130
  readonly MAX_SESSIONS: 20;
126
- readonly EVICTION_POLICY: "fifo";
131
+ readonly EVICTION_POLICY: "lru";
127
132
  };
128
133
  readonly ask: {
129
134
  readonly TTL: number;
@@ -146,7 +151,7 @@ export declare const REVIEW: {
146
151
  readonly SESSION: {
147
152
  readonly TTL: number;
148
153
  readonly MAX_SESSIONS: 20;
149
- readonly CACHE_DIR_NAME: "gemini-mcp-review-sessions";
154
+ readonly CACHE_DIR_NAME: "ai-cli-mcp-review-sessions";
150
155
  };
151
156
  readonly TYPES: {
152
157
  readonly SECURITY: "security";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,YAAY,CAAC;AAGpC,eAAO,MAAM,cAAc;;;;;;;;;;;;CAajB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;CASlB,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAGX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAuBX,CAAC;AAIX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;CAoBN,CAAC;AAGX,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AAEX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;CAWf,CAAC;AAGX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BV,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDT,CAAC;AAIX,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAG7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;CAC9E"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,YAAY,CAAC;AAGpC,eAAO,MAAM,cAAc;;;;;;;;;;;;CAajB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;CASlB,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAGX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAuBX,CAAC;AAIX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;CAoBN,CAAC;AAGX,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AAEX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;;CAYf,CAAC;AAGX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BV,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDT,CAAC;AAIX,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAG7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;CAC9E"}
package/dist/constants.js CHANGED
@@ -92,13 +92,13 @@ export const CODEX_CLI = {
92
92
  RESUME: 'resume',
93
93
  },
94
94
  FLAGS: {
95
+ CONFIG: '--config',
95
96
  MODEL: '-m',
96
97
  APPROVAL: '-a',
97
98
  SANDBOX: '-s',
98
99
  FULL_AUTO: '--full-auto',
99
100
  JSON: '--json',
100
101
  STDIN: '-',
101
- REASONING_EFFORT: '--reasoning-effort',
102
102
  },
103
103
  APPROVAL_MODES: {
104
104
  UNTRUSTED: 'untrusted',
@@ -123,9 +123,14 @@ export const CODEX_FILE_REF = {
123
123
  MAX_TOTAL_BYTES: 20 * 1024 * 1024, // 20MB total inlined content
124
124
  MAX_DIR_ENTRIES: 200, // Prevent huge directory listings
125
125
  };
126
+ export const CODEX_OUTPUT = {
127
+ MAX_OUTPUT_SIZE: 10 * 1024 * 1024, // 10MB max output to prevent memory exhaustion
128
+ MAX_JSONL_LINES: 10000, // Maximum JSONL lines to parse
129
+ };
126
130
  // Codex Models
127
131
  export const CODEX_MODELS = {
128
132
  // Recommended
133
+ GPT_5_3_CODEX: 'gpt-5.3-codex', // Latest agentic coding model
129
134
  GPT_5_2_CODEX: 'gpt-5.2-codex', // Most advanced agentic coding model
130
135
  GPT_5_1_CODEX_MINI: 'gpt-5.1-codex-mini', // Smaller, cost-effective
131
136
  // Alternatives
@@ -134,11 +139,11 @@ export const CODEX_MODELS = {
134
139
  GPT_5_1: 'gpt-5.1', // Coding and agentic tasks
135
140
  GPT_5_1_CODEX: 'gpt-5.1-codex', // Long-running agentic coding
136
141
  // Default (if not specified, Codex CLI uses its own default)
137
- DEFAULT: 'gpt-5.2-codex',
142
+ DEFAULT: 'gpt-5.3-codex',
138
143
  };
139
144
  // Shared Session Management Constants
140
145
  export const SESSION = {
141
- BASE_DIR: '.gemini-mcp/sessions', // Base directory in user's home
146
+ BASE_DIR: '.ai-cli-mcp/sessions', // Base directory in user's home
142
147
  DEFAULT_TTL: 24 * 60 * 60 * 1000, // 24 hours default
143
148
  DEFAULT_MAX_SESSIONS: 20,
144
149
  DEFAULT_EVICTION_POLICY: 'lru',
@@ -147,7 +152,7 @@ export const SESSION = {
147
152
  'review-code': {
148
153
  TTL: 24 * 60 * 60 * 1000, // 24 hours
149
154
  MAX_SESSIONS: 20,
150
- EVICTION_POLICY: 'fifo'
155
+ EVICTION_POLICY: 'lru'
151
156
  },
152
157
  'ask': {
153
158
  TTL: 7 * 24 * 60 * 60 * 1000, // 7 days
@@ -172,7 +177,7 @@ export const REVIEW = {
172
177
  SESSION: {
173
178
  TTL: 60 * 60 * 1000, // 60 minutes (deprecated)
174
179
  MAX_SESSIONS: 20,
175
- CACHE_DIR_NAME: 'gemini-mcp-review-sessions', // deprecated
180
+ CACHE_DIR_NAME: 'ai-cli-mcp-review-sessions', // deprecated
176
181
  },
177
182
  // Review types
178
183
  TYPES: {