summaryrefslogtreecommitdiffhomepage
path: root/js/src/app
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-29 10:21:59 -0400
committerDax Raad <[email protected]>2025-05-29 10:22:07 -0400
commit33a831d2be1fd7bea60421287f118be0bd968650 (patch)
tree9b82f8b958fa78c18b13284b9c7cd496dcec651e /js/src/app
parentd70201cd9365aec6c88f9794eb63f411f5040cb9 (diff)
downloadopencode-33a831d2be1fd7bea60421287f118be0bd968650.tar.gz
opencode-33a831d2be1fd7bea60421287f118be0bd968650.zip
rework types
Diffstat (limited to 'js/src/app')
-rw-r--r--js/src/app/config.ts13
-rw-r--r--js/src/app/index.ts8
2 files changed, 11 insertions, 10 deletions
diff --git a/js/src/app/config.ts b/js/src/app/config.ts
index 1f1491540..348eb77c3 100644
--- a/js/src/app/config.ts
+++ b/js/src/app/config.ts
@@ -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);
diff --git a/js/src/app/index.ts b/js/src/app/index.ts
index f0d371a34..0c6260bc7 100644
--- a/js/src/app/index.ts
+++ b/js/src/app/index.ts
@@ -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;
},