mirror of
https://github.com/Heretek-AI/openrig.git
synced 2026-11-07 11:06:04 -10:00
Scaffold (T01-T04): - npm workspaces monorepo with @rigged/daemon and @rigged/ui - Shared tsconfig.base.json with strict mode - Hono server with /healthz endpoint, guarded index.ts (no side-effect on import) - SQLite connection factory (WAL, FK enforcement) and migration runner - Vite/React shell with dev proxy to daemon Schema (T05-T07, QA-approved HIGH risk): - 001_core_schema: rigs, nodes (id=opaque PK, logical_id=spec name), edges with same-rig trigger enforcing source/target/rig_id consistency - 002_bindings_sessions: bindings (optional, 1:1 with node) and sessions (status includes detached). No resume_token (Phase 2). - 003_events: append-only event log with seq AUTOINCREMENT for SSE replay. events.node_id is intentionally NOT an FK — events survive node deletion. 42 tests, all passing. tsc clean in both packages. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
17 lines
487 B
TypeScript
17 lines
487 B
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { app } from "../src/server.js";
|
|
|
|
describe("Hono server", () => {
|
|
it("GET /healthz returns 200 with status ok", async () => {
|
|
const res = await app.request("/healthz");
|
|
expect(res.status).toBe(200);
|
|
const body = await res.json();
|
|
expect(body).toEqual({ status: "ok" });
|
|
});
|
|
|
|
it("GET /unknown returns 404", async () => {
|
|
const res = await app.request("/unknown");
|
|
expect(res.status).toBe(404);
|
|
});
|
|
});
|