/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/core/src/location.ts
39 строк
1 KB
James Long
refactor(core): remove domain layer exports (#34625)
30 июн 2026, 20:05
Не верифицирован
30 июн 2026, 20:05
5a23bdc
Код
Авторство
О чём код?
import { Context, Effect, Layer } from "effect" import { Info, Ref, response } from "@opencode-ai/schema/location" import { Project } from "./project" import { LayerNode } from "./effect/layer-node" import { makeLocationNode, tags } from "./effect/app-node" export * as Location from "./location" export { Info, Ref, response } export interface Interface extends Info { readonly vcs?: Project.Vcs } export class Service extends Context.Service<Service, Interface>()("@opencode/Location") {} export const node = LayerNode.unbound(Service, tags.values.location) const layer = (ref: Ref) => Layer.effect( Service, Effect.gen(function* () { const project = yield* Project.Service const resolved = yield* project.resolve(ref.directory) return Service.of({ directory: ref.directory, workspaceID: ref.workspaceID, project: { id: resolved.id, directory: resolved.directory }, vcs: resolved.vcs, }) }), ) export const boundNode = (ref: Ref) => makeLocationNode({ service: Service, layer: layer(ref), deps: [Project.node], })