Преглед изворни кода

fix(tui): forward environment to worker (#35925)

Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
opencode-agent[bot] пре 1 месец
родитељ
комит
251177d56c
2 измењених фајлова са 11 додато и 1 уклоњено
  1. 5 1
      packages/opencode/src/cli/cmd/tui.ts
  2. 6 0
      packages/opencode/test/cli/tui/thread.test.ts

+ 5 - 1
packages/opencode/src/cli/cmd/tui.ts

@@ -207,7 +207,11 @@ export const TuiThreadCommand = cmd({
       }
       const cwd = Filesystem.resolve(process.cwd())
 
-      const worker = new Worker(file)
+      const worker = new Worker(file, {
+        env: Object.fromEntries(
+          Object.entries(process.env).filter((entry): entry is [string, string] => entry[1] !== undefined),
+        ),
+      })
       const client = Rpc.client<typeof rpc>(worker)
       const reload = () => {
         client.call("reload", undefined).catch(() => {})

+ 6 - 0
packages/opencode/test/cli/tui/thread.test.ts

@@ -16,6 +16,12 @@ describe("tui thread", () => {
     expect(source).not.toContain('import("./app")')
   })
 
+  test("forwards the CLI environment to the TUI worker", async () => {
+    const source = await Bun.file(new URL("../../../src/cli/cmd/tui.ts", import.meta.url)).text()
+
+    expect(source).toMatch(/new Worker\(file, \{\s*env: Object\.fromEntries\(\s*Object\.entries\(process\.env\)/)
+  })
+
   async function check(project?: string) {
     await using tmp = await tmpdir({ git: true })
     const link = path.join(path.dirname(tmp.path), path.basename(tmp.path) + "-link")