@kenkaiiii/ggcoder 5.23.2 → 5.23.3
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/chat-agents/general.test.js +6 -3
- package/dist/chat-agents/general.test.js.map +1 -1
- package/dist/chat-agents/specialists.test.js +3 -2
- package/dist/chat-agents/specialists.test.js.map +1 -1
- package/dist/core/agent-session-compaction.test.js +4 -7
- package/dist/core/agent-session-compaction.test.js.map +1 -1
- package/dist/core/agent-session-marker-anchors.test.js +4 -7
- package/dist/core/agent-session-marker-anchors.test.js.map +1 -1
- package/dist/core/agent-session-memory-tail.test.js +4 -7
- package/dist/core/agent-session-memory-tail.test.js.map +1 -1
- package/dist/core/agent-session-queue.test.js +4 -7
- package/dist/core/agent-session-queue.test.js.map +1 -1
- package/dist/core/encode-cwd.d.ts +17 -0
- package/dist/core/encode-cwd.d.ts.map +1 -1
- package/dist/core/encode-cwd.js +20 -7
- package/dist/core/encode-cwd.js.map +1 -1
- package/dist/core/encode-cwd.test.js +20 -1
- package/dist/core/encode-cwd.test.js.map +1 -1
- package/dist/core/ideal-review.d.ts.map +1 -1
- package/dist/core/ideal-review.js +6 -1
- package/dist/core/ideal-review.js.map +1 -1
- package/dist/core/ideal-review.test.js +7 -2
- package/dist/core/ideal-review.test.js.map +1 -1
- package/dist/core/lsp/client.d.ts +50 -0
- package/dist/core/lsp/client.d.ts.map +1 -1
- package/dist/core/lsp/client.js +158 -13
- package/dist/core/lsp/client.js.map +1 -1
- package/dist/core/lsp/jsonrpc.d.ts +38 -1
- package/dist/core/lsp/jsonrpc.d.ts.map +1 -1
- package/dist/core/lsp/jsonrpc.js +13 -1
- package/dist/core/lsp/jsonrpc.js.map +1 -1
- package/dist/core/lsp/manager.d.ts.map +1 -1
- package/dist/core/lsp/manager.js +23 -2
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/lsp/manager.test.js +32 -1
- package/dist/core/lsp/manager.test.js.map +1 -1
- package/dist/core/lsp/test-support.d.ts +18 -0
- package/dist/core/lsp/test-support.d.ts.map +1 -0
- package/dist/core/lsp/test-support.js +27 -0
- package/dist/core/lsp/test-support.js.map +1 -0
- package/dist/core/lsp/uri.test.d.ts +2 -0
- package/dist/core/lsp/uri.test.d.ts.map +1 -0
- package/dist/core/lsp/uri.test.js +56 -0
- package/dist/core/lsp/uri.test.js.map +1 -0
- package/dist/core/lsp/windows.test.d.ts +2 -0
- package/dist/core/lsp/windows.test.d.ts.map +1 -0
- package/dist/core/lsp/windows.test.js +251 -0
- package/dist/core/lsp/windows.test.js.map +1 -0
- package/dist/core/mcp/resolve-stdio.d.ts +35 -0
- package/dist/core/mcp/resolve-stdio.d.ts.map +1 -1
- package/dist/core/mcp/resolve-stdio.js +80 -1
- package/dist/core/mcp/resolve-stdio.js.map +1 -1
- package/dist/core/mcp/resolve-stdio.test.js +99 -4
- package/dist/core/mcp/resolve-stdio.test.js.map +1 -1
- package/dist/core/persistent-shell.d.ts +3 -1
- package/dist/core/persistent-shell.d.ts.map +1 -1
- package/dist/core/persistent-shell.js +13 -3
- package/dist/core/persistent-shell.js.map +1 -1
- package/dist/core/process-manager-dev-server-repro.test.js +34 -12
- package/dist/core/process-manager-dev-server-repro.test.js.map +1 -1
- package/dist/core/process-manager.d.ts +1 -1
- package/dist/core/process-manager.d.ts.map +1 -1
- package/dist/core/process-manager.js +23 -13
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/project-discovery.d.ts +10 -0
- package/dist/core/project-discovery.d.ts.map +1 -1
- package/dist/core/project-discovery.js +42 -8
- package/dist/core/project-discovery.js.map +1 -1
- package/dist/core/project-discovery.test.js +102 -1
- package/dist/core/project-discovery.test.js.map +1 -1
- package/dist/core/radio.test.js +4 -1
- package/dist/core/radio.test.js.map +1 -1
- package/dist/core/session-storage.d.ts.map +1 -1
- package/dist/core/session-storage.js +25 -1
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/session-storage.test.js +4 -1
- package/dist/core/session-storage.test.js.map +1 -1
- package/dist/core/skills-routing.test.js +3 -1
- package/dist/core/skills-routing.test.js.map +1 -1
- package/dist/core/speed-benchmark.test.js +9 -3
- package/dist/core/speed-benchmark.test.js.map +1 -1
- package/dist/core/subagent-store.test.js +14 -2
- package/dist/core/subagent-store.test.js.map +1 -1
- package/dist/test-support/fake-home.d.ts +20 -0
- package/dist/test-support/fake-home.d.ts.map +1 -0
- package/dist/test-support/fake-home.js +37 -0
- package/dist/test-support/fake-home.js.map +1 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +7 -3
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/bash.test.js +103 -7
- package/dist/tools/bash.test.js.map +1 -1
- package/dist/tools/edit-robustness.test.js +3 -1
- package/dist/tools/edit-robustness.test.js.map +1 -1
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +4 -1
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +3 -1
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/overflow.test.js +4 -7
- package/dist/tools/overflow.test.js.map +1 -1
- package/dist/tools/path-utils.d.ts +15 -0
- package/dist/tools/path-utils.d.ts.map +1 -1
- package/dist/tools/path-utils.js +17 -0
- package/dist/tools/path-utils.js.map +1 -1
- package/dist/tools/path-utils.test.js +7 -2
- package/dist/tools/path-utils.test.js.map +1 -1
- package/dist/tools/search-code.d.ts.map +1 -1
- package/dist/tools/search-code.js +6 -4
- package/dist/tools/search-code.js.map +1 -1
- package/dist/utils/process.d.ts +26 -3
- package/dist/utils/process.d.ts.map +1 -1
- package/dist/utils/process.js +68 -10
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/process.test.d.ts +2 -0
- package/dist/utils/process.test.d.ts.map +1 -0
- package/dist/utils/process.test.js +42 -0
- package/dist/utils/process.test.js.map +1 -0
- package/package.json +4 -4
package/dist/utils/process.js
CHANGED
|
@@ -1,19 +1,77 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
const DEFAULT_TASKKILL_TIMEOUT_MS = 5_000;
|
|
4
|
+
function getEnvCaseInsensitive(env, name) {
|
|
5
|
+
const wanted = name.toLowerCase();
|
|
6
|
+
return Object.entries(env).find(([key]) => key.toLowerCase() === wanted)?.[1];
|
|
7
|
+
}
|
|
1
8
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
9
|
+
* Absolute path to `taskkill.exe`.
|
|
10
|
+
*
|
|
11
|
+
* Bare `"taskkill"` depends on `System32` being on PATH — not guaranteed for a
|
|
12
|
+
* GUI-launched app whose PATH we also mutate — and is spoofable by a
|
|
13
|
+
* `taskkill.exe` sitting in the project cwd. Resolve it from `SystemRoot`
|
|
14
|
+
* (falling back to `WINDIR`, then `C:\Windows`), rejecting anything that isn't
|
|
15
|
+
* a plain drive-rooted path.
|
|
4
16
|
*/
|
|
5
|
-
export function
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
export function resolveWindowsTaskkillPath(env = process.env) {
|
|
18
|
+
const normalize = (value) => {
|
|
19
|
+
if (value === undefined)
|
|
20
|
+
return undefined;
|
|
21
|
+
const root = value.trim();
|
|
22
|
+
const unsafe = [...root].some((ch) => ch === ";" || ch.charCodeAt(0) <= 31);
|
|
23
|
+
if (!/^[A-Za-z]:[\\/]/.test(root) || unsafe)
|
|
24
|
+
return undefined;
|
|
25
|
+
return path.win32.normalize(root);
|
|
26
|
+
};
|
|
27
|
+
const systemRoot = normalize(getEnvCaseInsensitive(env, "SystemRoot")) ??
|
|
28
|
+
normalize(getEnvCaseInsensitive(env, "WINDIR")) ??
|
|
29
|
+
"C:\\Windows";
|
|
30
|
+
return path.win32.join(systemRoot, "System32", "taskkill.exe");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Kill a process and every descendant.
|
|
34
|
+
*
|
|
35
|
+
* POSIX: SIGKILL the process group (negative pid), falling back to the single
|
|
36
|
+
* pid. Windows has no process groups and negative pids are invalid there — the
|
|
37
|
+
* POSIX path silently left the whole child tree running, so a timed-out or
|
|
38
|
+
* cancelled `bash` command kept its `npm`/`node`/`pnpm` descendants alive
|
|
39
|
+
* forever. Use `taskkill /T /F` instead, falling back to the direct pid.
|
|
40
|
+
*/
|
|
41
|
+
export function killProcessTree(pid, options = {}) {
|
|
42
|
+
const platform = options.platform ?? process.platform;
|
|
43
|
+
const kill = options.kill ?? process.kill;
|
|
44
|
+
if (platform !== "win32") {
|
|
11
45
|
try {
|
|
12
|
-
|
|
46
|
+
kill(-pid, "SIGKILL");
|
|
47
|
+
return;
|
|
13
48
|
}
|
|
14
49
|
catch {
|
|
15
|
-
|
|
50
|
+
killSingleProcess(pid, kill);
|
|
51
|
+
return;
|
|
16
52
|
}
|
|
17
53
|
}
|
|
54
|
+
const executable = resolveWindowsTaskkillPath(options.env);
|
|
55
|
+
try {
|
|
56
|
+
const result = (options.spawnSync ?? spawnSync)(executable, ["/PID", String(pid), "/T", "/F"], {
|
|
57
|
+
stdio: "ignore",
|
|
58
|
+
windowsHide: true,
|
|
59
|
+
timeout: options.taskkillTimeoutMs ?? DEFAULT_TASKKILL_TIMEOUT_MS,
|
|
60
|
+
});
|
|
61
|
+
if (result.status === 0 && result.error === undefined)
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Fall through to the direct-pid fallback below.
|
|
66
|
+
}
|
|
67
|
+
killSingleProcess(pid, kill);
|
|
68
|
+
}
|
|
69
|
+
function killSingleProcess(pid, kill) {
|
|
70
|
+
try {
|
|
71
|
+
kill(pid, "SIGKILL");
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Process already exited.
|
|
75
|
+
}
|
|
18
76
|
}
|
|
19
77
|
//# sourceMappingURL=process.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.test.d.ts","sourceRoot":"","sources":["../../src/utils/process.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { killProcessTree, resolveWindowsTaskkillPath } from "./process.js";
|
|
3
|
+
describe("resolveWindowsTaskkillPath", () => {
|
|
4
|
+
it("resolves taskkill from SystemRoot", () => {
|
|
5
|
+
expect(resolveWindowsTaskkillPath({ SystemRoot: "C:\\Windows" })).toBe("C:\\Windows\\System32\\taskkill.exe");
|
|
6
|
+
});
|
|
7
|
+
it("is case-insensitive about the env var name and falls back to WINDIR", () => {
|
|
8
|
+
expect(resolveWindowsTaskkillPath({ systemroot: "D:/Win" })).toBe("D:\\Win\\System32\\taskkill.exe");
|
|
9
|
+
expect(resolveWindowsTaskkillPath({ WINDIR: "E:\\W" })).toBe("E:\\W\\System32\\taskkill.exe");
|
|
10
|
+
});
|
|
11
|
+
it("rejects relative or injected roots and falls back to C:\\Windows", () => {
|
|
12
|
+
expect(resolveWindowsTaskkillPath({ SystemRoot: "windows" })).toBe("C:\\Windows\\System32\\taskkill.exe");
|
|
13
|
+
expect(resolveWindowsTaskkillPath({ SystemRoot: "C:\\Win;C:\\evil" })).toBe("C:\\Windows\\System32\\taskkill.exe");
|
|
14
|
+
expect(resolveWindowsTaskkillPath({})).toBe("C:\\Windows\\System32\\taskkill.exe");
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
describe("killProcessTree", () => {
|
|
18
|
+
it("kills the whole tree with taskkill on Windows (never a negative pid)", () => {
|
|
19
|
+
const spawnSync = vi.fn().mockReturnValue({ status: 0 });
|
|
20
|
+
const kill = vi.fn();
|
|
21
|
+
killProcessTree(4242, {
|
|
22
|
+
platform: "win32",
|
|
23
|
+
kill,
|
|
24
|
+
spawnSync: spawnSync,
|
|
25
|
+
env: { SystemRoot: "C:\\Windows" },
|
|
26
|
+
});
|
|
27
|
+
expect(spawnSync).toHaveBeenCalledWith("C:\\Windows\\System32\\taskkill.exe", ["/PID", "4242", "/T", "/F"], expect.objectContaining({ windowsHide: true }));
|
|
28
|
+
expect(kill).not.toHaveBeenCalled();
|
|
29
|
+
});
|
|
30
|
+
it("falls back to the direct pid when taskkill fails", () => {
|
|
31
|
+
const spawnSync = vi.fn().mockReturnValue({ status: 1 });
|
|
32
|
+
const kill = vi.fn();
|
|
33
|
+
killProcessTree(7, { platform: "win32", kill, spawnSync: spawnSync, env: {} });
|
|
34
|
+
expect(kill).toHaveBeenCalledWith(7, "SIGKILL");
|
|
35
|
+
});
|
|
36
|
+
it("signals the process group on POSIX", () => {
|
|
37
|
+
const kill = vi.fn();
|
|
38
|
+
killProcessTree(99, { platform: "darwin", kill });
|
|
39
|
+
expect(kill).toHaveBeenCalledWith(-99, "SIGKILL");
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=process.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.test.js","sourceRoot":"","sources":["../../src/utils/process.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "5.23.
|
|
3
|
+
"version": "5.23.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI coding agent with OAuth authentication for Anthropic, OpenAI, and Gemini",
|
|
6
6
|
"license": "MIT",
|
|
@@ -114,9 +114,9 @@
|
|
|
114
114
|
"typescript-language-server": "^5.3.0",
|
|
115
115
|
"wrap-ansi": "^10.0.0",
|
|
116
116
|
"zod": "^4.4.3",
|
|
117
|
-
"@kenkaiiii/gg-
|
|
118
|
-
"@kenkaiiii/gg-
|
|
119
|
-
"@kenkaiiii/gg-ai": "5.23.
|
|
117
|
+
"@kenkaiiii/gg-agent": "5.23.3",
|
|
118
|
+
"@kenkaiiii/gg-core": "5.23.3",
|
|
119
|
+
"@kenkaiiii/gg-ai": "5.23.3"
|
|
120
120
|
},
|
|
121
121
|
"optionalDependencies": {
|
|
122
122
|
"@huggingface/transformers": "^3.6.0",
|