rework types
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user