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 +28 -0
- package/dist/cli/commands/install.js +1 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/gemini/executor.d.ts.map +1 -1
- package/dist/gemini/executor.js +38 -12
- package/dist/gemini/executor.js.map +1 -1
- package/dist/gemini/index.d.ts +2 -1
- package/dist/gemini/index.d.ts.map +1 -1
- package/dist/gemini/index.js +2 -0
- package/dist/gemini/index.js.map +1 -1
- package/dist/gemini/semaphore.d.ts +64 -0
- package/dist/gemini/semaphore.d.ts.map +1 -0
- package/dist/gemini/semaphore.js +99 -0
- package/dist/gemini/semaphore.js.map +1 -0
- package/dist/gemini/types.d.ts +24 -2
- package/dist/gemini/types.d.ts.map +1 -1
- package/dist/gemini/types.js +2 -1
- package/dist/gemini/types.js.map +1 -1
- package/dist/gemini/wrapper.d.ts +1 -0
- package/dist/gemini/wrapper.d.ts.map +1 -1
- package/dist/gemini/wrapper.js +22 -8
- package/dist/gemini/wrapper.js.map +1 -1
- package/dist/learn/analyzers/gemini.d.ts.map +1 -1
- package/dist/learn/analyzers/gemini.js +1 -1
- package/dist/learn/analyzers/gemini.js.map +1 -1
- package/dist/mcp/gemini-handlers.d.ts +10 -4
- package/dist/mcp/gemini-handlers.d.ts.map +1 -1
- package/dist/mcp/gemini-handlers.js +42 -4
- package/dist/mcp/gemini-handlers.js.map +1 -1
- package/dist/mcp/server.js +8 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mind.d.ts +7 -0
- package/dist/mind.d.ts.map +1 -1
- package/dist/mind.js +51 -0
- package/dist/mind.js.map +1 -1
- package/package.json +1 -1
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
|
|
@@ -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,
|
|
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"}
|
package/dist/gemini/executor.js
CHANGED
|
@@ -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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
|
|
170
|
+
cleanup();
|
|
145
171
|
reject(this.parseError(error.message, "spawn"));
|
|
146
172
|
});
|
|
147
173
|
proc.on("close", (code) => {
|
|
148
|
-
|
|
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
|
-
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wDAAwD;AACxD,MAAM,YAAY,GAAG;IACnB,MAAM;IACN,kBAAkB;IAClB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/gemini/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/gemini/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/gemini/index.js
CHANGED
package/dist/gemini/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gemini/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
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"}
|
package/dist/gemini/types.d.ts
CHANGED
|
@@ -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-
|
|
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:
|
|
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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"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"}
|
package/dist/gemini/types.js
CHANGED
package/dist/gemini/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gemini/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
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"}
|
package/dist/gemini/wrapper.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/gemini/wrapper.js
CHANGED
|
@@ -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
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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.
|