claude-cognitive 0.6.1 → 0.6.4

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 CHANGED
@@ -162,6 +162,34 @@ Each memory bank has personality traits that shape how `reflect()` reasons:
162
162
  | literalism | Flexible interpretation | Precise, literal |
163
163
  | empathy | Fact-focused | Considers emotional context |
164
164
 
165
+ ### Gemini Integration (Optional)
166
+
167
+ If you have the [Gemini CLI](https://github.com/google/gemini-cli) installed, claude-cognitive exposes additional MCP tools for deep code analysis:
168
+
169
+ | Tool | Purpose |
170
+ |------|---------|
171
+ | `gemini_analyze_code` | Security audits, quality reviews, architecture analysis |
172
+ | `gemini_research` | Deep topic research with file context |
173
+ | `gemini_summarize` | Condensing large files or content |
174
+
175
+ ```json
176
+ {
177
+ "gemini": {
178
+ "model": "auto",
179
+ "timeout": 0,
180
+ "maxConcurrentRequests": 3
181
+ }
182
+ }
183
+ ```
184
+
185
+ | Option | Default | Description |
186
+ |--------|---------|-------------|
187
+ | `model` | `"auto"` | Model to use (`"auto"`, `"gemini-3-flash-preview"`, `"gemini-3-pro-preview"`) |
188
+ | `timeout` | `0` | CLI timeout in ms (0 = no timeout) |
189
+ | `maxConcurrentRequests` | `3` | Max parallel Gemini operations |
190
+
191
+ > **Note:** Gemini findings should be verified by reading actual code. Use as a starting point for exploration.
192
+
165
193
  ---
166
194
 
167
195
  ## Graceful Degradation & Offline Mode
@@ -775,7 +775,7 @@ export function registerInstallCommand(cli) {
775
775
  },
776
776
  gemini: {
777
777
  model: "auto",
778
- timeout: 120000,
778
+ timeout: 0,
779
779
  },
780
780
  };
781
781
  await writeFile(rcPath, JSON.stringify(config, null, 2) + "\n");
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/gemini/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiCjD,qBAAa,cAAc;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBxC;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBvD;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IA0EnB;;;OAGG;IACH,OAAO,CAAC,UAAU;CAgEnB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/gemini/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAkCnE,qBAAa,cAAc;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBxC;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBvD;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAqGnB;;;OAGG;IACH,OAAO,CAAC,UAAU;CAgEnB"}
@@ -35,9 +35,10 @@ import { GeminiError } from "./errors.js";
35
35
  /** Valid Gemini models that can be used with the CLI */
36
36
  const VALID_MODELS = [
37
37
  "auto",
38
+ "gemini-3-flash-preview",
39
+ "gemini-3-pro-preview",
38
40
  "gemini-2.5-flash",
39
41
  "gemini-2.5-pro",
40
- "gemini-2.0-flash",
41
42
  ];
42
43
  export class GeminiExecutor {
43
44
  /**
@@ -88,14 +89,14 @@ export class GeminiExecutor {
88
89
  * @throws {GeminiError} On CLI errors, timeout, or execution failure
89
90
  */
90
91
  async execute(options) {
91
- const { prompt, model, timeout } = options;
92
+ const { prompt, model, timeout, onProgress } = options;
92
93
  // Create secure temp file for prompt
93
94
  const tempPath = join(tmpdir(), `gemini-prompt-${randomUUID()}.txt`);
94
95
  try {
95
96
  // Write prompt to temp file with secure permissions (owner read/write only)
96
97
  await writeFile(tempPath, prompt, { mode: 0o600 });
97
98
  // Execute CLI with prompt from stdin
98
- const response = await this.spawnGemini(tempPath, model, timeout);
99
+ const response = await this.spawnGemini(tempPath, model, timeout, onProgress);
99
100
  return response;
100
101
  }
101
102
  finally {
@@ -116,7 +117,7 @@ export class GeminiExecutor {
116
117
  *
117
118
  * @internal
118
119
  */
119
- spawnGemini(promptFile, model, timeout) {
120
+ spawnGemini(promptFile, model, timeout, onProgress) {
120
121
  // Validate model first to prevent injection
121
122
  this.validateModel(model);
122
123
  return new Promise((resolve, reject) => {
@@ -129,11 +130,36 @@ export class GeminiExecutor {
129
130
  let stdout = "";
130
131
  let stderr = "";
131
132
  let timedOut = false;
132
- // Set up timeout handler
133
- const timeoutId = setTimeout(() => {
134
- timedOut = true;
135
- proc.kill("SIGTERM");
136
- }, timeout);
133
+ // Set up timeout handler (only if timeout > 0)
134
+ let timeoutId;
135
+ if (timeout > 0) {
136
+ timeoutId = setTimeout(() => {
137
+ timedOut = true;
138
+ proc.kill("SIGTERM");
139
+ }, timeout);
140
+ }
141
+ // Set up progress notifications (every 30 seconds)
142
+ let progressIntervalId;
143
+ let progressCount = 0;
144
+ const PROGRESS_INTERVAL_MS = 30_000; // 30 seconds
145
+ if (onProgress) {
146
+ progressIntervalId = setInterval(() => {
147
+ progressCount++;
148
+ onProgress({
149
+ progress: progressCount,
150
+ message: `Gemini CLI processing... (${progressCount * 30}s elapsed)`,
151
+ }).catch((err) => {
152
+ console.error("[gemini-executor] Progress notification failed:", err);
153
+ });
154
+ }, PROGRESS_INTERVAL_MS);
155
+ }
156
+ // Helper to cleanup intervals
157
+ const cleanup = () => {
158
+ if (timeoutId)
159
+ clearTimeout(timeoutId);
160
+ if (progressIntervalId)
161
+ clearInterval(progressIntervalId);
162
+ };
137
163
  proc.stdout.on("data", (data) => {
138
164
  stdout += data.toString();
139
165
  });
@@ -141,11 +167,11 @@ export class GeminiExecutor {
141
167
  stderr += data.toString();
142
168
  });
143
169
  proc.on("error", (error) => {
144
- clearTimeout(timeoutId);
170
+ cleanup();
145
171
  reject(this.parseError(error.message, "spawn"));
146
172
  });
147
173
  proc.on("close", (code) => {
148
- clearTimeout(timeoutId);
174
+ cleanup();
149
175
  if (timedOut) {
150
176
  reject(new GeminiError(`Gemini CLI timed out after ${timeout}ms`, "TIMEOUT", { isRetryable: true }));
151
177
  return;
@@ -160,7 +186,7 @@ export class GeminiExecutor {
160
186
  const stream = createReadStream(promptFile);
161
187
  stream.pipe(proc.stdin);
162
188
  stream.on("error", (err) => {
163
- clearTimeout(timeoutId);
189
+ cleanup();
164
190
  proc.kill("SIGTERM");
165
191
  reject(this.parseError(err.message, "spawn"));
166
192
  });
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/gemini/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/gemini/executor.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,11 @@
32
32
  * }
33
33
  * ```
34
34
  */
35
- export type { GeminiModel, GeminiConfig, ExecuteOptions, PromptOptions, GeminiResult, AnalysisType, AnalyzeOptions, ResearchOptions, SummarizeOptions, } from "./types.js";
35
+ export type { GeminiModel, GeminiConfig, ExecuteOptions, PromptOptions, GeminiResult, AnalysisType, AnalyzeOptions, ResearchOptions, SummarizeOptions, ProgressCallback, } from "./types.js";
36
36
  export { DEFAULT_GEMINI_CONFIG } from "./types.js";
37
37
  export type { GeminiErrorCode } from "./errors.js";
38
38
  export { GeminiError } from "./errors.js";
39
39
  export { GeminiExecutor } from "./executor.js";
40
40
  export { GeminiWrapper } from "./wrapper.js";
41
+ export { Semaphore } from "./semaphore.js";
41
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -38,4 +38,6 @@ export { GeminiError } from "./errors.js";
38
38
  export { GeminiExecutor } from "./executor.js";
39
39
  // Wrapper
40
40
  export { GeminiWrapper } from "./wrapper.js";
41
+ // Semaphore
42
+ export { Semaphore } from "./semaphore.js";
41
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAgBH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Async semaphore for controlling concurrent operations.
3
+ * @module gemini/semaphore
4
+ */
5
+ /**
6
+ * Async semaphore that limits concurrent operations.
7
+ *
8
+ * Provides a classic semaphore pattern for Node.js async operations.
9
+ * When all slots are occupied, acquire() returns a promise that resolves
10
+ * when a slot becomes available (FIFO order).
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const semaphore = new Semaphore(3); // Max 3 concurrent
15
+ *
16
+ * async function doWork(id: number) {
17
+ * const release = await semaphore.acquire();
18
+ * try {
19
+ * console.log(`Task ${id} started`);
20
+ * await someAsyncOperation();
21
+ * } finally {
22
+ * release(); // Always release, even on error
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare class Semaphore {
28
+ private readonly maxConcurrent;
29
+ /** Number of available slots */
30
+ private available;
31
+ /** Queue of waiting acquire() calls (FIFO) */
32
+ private readonly waiting;
33
+ /**
34
+ * Create a new semaphore.
35
+ *
36
+ * @param maxConcurrent - Maximum number of concurrent operations allowed
37
+ * @throws {Error} If maxConcurrent is less than 1
38
+ */
39
+ constructor(maxConcurrent: number);
40
+ /**
41
+ * Acquire a semaphore slot.
42
+ *
43
+ * Returns immediately if a slot is available, otherwise waits until
44
+ * another operation releases a slot. Slots are granted in FIFO order.
45
+ *
46
+ * @returns Promise that resolves to a release function. MUST call
47
+ * the release function when operation completes (use finally).
48
+ */
49
+ acquire(): Promise<() => void>;
50
+ /**
51
+ * Release a semaphore slot.
52
+ * @internal - Called via release function returned by acquire()
53
+ */
54
+ private release;
55
+ /**
56
+ * Get current number of available slots.
57
+ */
58
+ get availableSlots(): number;
59
+ /**
60
+ * Get number of operations waiting for a slot.
61
+ */
62
+ get queueLength(): number;
63
+ }
64
+ //# sourceMappingURL=semaphore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/gemini/semaphore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,SAAS;IAaR,OAAO,CAAC,QAAQ,CAAC,aAAa;IAZ1C,gCAAgC;IAChC,OAAO,CAAC,SAAS,CAAS;IAE1B,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD;;;;;OAKG;gBAC0B,aAAa,EAAE,MAAM;IASlD;;;;;;;;OAQG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAe9B;;;OAGG;IACH,OAAO,CAAC,OAAO;IAmBf;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Async semaphore for controlling concurrent operations.
3
+ * @module gemini/semaphore
4
+ */
5
+ /**
6
+ * Async semaphore that limits concurrent operations.
7
+ *
8
+ * Provides a classic semaphore pattern for Node.js async operations.
9
+ * When all slots are occupied, acquire() returns a promise that resolves
10
+ * when a slot becomes available (FIFO order).
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const semaphore = new Semaphore(3); // Max 3 concurrent
15
+ *
16
+ * async function doWork(id: number) {
17
+ * const release = await semaphore.acquire();
18
+ * try {
19
+ * console.log(`Task ${id} started`);
20
+ * await someAsyncOperation();
21
+ * } finally {
22
+ * release(); // Always release, even on error
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export class Semaphore {
28
+ maxConcurrent;
29
+ /** Number of available slots */
30
+ available;
31
+ /** Queue of waiting acquire() calls (FIFO) */
32
+ waiting = [];
33
+ /**
34
+ * Create a new semaphore.
35
+ *
36
+ * @param maxConcurrent - Maximum number of concurrent operations allowed
37
+ * @throws {Error} If maxConcurrent is less than 1
38
+ */
39
+ constructor(maxConcurrent) {
40
+ this.maxConcurrent = maxConcurrent;
41
+ if (maxConcurrent < 1) {
42
+ throw new Error(`Semaphore maxConcurrent must be >= 1, got: ${maxConcurrent}`);
43
+ }
44
+ this.available = maxConcurrent;
45
+ }
46
+ /**
47
+ * Acquire a semaphore slot.
48
+ *
49
+ * Returns immediately if a slot is available, otherwise waits until
50
+ * another operation releases a slot. Slots are granted in FIFO order.
51
+ *
52
+ * @returns Promise that resolves to a release function. MUST call
53
+ * the release function when operation completes (use finally).
54
+ */
55
+ acquire() {
56
+ // If slot available, return immediately (synchronous fast path)
57
+ if (this.available > 0) {
58
+ this.available--;
59
+ return Promise.resolve(() => this.release());
60
+ }
61
+ // No slots available, queue and wait
62
+ return new Promise((resolve) => {
63
+ this.waiting.push(() => {
64
+ resolve(() => this.release());
65
+ });
66
+ });
67
+ }
68
+ /**
69
+ * Release a semaphore slot.
70
+ * @internal - Called via release function returned by acquire()
71
+ */
72
+ release() {
73
+ // If someone is waiting, wake them up immediately
74
+ const nextWaiting = this.waiting.shift();
75
+ if (nextWaiting) {
76
+ nextWaiting();
77
+ return;
78
+ }
79
+ // No one waiting, make slot available
80
+ this.available++;
81
+ // Safety check: should never exceed max
82
+ if (this.available > this.maxConcurrent) {
83
+ throw new Error(`Semaphore corrupted: available (${this.available}) > max (${this.maxConcurrent})`);
84
+ }
85
+ }
86
+ /**
87
+ * Get current number of available slots.
88
+ */
89
+ get availableSlots() {
90
+ return this.available;
91
+ }
92
+ /**
93
+ * Get number of operations waiting for a slot.
94
+ */
95
+ get queueLength() {
96
+ return this.waiting.length;
97
+ }
98
+ }
99
+ //# sourceMappingURL=semaphore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../../src/gemini/semaphore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,SAAS;IAaS;IAZ7B,gCAAgC;IACxB,SAAS,CAAS;IAE1B,8CAA8C;IAC7B,OAAO,GAAsB,EAAE,CAAC;IAEjD;;;;;OAKG;IACH,YAA6B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QAChD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,8CAA8C,aAAa,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO;QACL,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,qCAAqC;QACrC,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,OAAO;QACb,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,aAAa,GAAG,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF"}
@@ -6,15 +6,21 @@
6
6
  * Available Gemini models.
7
7
  * "auto" lets the Gemini CLI choose the best model automatically.
8
8
  */
9
- export type GeminiModel = "auto" | "gemini-2.5-flash" | "gemini-2.5-pro" | "gemini-2.0-flash";
9
+ export type GeminiModel = "auto" | "gemini-3-flash-preview" | "gemini-3-pro-preview" | "gemini-2.5-flash" | "gemini-2.5-pro";
10
10
  /**
11
11
  * Configuration for Gemini CLI wrapper.
12
12
  */
13
13
  export interface GeminiConfig {
14
14
  /** Model to use (default: "auto") */
15
15
  model: GeminiModel;
16
- /** Timeout in milliseconds for CLI execution (default: 120000) */
16
+ /** Timeout in milliseconds for CLI execution (0 = no timeout, default: 0) */
17
17
  timeout: number;
18
+ /**
19
+ * Maximum number of concurrent Gemini CLI requests.
20
+ * Additional requests will queue and wait for a slot.
21
+ * Default: 3
22
+ */
23
+ maxConcurrentRequests: number;
18
24
  }
19
25
  /**
20
26
  * Default configuration for Gemini CLI wrapper.
@@ -23,6 +29,18 @@ export declare const DEFAULT_GEMINI_CONFIG: GeminiConfig;
23
29
  /**
24
30
  * Options for low-level CLI execution.
25
31
  */
32
+ /**
33
+ * Callback for sending progress notifications during long-running operations.
34
+ * Called periodically to prevent timeout on client side.
35
+ */
36
+ export type ProgressCallback = (params: {
37
+ /** Current progress value */
38
+ progress: number;
39
+ /** Optional total value for completion percentage */
40
+ total?: number;
41
+ /** Optional status message */
42
+ message?: string;
43
+ }) => Promise<void>;
26
44
  export interface ExecuteOptions {
27
45
  /** The prompt to send to Gemini */
28
46
  prompt: string;
@@ -30,6 +48,8 @@ export interface ExecuteOptions {
30
48
  model: GeminiModel;
31
49
  /** Timeout in milliseconds */
32
50
  timeout: number;
51
+ /** Optional progress callback for long-running operations */
52
+ onProgress?: ProgressCallback;
33
53
  }
34
54
  /**
35
55
  * Options for high-level prompt operation.
@@ -43,6 +63,8 @@ export interface PromptOptions {
43
63
  model?: GeminiModel;
44
64
  /** Timeout override (default: from config) */
45
65
  timeout?: number;
66
+ /** Optional progress callback for long-running operations */
67
+ onProgress?: ProgressCallback;
46
68
  }
47
69
  /**
48
70
  * Result from Gemini operations.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,CAAC;AAMvB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,EAAE,WAAW,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,aAAa,GACb,SAAS,GACT,cAAc,GACd,eAAe,GACf,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,qBAAqB;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9C,qBAAqB;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  export const DEFAULT_GEMINI_CONFIG = {
9
9
  model: "auto",
10
- timeout: 120_000, // 2 minutes
10
+ timeout: 0, // 0 = no timeout, wait indefinitely
11
+ maxConcurrentRequests: 3,
11
12
  };
12
13
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,OAAO,EAAE,YAAY;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,CAAC,EAAE,oCAAoC;IAChD,qBAAqB,EAAE,CAAC;CACzB,CAAC"}
@@ -45,6 +45,7 @@ export declare class GeminiWrapper {
45
45
  private readonly config;
46
46
  private readonly projectPath;
47
47
  private readonly executor;
48
+ private readonly semaphore;
48
49
  /**
49
50
  * Create a new GeminiWrapper.
50
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/gemini/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C;;;;;;OAMG;gBAED,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,YAAK,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,cAAc;IAO3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAI7C;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB3D;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuE9D;;;;;;;;OAQG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,YAAY,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAoCxB;;;;;;;;OAQG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,MAAiB,GAC9C,OAAO,CAAC,YAAY,CAAC;IAsBxB;;;;;;;;OAQG;IACG,SAAS,CACb,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,WAAsB,GACtD,OAAO,CAAC,YAAY,CAAC;CA+BzB"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/gemini/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC;;;;;;OAMG;gBAED,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,YAAK,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,cAAc;IAW3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAI7C;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA4B3D;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuE9D;;;;;;;;OAQG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,YAAY,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAoCxB;;;;;;;;OAQG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,MAAiB,GAC9C,OAAO,CAAC,YAAY,CAAC;IAsBxB;;;;;;;;OAQG;IACG,SAAS,CACb,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,WAAsB,GACtD,OAAO,CAAC,YAAY,CAAC;CA+BzB"}
@@ -6,6 +6,7 @@ import { readFile, stat, realpath } from "node:fs/promises";
6
6
  import { resolve, relative, isAbsolute } from "node:path";
7
7
  import { GeminiError } from "./errors.js";
8
8
  import { GeminiExecutor } from "./executor.js";
9
+ import { Semaphore } from "./semaphore.js";
9
10
  import { DEFAULT_GEMINI_CONFIG, } from "./types.js";
10
11
  /** Maximum file size in bytes (10MB) */
11
12
  const MAX_FILE_SIZE = 10 * 1024 * 1024;
@@ -50,6 +51,7 @@ export class GeminiWrapper {
50
51
  config;
51
52
  projectPath;
52
53
  executor;
54
+ semaphore;
53
55
  /**
54
56
  * Create a new GeminiWrapper.
55
57
  *
@@ -61,6 +63,10 @@ export class GeminiWrapper {
61
63
  this.config = { ...DEFAULT_GEMINI_CONFIG, ...config };
62
64
  this.projectPath = resolve(projectPath);
63
65
  this.executor = executor ?? new GeminiExecutor();
66
+ this.semaphore =
67
+ this.config.maxConcurrentRequests > 0
68
+ ? new Semaphore(this.config.maxConcurrentRequests)
69
+ : new Semaphore(Number.MAX_SAFE_INTEGER);
64
70
  }
65
71
  /**
66
72
  * Check if Gemini CLI is available.
@@ -94,14 +100,22 @@ export class GeminiWrapper {
94
100
  if (options.context) {
95
101
  fullPrompt = `${options.context}\n\n${options.prompt}`;
96
102
  }
97
- const startTime = Date.now();
98
- const response = await this.executor.execute({
99
- prompt: fullPrompt,
100
- model,
101
- timeout,
102
- });
103
- const duration = Date.now() - startTime;
104
- return { response, model, duration };
103
+ // Acquire semaphore slot for rate limiting
104
+ const release = await this.semaphore.acquire();
105
+ try {
106
+ const startTime = Date.now();
107
+ const response = await this.executor.execute({
108
+ prompt: fullPrompt,
109
+ model,
110
+ timeout,
111
+ ...(options.onProgress && { onProgress: options.onProgress }),
112
+ });
113
+ const duration = Date.now() - startTime;
114
+ return { response, model, duration };
115
+ }
116
+ finally {
117
+ release();
118
+ }
105
119
  }
106
120
  /**
107
121
  * Read files with security validation.