Skip to content

Commit a48a63d

Browse files
logLevel: don't impose any default, match C#/Go
Instead of defaulting to 'info' on the SDK side, omit the --log-level flag entirely when the caller didn't set one and let the runtime use its own default. Matches dotnet/Client.cs and go/client.go, which both only pass --log-level when explicitly provided. CopilotClientOptions.logLevel JSDoc and README updated to describe this ('When omitted, the runtime uses its own default'). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 10f0706 commit a48a63d

3 files changed

Lines changed: 10 additions & 11 deletions

File tree

nodejs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ new CopilotClient(options?: CopilotClientOptions)
8585
- `RuntimeConnection.forUri(url, { connectionToken? })` — connect to an already-running runtime (mutually exclusive with `gitHubToken`/`useLoggedInUser`).
8686
- `cwd?: string` - Working directory for the runtime process (default: current process cwd).
8787
- `baseDirectory?: string` - Base directory for Copilot data (session state, config, etc.). Sets `COPILOT_HOME` on the spawned runtime. When not set, the runtime defaults to `~/.copilot`. Ignored when connecting via `RuntimeConnection.forUri`.
88-
- `logLevel?: string` - Log level (default: "info").
88+
- `logLevel?: string` - Log level. When omitted, the runtime uses its own default (currently `"info"`).
8989
- `gitHubToken?: string` - GitHub token for authentication. When provided, takes priority over other auth methods.
9090
- `useLoggedInUser?: boolean` - Whether to use logged-in user for authentication (default: true, but false when `gitHubToken` is provided). Cannot be used with `RuntimeConnection.forUri`.
9191
- `telemetry?: TelemetryConfig` - OpenTelemetry configuration for the runtime process. Providing this object enables telemetry — no separate flag needed. See [Telemetry](#telemetry) below.

nodejs/src/client.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ export class CopilotClient {
229229
private resolvedEnv: Record<string, string | undefined>;
230230
private options: {
231231
cwd: string;
232-
logLevel: string;
232+
logLevel?: string;
233233
gitHubToken?: string;
234234
useLoggedInUser: boolean;
235235
telemetry?: TelemetryConfig;
@@ -375,7 +375,7 @@ export class CopilotClient {
375375

376376
this.options = {
377377
cwd: options.cwd ?? process.cwd(),
378-
logLevel: options.logLevel || "info",
378+
logLevel: options.logLevel,
379379
gitHubToken: options.gitHubToken,
380380
// Default useLoggedInUser to false when gitHubToken is provided, otherwise true.
381381
useLoggedInUser: options.useLoggedInUser ?? (options.gitHubToken ? false : true),
@@ -1491,13 +1491,11 @@ export class CopilotClient {
14911491
// Clear stderr buffer for fresh capture
14921492
this.stderrBuffer = "";
14931493

1494-
const args = [
1495-
...this.connectionExtraArgs,
1496-
"--headless",
1497-
"--no-auto-update",
1498-
"--log-level",
1499-
this.options.logLevel,
1500-
];
1494+
const args = [...this.connectionExtraArgs, "--headless", "--no-auto-update"];
1495+
1496+
if (this.options.logLevel) {
1497+
args.push("--log-level", this.options.logLevel);
1498+
}
15011499

15021500
// Choose transport mode based on the resolved connection config.
15031501
if (this.connectionConfig.kind === "stdio") {

nodejs/src/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ export interface CopilotClientOptions {
187187
baseDirectory?: string;
188188

189189
/**
190-
* Log level for the Copilot runtime.
190+
* Log level for the Copilot runtime. When omitted, the runtime uses its
191+
* own default (currently `"info"`).
191192
*/
192193
logLevel?: "none" | "error" | "warning" | "info" | "debug" | "all";
193194

0 commit comments

Comments
 (0)