core: return structured server info with stop method from workspace server

- Enables graceful server shutdown for workspace management
- Removes unsupported serverUrl getter that threw errors in plugin context
pull/16961/head
Dax Raad 2026-03-10 12:30:46 -04:00
parent d67e877e28
commit 5f277d1e62
2 changed files with 15 additions and 5 deletions

View File

@ -60,6 +60,20 @@ export namespace WorkspaceServer {
fetch: App().fetch,
})
server.listen(opts.port, opts.hostname)
return server
return {
hostname: opts.hostname,
port: opts.port,
stop() {
return new Promise<void>((resolve, reject) => {
server.close((err) => {
if (err) {
reject(err)
return
}
resolve()
})
})
},
}
}
}

View File

@ -34,10 +34,6 @@ export namespace Plugin {
project: Instance.project,
worktree: Instance.worktree,
directory: Instance.directory,
get serverUrl(): URL {
throw new Error("Server URL is no longer supported in plugins")
},
$: () => {},
}
for (const plugin of INTERNAL_PLUGINS) {