feat: upgrade investigation and presentation runtime
Generic Container CI/CD / test-build-publish (push) Successful in 1m6s
Agent CI/CD / build-test-publish-and-deploy (push) Successful in 1m7s

This commit is contained in:
2026-10-30 17:30:19 +08:00
parent 3b52a0ddab
commit 6336157ff4
104 changed files with 6541 additions and 961 deletions
+21
View File
@@ -0,0 +1,21 @@
import { describe, expect, it } from "bun:test";
import presentAnswer, { answerUiExamples } from "../../.opencode/tools/present_answer.js";
import finalAnswer from "../../.opencode/tools/final_answer.js";
import { AnswerUiPublication } from "../../src/chat/answer-ui-publication.js";
import { answerUiBlockSchema } from "../../src/chat/answer-ui.js";
describe("model-facing answer UI examples", () => {
for (const example of answerUiExamples) {
it(`publishes and retains ${example.present_answer.block_id} through the real contracts`, async () => {
const context = { sessionID: "example-validation" };
const { recorded, ...output } = JSON.parse(await presentAnswer.execute(example.present_answer, context));
expect(recorded).toBe(true);
const block = answerUiBlockSchema.parse(output);
const publication = new AnswerUiPublication();
expect(publication.publish(block)).toBeUndefined();
const final = JSON.parse(await finalAnswer.execute(example.final_answer, context));
expect(publication.finalize(final.ui_block_ids)).toEqual([block.block_id]);
expect(block.phase).toBe("final");
});
}
});