(
input: {
stream?: EventStream
globalStream?: GlobalEventStream
subscribe?: OpencodeClient["event"]["subscribe"]
globalEvent?: OpencodeClient["global"]["event"]
promptAsync?: OpencodeClient["session"]["promptAsync"]
status?: OpencodeClient["session"]["status"]
messages?: OpencodeClient["session"]["messages"]
children?: OpencodeClient["session"]["children"]
permissions?: OpencodeClient["permission"]["list"]
questions?: OpencodeClient["question"]["list"]
} = {},
)
| 414 | } |
| 415 | |
| 416 | function sdk( |
| 417 | input: { |
| 418 | stream?: EventStream |
| 419 | globalStream?: GlobalEventStream |
| 420 | subscribe?: OpencodeClient["event"]["subscribe"] |
| 421 | globalEvent?: OpencodeClient["global"]["event"] |
| 422 | promptAsync?: OpencodeClient["session"]["promptAsync"] |
| 423 | status?: OpencodeClient["session"]["status"] |
| 424 | messages?: OpencodeClient["session"]["messages"] |
| 425 | children?: OpencodeClient["session"]["children"] |
| 426 | permissions?: OpencodeClient["permission"]["list"] |
| 427 | questions?: OpencodeClient["question"]["list"] |
| 428 | } = {}, |
| 429 | ) { |
| 430 | const client = new OpencodeClient() |
| 431 | |
| 432 | const subscribe: OpencodeClient["event"]["subscribe"] = input.subscribe ?? (() => sse(input.stream ?? emptyStream())) |
| 433 | const globalEvent: OpencodeClient["global"]["event"] = |
| 434 | input.globalEvent ?? (() => globalSse(input.globalStream ?? wrapGlobalStream(input.stream ?? emptyStream()))) |
| 435 | const promptAsync: OpencodeClient["session"]["promptAsync"] = input.promptAsync ?? (() => ok(undefined)) |
| 436 | const status: OpencodeClient["session"]["status"] = input.status ?? (() => ok({})) |
| 437 | const messages: OpencodeClient["session"]["messages"] = input.messages ?? (() => ok([])) |
| 438 | const children: OpencodeClient["session"]["children"] = input.children ?? (() => ok([])) |
| 439 | const permissions: OpencodeClient["permission"]["list"] = input.permissions ?? (() => ok([])) |
| 440 | const questions: OpencodeClient["question"]["list"] = input.questions ?? (() => ok([])) |
| 441 | |
| 442 | spyOn(client.event, "subscribe").mockImplementation(subscribe) |
| 443 | spyOn(client.global, "event").mockImplementation(globalEvent) |
| 444 | spyOn(client.session, "promptAsync").mockImplementation(promptAsync) |
| 445 | spyOn(client.session, "status").mockImplementation(status) |
| 446 | spyOn(client.session, "messages").mockImplementation(messages) |
| 447 | spyOn(client.session, "children").mockImplementation(children) |
| 448 | spyOn(client.permission, "list").mockImplementation(permissions) |
| 449 | spyOn(client.question, "list").mockImplementation(questions) |
| 450 | |
| 451 | return client |
| 452 | } |
| 453 | |
| 454 | describe("run stream transport", () => { |
| 455 | test("does not replay persisted main-session history during bootstrap by default", async () => { |
no test coverage detected