feat(plugin): expose server URL to plugins (#6373)

This commit is contained in:
Eduardo Santos de Brito 2025-12-30 04:05:08 +01:00 committed by GitHub
parent 1d589c7ac7
commit 4657fa823f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 0 deletions

View file

@ -24,6 +24,7 @@ export namespace Plugin {
project: Instance.project, project: Instance.project,
worktree: Instance.worktree, worktree: Instance.worktree,
directory: Instance.directory, directory: Instance.directory,
serverUrl: Server.url(),
$: Bun.$, $: Bun.$,
} }
const plugins = [...(config.plugin ?? [])] const plugins = [...(config.plugin ?? [])]

View file

@ -57,6 +57,12 @@ globalThis.AI_SDK_LOG_WARNINGS = false
export namespace Server { export namespace Server {
const log = Log.create({ service: "server" }) const log = Log.create({ service: "server" })
let _url: URL | undefined
export function url(): URL {
return _url ?? new URL("http://localhost:4096")
}
export const Event = { export const Event = {
Connected: BusEvent.define("server.connected", z.object({})), Connected: BusEvent.define("server.connected", z.object({})),
Disposed: BusEvent.define("global.disposed", z.object({})), Disposed: BusEvent.define("global.disposed", z.object({})),
@ -2666,6 +2672,8 @@ export namespace Server {
const server = opts.port === 0 ? (tryServe(4096) ?? tryServe(0)) : tryServe(opts.port) const server = opts.port === 0 ? (tryServe(4096) ?? tryServe(0)) : tryServe(opts.port)
if (!server) throw new Error(`Failed to start server on port ${opts.port}`) if (!server) throw new Error(`Failed to start server on port ${opts.port}`)
_url = server.url
const shouldPublishMDNS = const shouldPublishMDNS =
opts.mdns && opts.mdns &&
server.port && server.port &&

View file

@ -28,6 +28,7 @@ export type PluginInput = {
project: Project project: Project
directory: string directory: string
worktree: string worktree: string
serverUrl: URL
$: BunShell $: BunShell
} }