summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorEduardo Santos de Brito <[email protected]>2025-12-30 04:05:08 +0100
committerGitHub <[email protected]>2025-12-29 21:05:08 -0600
commit4657fa823f2e15add4bd5f9d16000b81ce5edcd2 (patch)
tree0259d5e7e2b8c9e75668fb4fe908c0dc412f9bd7 /packages
parent1d589c7ac72e1b55716b3e6a92e9c652ce3bce25 (diff)
downloadopencode-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.ts1
-rw-r--r--packages/opencode/src/server/server.ts8
-rw-r--r--packages/plugin/src/index.ts1
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
}