feat(acp): implement acp-next prompt (#29664)

This commit is contained in:
Shoubhit Dash
2026-05-28 10:43:59 +05:30
committed by GitHub
parent e5cf3ad3c2
commit 16234a0baf
3 changed files with 489 additions and 9 deletions

View File

@@ -5,6 +5,7 @@ import type {
InitializeResponse,
LoadSessionResponse,
NewSessionResponse,
PromptResponse,
ResumeSessionResponse,
SessionNotification,
SetSessionConfigOptionResponse,
@@ -95,11 +96,21 @@ describe("opencode acp-next (subprocess)", () => {
)
expect(selectConfigOption(loaded.configOptions, "model")?.category).toBe("model")
const prompt = yield* acp.request("session/prompt", {
yield* llm.text("hello from acp-next", { usage: { input: 11, output: 7 } })
const prompted = expectOk(
yield* acp.request<PromptResponse>("session/prompt", {
sessionId: session.sessionId,
prompt: [{ type: "text", text: "hello" }],
}),
)
expect(prompted.stopReason).toBe("end_turn")
expect(prompted.usage?.totalTokens).toBeGreaterThan(0)
const missing = yield* acp.request("session/prompt", {
sessionId: "ses_missing",
prompt: [{ type: "text", text: "hello" }],
})
expect(errorCode(prompt.error)).toBe(-32601)
expect(errorCode(missing.error)).toBe(-32602)
}),
60_000,
)