|
|
@@ -280,6 +280,11 @@ export const RunCommand = cmd({
|
|
|
type: "string",
|
|
|
describe: "attach to a running opencode server (e.g., http://localhost:4096)",
|
|
|
})
|
|
|
+ .option("password", {
|
|
|
+ alias: ["p"],
|
|
|
+ type: "string",
|
|
|
+ describe: "basic auth password (defaults to OPENCODE_SERVER_PASSWORD)",
|
|
|
+ })
|
|
|
.option("dir", {
|
|
|
type: "string",
|
|
|
describe: "directory to run in, path on remote server if attaching",
|
|
|
@@ -648,7 +653,14 @@ export const RunCommand = cmd({
|
|
|
}
|
|
|
|
|
|
if (args.attach) {
|
|
|
- const sdk = createOpencodeClient({ baseUrl: args.attach, directory })
|
|
|
+ const headers = (() => {
|
|
|
+ const password = args.password ?? process.env.OPENCODE_SERVER_PASSWORD
|
|
|
+ if (!password) return undefined
|
|
|
+ const username = process.env.OPENCODE_SERVER_USERNAME ?? "opencode"
|
|
|
+ const auth = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`
|
|
|
+ return { Authorization: auth }
|
|
|
+ })()
|
|
|
+ const sdk = createOpencodeClient({ baseUrl: args.attach, directory, headers })
|
|
|
return await execute(sdk)
|
|
|
}
|
|
|
|