This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Replit Agent 45ffab77ab
Some checks failed
CI / Typecheck & Lint (pull_request) Failing after 0s
feat(epic222): Workshop — Timmy wizard presence, world state, WS bootstrap
## Epic #222 — The Workshop: Timmy as Presence

### Backend
- lib/db/src/schema/world-events.ts: world_events table (id, type, agentId, summary, jobId, createdAt)
- lib/db/src/schema/index.ts: export worldEvents
- artifacts/api-server/src/lib/world-state.ts: in-memory world state (timmyState, agentStates, derived mood/activity)
- artifacts/api-server/src/routes/world.ts: GET /api/world/state
- artifacts/api-server/src/routes/index.ts: register worldRouter
- artifacts/api-server/src/routes/events.ts: WS world_state bootstrap on connect; visitor_enter/leave/message protocol; job events update world-state + log to DB

### Frontend (the-matrix/)
- world.js: Workshop room — dark stone floor, wooden desk, shelves, fireplace warm light, atmospheric fog
- agents.js: Timmy wizard — cone robe, sphere head, hat, crystal ball (glows on events), Pip familiar (wanders), speech bubble sprite; state-driven animations
- effects.js: floating ambient dust motes (amber + green)
- websocket.js: world_state bootstrap, visitor_enter, job events → crystal ball, chat → speech bubble
- ui.js: minimal HUD + event log + touch-first input bar
- main.js: updated imports, clean loop
- index.html: Workshop HTML — dark theme, input bar, payment panel

20/20 testkit PASS
2026-03-19 02:14:51 +00:00
2026-03-13 23:21:55 +00:00
2026-03-18 17:19:38 +00:00
2026-03-13 23:21:55 +00:00
2026-03-13 23:21:55 +00:00
2026-03-13 23:21:55 +00:00
Description
Timmy — Lightning-gated AI agent (TypeScript/Express)
30 MiB
Languages
TypeScript 68.2%
JavaScript 14.8%
Shell 12.4%
HTML 4.1%
CSS 0.4%