(
config: CoderSSHRuntimeConfig,
transport: SSHTransport,
coderService: CoderService,
options?: {
projectPath?: string;
workspaceName?: string;
}
)
| 105 | }; |
| 106 | |
| 107 | constructor( |
| 108 | config: CoderSSHRuntimeConfig, |
| 109 | transport: SSHTransport, |
| 110 | coderService: CoderService, |
| 111 | options?: { |
| 112 | projectPath?: string; |
| 113 | workspaceName?: string; |
| 114 | } |
| 115 | ) { |
| 116 | if (!config || !coderService || !transport) { |
| 117 | throw new Error("CoderSSHRuntime requires config, transport, and coderService"); |
| 118 | } |
| 119 | |
| 120 | const baseConfig: SSHRuntimeConfig = { |
| 121 | host: resolveCoderSSHHost(config.host, config.coder?.workspaceName), |
| 122 | srcBaseDir: config.srcBaseDir, |
| 123 | bgOutputDir: config.bgOutputDir, |
| 124 | identityFile: config.identityFile, |
| 125 | port: config.port, |
| 126 | }; |
| 127 | |
| 128 | super(baseConfig, transport, options); |
| 129 | this.coderConfig = config.coder; |
| 130 | this.coderService = coderService; |
| 131 | } |
| 132 | |
| 133 | private markActivity(workspaceName = this.coderConfig.workspaceName): void { |
| 134 | if (!workspaceName) { |
nothing calls this directly
no test coverage detected