summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-14 12:38:11 -0400
committerGitHub <[email protected]>2026-04-14 12:38:11 -0400
commitad265797ab24d4d445fa71e54aeb069fd11cabb0 (patch)
tree207e73473106e0134f36c5e54c178b20379d7b30 /packages
parentb1312a3181bdd5f93ab2fcefdf4423ed464e33e3 (diff)
downloadopencode-ad265797ab24d4d445fa71e54aeb069fd11cabb0.tar.gz
opencode-ad265797ab24d4d445fa71e54aeb069fd11cabb0.zip
refactor(share): remove session share async facade exports (#22386)
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/github.ts2
-rw-r--r--packages/opencode/src/server/instance/session.ts22
-rw-r--r--packages/opencode/src/share/session.ts8
3 files changed, 18 insertions, 14 deletions
diff --git a/packages/opencode/src/cli/cmd/github.ts b/packages/opencode/src/cli/cmd/github.ts
index 28a05512d..9481bec5e 100644
--- a/packages/opencode/src/cli/cmd/github.ts
+++ b/packages/opencode/src/cli/cmd/github.ts
@@ -564,7 +564,7 @@ export const GithubRunCommand = cmd({
shareId = await (async () => {
if (share === false) return
if (!share && repoData.data.private) return
- await SessionShare.share(session.id)
+ await AppRuntime.runPromise(SessionShare.Service.use((svc) => svc.share(session.id)))
return session.id.slice(-8)
})()
console.log("opencode session", session.id)
diff --git a/packages/opencode/src/server/instance/session.ts b/packages/opencode/src/server/instance/session.ts
index 86d6a8ef4..145b2ccd3 100644
--- a/packages/opencode/src/server/instance/session.ts
+++ b/packages/opencode/src/server/instance/session.ts
@@ -212,7 +212,7 @@ export const SessionRoutes = lazy(() =>
validator("json", Session.create.schema),
async (c) => {
const body = c.req.valid("json") ?? {}
- const session = await SessionShare.create(body)
+ const session = await AppRuntime.runPromise(SessionShare.Service.use((svc) => svc.create(body)))
return c.json(session)
},
)
@@ -437,8 +437,14 @@ export const SessionRoutes = lazy(() =>
),
async (c) => {
const sessionID = c.req.valid("param").sessionID
- await SessionShare.share(sessionID)
- const session = await Session.get(sessionID)
+ const session = await AppRuntime.runPromise(
+ Effect.gen(function* () {
+ const share = yield* SessionShare.Service
+ const session = yield* Session.Service
+ yield* share.share(sessionID)
+ return yield* session.get(sessionID)
+ }),
+ )
return c.json(session)
},
)
@@ -511,8 +517,14 @@ export const SessionRoutes = lazy(() =>
),
async (c) => {
const sessionID = c.req.valid("param").sessionID
- await SessionShare.unshare(sessionID)
- const session = await Session.get(sessionID)
+ const session = await AppRuntime.runPromise(
+ Effect.gen(function* () {
+ const share = yield* SessionShare.Service
+ const session = yield* Session.Service
+ yield* share.unshare(sessionID)
+ return yield* session.get(sessionID)
+ }),
+ )
return c.json(session)
},
)
diff --git a/packages/opencode/src/share/session.ts b/packages/opencode/src/share/session.ts
index f98bf14cb..0030e3c84 100644
--- a/packages/opencode/src/share/session.ts
+++ b/packages/opencode/src/share/session.ts
@@ -1,8 +1,6 @@
-import { makeRuntime } from "@/effect/run-service"
import { Session } from "@/session"
import { SessionID } from "@/session/schema"
import { SyncEvent } from "@/sync"
-import { fn } from "@/util/fn"
import { Effect, Layer, Scope, Context } from "effect"
import { Config } from "../config/config"
import { Flag } from "../flag/flag"
@@ -58,10 +56,4 @@ export namespace SessionShare {
Layer.provide(Session.defaultLayer),
Layer.provide(Config.defaultLayer),
)
-
- const { runPromise } = makeRuntime(Service, defaultLayer)
-
- export const create = fn(Session.create.schema, (input) => runPromise((svc) => svc.create(input)))
- export const share = fn(SessionID.zod, (sessionID) => runPromise((svc) => svc.share(sessionID)))
- export const unshare = fn(SessionID.zod, (sessionID) => runPromise((svc) => svc.unshare(sessionID)))
}