/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/client/script/build.ts
30 строк
1 KB
Kit Langton
feat(client): generate complete protocol client (#34164)
28 июн 2026, 05:25
Не верифицирован
28 июн 2026, 05:25
dfeb1b5
Код
Авторство
О чём код?
import { NodeFileSystem } from "@effect/platform-node" import { compile, emitEffectImported, emitPromise, write } from "@opencode-ai/httpapi-codegen" import { ClientApi, endpointNames, groupNames, omitEndpoints } from "../src/contract" import { Effect } from "effect" import { fileURLToPath } from "url" const contract = compile(ClientApi, { groupNames, endpointNames, omitEndpoints }) await Effect.runPromise( Effect.all( [ write( emitPromise(contract, { outputTypes: { "events.subscribe": { name: "OpenCodeEventEncoded", import: 'import type { OpenCodeEventEncoded } from "@opencode-ai/protocol/groups/event"', }, }, }), fileURLToPath(new URL("../src/generated", import.meta.url)), ), write( emitEffectImported(contract, { module: "../contract", api: "ClientApi" }), fileURLToPath(new URL("../src/generated-effect", import.meta.url)), ), ], { concurrency: 2, discard: true }, ).pipe(Effect.provide(NodeFileSystem.layer)), )