summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-16 16:29:54 -0400
committerGitHub <[email protected]>2026-04-16 16:29:54 -0400
commit9b77430d0d3bf84fa7784a093b783fad3d7ca824 (patch)
treeb49211ec4e5581a0aef2aeebcfcc62a149b33dd6
parent1045a43603436d2328dcdaccc9160bd945e8b765 (diff)
downloadopencode-9b77430d0d3bf84fa7784a093b783fad3d7ca824.tar.gz
opencode-9b77430d0d3bf84fa7784a093b783fad3d7ca824.zip
refactor: collapse env barrel into env/index.ts (#22900)
-rw-r--r--packages/opencode/src/env/env.ts35
-rw-r--r--packages/opencode/src/env/index.ts38
2 files changed, 37 insertions, 36 deletions
diff --git a/packages/opencode/src/env/env.ts b/packages/opencode/src/env/env.ts
deleted file mode 100644
index 618ae3268..000000000
--- a/packages/opencode/src/env/env.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Context, Effect, Layer } from "effect"
-import { InstanceState } from "@/effect"
-
-type State = Record<string, string | undefined>
-
-export interface Interface {
- readonly get: (key: string) => Effect.Effect<string | undefined>
- readonly all: () => Effect.Effect<State>
- readonly set: (key: string, value: string) => Effect.Effect<void>
- readonly remove: (key: string) => Effect.Effect<void>
-}
-
-export class Service extends Context.Service<Service, Interface>()("@opencode/Env") {}
-
-export const layer = Layer.effect(
- Service,
- Effect.gen(function* () {
- const state = yield* InstanceState.make<State>(Effect.fn("Env.state")(() => Effect.succeed({ ...process.env })))
-
- const get = Effect.fn("Env.get")((key: string) => InstanceState.use(state, (env) => env[key]))
- const all = Effect.fn("Env.all")(() => InstanceState.get(state))
- const set = Effect.fn("Env.set")(function* (key: string, value: string) {
- const env = yield* InstanceState.get(state)
- env[key] = value
- })
- const remove = Effect.fn("Env.remove")(function* (key: string) {
- const env = yield* InstanceState.get(state)
- delete env[key]
- })
-
- return Service.of({ get, all, set, remove })
- }),
-)
-
-export const defaultLayer = layer
diff --git a/packages/opencode/src/env/index.ts b/packages/opencode/src/env/index.ts
index c589edbfd..a53d96def 100644
--- a/packages/opencode/src/env/index.ts
+++ b/packages/opencode/src/env/index.ts
@@ -1 +1,37 @@
-export * as Env from "./env"
+import { Context, Effect, Layer } from "effect"
+import { InstanceState } from "@/effect"
+
+type State = Record<string, string | undefined>
+
+export interface Interface {
+ readonly get: (key: string) => Effect.Effect<string | undefined>
+ readonly all: () => Effect.Effect<State>
+ readonly set: (key: string, value: string) => Effect.Effect<void>
+ readonly remove: (key: string) => Effect.Effect<void>
+}
+
+export class Service extends Context.Service<Service, Interface>()("@opencode/Env") {}
+
+export const layer = Layer.effect(
+ Service,
+ Effect.gen(function* () {
+ const state = yield* InstanceState.make<State>(Effect.fn("Env.state")(() => Effect.succeed({ ...process.env })))
+
+ const get = Effect.fn("Env.get")((key: string) => InstanceState.use(state, (env) => env[key]))
+ const all = Effect.fn("Env.all")(() => InstanceState.get(state))
+ const set = Effect.fn("Env.set")(function* (key: string, value: string) {
+ const env = yield* InstanceState.get(state)
+ env[key] = value
+ })
+ const remove = Effect.fn("Env.remove")(function* (key: string) {
+ const env = yield* InstanceState.get(state)
+ delete env[key]
+ })
+
+ return Service.of({ get, all, set, remove })
+ }),
+)
+
+export const defaultLayer = layer
+
+export * as Env from "."