@kenkaiiii/ggcoder 5.26.2 → 5.26.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/app-sidecar.js +54 -47
- package/dist/app-sidecar.js.map +1 -1
- package/dist/core/agent-session-marker-anchors.test.js +181 -2
- package/dist/core/agent-session-marker-anchors.test.js.map +1 -1
- package/dist/core/agent-session-slash-restore.test.d.ts +2 -0
- package/dist/core/agent-session-slash-restore.test.d.ts.map +1 -0
- package/dist/core/agent-session-slash-restore.test.js +121 -0
- package/dist/core/agent-session-slash-restore.test.js.map +1 -0
- package/dist/core/agent-session.d.ts +26 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +92 -29
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compactor.d.ts +21 -0
- package/dist/core/compaction/compactor.d.ts.map +1 -1
- package/dist/core/compaction/compactor.js +16 -0
- package/dist/core/compaction/compactor.js.map +1 -1
- package/dist/core/compaction/compactor.test.js +91 -0
- package/dist/core/compaction/compactor.test.js.map +1 -1
- package/dist/core/session-history.d.ts +61 -4
- package/dist/core/session-history.d.ts.map +1 -1
- package/dist/core/session-history.js +144 -15
- package/dist/core/session-history.js.map +1 -1
- package/dist/core/session-history.test.js +50 -1
- package/dist/core/session-history.test.js.map +1 -1
- package/dist/core/session-manager.d.ts +30 -5
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +37 -9
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-manager.test.js +14 -2
- package/dist/core/session-manager.test.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,7 +2,7 @@ import fs from "node:fs/promises";
|
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
-
import { normalizeAppMarkersForHistory } from "./session-history.js";
|
|
5
|
+
import { normalizeAppMarkersForHistory, normalizeAutopilotMarkersForHistory, normalizeKenTurnsForHistory, } from "./session-history.js";
|
|
6
6
|
import { useFakeHome } from "../test-support/fake-home.js";
|
|
7
7
|
const shouldCompactMock = vi.hoisted(() => vi.fn());
|
|
8
8
|
const compactMock = vi.hoisted(() => vi.fn());
|
|
@@ -41,7 +41,7 @@ async function writeJson(filePath, value) {
|
|
|
41
41
|
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
42
42
|
await fs.writeFile(filePath, JSON.stringify(value, null, 2), "utf-8");
|
|
43
43
|
}
|
|
44
|
-
async function
|
|
44
|
+
async function listSessionFiles() {
|
|
45
45
|
const root = path.join(tmpHome, ".gg", "sessions");
|
|
46
46
|
const found = [];
|
|
47
47
|
for (const dir of await fs.readdir(root)) {
|
|
@@ -50,6 +50,12 @@ async function findSessionFile() {
|
|
|
50
50
|
found.push(path.join(root, dir, file));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
// Session filenames lead with an ISO timestamp, so lexical order is
|
|
54
|
+
// chronological — the last one is the newest (post-compaction) file.
|
|
55
|
+
return found.sort();
|
|
56
|
+
}
|
|
57
|
+
async function findSessionFile() {
|
|
58
|
+
const found = await listSessionFiles();
|
|
53
59
|
if (found.length !== 1)
|
|
54
60
|
throw new Error(`expected 1 session file, found ${found.length}`);
|
|
55
61
|
return found[0];
|
|
@@ -143,5 +149,178 @@ describe("AgentSession transcript marker anchors", () => {
|
|
|
143
149
|
expect(replayed.some((m) => m.afterMessageCount > restoredCount)).toBe(false);
|
|
144
150
|
await resumed.dispose();
|
|
145
151
|
}, 15_000);
|
|
152
|
+
// The reported bug: an autopilot session that gets compacted mid-conversation
|
|
153
|
+
// shows every earlier Ken verdict / error row jammed at the BOTTOM (or missing)
|
|
154
|
+
// when reopened, even though several turns happened after them. Compaction
|
|
155
|
+
// re-persisted the markers into the continuation file still carrying anchors
|
|
156
|
+
// from the far longer pre-compaction transcript.
|
|
157
|
+
it("keeps markers in place when compaction rewrites the session mid-conversation", async () => {
|
|
158
|
+
const { AgentSession } = await import("./agent-session.js");
|
|
159
|
+
const session = new AgentSession({
|
|
160
|
+
provider: "anthropic",
|
|
161
|
+
model: "claude-test",
|
|
162
|
+
cwd: tmpProject,
|
|
163
|
+
systemPrompt: "test system prompt",
|
|
164
|
+
});
|
|
165
|
+
await session.initialize();
|
|
166
|
+
agentLoopMock.mockImplementation(async function* (messages) {
|
|
167
|
+
messages.push({ role: "assistant", content: "reply" });
|
|
168
|
+
yield { type: "agent_done" };
|
|
169
|
+
});
|
|
170
|
+
// Six turns (12 non-system messages), with markers recorded early on —
|
|
171
|
+
// exactly the shape of an autopilot run: Ken reviews, an error surfaces,
|
|
172
|
+
// and the conversation keeps going well past both.
|
|
173
|
+
await session.prompt("turn 1");
|
|
174
|
+
await session.prompt("turn 2");
|
|
175
|
+
await session.persistAppMarker("error", { headline: "Rate limited" });
|
|
176
|
+
await session.persistAutopilotMarker("done");
|
|
177
|
+
await session.persistKenTurn("is this right?", "looks good");
|
|
178
|
+
await session.prompt("turn 3");
|
|
179
|
+
await session.prompt("turn 4");
|
|
180
|
+
await session.prompt("turn 5");
|
|
181
|
+
// A second, later verdict — this one lands in the tail compaction keeps
|
|
182
|
+
// verbatim, so it exercises the shift branch as well as the collapse one.
|
|
183
|
+
await session.persistAutopilotMarker("prompted", { body: "fix the flake" });
|
|
184
|
+
await session.prompt("turn 6");
|
|
185
|
+
// Markers sit at messages 4 and 10 of 12 — NOT at the end.
|
|
186
|
+
expect(session.getAppMarkers().filter((m) => m.kind === "error")[0]?.afterMessageCount).toBe(4);
|
|
187
|
+
expect(session.getAutopilotMarkers().map((m) => m.afterMessageCount)).toEqual([4, 10]);
|
|
188
|
+
expect(session.getMessages().filter((m) => m.role !== "system").length).toBe(12);
|
|
189
|
+
// Compaction collapses the first 8 non-system messages into a summary +
|
|
190
|
+
// ack, keeping the last 4 verbatim: 12 → 6 non-system messages.
|
|
191
|
+
const systemMsg = session.getMessages()[0];
|
|
192
|
+
const tail = session.getMessages().slice(-4);
|
|
193
|
+
compactMock.mockResolvedValue({
|
|
194
|
+
messages: [
|
|
195
|
+
systemMsg,
|
|
196
|
+
{ role: "user", content: "[Previous conversation summary]\n\nearlier work" },
|
|
197
|
+
{ role: "assistant", content: "I have the full context from the summary above." },
|
|
198
|
+
...tail,
|
|
199
|
+
],
|
|
200
|
+
result: {
|
|
201
|
+
compacted: true,
|
|
202
|
+
originalCount: 13,
|
|
203
|
+
newCount: 7,
|
|
204
|
+
tokensBeforeEstimate: 100_000,
|
|
205
|
+
tokensAfterEstimate: 10_000,
|
|
206
|
+
anchorRemap: { summarizedCount: 8, prefixCount: 2, newNonSystemCount: 6 },
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
await session.compact();
|
|
210
|
+
const compactedCount = session.getMessages().filter((m) => m.role !== "system").length;
|
|
211
|
+
expect(compactedCount).toBe(6);
|
|
212
|
+
// Two more turns AFTER the compaction, so "the bottom" is unambiguously
|
|
213
|
+
// somewhere the old markers must not be.
|
|
214
|
+
await session.prompt("turn 7");
|
|
215
|
+
await session.prompt("turn 8");
|
|
216
|
+
await session.dispose();
|
|
217
|
+
// Resume from the continuation file compaction created.
|
|
218
|
+
const files = await listSessionFiles();
|
|
219
|
+
expect(files.length).toBe(2);
|
|
220
|
+
const resumed = new AgentSession({
|
|
221
|
+
provider: "anthropic",
|
|
222
|
+
model: "claude-test",
|
|
223
|
+
cwd: tmpProject,
|
|
224
|
+
systemPrompt: "test system prompt",
|
|
225
|
+
sessionId: files[files.length - 1],
|
|
226
|
+
});
|
|
227
|
+
await resumed.initialize();
|
|
228
|
+
const restoredCount = resumed.getMessages().filter((m) => m.role !== "system").length;
|
|
229
|
+
expect(restoredCount).toBe(10); // 6 compacted + 2 turns × 2 messages
|
|
230
|
+
const errors = normalizeAppMarkersForHistory(resumed.getAppMarkers(), restoredCount).filter((m) => m.kind === "error");
|
|
231
|
+
const verdicts = normalizeAutopilotMarkersForHistory(resumed.getAutopilotMarkers(), restoredCount);
|
|
232
|
+
const kenTurns = normalizeKenTurnsForHistory(resumed.getKenTurns(), restoredCount);
|
|
233
|
+
// All of them survive the rewrite...
|
|
234
|
+
expect(errors).toHaveLength(1);
|
|
235
|
+
expect(verdicts).toHaveLength(2);
|
|
236
|
+
expect(kenTurns).toHaveLength(1);
|
|
237
|
+
// ...the ones whose surrounding conversation was summarized away land just
|
|
238
|
+
// after the summary block (the earliest honest position)...
|
|
239
|
+
expect(errors[0].afterMessageCount).toBe(2);
|
|
240
|
+
expect(verdicts[0].afterMessageCount).toBe(2);
|
|
241
|
+
expect(kenTurns[0].afterMessageCount).toBe(2);
|
|
242
|
+
// ...and the one in the retained tail merely shifts with it: message 10 of
|
|
243
|
+
// the old transcript is message 4 of the new one. Unrebased it stayed at
|
|
244
|
+
// 10, which in a 10-message transcript is the very bottom — exactly the
|
|
245
|
+
// reported symptom, six messages below where it belongs.
|
|
246
|
+
expect(verdicts[1].afterMessageCount).toBe(4);
|
|
247
|
+
// Nothing bunches at the end, where the four post-compaction messages live.
|
|
248
|
+
for (const anchor of [
|
|
249
|
+
errors[0].afterMessageCount,
|
|
250
|
+
verdicts[0].afterMessageCount,
|
|
251
|
+
verdicts[1].afterMessageCount,
|
|
252
|
+
kenTurns[0].afterMessageCount,
|
|
253
|
+
]) {
|
|
254
|
+
expect(anchor).toBeLessThan(restoredCount - 3);
|
|
255
|
+
}
|
|
256
|
+
await resumed.dispose();
|
|
257
|
+
}, 20_000);
|
|
258
|
+
// Sessions already on disk were written before the rebase existed, so their
|
|
259
|
+
// anchors are still pre-compaction values. They must be rescued to their
|
|
260
|
+
// file-order position rather than dropped or clamped to the bottom.
|
|
261
|
+
it("heals legacy sessions whose persisted anchors survived a compaction unrebased", async () => {
|
|
262
|
+
const { SessionManager, APP_MARKER_CUSTOM_KIND, AUTOPILOT_MARKER_CUSTOM_KIND, KEN_TURN_CUSTOM_KIND, } = await import("./session-manager.js");
|
|
263
|
+
const sessionsDir = path.join(tmpHome, ".gg", "sessions");
|
|
264
|
+
const manager = new SessionManager(sessionsDir);
|
|
265
|
+
const created = await manager.create(tmpProject, "anthropic", "claude-test");
|
|
266
|
+
const message = (id, text) => ({
|
|
267
|
+
type: "message",
|
|
268
|
+
id,
|
|
269
|
+
parentId: null,
|
|
270
|
+
timestamp: new Date().toISOString(),
|
|
271
|
+
message: { role: "user", content: text },
|
|
272
|
+
});
|
|
273
|
+
const custom = (id, kind, data) => ({
|
|
274
|
+
type: "custom",
|
|
275
|
+
kind,
|
|
276
|
+
id,
|
|
277
|
+
parentId: null,
|
|
278
|
+
timestamp: new Date().toISOString(),
|
|
279
|
+
data,
|
|
280
|
+
});
|
|
281
|
+
// Post-compaction file: 2 summary messages, then the stale markers dumped
|
|
282
|
+
// by the old re-persist path (anchors from a 367-message transcript), then
|
|
283
|
+
// the conversation continues to 6 messages total.
|
|
284
|
+
await manager.appendEntry(created.path, message("m1", "[Previous conversation summary]"));
|
|
285
|
+
await manager.appendEntry(created.path, message("m2", "ack"));
|
|
286
|
+
await manager.appendEntry(created.path,
|
|
287
|
+
// Anchor 64 overshoots the 6-message transcript entirely — previously
|
|
288
|
+
// dropped, so the verdict vanished on reopen.
|
|
289
|
+
custom("a1", AUTOPILOT_MARKER_CUSTOM_KIND, {
|
|
290
|
+
version: 1,
|
|
291
|
+
phase: "done",
|
|
292
|
+
afterMessageCount: 64,
|
|
293
|
+
}));
|
|
294
|
+
await manager.appendEntry(created.path,
|
|
295
|
+
// Anchor 5 is still IN range but far past where the marker was written —
|
|
296
|
+
// previously replayed near the bottom, below four unrelated later turns.
|
|
297
|
+
custom("e1", APP_MARKER_CUSTOM_KIND, {
|
|
298
|
+
version: 1,
|
|
299
|
+
kind: "error",
|
|
300
|
+
afterMessageCount: 5,
|
|
301
|
+
data: { headline: "Rate limited" },
|
|
302
|
+
}));
|
|
303
|
+
await manager.appendEntry(created.path, custom("k1", KEN_TURN_CUSTOM_KIND, {
|
|
304
|
+
version: 1,
|
|
305
|
+
question: "why did that fail?",
|
|
306
|
+
reply: "transient rate limit",
|
|
307
|
+
afterMessageCount: 88,
|
|
308
|
+
}));
|
|
309
|
+
for (const i of [3, 4, 5, 6])
|
|
310
|
+
await manager.appendEntry(created.path, message(`m${i}`, `t${i}`));
|
|
311
|
+
const loaded = await manager.load(created.path);
|
|
312
|
+
const restoredCount = manager.getMessages(loaded.entries, loaded.header.leafId).length;
|
|
313
|
+
expect(restoredCount).toBe(6);
|
|
314
|
+
const verdicts = normalizeAutopilotMarkersForHistory(manager.getAutopilotMarkers(loaded.entries, loaded.header.leafId), restoredCount);
|
|
315
|
+
const errors = normalizeAppMarkersForHistory(manager.getAppMarkers(loaded.entries, loaded.header.leafId), restoredCount);
|
|
316
|
+
const kenTurns = normalizeKenTurnsForHistory(manager.getKenTurns(loaded.entries, loaded.header.leafId), restoredCount);
|
|
317
|
+
// All three are pulled back to where they were actually written: right
|
|
318
|
+
// after the summary, above the four later messages — none dropped, none
|
|
319
|
+
// stacked at the bottom.
|
|
320
|
+
expect(verdicts.map((m) => m.afterMessageCount)).toEqual([2]);
|
|
321
|
+
expect(errors.map((m) => m.afterMessageCount)).toEqual([2]);
|
|
322
|
+
expect(kenTurns.map((t) => t.afterMessageCount)).toEqual([2]);
|
|
323
|
+
expect(restoredCount - 2).toBe(4);
|
|
324
|
+
}, 15_000);
|
|
146
325
|
});
|
|
147
326
|
//# sourceMappingURL=agent-session-marker-anchors.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session-marker-anchors.test.js","sourceRoot":"","sources":["../../src/core/agent-session-marker-anchors.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session-marker-anchors.test.js","sourceRoot":"","sources":["../../src/core/agent-session-marker-anchors.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-slash-restore.test.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-slash-restore.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { restoreUserRow, resolveRestoredCommand } from "./session-history.js";
|
|
6
|
+
import { useFakeHome } from "../test-support/fake-home.js";
|
|
7
|
+
const agentLoopMock = vi.hoisted(() => vi.fn());
|
|
8
|
+
vi.mock("@kenkaiiii/gg-agent", async () => {
|
|
9
|
+
const actual = await vi.importActual("@kenkaiiii/gg-agent");
|
|
10
|
+
return { ...actual, agentLoop: agentLoopMock };
|
|
11
|
+
});
|
|
12
|
+
vi.mock("./mcp/index.js", async () => {
|
|
13
|
+
const actual = await vi.importActual("./mcp/index.js");
|
|
14
|
+
return {
|
|
15
|
+
...actual,
|
|
16
|
+
MCPClientManager: vi.fn(function MCPClientManagerMock() {
|
|
17
|
+
return { connectAll: vi.fn(async () => []), dispose: vi.fn(async () => { }) };
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
let restoreHome;
|
|
22
|
+
let tmpHome;
|
|
23
|
+
let tmpProject;
|
|
24
|
+
beforeEach(async () => {
|
|
25
|
+
tmpHome = await fs.mkdtemp(path.join(os.tmpdir(), "slash-restore-home-"));
|
|
26
|
+
tmpProject = await fs.mkdtemp(path.join(os.tmpdir(), "slash-restore-project-"));
|
|
27
|
+
restoreHome = useFakeHome(tmpHome);
|
|
28
|
+
agentLoopMock.mockReset().mockImplementation(async function* (messages) {
|
|
29
|
+
messages.push({ role: "assistant", content: "done" });
|
|
30
|
+
yield { type: "agent_done" };
|
|
31
|
+
});
|
|
32
|
+
await fs.mkdir(path.join(tmpHome, ".gg"), { recursive: true });
|
|
33
|
+
await fs.writeFile(path.join(tmpHome, ".gg", "auth.json"), JSON.stringify({
|
|
34
|
+
anthropic: {
|
|
35
|
+
accessToken: "test-access",
|
|
36
|
+
refreshToken: "test-refresh",
|
|
37
|
+
expiresAt: Date.now() + 3_600_000,
|
|
38
|
+
},
|
|
39
|
+
}), "utf-8");
|
|
40
|
+
});
|
|
41
|
+
afterEach(async () => {
|
|
42
|
+
restoreHome?.();
|
|
43
|
+
await fs.rm(tmpHome, { recursive: true, force: true });
|
|
44
|
+
await fs.rm(tmpProject, { recursive: true, force: true });
|
|
45
|
+
vi.clearAllMocks();
|
|
46
|
+
});
|
|
47
|
+
async function writeCustomCommand(name, body) {
|
|
48
|
+
const dir = path.join(tmpProject, ".gg", "commands");
|
|
49
|
+
await fs.mkdir(dir, { recursive: true });
|
|
50
|
+
await fs.writeFile(path.join(dir, `${name}.md`), body, "utf-8");
|
|
51
|
+
}
|
|
52
|
+
describe("slash-command restore", () => {
|
|
53
|
+
it("expands a custom command to its template and reports it as expanding", async () => {
|
|
54
|
+
const { AgentSession } = await import("./agent-session.js");
|
|
55
|
+
await writeCustomCommand("shipit", "Ship the release now.");
|
|
56
|
+
const session = new AgentSession({
|
|
57
|
+
provider: "anthropic",
|
|
58
|
+
model: "claude-test",
|
|
59
|
+
cwd: tmpProject,
|
|
60
|
+
systemPrompt: "sys",
|
|
61
|
+
});
|
|
62
|
+
await session.initialize();
|
|
63
|
+
expect(await session.willExpandPromptTemplate("/shipit")).toBe(true);
|
|
64
|
+
// Not a command at all, and a command with no template body.
|
|
65
|
+
expect(await session.willExpandPromptTemplate("just a message")).toBe(false);
|
|
66
|
+
expect(await session.willExpandPromptTemplate("/nope-not-real")).toBe(false);
|
|
67
|
+
await session.prompt("/shipit patch only");
|
|
68
|
+
const users = session.getMessages().filter((m) => m.role === "user");
|
|
69
|
+
expect(users).toHaveLength(1);
|
|
70
|
+
// The MODEL sees the expanded template...
|
|
71
|
+
const body = users[0].content;
|
|
72
|
+
expect(body).toContain("Ship the release now.");
|
|
73
|
+
expect(body).toContain("patch only");
|
|
74
|
+
// ...and the restored row recovers the `/name args` chip from that body.
|
|
75
|
+
const restored = restoreUserRow(users[0].content);
|
|
76
|
+
const candidates = [{ name: "shipit", prompt: "Ship the release now." }];
|
|
77
|
+
expect(resolveRestoredCommand(null, restored.text, candidates)).toBe("/shipit patch only");
|
|
78
|
+
await session.dispose();
|
|
79
|
+
}, 20_000);
|
|
80
|
+
it("still executes registry slash commands without persisting a user message", async () => {
|
|
81
|
+
const { AgentSession } = await import("./agent-session.js");
|
|
82
|
+
const session = new AgentSession({
|
|
83
|
+
provider: "anthropic",
|
|
84
|
+
model: "claude-test",
|
|
85
|
+
cwd: tmpProject,
|
|
86
|
+
systemPrompt: "sys",
|
|
87
|
+
});
|
|
88
|
+
await session.initialize();
|
|
89
|
+
// A registry command (no prompt template) must not expand, must not become
|
|
90
|
+
// a user message, and must not start an agent run.
|
|
91
|
+
expect(await session.willExpandPromptTemplate("/help")).toBe(false);
|
|
92
|
+
await session.prompt("/help");
|
|
93
|
+
expect(session.getMessages().filter((m) => m.role === "user")).toHaveLength(0);
|
|
94
|
+
expect(agentLoopMock).not.toHaveBeenCalled();
|
|
95
|
+
await session.dispose();
|
|
96
|
+
}, 20_000);
|
|
97
|
+
// The reported bug: after a template is edited, body matching can no longer
|
|
98
|
+
// recover `/name`, so the reopened session dumped the raw template.
|
|
99
|
+
it("restores the chip from the recorded invocation after the template changes", async () => {
|
|
100
|
+
const { AgentSession } = await import("./agent-session.js");
|
|
101
|
+
await writeCustomCommand("shipit", "Ship the release now.");
|
|
102
|
+
const session = new AgentSession({
|
|
103
|
+
provider: "anthropic",
|
|
104
|
+
model: "claude-test",
|
|
105
|
+
cwd: tmpProject,
|
|
106
|
+
systemPrompt: "sys",
|
|
107
|
+
});
|
|
108
|
+
await session.initialize();
|
|
109
|
+
await session.prompt("/shipit");
|
|
110
|
+
// The command file is edited after the fact.
|
|
111
|
+
await writeCustomCommand("shipit", "Ship the release, but carefully this time.");
|
|
112
|
+
const drifted = [{ name: "shipit", prompt: "Ship the release, but carefully this time." }];
|
|
113
|
+
const restored = restoreUserRow(session.getMessages().filter((m) => m.role === "user")[0].content);
|
|
114
|
+
// Body matching alone now fails — this is what rendered the raw body.
|
|
115
|
+
expect(resolveRestoredCommand(null, restored.text, drifted)).toBeNull();
|
|
116
|
+
// The invocation persisted at send time still restores the chip.
|
|
117
|
+
expect(resolveRestoredCommand("/shipit", restored.text, drifted)).toBe("/shipit");
|
|
118
|
+
await session.dispose();
|
|
119
|
+
}, 20_000);
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=agent-session-slash-restore.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-slash-restore.test.js","sourceRoot":"","sources":["../../src/core/agent-session-slash-restore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -299,6 +299,21 @@ export declare class AgentSession {
|
|
|
299
299
|
* re-reads every turn, so promoted tools are callable on the next step.
|
|
300
300
|
*/
|
|
301
301
|
private addMcpTools;
|
|
302
|
+
/**
|
|
303
|
+
* Resolve a `/name [args]` input to the prompt template it expands into, or
|
|
304
|
+
* null when it isn't a prompt-template command for THIS session (an ordinary
|
|
305
|
+
* message, a registry/action command, or any slash input on a non-coder
|
|
306
|
+
* agent). Shared by {@link prompt} and {@link willExpandPromptTemplate} so
|
|
307
|
+
* callers can't drift from the expansion that actually happens.
|
|
308
|
+
*/
|
|
309
|
+
private resolveSlashInput;
|
|
310
|
+
/**
|
|
311
|
+
* Whether {@link prompt} would expand this input into a template body and
|
|
312
|
+
* persist it as a user message. Hosts use it to record the typed `/name` for
|
|
313
|
+
* transcript restore — gating on anything looser risks tagging an unrelated
|
|
314
|
+
* message when the command turns out NOT to expand.
|
|
315
|
+
*/
|
|
316
|
+
willExpandPromptTemplate(content: string): Promise<boolean>;
|
|
302
317
|
/**
|
|
303
318
|
* Process user input. Handles slash commands or runs agent loop.
|
|
304
319
|
*/
|
|
@@ -505,6 +520,17 @@ export declare class AgentSession {
|
|
|
505
520
|
* Used by the host to interleave the auto-review loop's markers back into
|
|
506
521
|
* the transcript on resume, mirroring `getKenTurns`. */
|
|
507
522
|
getAutopilotMarkers(): AutopilotMarkerPayload[];
|
|
523
|
+
/** Non-system messages that are actually on disk. Transcript markers anchor
|
|
524
|
+
* against this (not the in-memory list, which can run ahead after a failed
|
|
525
|
+
* run), so hosts computing marker-derived values must use the same base. */
|
|
526
|
+
getPersistedTranscriptCount(): number;
|
|
527
|
+
/**
|
|
528
|
+
* Rebase every transcript anchor (Ken turns, autopilot verdicts, app markers)
|
|
529
|
+
* onto a freshly compacted message list. Called right after `this.messages`
|
|
530
|
+
* is replaced and before the markers are re-persisted into the continuation
|
|
531
|
+
* file, so the new file carries positions that match its own transcript.
|
|
532
|
+
*/
|
|
533
|
+
private remapMarkerAnchors;
|
|
508
534
|
/**
|
|
509
535
|
* Record one Ken Kai (mentor agent) turn against this build session: the
|
|
510
536
|
* user's question + Ken's reply. Kept in memory for the live transcript and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EAEb,KAAK,aAAa,EAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAML,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|