Procházet zdrojové kódy

refactor(project): yield instance context in bootstrap (#25204)

Kit Langton před 3 měsíci
rodič
revize
ce3b0988c4
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      packages/opencode/src/project/bootstrap.ts

+ 5 - 3
packages/opencode/src/project/bootstrap.ts

@@ -7,7 +7,7 @@ import * as Project from "./project"
 import * as Vcs from "./vcs"
 import { Bus } from "../bus"
 import { Command } from "../command"
-import { Instance } from "./instance"
+import { InstanceState } from "@/effect/instance-state"
 import * as Log from "@opencode-ai/core/util/log"
 import { FileWatcher } from "@/file/watcher"
 import { ShareNext } from "@/share/share-next"
@@ -15,7 +15,8 @@ import * as Effect from "effect/Effect"
 import { Config } from "@/config/config"
 
 export const InstanceBootstrap = Effect.gen(function* () {
-  Log.Default.info("bootstrapping", { directory: Instance.directory })
+  const ctx = yield* InstanceState.context
+  Log.Default.info("bootstrapping", { directory: ctx.directory })
   // everything depends on config so eager load it for nice traces
   yield* Config.Service.use((svc) => svc.get())
   // Plugin can mutate config so it has to be initialized before anything else.
@@ -32,10 +33,11 @@ export const InstanceBootstrap = Effect.gen(function* () {
     ].map((s) => Effect.forkDetach(s.use((i) => i.init()))),
   ).pipe(Effect.withSpan("InstanceBootstrap.init"))
 
+  const projectID = ctx.project.id
   yield* Bus.Service.use((svc) =>
     svc.subscribeCallback(Command.Event.Executed, async (payload) => {
       if (payload.properties.name === Command.Default.INIT) {
-        Project.setInitialized(Instance.project.id)
+        Project.setInitialized(projectID)
       }
     }),
   )