77} from "./utilities/common/vscodeapi"
88import {
99 registerLogger ,
10+ traceError ,
1011 traceInfo ,
1112 traceVerbose ,
1213} from "./utilities/common/log"
@@ -16,9 +17,9 @@ import { AuthenticationProviderTobikoCloud } from "./auth/auth"
1617import { signOut } from "./commands/signout"
1718import { signIn } from "./commands/signin"
1819import { signInSpecifyFlow } from "./commands/signinSpecifyFlow"
19- import { isErr } from "./utilities/functional/result"
20- import { handleNotSginedInError } from "./utilities/errors"
21- import { WebServer } from "./web-server/server"
20+ import { isErr , Result } from "./utilities/functional/result"
21+ import { ErrorType , handleNotSginedInError } from "./utilities/errors"
22+ import { startWebServer , WebServer } from "./web-server/server"
2223import { LineagePanel } from "./webviews/lineagePanel"
2324
2425let lspClient : LSPClient | undefined
@@ -34,6 +35,12 @@ export async function activate(context: vscode.ExtensionContext) {
3435 )
3536 traceInfo ( "Activating SQLMesh extension" )
3637
38+ const webServerOutputChannel = createOutputChannel ( "sqlmesh-webserver" )
39+ context . subscriptions . push (
40+ webServerOutputChannel ,
41+ registerLogger ( webServerOutputChannel )
42+ )
43+
3744 traceInfo ( "Registering authentication provider" )
3845 const authProvider = new AuthenticationProviderTobikoCloud ( )
3946 context . subscriptions . push (
@@ -80,7 +87,25 @@ export async function activate(context: vscode.ExtensionContext) {
8087 }
8188 context . subscriptions . push ( lspClient )
8289
90+ // start web server
91+ const webServerResult = await startWebServer ( webServerOutputChannel )
92+ if ( ! isErr ( webServerResult ) ) {
93+ webServer = webServerResult . value
94+ } else {
95+ traceError ( "Failed to start web server" , webServerResult . error )
96+ }
97+
8398 const restart = async ( ) => {
99+ if ( webServer ) {
100+ webServer . stop ( ) ;
101+ webServer = undefined ;
102+ const webServerResult = await startWebServer ( webServerOutputChannel )
103+ if ( ! isErr ( webServerResult ) ) {
104+ webServer = webServerResult . value
105+ } else {
106+ traceError ( "Failed to start web server" , webServerResult . error )
107+ }
108+ }
84109 if ( lspClient ) {
85110 traceVerbose ( "Restarting LSP client" )
86111 const restartResult = await lspClient . restart ( )
0 commit comments