From de917196d3602197a90e9eaa7cf7f8b5d0c7718e Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 23 Jul 2025 07:25:56 +0700 Subject: m --- .gitignore | 2 +- src/generic.ts | 1 - tests/index.test.ts | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/test.ts | 25 ++++++++++++++++++++++ 4 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 tests/index.test.ts create mode 100644 tests/test.ts diff --git a/.gitignore b/.gitignore index 9b1ee42..1a56d8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore # Logs - +runtest.sh logs _.log npm-debug.log_ diff --git a/src/generic.ts b/src/generic.ts index 50b19c3..3690dc6 100644 --- a/src/generic.ts +++ b/src/generic.ts @@ -30,7 +30,6 @@ export default class OpenAIAPI implements AIModelAPI { this.apiKey = props.apiKey; this.baseURL = props.baseURL; this.api = new OpenAI({ baseURL: this.baseURL, apiKey: this.apiKey }); - console.log(this.api); this.model = props.model || ""; if (props.maxTokens) this.maxTokens = props.maxTokens; if (props.tokenizer) this.tokenizer = props.tokenizer; diff --git a/tests/index.test.ts b/tests/index.test.ts new file mode 100644 index 0000000..1c328fa --- /dev/null +++ b/tests/index.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, test } from "bun:test"; +import selectModel from "../index"; + +describe("Model selector smoke tests", () => { + // test("chatgpt model instantiates correctly and basic send works", async () => { + // const api = selectModel({ chatgpt: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // expect(typeof api.setModel).toBe("function"); + // expect(typeof api.tokenizer).toBe("function"); + // expect(typeof api.maxTokens).toBe("number"); + // const res = await api.send("hello"); + // expect(res).toBeTruthy(); + // expect(typeof (res.ok ?? res.error)).toBe("string"); + // }); + // test("gemini model instantiates correctly and basic send works", async () => { + // const api = selectModel({ gemini: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // const res = await api.send("hello"); + // console.log({ res }); + // }); + // test("claude model instantiates correctly and basic send works", async () => { + // const api = selectModel({ claude: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // const res = await api.send("hello"); + // expect(res).toBeTruthy(); + // expect(typeof (res.ok ?? res.error)).toBe("string"); + // }); + // test("deepseek model instantiates correctly and basic send works", async () => { + // const api = selectModel({ deepseek: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // const res = await api.send("hello"); + // expect(res).toBeTruthy(); + // expect(typeof (res.ok ?? res.error)).toBe("string"); + // }); + // test("kimi model instantiates correctly and basic send works", async () => { + // const api = selectModel({ kimi: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // const res = await api.send("hello"); + // expect(res).toBeTruthy(); + // expect(typeof (res.ok ?? res.error)).toBe("string"); + // }); + // test("grok model instantiates correctly and basic send works", async () => { + // const api = selectModel({ grok: "" }); + // expect(api).toBeDefined(); + // expect(typeof api.send).toBe("function"); + // expect(typeof api.stream).toBe("function"); + // const res = await api.send("hello"); + // expect(res).toBeTruthy(); + // expect(typeof (res.ok ?? res.error)).toBe("string"); + // }); +}); diff --git a/tests/test.ts b/tests/test.ts new file mode 100644 index 0000000..0b311f6 --- /dev/null +++ b/tests/test.ts @@ -0,0 +1,25 @@ +import Router from "."; +import OpenAI from "openai"; + +async function run() { + // const api = Router({ claude: "" }); + const api = new OpenAI({ + baseURL: "https://api.moonshot.ai/v1", + apiKey: Bun.env.MOONSHOT_API_KEY, + }); + const model = "kimi-k2-0711-preview"; + // const api = new OpenAI(); + // const model = "o4-mini"; + const res = await api.responses.create({ model, input: "Hello!" }); + // const res = await api.chat.completions.create({ + // model, + // messages: [{ role: "user", content: "Hello there" }], + // }); + // const res = await api.send("henlo"); + console.log({ res }); +} +run(); + +// gemini works +// claude works too. +// it's the openai API thingy -- cgit v1.2.3