Browse Source

refactor(flags): route llm client through runtime flags (#27368)

Shoubhit Dash 3 months ago
parent
commit
a4ebb07c25
1 changed files with 5 additions and 3 deletions
  1. 5 3
      packages/opencode/src/session/llm.ts

+ 5 - 3
packages/opencode/src/session/llm.ts

@@ -12,7 +12,6 @@ import type { Agent } from "@/agent/agent"
 import type { MessageV2 } from "./message-v2"
 import type { MessageV2 } from "./message-v2"
 import { Plugin } from "@/plugin"
 import { Plugin } from "@/plugin"
 import { SystemPrompt } from "./system"
 import { SystemPrompt } from "./system"
-import { Flag } from "@opencode-ai/core/flag/flag"
 import { Permission } from "@/permission"
 import { Permission } from "@/permission"
 import { PermissionID } from "@/permission/schema"
 import { PermissionID } from "@/permission/schema"
 import { Bus } from "@/bus"
 import { Bus } from "@/bus"
@@ -21,6 +20,7 @@ import { SessionID } from "@/session/schema"
 import { Auth } from "@/auth"
 import { Auth } from "@/auth"
 import { InstallationVersion } from "@opencode-ai/core/installation/version"
 import { InstallationVersion } from "@opencode-ai/core/installation/version"
 import { EffectBridge } from "@/effect/bridge"
 import { EffectBridge } from "@/effect/bridge"
+import { RuntimeFlags } from "@/effect/runtime-flags"
 import * as Option from "effect/Option"
 import * as Option from "effect/Option"
 import * as OtelTracer from "@effect/opentelemetry/Tracer"
 import * as OtelTracer from "@effect/opentelemetry/Tracer"
 
 
@@ -62,7 +62,7 @@ export class Service extends Context.Service<Service, Interface>()("@opencode/LL
 const live: Layer.Layer<
 const live: Layer.Layer<
   Service,
   Service,
   never,
   never,
-  Auth.Service | Config.Service | Provider.Service | Plugin.Service | Permission.Service
+  Auth.Service | Config.Service | Provider.Service | Plugin.Service | Permission.Service | RuntimeFlags.Service
 > = Layer.effect(
 > = Layer.effect(
   Service,
   Service,
   Effect.gen(function* () {
   Effect.gen(function* () {
@@ -71,6 +71,7 @@ const live: Layer.Layer<
     const provider = yield* Provider.Service
     const provider = yield* Provider.Service
     const plugin = yield* Plugin.Service
     const plugin = yield* Plugin.Service
     const perm = yield* Permission.Service
     const perm = yield* Permission.Service
+    const flags = yield* RuntimeFlags.Service
 
 
     const run = Effect.fn("LLM.run")(function* (input: StreamRequest) {
     const run = Effect.fn("LLM.run")(function* (input: StreamRequest) {
       const l = log
       const l = log
@@ -375,7 +376,7 @@ const live: Layer.Layer<
                 "x-opencode-project": opencodeProjectID,
                 "x-opencode-project": opencodeProjectID,
                 "x-opencode-session": input.sessionID,
                 "x-opencode-session": input.sessionID,
                 "x-opencode-request": input.user.id,
                 "x-opencode-request": input.user.id,
-                "x-opencode-client": Flag.OPENCODE_CLIENT,
+                "x-opencode-client": flags.client,
                 "User-Agent": `opencode/${InstallationVersion}`,
                 "User-Agent": `opencode/${InstallationVersion}`,
               }
               }
             : {
             : {
@@ -443,6 +444,7 @@ export const defaultLayer = Layer.suspend(() =>
     Layer.provide(Config.defaultLayer),
     Layer.provide(Config.defaultLayer),
     Layer.provide(Provider.defaultLayer),
     Layer.provide(Provider.defaultLayer),
     Layer.provide(Plugin.defaultLayer),
     Layer.provide(Plugin.defaultLayer),
+    Layer.provide(RuntimeFlags.defaultLayer),
   ),
   ),
 )
 )