Przeglądaj źródła

fix(core): use static tool type imports (#31170)

Kit Langton 2 miesięcy temu
rodzic
commit
807c804c24

+ 2 - 1
packages/core/src/public/opencode.ts

@@ -13,10 +13,11 @@ import { SessionProjector } from "../session/projector"
 import { SessionStore } from "../session/store"
 import { ApplicationTools } from "../tool/application-tools"
 import { Session } from "./session"
+import { Tool } from "./tool"
 
 export interface Interface {
   readonly sessions: Session.Interface
-  readonly tools: import("./tool").Service
+  readonly tools: Tool.Interface
 }
 
 /** Intentional public native API for Effect applications embedding OpenCode. */

+ 6 - 5
packages/core/src/public/tool.ts

@@ -1,16 +1,17 @@
+export * as Tool from "./tool"
+
 import { Effect, Scope } from "effect"
+import type { AnyTool, RegistrationError } from "../tool/tool"
 
 export { Failure, RegistrationError, make } from "../tool/tool"
-export type { AnyTool, Content, Context, Tool } from "../tool/tool"
+export type { AnyTool, Content, Context } from "../tool/tool"
 
-export interface Service {
+export interface Interface {
   /**
    * Register same-process tools on this OpenCode instance for the current Scope.
    * Location tools with the same name take precedence where they are installed.
    * Closing the Scope removes the tools immediately, so calls that have not
    * started settling may fail because the tool is no longer available.
    */
-  readonly register: (
-    tools: Readonly<Record<string, import("../tool/tool").AnyTool>>,
-  ) => Effect.Effect<void, import("../tool/tool").RegistrationError, Scope.Scope>
+  readonly register: (tools: Readonly<Record<string, AnyTool>>) => Effect.Effect<void, RegistrationError, Scope.Scope>
 }