Просмотр исходного кода

fix: ensure ask question tool isn't included when using acp (#11379)

Aiden Cline 2 недель назад
Родитель
Сommit
1a6461e8bc
2 измененных файлов с 13 добавлено и 1 удалено
  1. 1 0
      packages/opencode/src/cli/cmd/acp.ts
  2. 12 1
      packages/opencode/src/flag/flag.ts

+ 1 - 0
packages/opencode/src/cli/cmd/acp.ts

@@ -20,6 +20,7 @@ export const AcpCommand = cmd({
     })
   },
   handler: async (args) => {
+    process.env.OPENCODE_CLIENT = "acp"
     await bootstrap(process.cwd(), async () => {
       const opts = await resolveNetworkOptions(args)
       const server = Server.listen(opts)

+ 12 - 1
packages/opencode/src/flag/flag.ts

@@ -25,7 +25,7 @@ export namespace Flag {
     OPENCODE_DISABLE_CLAUDE_CODE || truthy("OPENCODE_DISABLE_CLAUDE_CODE_SKILLS")
   export declare const OPENCODE_DISABLE_PROJECT_CONFIG: boolean
   export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"]
-  export const OPENCODE_CLIENT = process.env["OPENCODE_CLIENT"] ?? "cli"
+  export declare const OPENCODE_CLIENT: string
   export const OPENCODE_SERVER_PASSWORD = process.env["OPENCODE_SERVER_PASSWORD"]
   export const OPENCODE_SERVER_USERNAME = process.env["OPENCODE_SERVER_USERNAME"]
 
@@ -77,3 +77,14 @@ Object.defineProperty(Flag, "OPENCODE_CONFIG_DIR", {
   enumerable: true,
   configurable: false,
 })
+
+// Dynamic getter for OPENCODE_CLIENT
+// This must be evaluated at access time, not module load time,
+// because some commands override the client at runtime
+Object.defineProperty(Flag, "OPENCODE_CLIENT", {
+  get() {
+    return process.env["OPENCODE_CLIENT"] ?? "cli"
+  },
+  enumerable: true,
+  configurable: false,
+})