summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/context/sdk.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-11-18 11:00:27 -0600
committeropencode <[email protected]>2025-11-18 17:07:34 +0000
commitfc5fc2c570e6ac5a6f9647080b80f7fec0c4b605 (patch)
treea3971bfbe17308df9f2d3e1771c0ab544900c099 /packages/desktop/src/context/sdk.tsx
parent4069999b782cc00d4e707f5eca32082bdfad45bc (diff)
downloadopencode-fc5fc2c570e6ac5a6f9647080b80f7fec0c4b605.tar.gz
opencode-fc5fc2c570e6ac5a6f9647080b80f7fec0c4b605.zip
wip(desktop): new layout work
Diffstat (limited to 'packages/desktop/src/context/sdk.tsx')
-rw-r--r--packages/desktop/src/context/sdk.tsx25
1 files changed, 11 insertions, 14 deletions
diff --git a/packages/desktop/src/context/sdk.tsx b/packages/desktop/src/context/sdk.tsx
index b7b753dbc..40165b1ba 100644
--- a/packages/desktop/src/context/sdk.tsx
+++ b/packages/desktop/src/context/sdk.tsx
@@ -2,34 +2,31 @@ import { createOpencodeClient, type Event } from "@opencode-ai/sdk/client"
import { createSimpleContext } from "./helper"
import { createGlobalEmitter } from "@solid-primitives/event-bus"
import { onCleanup } from "solid-js"
+import { useGlobalSDK } from "./global-sdk"
export const { use: useSDK, provider: SDKProvider } = createSimpleContext({
name: "SDK",
- init: (props: { url: string; directory?: string }) => {
+ init: (props: { directory: string }) => {
+ const globalSDK = useGlobalSDK()
const abort = new AbortController()
- const sdk = createOpencodeClient(
- {
- baseUrl: props.url,
- signal: abort.signal,
- },
- { directory: props.directory },
- )
+ const sdk = createOpencodeClient({
+ baseUrl: globalSDK.url,
+ signal: abort.signal,
+ directory: props.directory,
+ })
const emitter = createGlobalEmitter<{
[key in Event["type"]]: Extract<Event, { type: key }>
}>()
- sdk.event.subscribe().then(async (events) => {
- for await (const event of events.stream) {
- console.log("event", event.type)
- emitter.emit(event.type, event)
- }
+ globalSDK.event.on(props.directory, async (event) => {
+ emitter.emit(event.type, event)
})
onCleanup(() => {
abort.abort()
})
- return { url: props.url, directory: props.directory, client: sdk, event: emitter }
+ return { directory: props.directory, client: sdk, event: emitter }
},
})