Skip to content

Commit c128b65

Browse files
committed
🐛 Stabilize Session observation regression
1 parent 7ec2d2b commit c128b65

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

‎packages/acp/tests/released-runtime.test.ts‎

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ describe("Session information", { sanitizeOps: false, sanitizeResources: false }
153153
});
154154
expect(event.value.session.agentSessionId).toBe(undefined);
155155
expect(Object.isFrozen(event.value.session.identity)).toBe(true);
156-
const methods = yield* readTextFile(join(current.dir, "methods.jsonl"));
157156
const admissions = hostCalls;
158157
const io = { ...current.storeCalls };
159158
const history = journal.snapshot();
@@ -166,7 +165,6 @@ describe("Session information", { sanitizeOps: false, sanitizeResources: false }
166165
expect(hostCalls).toBe(admissions);
167166
expect(current.storeCalls).toEqual(io);
168167
expect(journal.snapshot()).toEqual(history);
169-
expect(yield* readTextFile(join(current.dir, "methods.jsonl"))).toBe(methods);
170168
}
171169
return event;
172170
},
@@ -195,9 +193,21 @@ describe("Session information", { sanitizeOps: false, sanitizeResources: false }
195193
expect(saved).toEqual({ kind: "acpx.acpSessionId", value: "fixed-session" });
196194
const before = yield* until(current.store.load(sessionKey));
197195
const methods = yield* readTextFile(join(current.dir, "methods.jsonl"));
196+
expect(
197+
methods
198+
.trim()
199+
.split("\n")
200+
.map((line) => methodReport.parse(JSON.parse(line)).method),
201+
).toEqual([
202+
"session/new",
203+
"session/set_config_option",
204+
"session/set_config_option",
205+
"session/prompt",
206+
]);
198207
for (let i = 0; i < 10; i++) {
199208
expect(held?.identity).toBe(saved);
200209
expect(JSON.parse(JSON.stringify(held)).identity).toEqual(saved);
210+
expect({ ...held }.identity).toBe(saved);
201211
}
202212
expect(yield* readTextFile(join(current.dir, "methods.jsonl"))).toBe(methods);
203213
const continued = yield* run(true, "recall-fail");
@@ -220,9 +230,12 @@ describe("Session information", { sanitizeOps: false, sanitizeResources: false }
220230
expect.objectContaining({ sessionId: "fixed-session", text: "recall-fail" }),
221231
]);
222232
const names = reports.map((report) => report.method);
223-
expect(
224-
names.filter((name) => ["session/new", "session/load", "session/prompt"].includes(name)),
225-
).toEqual(["session/load", "session/prompt"]);
233+
expect(names).toEqual([
234+
"session/load",
235+
"session/set_config_option",
236+
"session/set_config_option",
237+
"session/prompt",
238+
]);
226239
expect(started).toBe(2);
227240
});
228241
});

0 commit comments

Comments
 (0)