This commit is contained in:
Dax Raad
2025-05-28 14:16:56 -04:00
parent 71bab45065
commit 4767276a0e
6 changed files with 42 additions and 56 deletions

View File

@@ -15,8 +15,9 @@ export namespace Config {
outputCached: z.number(),
}),
contextWindow: z.number(),
maxTokens: z.number(),
maxTokens: z.number().optional(),
attachment: z.boolean(),
reasoning: z.boolean().optional(),
});
export type Model = z.output<typeof Model>;

View File

@@ -7,7 +7,10 @@ export namespace BunProc {
cmd: string[],
options?: Bun.SpawnOptions.OptionsObject<any, any, any>,
) {
const root = path.resolve(process.cwd(), process.argv0);
const root =
process.argv0 !== "bun"
? path.resolve(process.cwd(), process.argv0)
: process.argv0;
log.info("running", {
cmd: [root, ...cmd],
options,

View File

@@ -94,6 +94,7 @@ cli
const providers = await LLM.providers();
const providerID = Object.keys(providers)[0];
const modelID = Object.keys(providers[providerID].info.models!)[0];
console.log("using", providerID, modelID);
const result = await Session.chat({
sessionID: session.id,
providerID,

View File

@@ -35,10 +35,45 @@ export namespace LLM {
},
},
},
openai: {
models: {
"codex-mini-latest": {
name: "Codex Mini",
cost: {
input: 1.5 / 1_000_000,
inputCached: 0.375 / 1_000_000,
output: 6.0 / 1_000_000,
outputCached: 0.0 / 1_000_000,
},
contextWindow: 200000,
maxTokens: 100000,
attachment: true,
reasoning: true,
},
},
},
google: {
models: {
"gemini-2.5-pro-preview-03-25": {
name: "Gemini 2.5 Pro",
cost: {
input: 1.25 / 1_000_000,
inputCached: 0 / 1_000_000,
output: 10 / 1_000_000,
outputCached: 0 / 1_000_000,
},
contextWindow: 1000000,
maxTokens: 50000,
attachment: true,
},
},
},
};
const AUTODETECT: Record<string, string[]> = {
anthropic: ["ANTHROPIC_API_KEY"],
openai: ["OPENAI_API_KEY"],
google: ["GOOGLE_GENERATIVE_AI_API_KEY"],
};
const state = App.state("llm", async (app) => {