mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
d9a7f21eb4
Re-skin the keyless DevTools replay SPA onto the apps/run design system's "Reactor monitor" machine surface (DESIGN.md §1/§4 name it as a sanctioned dark machine surface): a flat charcoal ground, single-voice self-hosted JetBrains Mono, gold as the one brand accent, 1px hairlines + small radii + one soft shadow framing, three-dot window chrome, and always-labeled status. - Machine palette (variable NAMES preserved so app.js + every selector keep working; only values changed): --bg #1a1c22 flat (radial gradient removed, per "no gradients"), machine-bar chrome bars, machine-fg/dim text, white-alpha hairlines. - Disposition + wake-cause hues mapped to the machine signal palette, kept distinct AND labeled (never colour-only): render = machine-ok green, active/lit path + per-facet edge-light + cost-fresh + external-wake = machine-gold, memo-skip = machine-dim grey, fail = machine red (deepened for AA on charcoal), self-tick = labeled violet. - Self-host JetBrains Mono (400/500/700 woff2, latin subset, ~65KB) under src/public/fonts so the machine surface is the real face, offline + keyless. - Fix copy:public to recurse (fs.cpSync) so the new fonts/ subdir builds and ships (the old non-recursive copy threw ENOTSUP on a subdir). Scope: CSS + index.html + fonts only. No app.js logic changes; all class names and animation hooks preserved, so replay/scrub/animation behaviour is identical. Verified: pnpm build + typecheck pass and the built server serves /app.css and /fonts/*.woff2 (200). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
65 lines
1.9 KiB
JSON
65 lines
1.9 KiB
JSON
{
|
|
"name": "@openprose/reactor-devtools",
|
|
"version": "0.2.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/openprose/prose.git",
|
|
"directory": "packages/reactor-devtools"
|
|
},
|
|
"license": "MIT",
|
|
"description": "DevTools / visualization for the @openprose/reactor harness: replays a saved receipt ledger and animates the DAG (flashes on render, dim pulses on memo-skip, per-facet edge lights, a fresh-vs-reused token/$ meter).",
|
|
"type": "commonjs",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"sideEffects": false,
|
|
"bin": {
|
|
"reactor-devtools": "./dist/cli.js"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"src/public",
|
|
"fixtures/masked-relay",
|
|
"fixtures/surprise-cost",
|
|
"fixtures/agent-observatory",
|
|
"fixtures/inbox-triage",
|
|
"fixtures/monorepo-ci",
|
|
"fixtures/research-tree"
|
|
],
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.js"
|
|
},
|
|
"./server": {
|
|
"types": "./dist/server/index.d.ts",
|
|
"default": "./dist/server/index.js"
|
|
},
|
|
"./data": {
|
|
"types": "./dist/data/index.d.ts",
|
|
"default": "./dist/data/index.js"
|
|
},
|
|
"./package.json": "./package.json"
|
|
},
|
|
"scripts": {
|
|
"build": "rm -rf dist && tsc -p tsconfig.build.json && pnpm run copy:public",
|
|
"prepack": "pnpm build",
|
|
"copy:public": "node -e \"require('fs').cpSync('src/public','dist/public',{recursive:true})\"",
|
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
"fixtures:gen": "pnpm build && node dist/fixtures/generate.js",
|
|
"record": "pnpm build && node scripts/record-demo.mjs",
|
|
"test:runtime": "pnpm build && node --test $(find dist -name '*.test.js' -type f | sort)",
|
|
"test": "pnpm typecheck && pnpm test:runtime"
|
|
},
|
|
"dependencies": {
|
|
"@openprose/reactor": "workspace:*"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^20.11.0",
|
|
"playwright": "1.60.0",
|
|
"typescript": "^5.6.3"
|
|
}
|
|
}
|