feat(acp): implement acp-next prompt (#29664)
This commit is contained in:
parent
e5cf3ad3c2
commit
16234a0baf
3 changed files with 489 additions and 9 deletions
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue