Download frontend/src/expert/expertCore.test.js from ruslanmv/HomePilot: direct link, hf CLI and curl.
- Browser
- Download file 4.2 kB
-
https://huggingface.co/spaces/ruslanmv/HomePilot/resolve/main/frontend/src/expert/expertCore.test.js
- Command line
-
hf download hf://spaces/ruslanmv/HomePilot/frontend/src/expert/expertCore.test.js
-
curl -L -o expertCore.test.js https://huggingface.co/spaces/ruslanmv/HomePilot/resolve/main/frontend/src/expert/expertCore.test.js
4.2 kB
| import { describe, expect, it } from "vitest"; | |
| import { ToolRegistry } from "../../../expert/frontend/src/expert/tools/registry"; | |
| import { InMemoryStore } from "../../../expert/frontend/src/expert/memory/store"; | |
| import { InMemoryEvalRecorder } from "../../../expert/frontend/src/expert/evals/harness"; | |
| import { ReliabilityTracker } from "../../../expert/frontend/src/expert/reliability/metrics"; | |
| import { resolveRoutingPolicy } from "../../../expert/frontend/src/expert/policies"; | |
| import { ExpertRouter } from "../../../expert/frontend/src/expert/router"; | |
| class FakeProvider { | |
| constructor(backend) { | |
| this.backend = backend; | |
| } | |
| async isHealthy() { | |
| return true; | |
| } | |
| async chat(request) { | |
| const prompt = request.messages[request.messages.length - 1]?.content ?? ""; | |
| return { | |
| text: `${this.backend.toUpperCase()}:${request.mode}:${prompt.slice(0, 40)}`, | |
| model: `${this.backend}-model`, | |
| backend: this.backend, | |
| }; | |
| } | |
| } | |
| describe("expert core gaps coverage", () => { | |
| it("executes tool registry with budget constraints", async () => { | |
| const registry = new ToolRegistry(); | |
| registry.register({ | |
| name: "retrieval", | |
| description: "lookup", | |
| cost: 1, | |
| run: async (input) => ({ tool: "retrieval", ok: true, content: `R:${input}` }), | |
| }); | |
| registry.register({ | |
| name: "code_exec", | |
| description: "run", | |
| cost: 3, | |
| run: async (input) => ({ tool: "code_exec", ok: true, content: `C:${input}` }), | |
| }); | |
| const summary = await registry.executeMany([ | |
| { tool: "retrieval", input: "docs" }, | |
| { tool: "code_exec", input: "test" }, | |
| ], { budget: 2 }); | |
| expect(summary.results).toHaveLength(2); | |
| expect(summary.results[0].ok).toBe(true); | |
| expect(summary.results[1].ok).toBe(false); | |
| }); | |
| it("stores and recalls memory records", async () => { | |
| const memory = new InMemoryStore(); | |
| await memory.append("s1", [ | |
| { role: "user", content: "hello", timestamp: 1 }, | |
| { role: "assistant", content: "hi", timestamp: 2 }, | |
| ]); | |
| const rows = await memory.recall("s1", 2); | |
| expect(rows.map((r) => r.content)).toEqual(["hello", "hi"]); | |
| }); | |
| it("records eval score and reliability metrics", async () => { | |
| const evals = new InMemoryEvalRecorder(); | |
| const rel = new ReliabilityTracker(); | |
| const score = await evals.record({ | |
| id: "1", | |
| query: "q", | |
| response: "This is a reasonably helpful response for scoring.", | |
| latencyMs: 1200, | |
| provider: "local", | |
| strategy: "single-pass", | |
| }); | |
| rel.record("local", true, 1000); | |
| rel.record("remote", false, 3000); | |
| expect(score.overall).toBeGreaterThan(0); | |
| expect((await evals.history()).length).toBe(1); | |
| expect(rel.snapshot().remoteSuccessRate).toBeLessThan(1); | |
| }); | |
| it("routes with reliability-aware policy and executes through router", async () => { | |
| const decision = resolveRoutingPolicy({ | |
| mode: "expert", | |
| messages: [{ role: "user", content: "design robust architecture" }], | |
| localAvailable: true, | |
| remoteAvailable: true, | |
| monthlyGpuBudgetReached: false, | |
| providerStats: { | |
| localSuccessRate: 1, | |
| remoteSuccessRate: 0.3, | |
| localP95Ms: 900, | |
| remoteP95Ms: 5000, | |
| }, | |
| }); | |
| expect(decision.provider).toBe("local"); | |
| const router = new ExpertRouter({ | |
| local: new FakeProvider("local"), | |
| remote: new FakeProvider("remote"), | |
| }); | |
| const response = await router.route({ | |
| mode: "auto", | |
| sessionId: "s2", | |
| messages: [{ role: "user", content: "please analyze this architecture" }], | |
| }); | |
| expect(response.text.length).toBeGreaterThan(0); | |
| expect(["local", "remote"]).toContain(response.backend); | |
| expect(response.decision.strategy).toBeDefined(); | |
| }); | |
| }); | |