diff options
| author | Eduardo Santos de Brito <[email protected]> | 2025-12-30 04:05:08 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-29 21:05:08 -0600 |
| commit | 4657fa823f2e15add4bd5f9d16000b81ce5edcd2 (patch) | |
| tree | 0259d5e7e2b8c9e75668fb4fe908c0dc412f9bd7 /packages | |
| parent | 1d589c7ac72e1b55716b3e6a92e9c652ce3bce25 (diff) | |
| download | opencode-4657fa823f2e15add4bd5f9d16000b81ce5edcd2.tar.gz opencode-4657fa823f2e15add4bd5f9d16000b81ce5edcd2.zip | |
feat(plugin): expose server URL to plugins (#6373)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/plugin/index.ts | 1 | ||||
| -rw-r--r-- | packages/opencode/src/server/server.ts | 8 | ||||
| -rw-r--r-- | packages/plugin/src/index.ts | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/packages/opencode/src/plugin/index.ts b/packages/opencode/src/plugin/index.ts index b492c7179..79f609494 100644 --- a/packages/opencode/src/plugin/index.ts +++ b/packages/opencode/src/plugin/index.ts @@ -24,6 +24,7 @@ export namespace Plugin { project: Instance.project, worktree: Instance.worktree, directory: Instance.directory, + serverUrl: Server.url(), $: Bun.$, } const plugins = [...(config.plugin ?? [])] diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index e25d9ded4..2306a4678 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -57,6 +57,12 @@ globalThis.AI_SDK_LOG_WARNINGS = false export namespace 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 = { Connected: BusEvent.define("server.connected", 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) if (!server) throw new Error(`Failed to start server on port ${opts.port}`) + _url = server.url + const shouldPublishMDNS = opts.mdns && server.port && diff --git a/packages/plugin/src/index.ts b/packages/plugin/src/index.ts index fbc0e710c..5653f19d9 100644 --- a/packages/plugin/src/index.ts +++ b/packages/plugin/src/index.ts @@ -28,6 +28,7 @@ export type PluginInput = { project: Project directory: string worktree: string + serverUrl: URL $: BunShell } |
