72
73
constructor(
75
>
public readonly workingDirectory: URI | undefined,
76
>
@IAgentHostTerminalManager private readonly _terminalManager: IAgentHostTerminalManager,
77
>
@ILogService private readonly _logService: ILogService,
78
>
@IInstantiationService private readonly _instantiationService: IInstantiationService,
79
>
@IEnvironmentService private readonly _environmentService: IEnvironmentService,
80
>
@IProductService private readonly _productService: IProductService,
81
>
@IAgentConfigurationService private readonly _agentConfigurationService: IAgentConfigurationService,
82
>
@ISandboxHelperService private readonly _sandboxHelper: ISandboxHelperService,
83
>
) {
84
>
super();
85
>
86
>
this._register(toDisposable(() => {
87
>
for (const store of this._heldShellReleaseListeners.values()) {
88
store.dispose();
89
}
91
>
for (const shell of this._shells.values()) {
92
if (this._terminalManager.hasTerminal(shell.terminalUri)) {
93
this._terminalManager.disposeTerminal(shell.terminalUri);
94
}
95
}
97
>
this._toolCallShells.clear();
98
>
this._busyShellIds.clear();
99
>
}));
100
>
}
101
102
/**