Explorar el Código

fix(tui): pass attach directory to sdk client (#6715)

Co-authored-by: shuv <[email protected]>
shuv hace 1 mes
padre
commit
401b498c7d

+ 2 - 2
packages/opencode/src/cli/cmd/tui/app.tsx

@@ -96,7 +96,7 @@ async function getTerminalBackgroundColor(): Promise<"dark" | "light"> {
   })
 }
 
-export function tui(input: { url: string; args: Args; onExit?: () => Promise<void> }) {
+export function tui(input: { url: string; args: Args; directory?: string; onExit?: () => Promise<void> }) {
   // promise to prevent immediate exit
   return new Promise<void>(async (resolve) => {
     const mode = await getTerminalBackgroundColor()
@@ -116,7 +116,7 @@ export function tui(input: { url: string; args: Args; onExit?: () => Promise<voi
                 <KVProvider>
                   <ToastProvider>
                     <RouteProvider>
-                      <SDKProvider url={input.url}>
+                      <SDKProvider url={input.url} directory={input.directory}>
                         <SyncProvider>
                           <ThemeProvider mode={mode}>
                             <LocalProvider>

+ 2 - 0
packages/opencode/src/cli/cmd/tui/attach.ts

@@ -22,9 +22,11 @@ export const AttachCommand = cmd({
       }),
   handler: async (args) => {
     if (args.dir) process.chdir(args.dir)
+    const directory = process.cwd()
     await tui({
       url: args.url,
       args: { sessionID: args.session },
+      directory,
     })
   },
 })

+ 2 - 1
packages/opencode/src/cli/cmd/tui/context/sdk.tsx

@@ -5,11 +5,12 @@ import { batch, onCleanup, onMount } from "solid-js"
 
 export const { use: useSDK, provider: SDKProvider } = createSimpleContext({
   name: "SDK",
-  init: (props: { url: string }) => {
+  init: (props: { url: string; directory?: string }) => {
     const abort = new AbortController()
     const sdk = createOpencodeClient({
       baseUrl: props.url,
       signal: abort.signal,
+      directory: props.directory,
     })
 
     const emitter = createGlobalEmitter<{