ai-sdk-provider-gemini-cli-agentic 0.1.3 → 0.1.5
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/dist/index.cjs +13 -32
- package/dist/index.js +9 -32
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var provider = require('@ai-sdk/provider');
|
|
4
4
|
var child_process = require('child_process');
|
|
5
|
+
var treeKill = require('tree-kill');
|
|
5
6
|
var crypto = require('crypto');
|
|
6
7
|
var providerUtils = require('@ai-sdk/provider-utils');
|
|
7
8
|
var zod = require('zod');
|
|
8
9
|
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var treeKill__default = /*#__PURE__*/_interopDefault(treeKill);
|
|
13
|
+
|
|
9
14
|
// src/gemini-cli-provider.ts
|
|
10
15
|
|
|
11
16
|
// src/stream-parser.ts
|
|
@@ -363,30 +368,18 @@ var GeminiCliLanguageModel = class {
|
|
|
363
368
|
stdio: ["pipe", "pipe", "pipe"],
|
|
364
369
|
detached: !isWin
|
|
365
370
|
});
|
|
366
|
-
const killProcessTree = (signal = "SIGTERM") => {
|
|
367
|
-
|
|
368
|
-
if (isWin) {
|
|
369
|
-
child_process.spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], { stdio: "ignore" });
|
|
370
|
-
} else {
|
|
371
|
-
try {
|
|
372
|
-
process.kill(-child.pid, signal);
|
|
373
|
-
} catch {
|
|
374
|
-
child.kill(signal);
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
} else {
|
|
378
|
-
child.kill(signal);
|
|
379
|
-
}
|
|
371
|
+
const killProcessTree = (pid, signal = "SIGTERM") => {
|
|
372
|
+
treeKill__default.default(pid, signal);
|
|
380
373
|
};
|
|
381
374
|
child.stdin.write(promptText);
|
|
382
375
|
child.stdin.end();
|
|
383
376
|
let onAbort;
|
|
384
377
|
if (options.abortSignal) {
|
|
385
378
|
if (options.abortSignal.aborted) {
|
|
386
|
-
killProcessTree();
|
|
379
|
+
child.pid && killProcessTree(child.pid);
|
|
387
380
|
throw options.abortSignal.reason ?? new Error("Request aborted");
|
|
388
381
|
}
|
|
389
|
-
onAbort = () => killProcessTree();
|
|
382
|
+
onAbort = () => child.pid && killProcessTree(child.pid);
|
|
390
383
|
options.abortSignal.addEventListener("abort", onAbort, { once: true });
|
|
391
384
|
}
|
|
392
385
|
const startTime = Date.now();
|
|
@@ -519,20 +512,8 @@ var GeminiCliLanguageModel = class {
|
|
|
519
512
|
stdio: ["pipe", "pipe", "pipe"],
|
|
520
513
|
detached: !isWin
|
|
521
514
|
});
|
|
522
|
-
const killProcessTree = (signal = "SIGTERM") => {
|
|
523
|
-
|
|
524
|
-
if (isWin) {
|
|
525
|
-
child_process.spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], { stdio: "ignore" });
|
|
526
|
-
} else {
|
|
527
|
-
try {
|
|
528
|
-
process.kill(-child.pid, signal);
|
|
529
|
-
} catch {
|
|
530
|
-
child.kill(signal);
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
} else {
|
|
534
|
-
child.kill(signal);
|
|
535
|
-
}
|
|
515
|
+
const killProcessTree = (pid, signal = "SIGTERM") => {
|
|
516
|
+
treeKill__default.default(pid, signal);
|
|
536
517
|
};
|
|
537
518
|
child.stdin.write(promptText);
|
|
538
519
|
child.stdin.end();
|
|
@@ -542,10 +523,10 @@ var GeminiCliLanguageModel = class {
|
|
|
542
523
|
let textId;
|
|
543
524
|
let lastStatus;
|
|
544
525
|
const toolResults = /* @__PURE__ */ new Map();
|
|
545
|
-
const onAbort = () => killProcessTree();
|
|
526
|
+
const onAbort = () => child.pid && killProcessTree(child.pid);
|
|
546
527
|
if (abortSignal) {
|
|
547
528
|
if (abortSignal.aborted) {
|
|
548
|
-
killProcessTree();
|
|
529
|
+
child.pid && killProcessTree(child.pid);
|
|
549
530
|
controller.error(abortSignal.reason ?? new Error("Request aborted"));
|
|
550
531
|
return;
|
|
551
532
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NoSuchModelError, LoadAPIKeyError, APICallError } from '@ai-sdk/provider';
|
|
2
2
|
import { spawn } from 'child_process';
|
|
3
|
+
import treeKill from 'tree-kill';
|
|
3
4
|
import { randomUUID } from 'crypto';
|
|
4
5
|
import { parseProviderOptions, generateId } from '@ai-sdk/provider-utils';
|
|
5
6
|
import { z } from 'zod';
|
|
@@ -361,30 +362,18 @@ var GeminiCliLanguageModel = class {
|
|
|
361
362
|
stdio: ["pipe", "pipe", "pipe"],
|
|
362
363
|
detached: !isWin
|
|
363
364
|
});
|
|
364
|
-
const killProcessTree = (signal = "SIGTERM") => {
|
|
365
|
-
|
|
366
|
-
if (isWin) {
|
|
367
|
-
spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], { stdio: "ignore" });
|
|
368
|
-
} else {
|
|
369
|
-
try {
|
|
370
|
-
process.kill(-child.pid, signal);
|
|
371
|
-
} catch {
|
|
372
|
-
child.kill(signal);
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
} else {
|
|
376
|
-
child.kill(signal);
|
|
377
|
-
}
|
|
365
|
+
const killProcessTree = (pid, signal = "SIGTERM") => {
|
|
366
|
+
treeKill(pid, signal);
|
|
378
367
|
};
|
|
379
368
|
child.stdin.write(promptText);
|
|
380
369
|
child.stdin.end();
|
|
381
370
|
let onAbort;
|
|
382
371
|
if (options.abortSignal) {
|
|
383
372
|
if (options.abortSignal.aborted) {
|
|
384
|
-
killProcessTree();
|
|
373
|
+
child.pid && killProcessTree(child.pid);
|
|
385
374
|
throw options.abortSignal.reason ?? new Error("Request aborted");
|
|
386
375
|
}
|
|
387
|
-
onAbort = () => killProcessTree();
|
|
376
|
+
onAbort = () => child.pid && killProcessTree(child.pid);
|
|
388
377
|
options.abortSignal.addEventListener("abort", onAbort, { once: true });
|
|
389
378
|
}
|
|
390
379
|
const startTime = Date.now();
|
|
@@ -517,20 +506,8 @@ var GeminiCliLanguageModel = class {
|
|
|
517
506
|
stdio: ["pipe", "pipe", "pipe"],
|
|
518
507
|
detached: !isWin
|
|
519
508
|
});
|
|
520
|
-
const killProcessTree = (signal = "SIGTERM") => {
|
|
521
|
-
|
|
522
|
-
if (isWin) {
|
|
523
|
-
spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], { stdio: "ignore" });
|
|
524
|
-
} else {
|
|
525
|
-
try {
|
|
526
|
-
process.kill(-child.pid, signal);
|
|
527
|
-
} catch {
|
|
528
|
-
child.kill(signal);
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
} else {
|
|
532
|
-
child.kill(signal);
|
|
533
|
-
}
|
|
509
|
+
const killProcessTree = (pid, signal = "SIGTERM") => {
|
|
510
|
+
treeKill(pid, signal);
|
|
534
511
|
};
|
|
535
512
|
child.stdin.write(promptText);
|
|
536
513
|
child.stdin.end();
|
|
@@ -540,10 +517,10 @@ var GeminiCliLanguageModel = class {
|
|
|
540
517
|
let textId;
|
|
541
518
|
let lastStatus;
|
|
542
519
|
const toolResults = /* @__PURE__ */ new Map();
|
|
543
|
-
const onAbort = () => killProcessTree();
|
|
520
|
+
const onAbort = () => child.pid && killProcessTree(child.pid);
|
|
544
521
|
if (abortSignal) {
|
|
545
522
|
if (abortSignal.aborted) {
|
|
546
|
-
killProcessTree();
|
|
523
|
+
child.pid && killProcessTree(child.pid);
|
|
547
524
|
controller.error(abortSignal.reason ?? new Error("Request aborted"));
|
|
548
525
|
return;
|
|
549
526
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-sdk-provider-gemini-cli-agentic",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "AI SDK v6 provider for Google Gemini CLI agentic mode",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-sdk",
|
|
@@ -49,7 +49,8 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@ai-sdk/provider": "^3.0.0",
|
|
52
|
-
"@ai-sdk/provider-utils": "^4.0.1"
|
|
52
|
+
"@ai-sdk/provider-utils": "^4.0.1",
|
|
53
|
+
"tree-kill": "^1.2.2"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
55
56
|
"@eslint/js": "^9.28.0",
|