rework types

This commit is contained in:
Dax Raad
2025-05-29 10:21:59 -04:00
parent d70201cd93
commit 33a831d2be
12 changed files with 494 additions and 432 deletions

View File

@@ -1,11 +1,16 @@
import path from "path";
import { Log } from "../util/log";
import { z } from "zod";
import { LLM } from "../llm/llm";
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({
@@ -35,7 +40,11 @@ export namespace Config {
export type Info = z.output<typeof Info>;
export async function load(directory: string) {
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);

View File

@@ -2,7 +2,6 @@ import fs from "fs/promises";
import { AppPath } from "./path";
import { Log } from "../util/log";
import { Context } from "../util/context";
import { Config } from "./config";
export namespace App {
const log = Log.create({ service: "app" });
@@ -16,10 +15,6 @@ export namespace App {
await fs.mkdir(dataDir, { recursive: true });
await Log.file(input.directory);
log.info("creating");
const config = await Config.load(input.directory);
log.info("created", { path: dataDir });
const services = new Map<
@@ -34,9 +29,6 @@ export namespace App {
get services() {
return services;
},
get config() {
return config;
},
get root() {
return input.directory;
},