| 302 | } |
| 303 | |
| 304 | async function createKnownSession( |
| 305 | session: ACPSession.Interface, |
| 306 | sessionId: string, |
| 307 | part: { messageId: string; partId: string; partType: Part["type"]; role?: Message["role"] }, |
| 308 | ) { |
| 309 | await Effect.runPromise(session.create({ id: sessionId, cwd: "/workspace" })) |
| 310 | await Effect.runPromise( |
| 311 | session.recordPartMetadata({ |
| 312 | sessionId, |
| 313 | messageId: part.messageId, |
| 314 | partId: part.partId, |
| 315 | partType: part.partType, |
| 316 | role: part.role ?? "assistant", |
| 317 | }), |
| 318 | ) |
| 319 | } |
| 320 | |
| 321 | describe("acp event routing", () => { |
| 322 | it("routes message.part.delta by sessionID without cross-session pollution", async () => { |