@kenkaiiii/ggcoder 5.30.1 → 5.30.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/core/agent-session.d.ts +3 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +16 -8
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compactor.d.ts.map +1 -1
- package/dist/core/compaction/compactor.js +7 -3
- package/dist/core/compaction/compactor.js.map +1 -1
- package/dist/core/session-compaction.d.ts +1 -0
- package/dist/core/session-compaction.d.ts.map +1 -1
- package/dist/core/session-compaction.js +1 -0
- package/dist/core/session-compaction.js.map +1 -1
- package/dist/core/session-compaction.test.js +2 -0
- package/dist/core/session-compaction.test.js.map +1 -1
- package/dist/core/session-history.d.ts +18 -0
- package/dist/core/session-history.d.ts.map +1 -1
- package/dist/core/session-history.js +58 -0
- package/dist/core/session-history.js.map +1 -1
- package/dist/core/session-history.test.js +73 -1
- package/dist/core/session-history.test.js.map +1 -1
- package/dist/core/session-manager.d.ts +18 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +66 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-manager.test.js +24 -0
- package/dist/core/session-manager.test.js.map +1 -1
- package/dist/core/subagent-manager.test.js +23 -4
- package/dist/core/subagent-manager.test.js.map +1 -1
- package/dist/modes/acp-mode.d.ts.map +1 -1
- package/dist/modes/acp-mode.js +13 -6
- package/dist/modes/acp-mode.js.map +1 -1
- package/dist/modes/acp-mode.test.js +66 -2
- package/dist/modes/acp-mode.test.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts +3 -0
- package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
- package/dist/modes/subagent-worker-mode.js +88 -10
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.test.d.ts +2 -0
- package/dist/modes/subagent-worker-mode.test.d.ts.map +1 -0
- package/dist/modes/subagent-worker-mode.test.js +52 -0
- package/dist/modes/subagent-worker-mode.test.js.map +1 -0
- package/dist/session.d.ts +6 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +9 -0
- package/dist/session.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +18 -16
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/index.test.d.ts +2 -0
- package/dist/tools/index.test.d.ts.map +1 -0
- package/dist/tools/index.test.js +55 -0
- package/dist/tools/index.test.js.map +1 -0
- package/package.json +4 -4
|
@@ -3,6 +3,28 @@ import { AgentSession } from "../core/agent-session.js";
|
|
|
3
3
|
import { isModelUnavailableError } from "../tools/subagent.js";
|
|
4
4
|
import { boundSubAgentOutput, SUB_AGENT_MAX_TURN_EXTENSIONS, SUB_AGENT_TIMEOUT_MS, } from "../tools/subagent-shared.js";
|
|
5
5
|
import { captureSidecarError, flushSidecarErrors } from "../core/sidecar-error-reporter.js";
|
|
6
|
+
const TIMEOUT_RECOVERY_GRACE_MS = 60_000;
|
|
7
|
+
const TIMEOUT_RECOVERY_PROMPT = `Your execution time limit was reached and the active operation was stopped.
|
|
8
|
+
You have one final 60-second recovery turn. Do not call any tools. Immediately return the best concise answer you can from the evidence already in this conversation. Clearly state what remains incomplete or unverified.`;
|
|
9
|
+
/** One bounded, tool-free chance to turn the durable transcript into a useful result. */
|
|
10
|
+
export async function recoverTimedOutTurn(activeSession, currentOutput, setController) {
|
|
11
|
+
const recoveryOutputStart = currentOutput().length;
|
|
12
|
+
const recoveryController = new AbortController();
|
|
13
|
+
setController(recoveryController);
|
|
14
|
+
activeSession.setSignal(recoveryController.signal);
|
|
15
|
+
const recoveryTimer = setTimeout(() => recoveryController.abort(), TIMEOUT_RECOVERY_GRACE_MS);
|
|
16
|
+
try {
|
|
17
|
+
await activeSession.prompt(TIMEOUT_RECOVERY_PROMPT, { source: "runtime", kind: "completion_gate", visibility: "hidden" }, { disableTools: true });
|
|
18
|
+
return (!recoveryController.signal.aborted &&
|
|
19
|
+
currentOutput().slice(recoveryOutputStart).trim().length > 0);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
clearTimeout(recoveryTimer);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
6
28
|
function emit(frame) {
|
|
7
29
|
process.stdout.write(`${JSON.stringify(frame)}\n`);
|
|
8
30
|
}
|
|
@@ -16,7 +38,10 @@ export async function runSubagentWorkerMode() {
|
|
|
16
38
|
let controller = new AbortController();
|
|
17
39
|
let activeTurn;
|
|
18
40
|
let turnTimer;
|
|
41
|
+
let abortReason;
|
|
19
42
|
let output = "";
|
|
43
|
+
let recoveryOutput = "";
|
|
44
|
+
let recoveringAfterTimeout = false;
|
|
20
45
|
let producedToolCall = false;
|
|
21
46
|
const setState = (next, extra = {}) => {
|
|
22
47
|
state = next;
|
|
@@ -36,8 +61,13 @@ export async function runSubagentWorkerMode() {
|
|
|
36
61
|
"server_tool_result",
|
|
37
62
|
];
|
|
38
63
|
activeSession.eventBus.on("text_delta", (payload) => {
|
|
39
|
-
if (
|
|
64
|
+
if (recoveringAfterTimeout) {
|
|
65
|
+
if (recoveryOutput.length < 200_000)
|
|
66
|
+
recoveryOutput += payload.text;
|
|
67
|
+
}
|
|
68
|
+
else if (output.length < 200_000) {
|
|
40
69
|
output += payload.text;
|
|
70
|
+
}
|
|
41
71
|
emit({ type: "event", event: "text_delta", payload });
|
|
42
72
|
});
|
|
43
73
|
for (const event of forwarded) {
|
|
@@ -70,11 +100,17 @@ export async function runSubagentWorkerMode() {
|
|
|
70
100
|
if (state === "running")
|
|
71
101
|
throw new Error("Worker already has an active turn");
|
|
72
102
|
output = "";
|
|
103
|
+
recoveryOutput = "";
|
|
104
|
+
recoveringAfterTimeout = false;
|
|
73
105
|
producedToolCall = false;
|
|
106
|
+
abortReason = undefined;
|
|
74
107
|
controller = new AbortController();
|
|
75
108
|
session.setSignal(controller.signal);
|
|
76
109
|
setState("running");
|
|
77
|
-
turnTimer = setTimeout(() =>
|
|
110
|
+
turnTimer = setTimeout(() => {
|
|
111
|
+
abortReason = "timeout";
|
|
112
|
+
controller.abort();
|
|
113
|
+
}, SUB_AGENT_TIMEOUT_MS);
|
|
78
114
|
activeTurn = (async () => {
|
|
79
115
|
try {
|
|
80
116
|
await session.prompt(task);
|
|
@@ -82,7 +118,11 @@ export async function runSubagentWorkerMode() {
|
|
|
82
118
|
catch (error) {
|
|
83
119
|
const message = errorMessage(error);
|
|
84
120
|
const fallbackModel = initializeOptions?.fallbackModel;
|
|
85
|
-
if (
|
|
121
|
+
if (abortReason === "timeout") {
|
|
122
|
+
// The timed-out turn remains in the durable child transcript. Continue
|
|
123
|
+
// below with one bounded summary turn using that same context.
|
|
124
|
+
}
|
|
125
|
+
else if (fallbackModel &&
|
|
86
126
|
!controller.signal.aborted &&
|
|
87
127
|
!output &&
|
|
88
128
|
!producedToolCall &&
|
|
@@ -101,31 +141,66 @@ export async function runSubagentWorkerMode() {
|
|
|
101
141
|
}
|
|
102
142
|
}
|
|
103
143
|
clearTimeout(turnTimer);
|
|
104
|
-
|
|
105
|
-
|
|
144
|
+
let recoveredAfterTimeout = false;
|
|
145
|
+
if (abortReason === "timeout") {
|
|
146
|
+
recoveringAfterTimeout = true;
|
|
147
|
+
try {
|
|
148
|
+
recoveredAfterTimeout = await recoverTimedOutTurn(session, () => recoveryOutput, (recoveryController) => {
|
|
149
|
+
controller = recoveryController;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
recoveringAfterTimeout = false;
|
|
154
|
+
}
|
|
155
|
+
if (recoveryOutput.trim()) {
|
|
156
|
+
output += `\n\n[Timeout recovery summary]\n${recoveryOutput}`;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const interrupted = controller.signal.aborted || (abortReason !== undefined && abortReason !== "timeout");
|
|
160
|
+
const timedOut = abortReason === "timeout" && !recoveredAfterTimeout;
|
|
161
|
+
setState(interrupted && !timedOut ? "interrupted" : "idle");
|
|
106
162
|
emit({
|
|
107
163
|
type: "turn_complete",
|
|
108
|
-
status:
|
|
164
|
+
status: recoveredAfterTimeout
|
|
165
|
+
? "completed"
|
|
166
|
+
: timedOut
|
|
167
|
+
? "failed"
|
|
168
|
+
: interrupted
|
|
169
|
+
? "interrupted"
|
|
170
|
+
: "completed",
|
|
109
171
|
output: boundSubAgentOutput(output),
|
|
110
|
-
...(
|
|
172
|
+
...(recoveredAfterTimeout
|
|
173
|
+
? { recovered_after_timeout: true }
|
|
174
|
+
: timedOut
|
|
175
|
+
? {
|
|
176
|
+
error: `Timed out after ${Math.round(SUB_AGENT_TIMEOUT_MS / 60_000)} minutes; recovery summary failed`,
|
|
177
|
+
}
|
|
178
|
+
: interrupted
|
|
179
|
+
? { error: "Interrupted" }
|
|
180
|
+
: {}),
|
|
111
181
|
model: initializeOptions?.model,
|
|
112
182
|
});
|
|
113
183
|
})()
|
|
114
184
|
.catch((error) => {
|
|
115
185
|
clearTimeout(turnTimer);
|
|
116
186
|
const interrupted = controller.signal.aborted;
|
|
187
|
+
const timedOut = abortReason === "timeout";
|
|
117
188
|
if (!interrupted) {
|
|
118
189
|
captureSidecarError(error, "subagent-worker.turn", {
|
|
119
190
|
provider: initializeOptions?.provider ?? "unknown",
|
|
120
191
|
model: initializeOptions?.model ?? "unknown",
|
|
121
192
|
});
|
|
122
193
|
}
|
|
123
|
-
setState(interrupted ? "interrupted" : "idle");
|
|
194
|
+
setState(interrupted && !timedOut ? "interrupted" : "idle");
|
|
124
195
|
emit({
|
|
125
196
|
type: "turn_complete",
|
|
126
|
-
status: interrupted ? "interrupted" : "failed",
|
|
197
|
+
status: timedOut ? "failed" : interrupted ? "interrupted" : "failed",
|
|
127
198
|
output: boundSubAgentOutput(output),
|
|
128
|
-
error:
|
|
199
|
+
error: timedOut
|
|
200
|
+
? `Timed out after ${Math.round(SUB_AGENT_TIMEOUT_MS / 60_000)} minutes; recovery summary failed`
|
|
201
|
+
: interrupted
|
|
202
|
+
? "Interrupted"
|
|
203
|
+
: errorMessage(error),
|
|
129
204
|
model: initializeOptions?.model,
|
|
130
205
|
});
|
|
131
206
|
})
|
|
@@ -172,10 +247,12 @@ export async function runSubagentWorkerMode() {
|
|
|
172
247
|
case "interrupt":
|
|
173
248
|
if (!session || state !== "running")
|
|
174
249
|
throw new Error("Worker is not running");
|
|
250
|
+
abortReason = "interrupt";
|
|
175
251
|
controller.abort();
|
|
176
252
|
acknowledge(command.request_id);
|
|
177
253
|
return;
|
|
178
254
|
case "shutdown":
|
|
255
|
+
abortReason = "shutdown";
|
|
179
256
|
controller.abort();
|
|
180
257
|
await activeTurn?.catch(() => undefined);
|
|
181
258
|
await session?.dispose();
|
|
@@ -206,6 +283,7 @@ export async function runSubagentWorkerMode() {
|
|
|
206
283
|
void handle(command);
|
|
207
284
|
});
|
|
208
285
|
await new Promise((resolve) => lines.once("close", resolve));
|
|
286
|
+
abortReason = "stdin_closed";
|
|
209
287
|
controller.abort();
|
|
210
288
|
await activeTurn?.catch(() => undefined);
|
|
211
289
|
await session?.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-worker-mode.js","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-worker-mode.js","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-worker-mode.test.d.ts","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { recoverTimedOutTurn } from "./subagent-worker-mode.js";
|
|
3
|
+
afterEach(() => {
|
|
4
|
+
vi.useRealTimers();
|
|
5
|
+
});
|
|
6
|
+
describe("subagent timeout recovery", () => {
|
|
7
|
+
it("runs exactly one tools-disabled salvage turn and keeps its summary", async () => {
|
|
8
|
+
let output = "research gathered before timeout\n";
|
|
9
|
+
const setSignal = vi.fn();
|
|
10
|
+
const prompt = vi.fn(async () => {
|
|
11
|
+
output += "best available summary";
|
|
12
|
+
});
|
|
13
|
+
const session = { prompt, setSignal };
|
|
14
|
+
let controller;
|
|
15
|
+
await expect(recoverTimedOutTurn(session, () => output, (next) => {
|
|
16
|
+
controller = next;
|
|
17
|
+
})).resolves.toBe(true);
|
|
18
|
+
expect(prompt).toHaveBeenCalledTimes(1);
|
|
19
|
+
expect(prompt).toHaveBeenCalledWith(expect.stringContaining("one final 60-second recovery turn"), { source: "runtime", kind: "completion_gate", visibility: "hidden" }, { disableTools: true });
|
|
20
|
+
expect(setSignal).toHaveBeenCalledOnce();
|
|
21
|
+
expect(setSignal).toHaveBeenCalledWith(controller?.signal);
|
|
22
|
+
expect(controller?.signal.aborted).toBe(false);
|
|
23
|
+
});
|
|
24
|
+
it("aborts the single salvage turn at exactly 60 seconds", async () => {
|
|
25
|
+
vi.useFakeTimers();
|
|
26
|
+
let activeSignal;
|
|
27
|
+
const setSignal = vi.fn((signal) => {
|
|
28
|
+
activeSignal = signal;
|
|
29
|
+
});
|
|
30
|
+
const prompt = vi.fn(() => new Promise((_resolve, reject) => {
|
|
31
|
+
activeSignal?.addEventListener("abort", () => reject(new Error("aborted")), {
|
|
32
|
+
once: true,
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
const session = { prompt, setSignal };
|
|
36
|
+
let settled = false;
|
|
37
|
+
const recovery = recoverTimedOutTurn(session, () => "research", () => undefined).finally(() => {
|
|
38
|
+
settled = true;
|
|
39
|
+
});
|
|
40
|
+
await vi.advanceTimersByTimeAsync(59_999);
|
|
41
|
+
expect(settled).toBe(false);
|
|
42
|
+
expect(activeSignal?.aborted).toBe(false);
|
|
43
|
+
await vi.advanceTimersByTimeAsync(1);
|
|
44
|
+
await expect(recovery).resolves.toBe(false);
|
|
45
|
+
expect(activeSignal?.aborted).toBe(true);
|
|
46
|
+
expect(prompt).toHaveBeenCalledTimes(1);
|
|
47
|
+
expect(prompt).toHaveBeenCalledWith(expect.any(String), expect.any(Object), {
|
|
48
|
+
disableTools: true,
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=subagent-worker-mode.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-worker-mode.test.js","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,SAAS,CAAC,GAAG,EAAE;IACb,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,IAAI,MAAM,GAAG,oCAAoC,CAAC;QAClD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,wBAAwB,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,SAAS,EAAgC,CAAC;QACpE,IAAI,UAAuC,CAAC;QAE5C,MAAM,MAAM,CACV,mBAAmB,CACjB,OAAO,EACP,GAAG,EAAE,CAAC,MAAM,EACZ,CAAC,IAAI,EAAE,EAAE;YACP,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC,CACF,CACF,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC,mCAAmC,CAAC,EAC5D,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,EACpE,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,YAAqC,CAAC;QAC1C,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAmB,EAAE,EAAE;YAC9C,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAClB,GAAG,EAAE,CACH,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACrC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBAC1E,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CACL,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,SAAS,EAAgC,CAAC;QACpE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,QAAQ,GAAG,mBAAmB,CAClC,OAAO,EACP,GAAG,EAAE,CAAC,UAAU,EAChB,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC,OAAO,CAAC,GAAG,EAAE;YACb,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC1E,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Message } from "@kenkaiiii/gg-ai";
|
|
2
2
|
import type { SessionHeader, SessionEntry, SessionInfo } from "./types.js";
|
|
3
|
-
import { type SessionSummary } from "./core/session-manager.js";
|
|
3
|
+
import { type SessionHeader as ManagedSessionHeader, type SessionSummary } from "./core/session-manager.js";
|
|
4
4
|
export interface Session {
|
|
5
5
|
id: string;
|
|
6
6
|
path: string;
|
|
@@ -11,6 +11,11 @@ export declare function loadSession(sessionPath: string, sessionsDir?: string):
|
|
|
11
11
|
header: SessionHeader;
|
|
12
12
|
messages: Message[];
|
|
13
13
|
}>;
|
|
14
|
+
/** Load every readable checkpoint generation for display replay, oldest first. */
|
|
15
|
+
export declare function loadSessionCheckpointChain(sessionPath: string, sessionsDir?: string): Promise<Array<{
|
|
16
|
+
header: ManagedSessionHeader;
|
|
17
|
+
messages: Message[];
|
|
18
|
+
}>>;
|
|
14
19
|
export declare function listSessions(cwd: string, sessionsDir?: string): Promise<SessionInfo[]>;
|
|
15
20
|
/**
|
|
16
21
|
* One project's sessions, newest first, as lightweight summaries.
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAuB,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AAOnC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,SAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAID,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,SAAc,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAgBzD;AAID,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,SAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAGjG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,SAAc,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,CAG3B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,WAAW,SAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAG1F;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,SAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAID,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,SAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAuB,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAGL,KAAK,aAAa,IAAI,oBAAoB,EAC1C,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AAOnC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,SAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAID,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,SAAc,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAgBzD;AAED,kFAAkF;AAClF,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,SAAc,GACxB,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC,CAOvE;AAID,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,SAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAGjG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,SAAc,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,CAG3B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,WAAW,SAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAG1F;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,SAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAID,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,SAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
|
package/dist/session.js
CHANGED
|
@@ -42,6 +42,15 @@ export async function loadSession(sessionPath, sessionsDir = SESSION_DIR) {
|
|
|
42
42
|
messages: manager.getMessages(loaded.entries, loaded.header.leafId),
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
+
/** Load every readable checkpoint generation for display replay, oldest first. */
|
|
46
|
+
export async function loadSessionCheckpointChain(sessionPath, sessionsDir = SESSION_DIR) {
|
|
47
|
+
const manager = sessionsDir === SESSION_DIR ? sessionManager : new SessionManager(sessionsDir);
|
|
48
|
+
const checkpoints = await manager.loadCheckpointChain(sessionPath);
|
|
49
|
+
return checkpoints.map(({ header, entries }) => ({
|
|
50
|
+
header,
|
|
51
|
+
messages: manager.getMessages(entries, header.leafId),
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
45
54
|
// ── List Sessions ───────────────────────────────────────────
|
|
46
55
|
export async function listSessions(cwd, sessionsDir = SESSION_DIR) {
|
|
47
56
|
const manager = sessionsDir === SESSION_DIR ? sessionManager : new SessionManager(sessionsDir);
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -52,8 +52,8 @@ export interface CreateToolsOptions {
|
|
|
52
52
|
/** Optional per-model subagent concurrency cap (subagentMaxPerModel). */
|
|
53
53
|
getMaxPerModel?: () => number | undefined;
|
|
54
54
|
onSubAgentState?: (snapshot: SubAgentSnapshot) => void;
|
|
55
|
-
/** Persistent child workers omit
|
|
56
|
-
|
|
55
|
+
/** Persistent child workers omit every subagent tool to enforce one-level fan-out. */
|
|
56
|
+
disableSubagents?: boolean;
|
|
57
57
|
/**
|
|
58
58
|
* Append LSP diagnostics to edit/write results (default true). Servers are
|
|
59
59
|
* resolved from the project/PATH only and spawn lazily on the first edit of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAsBpD,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gEAAgE;IAChE,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,kEAAkE;IAClE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,sFAAsF;IACtF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -65,23 +65,25 @@ export async function createTools(cwd, opts) {
|
|
|
65
65
|
tools.push(createWebSearchTool(opts?.getNetworkPolicy));
|
|
66
66
|
}
|
|
67
67
|
let subAgentManager;
|
|
68
|
-
if (opts?.
|
|
68
|
+
if (!opts?.disableSubagents &&
|
|
69
|
+
opts?.agents &&
|
|
70
|
+
opts.agents.length > 0 &&
|
|
71
|
+
opts.provider &&
|
|
72
|
+
opts.model) {
|
|
69
73
|
tools.push(createSubAgentTool(cwd, opts.agents, () => opts.getProvider?.() ?? opts.provider, () => opts.getModel?.() ?? opts.model, opts.getCacheKey, planModeRef));
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
tools.push(...createSubAgentControlTools(subAgentManager, planModeRef));
|
|
84
|
-
}
|
|
74
|
+
subAgentManager = new SubAgentManager({
|
|
75
|
+
cwd,
|
|
76
|
+
agents: opts.agents,
|
|
77
|
+
getProvider: () => opts.getProvider?.() ?? opts.provider,
|
|
78
|
+
getModel: () => opts.getModel?.() ?? opts.model,
|
|
79
|
+
getThinkingLevel: () => opts.getThinkingLevel?.(),
|
|
80
|
+
getCacheKey: opts.getCacheKey,
|
|
81
|
+
getBaseUrl: opts.getBaseUrl,
|
|
82
|
+
getMaxPerModel: () => opts.getMaxPerModel?.(),
|
|
83
|
+
onState: opts.onSubAgentState,
|
|
84
|
+
notifications: opts.notifications,
|
|
85
|
+
});
|
|
86
|
+
tools.push(...createSubAgentControlTools(subAgentManager, planModeRef));
|
|
85
87
|
}
|
|
86
88
|
if (opts?.skills && opts.skills.length > 0) {
|
|
87
89
|
tools.push(createSkillTool(opts.skills));
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/tools/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { createTools } from "./index.js";
|
|
3
|
+
const agent = {
|
|
4
|
+
name: "researcher",
|
|
5
|
+
description: "Researches a focused question",
|
|
6
|
+
tools: ["read"],
|
|
7
|
+
systemPrompt: "Research carefully.",
|
|
8
|
+
source: "bundled",
|
|
9
|
+
};
|
|
10
|
+
const results = [];
|
|
11
|
+
afterEach(async () => {
|
|
12
|
+
await Promise.all(results.splice(0).map(async ({ processManager, lspManager, subAgentManager }) => {
|
|
13
|
+
await subAgentManager?.shutdownAll();
|
|
14
|
+
await lspManager?.shutdownAll();
|
|
15
|
+
processManager.shutdownAll();
|
|
16
|
+
}));
|
|
17
|
+
});
|
|
18
|
+
describe("createTools subagent depth policy", () => {
|
|
19
|
+
it("registers both blocking and persistent subagent tools for a parent", async () => {
|
|
20
|
+
const result = await createTools(process.cwd(), {
|
|
21
|
+
agents: [agent],
|
|
22
|
+
provider: "openai",
|
|
23
|
+
model: "gpt-5.6-luna",
|
|
24
|
+
lspDiagnostics: false,
|
|
25
|
+
});
|
|
26
|
+
results.push(result);
|
|
27
|
+
const names = result.tools.map((tool) => tool.name);
|
|
28
|
+
expect(names).toContain("subagent");
|
|
29
|
+
expect(names).toContain("spawn_agent");
|
|
30
|
+
expect(result.subAgentManager).toBeDefined();
|
|
31
|
+
});
|
|
32
|
+
it("omits every subagent tool inside a persistent child worker", async () => {
|
|
33
|
+
const result = await createTools(process.cwd(), {
|
|
34
|
+
agents: [agent],
|
|
35
|
+
provider: "openai",
|
|
36
|
+
model: "gpt-5.6-luna",
|
|
37
|
+
disableSubagents: true,
|
|
38
|
+
lspDiagnostics: false,
|
|
39
|
+
});
|
|
40
|
+
results.push(result);
|
|
41
|
+
const names = result.tools.map((tool) => tool.name);
|
|
42
|
+
const delegationTools = [
|
|
43
|
+
"subagent",
|
|
44
|
+
"spawn_agent",
|
|
45
|
+
"send_message",
|
|
46
|
+
"followup_task",
|
|
47
|
+
"wait_agent",
|
|
48
|
+
"list_agents",
|
|
49
|
+
"interrupt_agent",
|
|
50
|
+
];
|
|
51
|
+
expect(names.filter((name) => delegationTools.includes(name))).toEqual([]);
|
|
52
|
+
expect(result.subAgentManager).toBeUndefined();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tools/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,KAAK,GAAoB;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,YAAY,EAAE,qBAAqB;IACnC,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,OAAO,GAAwB,EAAE,CAAC;AAExC,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE;QAC9E,MAAM,eAAe,EAAE,WAAW,EAAE,CAAC;QACrC,MAAM,UAAU,EAAE,WAAW,EAAE,CAAC;QAChC,cAAc,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;YAC9C,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,cAAc;YACrB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;YAC9C,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG;YACtB,UAAU;YACV,aAAa;YACb,cAAc;YACd,eAAe;YACf,YAAY;YACZ,aAAa;YACb,iBAAiB;SAClB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "5.30.
|
|
3
|
+
"version": "5.30.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
|
"wrap-ansi": "^10.0.0",
|
|
115
115
|
"zod": "^4.4.3",
|
|
116
116
|
"@modelcontextprotocol/client": "^2.0.0",
|
|
117
|
-
"@kenkaiiii/gg-agent": "5.30.
|
|
118
|
-
"@kenkaiiii/gg-ai": "5.30.
|
|
119
|
-
"@kenkaiiii/gg-core": "5.30.
|
|
117
|
+
"@kenkaiiii/gg-agent": "5.30.3",
|
|
118
|
+
"@kenkaiiii/gg-ai": "5.30.3",
|
|
119
|
+
"@kenkaiiii/gg-core": "5.30.3"
|
|
120
120
|
},
|
|
121
121
|
"optionalDependencies": {
|
|
122
122
|
"@huggingface/transformers": "^3.6.0",
|