app-node-platform.ts 970 B

123456789101112131415161718
  1. import { NodeFileSystem, NodePath } from "@effect/platform-node"
  2. import { LLMClient, RequestExecutor } from "@opencode-ai/llm/route"
  3. import { FileSystem, Path } from "effect"
  4. import { FetchHttpClient } from "effect/unstable/http"
  5. import { HttpClient } from "effect/unstable/http"
  6. import { makeGlobalNode } from "./app-node"
  7. export const filesystem = makeGlobalNode({ service: FileSystem.FileSystem, layer: NodeFileSystem.layer, deps: [] })
  8. export const path = makeGlobalNode({ service: Path.Path, layer: NodePath.layer, deps: [] })
  9. export const httpClient = makeGlobalNode({ service: HttpClient.HttpClient, layer: FetchHttpClient.layer, deps: [] })
  10. export const requestExecutor = makeGlobalNode({
  11. service: RequestExecutor.Service,
  12. layer: RequestExecutor.layer,
  13. deps: [httpClient],
  14. })
  15. export const llmClient = makeGlobalNode({ service: LLMClient.Service, layer: LLMClient.layer, deps: [requestExecutor] })
  16. export * as LayerNodePlatform from "./app-node-platform"