sync
This commit is contained in:
parent
f6e375a555
commit
200aef2eb3
1 changed files with 26 additions and 24 deletions
|
|
@ -122,12 +122,20 @@ function createFakeAgent() {
|
||||||
messages: async () => {
|
messages: async () => {
|
||||||
return { data: [] }
|
return { data: [] }
|
||||||
},
|
},
|
||||||
message: async () => {
|
message: async (params?: any) => {
|
||||||
|
// Return a message with parts that can be looked up by partID
|
||||||
return {
|
return {
|
||||||
data: {
|
data: {
|
||||||
info: {
|
info: {
|
||||||
role: "assistant",
|
role: "assistant",
|
||||||
},
|
},
|
||||||
|
parts: [
|
||||||
|
{
|
||||||
|
id: params?.messageID ? `${params.messageID}_part` : "part_1",
|
||||||
|
type: "text",
|
||||||
|
text: "",
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -193,7 +201,7 @@ function createFakeAgent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("acp.agent event subscription", () => {
|
describe("acp.agent event subscription", () => {
|
||||||
test("routes message.part.updated by the event sessionID (no cross-session pollution)", async () => {
|
test("routes message.part.delta by the event sessionID (no cross-session pollution)", async () => {
|
||||||
await using tmp = await tmpdir()
|
await using tmp = await tmpdir()
|
||||||
await Instance.provide({
|
await Instance.provide({
|
||||||
directory: tmp.path,
|
directory: tmp.path,
|
||||||
|
|
@ -207,14 +215,12 @@ describe("acp.agent event subscription", () => {
|
||||||
controller.push({
|
controller.push({
|
||||||
directory: cwd,
|
directory: cwd,
|
||||||
payload: {
|
payload: {
|
||||||
type: "message.part.updated",
|
type: "message.part.delta",
|
||||||
properties: {
|
properties: {
|
||||||
part: {
|
sessionID: sessionB,
|
||||||
sessionID: sessionB,
|
messageID: "msg_1",
|
||||||
messageID: "msg_1",
|
partID: "msg_1_part",
|
||||||
type: "text",
|
field: "text",
|
||||||
synthetic: false,
|
|
||||||
},
|
|
||||||
delta: "hello",
|
delta: "hello",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -230,7 +236,7 @@ describe("acp.agent event subscription", () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
test("keeps concurrent sessions isolated when message.part.updated events are interleaved", async () => {
|
test("keeps concurrent sessions isolated when message.part.delta events are interleaved", async () => {
|
||||||
await using tmp = await tmpdir()
|
await using tmp = await tmpdir()
|
||||||
await Instance.provide({
|
await Instance.provide({
|
||||||
directory: tmp.path,
|
directory: tmp.path,
|
||||||
|
|
@ -248,14 +254,12 @@ describe("acp.agent event subscription", () => {
|
||||||
controller.push({
|
controller.push({
|
||||||
directory: cwd,
|
directory: cwd,
|
||||||
payload: {
|
payload: {
|
||||||
type: "message.part.updated",
|
type: "message.part.delta",
|
||||||
properties: {
|
properties: {
|
||||||
part: {
|
sessionID: sessionId,
|
||||||
sessionID: sessionId,
|
messageID,
|
||||||
messageID,
|
partID: `${messageID}_part`,
|
||||||
type: "text",
|
field: "text",
|
||||||
synthetic: false,
|
|
||||||
},
|
|
||||||
delta,
|
delta,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -402,14 +406,12 @@ describe("acp.agent event subscription", () => {
|
||||||
controller.push({
|
controller.push({
|
||||||
directory: cwd,
|
directory: cwd,
|
||||||
payload: {
|
payload: {
|
||||||
type: "message.part.updated",
|
type: "message.part.delta",
|
||||||
properties: {
|
properties: {
|
||||||
part: {
|
sessionID: sessionB,
|
||||||
sessionID: sessionB,
|
messageID: "msg_b",
|
||||||
messageID: "msg_b",
|
partID: "msg_b_part",
|
||||||
type: "text",
|
field: "text",
|
||||||
synthetic: false,
|
|
||||||
},
|
|
||||||
delta: "session_b_message",
|
delta: "session_b_message",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue