From c1df8a52c88a86cf700fdaf9b6041483b411ca83 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Wed, 25 Mar 2026 14:52:59 -0400 Subject: [PATCH] remove unused instance context service --- packages/opencode/src/effect/instance-context.ts | 14 -------------- packages/opencode/src/project/instance.ts | 7 +++++-- packages/opencode/test/fixture/instance.ts | 13 ++----------- 3 files changed, 7 insertions(+), 27 deletions(-) delete mode 100644 packages/opencode/src/effect/instance-context.ts diff --git a/packages/opencode/src/effect/instance-context.ts b/packages/opencode/src/effect/instance-context.ts deleted file mode 100644 index 1c5eeb639f..0000000000 --- a/packages/opencode/src/effect/instance-context.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { ServiceMap } from "effect" -import type { Project } from "@/project/project" - -export declare namespace InstanceContext { - export interface Info { - readonly directory: string - readonly worktree: string - readonly project: Project.Info - } -} - -export class InstanceContext extends ServiceMap.Service()( - "opencode/InstanceContext", -) {} diff --git a/packages/opencode/src/project/instance.ts b/packages/opencode/src/project/instance.ts index 3782a914a3..eeac40d6ea 100644 --- a/packages/opencode/src/project/instance.ts +++ b/packages/opencode/src/project/instance.ts @@ -1,5 +1,4 @@ import { GlobalBus } from "@/bus/global" -import type { InstanceContext } from "@/effect/instance-context" import { disposeInstance } from "@/effect/instance-registry" import { Filesystem } from "@/util/filesystem" import { iife } from "@/util/iife" @@ -8,7 +7,11 @@ import { Context } from "../util/context" import { Project } from "./project" import { State } from "./state" -export type Info = InstanceContext.Info +export interface Info { + directory: string + worktree: string + project: Project.Info +} const context = Context.create("instance") const cache = new Map>() diff --git a/packages/opencode/test/fixture/instance.ts b/packages/opencode/test/fixture/instance.ts index 67af82fc8b..a621e8022a 100644 --- a/packages/opencode/test/fixture/instance.ts +++ b/packages/opencode/test/fixture/instance.ts @@ -1,5 +1,4 @@ import { ConfigProvider, Layer, ManagedRuntime } from "effect" -import { InstanceContext } from "../../src/effect/instance-context" import { Instance } from "../../src/project/instance" /** ConfigProvider that enables the experimental file watcher. */ @@ -15,26 +14,18 @@ export const watcherConfigLayer = ConfigProvider.layer( * the ManagedRuntime. Cleanup is automatic — the runtime is disposed * and Instance context is torn down when `body` completes. * - * Layers may depend on InstanceContext (provided automatically). * Pass extra layers via `options.provide` (e.g. ConfigProvider.layer). */ export function withServices( directory: string, - layer: Layer.Layer, + layer: Layer.Layer, body: (rt: ManagedRuntime.ManagedRuntime) => Promise, options?: { provide?: Layer.Layer[] }, ) { return Instance.provide({ directory, fn: async () => { - const ctx = Layer.sync(InstanceContext, () => - InstanceContext.of({ - directory: Instance.directory, - worktree: Instance.worktree, - project: Instance.project, - }), - ) - let resolved: Layer.Layer = layer.pipe(Layer.provide(ctx)) as any + let resolved: Layer.Layer = layer if (options?.provide) { for (const l of options.provide) { resolved = resolved.pipe(Layer.provide(l)) as any