feat: add OpenRouter audit generation pipeline

This commit is contained in:
2026-06-05 11:06:01 +02:00
parent 370aeec2a0
commit 03cb65fde4
29 changed files with 5462 additions and 74 deletions

View File

@@ -0,0 +1,50 @@
import { readFileSync } from "node:fs";
import assert from "node:assert/strict";
import { join } from "node:path";
import test from "node:test";
import { createOpenRouterProvider } from "../lib/ai/openrouter-provider";
const providerSource = readFileSync(
join(process.cwd(), "lib", "ai", "openrouter-provider.ts"),
"utf8",
);
test("provider reads OPENROUTER_API_KEY from environment and requires it", () => {
assert.equal(
/OPENROUTER_API_KEY/.test(providerSource),
true,
"Provider should read OPENROUTER_API_KEY.",
);
assert.equal(
/OPENROUTER_APP_NAME/.test(providerSource),
true,
"Provider should include optional OPENROUTER_APP_NAME.",
);
assert.equal(
/OPENROUTER_APP_URL/.test(providerSource),
true,
"Provider should include optional OPENROUTER_APP_URL.",
);
assert.throws(
() =>
createOpenRouterProvider({
OPENROUTER_API_KEY: undefined,
OPENROUTER_APP_NAME: "local-audit-tool",
OPENROUTER_APP_URL: "https://example.local",
}),
/OPENROUTER_API_KEY is required/i,
);
});
test("provider forwards optional app metadata to createOpenRouter call", () => {
const provider = createOpenRouterProvider({
OPENROUTER_API_KEY: "dummy-key",
OPENROUTER_APP_NAME: "local-audit-tool",
OPENROUTER_APP_URL: "https://example.local",
});
assert.equal(typeof provider, "function");
assert.equal(provider !== null, true);
});