Files
windmill/ai_evals/core/appArtifacts.test.ts
centdix 46b2915a9d feat: improve app evals and localized app edits (#8863)
* chore: record app benchmark baseline

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: strengthen app benchmark persistence checks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: seed inventory tracker benchmark case

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add deterministic app diagnostics

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add app chat patch_file tool

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: add app session id micro-edit case

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: narrow app patch file content

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: stop gating app evals on lint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-20 11:56:35 +00:00

21 lines
751 B
TypeScript

import { describe, expect, it } from "bun:test";
import { buildAppArtifacts } from "./appArtifacts";
describe("buildAppArtifacts", () => {
it("emits lint diagnostics as an artifact alongside app files", () => {
const artifacts = buildAppArtifacts({
frontend: {
"/index.tsx":
"import { backend } from 'wmill'\nexport default function App() { void backend.deleteRecipe({ id: 1 }); return <div /> }\n",
},
backend: {},
datatables: [],
});
const lintArtifact = artifacts.find((artifact) => artifact.path === "lint.json");
expect(lintArtifact).toBeDefined();
expect(lintArtifact?.content).toContain('"errorCount": 1');
expect(lintArtifact?.content).toContain("deleteRecipe");
});
});