summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-04-29 20:52:19 +0000
committeropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-04-29 20:52:19 +0000
commit1124ae17b4b6d9a5f5bbf94213de67a85fcf97ec (patch)
tree592fed6a69ccdad9068ae51eb72c5541493813c7
parent9db5890ce5e50ac3aa98c747acc72a10af4fc29c (diff)
downloadopencode-1124ae17b4b6d9a5f5bbf94213de67a85fcf97ec.tar.gz
opencode-1124ae17b4b6d9a5f5bbf94213de67a85fcf97ec.zip
chore: generate
-rw-r--r--packages/opencode/src/server/proxy-util.ts4
-rw-r--r--packages/opencode/src/server/routes/instance/httpapi/middleware/proxy.ts13
-rw-r--r--packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts20
-rw-r--r--packages/opencode/src/server/routes/instance/httpapi/server.ts6
-rw-r--r--packages/opencode/test/server/workspace-proxy.test.ts17
5 files changed, 37 insertions, 23 deletions
diff --git a/packages/opencode/src/server/proxy-util.ts b/packages/opencode/src/server/proxy-util.ts
index 43d6efb2f..5107f4759 100644
--- a/packages/opencode/src/server/proxy-util.ts
+++ b/packages/opencode/src/server/proxy-util.ts
@@ -30,9 +30,7 @@ export function headers(input: Request | HeadersInit | Record<string, string>, e
}
export function websocketProtocols(input: Request | Record<string, string | undefined>) {
- const value = input instanceof Request
- ? input.headers.get("sec-websocket-protocol")
- : input["sec-websocket-protocol"]
+ const value = input instanceof Request ? input.headers.get("sec-websocket-protocol") : input["sec-websocket-protocol"]
if (!value) return []
return value
.split(",")
diff --git a/packages/opencode/src/server/routes/instance/httpapi/middleware/proxy.ts b/packages/opencode/src/server/routes/instance/httpapi/middleware/proxy.ts
index a2153ce71..549dac40c 100644
--- a/packages/opencode/src/server/routes/instance/httpapi/middleware/proxy.ts
+++ b/packages/opencode/src/server/routes/instance/httpapi/middleware/proxy.ts
@@ -1,6 +1,13 @@
import { ProxyUtil } from "@/server/proxy-util"
import { Effect, Stream } from "effect"
-import { FetchHttpClient, HttpBody, HttpClient, HttpClientRequest, HttpServerRequest, HttpServerResponse } from "effect/unstable/http"
+import {
+ FetchHttpClient,
+ HttpBody,
+ HttpClient,
+ HttpClientRequest,
+ HttpServerRequest,
+ HttpServerResponse,
+} from "effect/unstable/http"
import * as Socket from "effect/unstable/socket/Socket"
function webSource(request: HttpServerRequest.HttpServerRequest): Request | undefined {
@@ -35,7 +42,9 @@ export function websocket(
Effect.catchReason("SocketError", "SocketCloseError", (reason) =>
writeInbound(new Socket.CloseEvent(reason.code, reason.closeReason)).pipe(Effect.catch(() => Effect.void)),
),
- Effect.catch(() => writeInbound(new Socket.CloseEvent(1011, "proxy error")).pipe(Effect.catch(() => Effect.void))),
+ Effect.catch(() =>
+ writeInbound(new Socket.CloseEvent(1011, "proxy error")).pipe(Effect.catch(() => Effect.void)),
+ ),
Effect.forkScoped,
)
diff --git a/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts b/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts
index 4b68242b5..9318dbfe5 100644
--- a/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts
+++ b/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts
@@ -27,10 +27,13 @@ type RequestPlan = Data.TaggedEnum<{
}>
const RequestPlan = Data.taggedEnum<RequestPlan>()
-export class WorkspaceRouteContext extends Context.Service<WorkspaceRouteContext, {
- readonly directory: string
- readonly workspaceID?: WorkspaceID
-}>()("@opencode/ExperimentalHttpApiWorkspaceRouteContext") {}
+export class WorkspaceRouteContext extends Context.Service<
+ WorkspaceRouteContext,
+ {
+ readonly directory: string
+ readonly workspaceID?: WorkspaceID
+ }
+>()("@opencode/ExperimentalHttpApiWorkspaceRouteContext") {}
export class WorkspaceRoutingMiddleware extends HttpApiMiddleware.Service<
WorkspaceRoutingMiddleware,
@@ -110,7 +113,10 @@ function proxyRemote(
if (headers["upgrade"]?.toLowerCase() === "websocket") return yield* HttpApiProxy.websocket(request, proxyURL)
const response = yield* HttpApiProxy.http(proxyURL, target.headers, request)
const sync = Fence.parse(new Headers(response.headers))
- if (sync) yield* Effect.promise(() => Fence.wait(workspace.id, sync, request.source instanceof Request ? request.source.signal : undefined))
+ if (sync)
+ yield* Effect.promise(() =>
+ Fence.wait(workspace.id, sync, request.source instanceof Request ? request.source.signal : undefined),
+ )
return response
})
}
@@ -157,9 +163,7 @@ function routeWorkspace<E>(
MissingWorkspace: ({ workspaceID }) => Effect.succeed(missingWorkspaceResponse(workspaceID)),
Remote: ({ request, workspace, target, url }) => proxyRemote(request, workspace, target, url),
Local: ({ directory, workspaceID }) =>
- effect.pipe(
- Effect.provideService(WorkspaceRouteContext, WorkspaceRouteContext.of({ directory, workspaceID })),
- ),
+ effect.pipe(Effect.provideService(WorkspaceRouteContext, WorkspaceRouteContext.of({ directory, workspaceID }))),
})
}
diff --git a/packages/opencode/src/server/routes/instance/httpapi/server.ts b/packages/opencode/src/server/routes/instance/httpapi/server.ts
index 144ba0c63..c0fb5a20a 100644
--- a/packages/opencode/src/server/routes/instance/httpapi/server.ts
+++ b/packages/opencode/src/server/routes/instance/httpapi/server.ts
@@ -90,9 +90,9 @@ const instanceApiRoutes = HttpApiBuilder.layer(InstanceHttpApi).pipe(
const rawInstanceRoutes = Layer.mergeAll(eventRoute, ptyConnectRoute).pipe(
Layer.provide(
- instanceRouterMiddleware.combine(workspaceRouterMiddleware).layer.pipe(
- Layer.provide(Socket.layerWebSocketConstructorGlobal),
- ),
+ instanceRouterMiddleware
+ .combine(workspaceRouterMiddleware)
+ .layer.pipe(Layer.provide(Socket.layerWebSocketConstructorGlobal)),
),
)
const instanceRoutes = Layer.mergeAll(rawInstanceRoutes, instanceApiRoutes).pipe(
diff --git a/packages/opencode/test/server/workspace-proxy.test.ts b/packages/opencode/test/server/workspace-proxy.test.ts
index 14f5bd06d..549e700d1 100644
--- a/packages/opencode/test/server/workspace-proxy.test.ts
+++ b/packages/opencode/test/server/workspace-proxy.test.ts
@@ -22,14 +22,17 @@ describe("HttpApi workspace proxy", () => {
Effect.gen(function* () {
const req = yield* HttpServerRequest.HttpServerRequest
const body = yield* req.text
- return yield* HttpServerResponse.json({ path: req.url, method: req.method, body }, {
- status: 201,
- headers: {
- "content-encoding": "identity",
- "content-length": "999",
- "x-remote": "yes",
+ return yield* HttpServerResponse.json(
+ { path: req.url, method: req.method, body },
+ {
+ status: 201,
+ headers: {
+ "content-encoding": "identity",
+ "content-length": "999",
+ "x-remote": "yes",
+ },
},
- })
+ )
}),
)
const url = yield* serverUrl()