diff --git a/packages/opencode/src/effect/instances.ts b/packages/opencode/src/effect/instances.ts
index f67fc46ff8..02d4bf4823 100644
--- a/packages/opencode/src/effect/instances.ts
+++ b/packages/opencode/src/effect/instances.ts
@@ -3,7 +3,6 @@ import { registerDisposer } from "./instance-registry"
import { ProviderAuthService } from "@/provider/auth-service"
import { QuestionService } from "@/question/service"
import { PermissionService } from "@/permission/service"
-import { AuthService } from "@/auth/service"
import { Instance } from "@/project/instance"
import type { Project } from "@/project/project"
@@ -26,7 +25,7 @@ function lookup(directory: string) {
return Layer.mergeAll(
Layer.fresh(QuestionService.layer),
Layer.fresh(PermissionService.layer),
- Layer.fresh(ProviderAuthService.layer).pipe(Layer.provide(AuthService.defaultLayer)),
+ Layer.fresh(ProviderAuthService.layer),
).pipe(Layer.provide(ctx))
}
diff --git a/packages/opencode/src/effect/runtime.ts b/packages/opencode/src/effect/runtime.ts
index a66b122240..02a7391d44 100644
--- a/packages/opencode/src/effect/runtime.ts
+++ b/packages/opencode/src/effect/runtime.ts
@@ -6,7 +6,7 @@ import type { InstanceServices } from "@/effect/instances"
import { Instance } from "@/project/instance"
export const runtime = ManagedRuntime.make(
- Layer.mergeAll(AccountService.defaultLayer, AuthService.defaultLayer, Instances.layer),
+ Layer.mergeAll(AccountService.defaultLayer, Instances.layer).pipe(Layer.provideMerge(AuthService.defaultLayer)),
)
export function runPromiseInstance(effect: Effect.Effect) {
diff --git a/packages/opencode/src/permission/next.ts b/packages/opencode/src/permission/next.ts
index 24086562ca..6a65a6f2e9 100644
--- a/packages/opencode/src/permission/next.ts
+++ b/packages/opencode/src/permission/next.ts
@@ -4,14 +4,6 @@ import { fn } from "@/util/fn"
import { Wildcard } from "@/util/wildcard"
import os from "os"
import * as S from "./service"
-import type {
- Action as ActionType,
- PermissionError,
- Reply as ReplyType,
- Request as RequestType,
- Rule as RuleType,
- Ruleset as RulesetType,
-} from "./service"
export namespace PermissionNext {
function expand(pattern: string): string {
@@ -23,15 +15,15 @@ export namespace PermissionNext {
}
export const Action = S.Action
- export type Action = ActionType
+ export type Action = S.Action
export const Rule = S.Rule
- export type Rule = RuleType
+ export type Rule = S.Rule
export const Ruleset = S.Ruleset
- export type Ruleset = RulesetType
+ export type Ruleset = S.Ruleset
export const Request = S.Request
- export type Request = RequestType
+ export type Request = S.Request
export const Reply = S.Reply
- export type Reply = ReplyType
+ export type Reply = S.Reply
export const Approval = S.Approval
export const Event = S.Event
export const Service = S.PermissionService
diff --git a/packages/opencode/src/project/instance.ts b/packages/opencode/src/project/instance.ts
index fa41800e2a..fd3cc640a3 100644
--- a/packages/opencode/src/project/instance.ts
+++ b/packages/opencode/src/project/instance.ts
@@ -114,10 +114,11 @@ export const Instance = {
return await next
},
async dispose() {
- Log.Default.info("disposing instance", { directory: Instance.directory })
- await Promise.all([State.dispose(Instance.directory), disposeInstance(Instance.directory)])
- cache.delete(Instance.directory)
- emit(Instance.directory)
+ const directory = Instance.directory
+ Log.Default.info("disposing instance", { directory })
+ await Promise.all([State.dispose(directory), disposeInstance(directory)])
+ cache.delete(directory)
+ emit(directory)
},
async disposeAll() {
if (disposal.all) return disposal.all