summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAyush Walekar <[email protected]>2025-12-26 22:39:06 +0530
committerGitHub <[email protected]>2025-12-26 11:09:06 -0600
commit155ba794cf974ed4473844c5611736178f1e5f7d (patch)
tree45d2c76b709916b4f2899f0b3aecf37321537cad
parentf1ab427f0efcdeaf5184f1f070eb2f4b0512edd8 (diff)
downloadopencode-155ba794cf974ed4473844c5611736178f1e5f7d.tar.gz
opencode-155ba794cf974ed4473844c5611736178f1e5f7d.zip
chore: createOpencodeServer expose `logLevel` (#6202)
-rw-r--r--packages/opencode/src/config/config.ts1
-rw-r--r--packages/sdk/js/src/gen/types.gen.ts4
-rw-r--r--packages/sdk/js/src/server.ts5
-rw-r--r--packages/sdk/js/src/v2/gen/types.gen.ts4
-rw-r--r--packages/sdk/js/src/v2/server.ts5
5 files changed, 17 insertions, 2 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 9187ed674..3350cf8f6 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -644,6 +644,7 @@ export namespace Config {
$schema: z.string().optional().describe("JSON schema reference for configuration validation"),
theme: z.string().optional().describe("Theme name to use for the interface"),
keybinds: Keybinds.optional().describe("Custom keybind configurations"),
+ logLevel: Log.Level.optional().describe("Log level"),
tui: TUI.optional().describe("TUI specific settings"),
server: Server.optional().describe("Server configuration for opencode serve and web commands"),
command: z
diff --git a/packages/sdk/js/src/gen/types.gen.ts b/packages/sdk/js/src/gen/types.gen.ts
index 06993d3f9..32f33f662 100644
--- a/packages/sdk/js/src/gen/types.gen.ts
+++ b/packages/sdk/js/src/gen/types.gen.ts
@@ -1175,6 +1175,10 @@ export type Config = {
theme?: string
keybinds?: KeybindsConfig
/**
+ * Log level
+ */
+ logLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR"
+ /**
* TUI specific settings
*/
tui?: {
diff --git a/packages/sdk/js/src/server.ts b/packages/sdk/js/src/server.ts
index a09e14ab2..174131ccf 100644
--- a/packages/sdk/js/src/server.ts
+++ b/packages/sdk/js/src/server.ts
@@ -28,7 +28,10 @@ export async function createOpencodeServer(options?: ServerOptions) {
options ?? {},
)
- const proc = spawn(`opencode`, [`serve`, `--hostname=${options.hostname}`, `--port=${options.port}`], {
+ const args = [`serve`, `--hostname=${options.hostname}`, `--port=${options.port}`]
+ if (options.config?.logLevel) args.push(`--log-level=${options.config.logLevel}`)
+
+ const proc = spawn(`opencode`, args, {
signal: options.signal,
env: {
...process.env,
diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts
index 87aac3287..2fda3375e 100644
--- a/packages/sdk/js/src/v2/gen/types.gen.ts
+++ b/packages/sdk/js/src/v2/gen/types.gen.ts
@@ -1407,6 +1407,10 @@ export type Config = {
theme?: string
keybinds?: KeybindsConfig
/**
+ * Log level
+ */
+ logLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR"
+ /**
* TUI specific settings
*/
tui?: {
diff --git a/packages/sdk/js/src/v2/server.ts b/packages/sdk/js/src/v2/server.ts
index a09e14ab2..174131ccf 100644
--- a/packages/sdk/js/src/v2/server.ts
+++ b/packages/sdk/js/src/v2/server.ts
@@ -28,7 +28,10 @@ export async function createOpencodeServer(options?: ServerOptions) {
options ?? {},
)
- const proc = spawn(`opencode`, [`serve`, `--hostname=${options.hostname}`, `--port=${options.port}`], {
+ const args = [`serve`, `--hostname=${options.hostname}`, `--port=${options.port}`]
+ if (options.config?.logLevel) args.push(`--log-level=${options.config.logLevel}`)
+
+ const proc = spawn(`opencode`, args, {
signal: options.signal,
env: {
...process.env,