feat: worker dashboard monorepo

- packages/cli: @uncaged/cli-dashboard (urec + uconn)
- packages/server: dashboard backend (port 3800)
- packages/frontend: React dark theme UI
- Normalized to bun monorepo conventions (TS, Biome, vitest, changesets, CI)

小橘 🍊(NEKO Team)
This commit is contained in:
2026-05-28 05:56:21 +00:00
commit 897ba5fae8
22 changed files with 3852 additions and 0 deletions
@@ -0,0 +1,11 @@
{
"id": "1779942644027-3741803-13931",
"device": "neko-vm",
"command": "uwf --version",
"stdout": "0.5.0\n",
"stderr": "\n",
"exitCode": 0,
"startedAt": "2026-05-28T04:30:44.033Z",
"finishedAt": "2026-05-28T04:30:44.286Z",
"durationMs": 253
}
@@ -0,0 +1,11 @@
{
"id": "1779942738534-3742062-2107",
"device": "neko-vm",
"command": "uwf thread read 06F6REKA1008SM9T155KHHS12C",
"stdout": "# Thread `06F6REKA1008SM9T155KHHS12C`\n\n**Workflow:** solve-issue (`DEV1NR9CPSWD1`)\n\n## Task\n\nResolve issue #571: Add currentRole field to thread show and thread list output. When status=running, currentRole is the role being executed. When status=idle, currentRole is the next role to execute (derived from workflow graph + last step's $status). When status=completed, currentRole is null. Issue URL: https://git.shazhou.work/uncaged/workflow/issues/571\n\n---\n\n*(4 earlier steps, load with `uwf thread read 06F6REKA1008SM9T155KHHS12C --before 39WGKMVWMQC3A`)*\n\n---\n\n## Step 5: committer `39WGKMVWMQC3A`\n**Agent:** uwf-claude-code | **Time:** 2026-05-28 01:57:25 | **Duration:** 1m34s\n\n<prompt>\nYou are a committer agent. You create a clean commit and push a PR linking the original issue.\n</prompt>\n\n<output>\nPerfect! All tasks completed successfully. Let me provide the final output:\n\n---\nprUrl: https://git.shazhou.work/uncaged/workflow/pulls/572\n$status: committed\n---\n\n## Commit & PR Summary\n\nSuccessfully committed and pushed the `currentRole` field implementation for issue #571.\n\n### Actions Completed\n\n1. ✅ **Push**: Branch `fix/571-current-role` pushed to origin\n - All pre-push checks passed (tsc + biome + lint-log-tags + tests)\n - 358 tests passed across 28 test files\n\n2. ✅ **PR Created**: [#572](https://git.shazhou.work/uncaged/workflow/pulls/572)\n - Title: `feat(cli): add currentRole field to thread show and thread list output`\n - Links to original issue #571\n - Comprehensive description with What/Why/Changes/Ref sections\n\n3. ✅ **Cleanup**: Worktree `.worktrees/fix/571-current-role` removed\n\n### PR Details\n\n- **Branch**: `fix/571-current-role` → `main`\n- **URL**: https://git.shazhou.work/uncaged/workflow/pulls/572\n- **Status**: Open, no conflicts\n\nThe implementation adds the `currentRole` field to thread show and thread list output, properly handling idle, running, completed, and cancelled states with comprehensive test coverage.\n</output>\n",
"stderr": "\n",
"exitCode": 0,
"startedAt": "2026-05-28T04:32:18.538Z",
"finishedAt": "2026-05-28T04:32:19.042Z",
"durationMs": 504
}
@@ -0,0 +1,11 @@
{
"id": "1779943529914-3743381-21928",
"device": "neko-vm",
"command": "echo hello dashboard",
"stdout": "hello dashboard\n",
"stderr": "",
"exitCode": 0,
"startedAt": "2026-05-28T04:45:29.912Z",
"finishedAt": "2026-05-28T04:45:29.927Z",
"durationMs": 9
}