Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 14 additions & 16 deletions apps/cli/src/agent/extension-host.ts
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,10 @@ export class ExtensionHost extends EventEmitter implements ExtensionHostInterfac
super()

this.options = options
this.options.integrationTest = true

// Set up quiet mode early, before any extension code runs.
// This suppresses console output from the extension during load.
this.setupQuietMode()

// Initialize client - single source of truth for agent state (including mode).
this.client = new ExtensionClient({
Expand All @@ -162,9 +165,7 @@ export class ExtensionHost extends EventEmitter implements ExtensionHostInterfac
})

// Initialize output manager.
this.outputManager = new OutputManager({
disabled: options.disableOutput,
})
this.outputManager = new OutputManager({ disabled: options.disableOutput })

// Initialize prompt manager with console mode callbacks.
this.promptManager = new PromptManager({
Expand Down Expand Up @@ -222,8 +223,6 @@ export class ExtensionHost extends EventEmitter implements ExtensionHostInterfac
this.initialSettings.reasoningEffort = this.options.reasoningEffort
}
}

this.setupQuietMode()
}

// ==========================================================================
Expand Down Expand Up @@ -267,7 +266,8 @@ export class ExtensionHost extends EventEmitter implements ExtensionHostInterfac
// ==========================================================================

private setupQuietMode(): void {
if (this.options.integrationTest) {
// Skip if already set up or if integrationTest mode
if (this.originalConsole || this.options.integrationTest) {
return
}

Expand All @@ -292,18 +292,16 @@ export class ExtensionHost extends EventEmitter implements ExtensionHostInterfac
}

private restoreConsole(): void {
if (this.options.integrationTest) {
if (!this.originalConsole) {
return
}

if (this.originalConsole) {
console.log = this.originalConsole.log
console.warn = this.originalConsole.warn
console.error = this.originalConsole.error
console.debug = this.originalConsole.debug
console.info = this.originalConsole.info
this.originalConsole = null
}
console.log = this.originalConsole.log
console.warn = this.originalConsole.warn
console.error = this.originalConsole.error
console.debug = this.originalConsole.debug
console.info = this.originalConsole.info
this.originalConsole = null

if (this.originalProcessEmitWarning) {
process.emitWarning = this.originalProcessEmitWarning
Expand Down
1 change: 1 addition & 0 deletions apps/cli/src/agent/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export * from "./extension-host.js"
export * from "./json-event-emitter.js"
Loading
Loading