diff options
| author | Dax Raad <[email protected]> | 2025-05-29 11:58:40 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-29 11:58:40 -0400 |
| commit | 80597cd3fdf149cef87db55f03a3cc0bfd723a7a (patch) | |
| tree | b9332733cca2084a86334eb88fdc5115ab37b922 /js/src/app | |
| parent | 48f81fe4d3a286ead827888e030f9bd89c864dee (diff) | |
| download | opencode-80597cd3fdf149cef87db55f03a3cc0bfd723a7a.tar.gz opencode-80597cd3fdf149cef87db55f03a3cc0bfd723a7a.zip | |
type error fix
Diffstat (limited to 'js/src/app')
| -rw-r--r-- | js/src/app/app.ts (renamed from js/src/app/index.ts) | 0 | ||||
| -rw-r--r-- | js/src/app/config.ts | 79 |
2 files changed, 0 insertions, 79 deletions
diff --git a/js/src/app/index.ts b/js/src/app/app.ts index 0c6260bc7..0c6260bc7 100644 --- a/js/src/app/index.ts +++ b/js/src/app/app.ts diff --git a/js/src/app/config.ts b/js/src/app/config.ts deleted file mode 100644 index e68b24bb9..000000000 --- a/js/src/app/config.ts +++ /dev/null @@ -1,79 +0,0 @@ -import path from "path"; -import { Log } from "../util/log"; -import { z } from "zod"; -import { App } from "."; - -export namespace Config { - const log = Log.create({ service: "config" }); - - export const state = App.state("config", async (app) => { - const result = await load(app.root); - return result; - }); - - export const Model = z - .object({ - name: z.string().optional(), - cost: z.object({ - input: z.number(), - inputCached: z.number(), - output: z.number(), - outputCached: z.number(), - }), - contextWindow: z.number(), - maxTokens: z.number().optional(), - attachment: z.boolean(), - reasoning: z.boolean().optional(), - }) - .openapi({ - ref: "model", - }); - export type Model = z.output<typeof Model>; - - export const Provider = z - .object({ - options: z.record(z.string(), z.any()).optional(), - models: z.record(z.string(), Model), - }) - .openapi({ - ref: "provider", - }); - export type Provider = z.output<typeof Provider>; - - export const Info = z - .object({ - providers: z.record(z.string(), Provider).optional(), - }) - .strict(); - - export type Info = z.output<typeof Info>; - - export function get() { - return state(); - } - - async function load(directory: string) { - let result: Info = {}; - for (const file of ["opencode.jsonc", "opencode.json"]) { - const resolved = path.join(directory, file); - log.info("searching", { path: resolved }); - try { - result = await import(path.join(directory, file)).then((mod) => - Info.parse(mod.default), - ); - log.info("found", { path: resolved }); - break; - } catch (e) { - if (e instanceof z.ZodError) { - for (const issue of e.issues) { - log.info(issue.message); - } - throw e; - } - continue; - } - } - log.info("loaded", result); - return result; - } -} |
