feat: add scoped history and artifacts
Generic Container CI/CD / test-build-publish (push) Failing after 8m25s
Agent CI/CD / build-test-publish-and-deploy (push) Failing after 8m25s

This commit is contained in:
2026-10-22 18:40:20 +08:00
parent bc4e9834e5
commit 7d47a2df86
48 changed files with 2632 additions and 78 deletions
+9 -1
View File
@@ -61,6 +61,9 @@ try {
await client.session.inbox.update({ sessionID: session.id, inboxID: item.id, delivery: "steer" });
assert.equal((await client.session.inbox.list({ sessionID: session.id })).find((entry) => entry.id === item.id)?.delivery, "steer");
await client.session.inbox.update({ sessionID: session.id, inboxID: item.id, delivery: "queue" });
const withdrawn = await tracker.submit({ id: `msg_${"2".repeat(32)}`, text: "Withdraw this before delivery", delivery: "queue", status: "pending" });
assert.equal((await runtime.cancelPendingUserInput(session.id, withdrawn.id)).status, "cancelled");
assert.ok(!(await client.session.inbox.list({ sessionID: session.id })).some((entry) => entry.id === withdrawn.id));
release();
await wait("queued continuation", () => prompts.length >= 2);
await Bun.sleep(100);
@@ -77,8 +80,13 @@ try {
assert.ok(tokens.join("").split("Local completed.").length >= 3, "managed stream closed before queued answer");
assert.ok(JSON.stringify(prompts[1]).includes("Additional local user input"));
assert.ok(!(await client.session.inbox.list({ sessionID: session.id })).some((entry) => entry.id === item.id));
assert.ok(!JSON.stringify(prompts).includes(withdrawn.text));
await assert.rejects(runtime.cancelPendingUserInput(session.id, item.id), { status: 409 });
// Simulate delivery winning the race after the adapter's pending-list read.
const staleRuntime = Object.assign(Object.create(runtime), { listPendingUserInputs: async () => [item] }) as OpencodeRuntimeAdapter;
await assert.rejects(staleRuntime.cancelPendingUserInput(session.id, item.id), { status: 409 });
await client.session.remove({ sessionID: session.id });
console.log("Native queue delivery, pending steer/queue changes and automatic continuation passed; local fixture only.");
console.log("Native queue delivery, pending changes, withdrawal and delivery-race rejection passed; local fixture only.");
} finally {
release();
releaseSecond();