@polderlabs/bizar 10.7.2 → 10.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/_shared/AGENT_BASELINE.md +48 -243
- package/.claude/agents/_shared/CLAUDE_TOOLS.md +4 -2
- package/.claude/agents/_shared/SKILLS.md +18 -95
- package/.claude/agents/brand-designer.md +7 -5
- package/.claude/agents/debug-specialist.md +68 -0
- package/.claude/agents/exec-assistant.md +2 -1
- package/.claude/agents/help-desk.md +3 -3
- package/.claude/agents/it-lead.md +5 -5
- package/.claude/agents/knowledge-manager.md +2 -2
- package/.claude/agents/office-coordinator.md +3 -4
- package/.claude/agents/office-greeter.md +5 -5
- package/.claude/agents/office-manager.md +127 -42
- package/.claude/agents/planner.md +120 -0
- package/.claude/agents/principal-engineer.md +6 -5
- package/.claude/agents/qa-reviewer.md +4 -4
- package/.claude/agents/research-analyst.md +13 -43
- package/.claude/agents/senior-engineer.md +5 -4
- package/.claude/agents/support-tech.md +21 -73
- package/.claude/agents/ui-designer.md +89 -0
- package/.claude/commands/bizar.md +9 -16
- package/.claude/commands/cron.md +7 -3
- package/.claude/commands/learn.md +4 -2
- package/.claude/commands/plan.md +14 -28
- package/.claude/commands/plow-through.md +19 -38
- package/.claude/commands/pr-review.md +2 -3
- package/.claude/commands/setup-provider.md +15 -88
- package/.claude/commands/sprint.md +3 -3
- package/.claude/commands/tailscale-serve.md +9 -95
- package/.claude/commands/team.md +26 -122
- package/.claude/commands/test.md +3 -3
- package/.claude/commands/use-default.md +53 -0
- package/.claude/commands/use-premium.md +74 -0
- package/.claude/commands/validate.md +13 -61
- package/.claude/hooks/README.md +24 -108
- package/.claude/hooks/advisor-context.mjs +42 -0
- package/.claude/hooks/agent-grounding.mjs +41 -0
- package/.claude/hooks/content-style-guard.mjs +73 -0
- package/.claude/hooks/control-inbox.mjs +95 -0
- package/.claude/hooks/git-workflow-guard.mjs +104 -0
- package/.claude/hooks/learning-extract.mjs +0 -0
- package/.claude/hooks/path-ownership-guard.mjs +89 -0
- package/.claude/hooks/precompact-priorities.sh +11 -0
- package/.claude/hooks/pretooluse-bash.mjs +4 -11
- package/.claude/hooks/sessionend-recall.mjs +0 -0
- package/.claude/hooks/sessionstart-prime.mjs +10 -4
- package/.claude/hooks/simplify-guard.mjs +51 -0
- package/.claude/hooks/telemetry.mjs +69 -0
- package/.claude/hooks/thinking-route.mjs +7 -9
- package/.claude/hooks/worker-suggest.mjs +51 -15
- package/.claude/hooks/worktree-bootstrap.mjs +64 -0
- package/.claude/model-router.json +57 -0
- package/.claude/settings.json +90 -140
- package/AGENTS.md +95 -0
- package/README.md +76 -472
- package/cli/agent-browser-update.mjs +87 -274
- package/cli/atomic.mjs +1 -1
- package/cli/audit.mjs +31 -121
- package/cli/banner.mjs +3 -14
- package/cli/bin.mjs +83 -331
- package/cli/bootstrap.mjs +9 -12
- package/cli/commands/claude-cmd.mjs +45 -309
- package/cli/commands/control.mjs +102 -0
- package/cli/commands/install.mjs +9 -56
- package/cli/commands/rca.mjs +63 -165
- package/cli/commands/sandbox.mjs +89 -183
- package/cli/commands/setup-provider.mjs +65 -423
- package/cli/commands/task.mjs +249 -0
- package/cli/commands/util.mjs +37 -197
- package/cli/commands/validate.mjs +45 -75
- package/cli/control-store.mjs +312 -0
- package/{bizar-dash/src/server → cli/core}/backup-store.mjs +7 -17
- package/cli/doctor.mjs +8 -13
- package/cli/export.mjs +3 -7
- package/cli/init.mjs +1 -135
- package/cli/install/banner.mjs +4 -14
- package/cli/install/paths.mjs +3 -8
- package/cli/install.mjs +2 -7
- package/cli/migrate.mjs +24 -24
- package/{bizar-dash/src/server → cli}/progress-parser.mjs +7 -5
- package/cli/provision.mjs +140 -165
- package/cli/task-ledger.mjs +842 -0
- package/cli/update.mjs +2 -2
- package/cli/utils.mjs +1 -38
- package/config/AGENTS.md +14 -591
- package/config/rules/general.md +1 -1
- package/config/rules/uncertainty.md +2 -2
- package/config/skills/9router/SKILL.md +3 -3
- package/config/skills/9router-tts/SKILL.md +1 -1
- package/config/skills/agent-browser/SKILL.md +53 -0
- package/config/skills/bizar/README.md +3 -3
- package/config/skills/bizar/SKILL.md +31 -431
- package/config/skills/clean-gone-branches/SKILL.md +8 -0
- package/config/skills/commit-staged/SKILL.md +15 -0
- package/config/skills/cpp-coding-standards/README.md +3 -3
- package/config/skills/cpp-testing/README.md +2 -2
- package/config/skills/create-pr/SKILL.md +16 -0
- package/config/skills/cubesandbox/SKILL.md +33 -128
- package/config/skills/embedded-esp-idf/README.md +3 -3
- package/config/skills/harness-engineering/SKILL.md +37 -126
- package/config/skills/read-the-damn-docs/SKILL.md +2 -2
- package/config/skills/resolve-pr-comments/SKILL.md +14 -0
- package/config/skills/review-pr/SKILL.md +10 -0
- package/config/skills/self-improvement/SKILL.md +19 -54
- package/config/skills/simplify/SKILL.md +15 -0
- package/config/skills/update-pr-summary/SKILL.md +8 -0
- package/config/trigger-patterns.json +11 -25
- package/package.json +28 -102
- package/packages/sdk/dist/agent-registry.d.ts +2 -2
- package/packages/sdk/dist/agent-registry.js +2 -2
- package/packages/sdk/dist/consensus/index.d.ts +4 -4
- package/packages/sdk/dist/consensus/index.js +5 -5
- package/packages/sdk/dist/federation/envelope.d.ts +1 -1
- package/packages/sdk/dist/federation/envelope.js +2 -2
- package/packages/sdk/dist/index.d.ts +1 -4
- package/packages/sdk/dist/index.js +1 -4
- package/packages/sdk/dist/mcp/server.d.ts +8 -13
- package/packages/sdk/dist/mcp/server.js +15 -77
- package/packages/sdk/dist/router/index.d.ts +2 -2
- package/packages/sdk/dist/router/index.js +2 -2
- package/packages/sdk/dist/version.d.ts +2 -2
- package/packages/sdk/dist/version.js +2 -2
- package/packages/sdk/package.json +1 -2
- package/scripts/git-hooks/pre-commit +2 -2
- package/scripts/git-hooks/pre-push +3 -3
- package/scripts/install-hooks.sh +2 -2
- package/.claude/agents/vp-engineering.md +0 -54
- package/.claude/commands/goal.md +0 -99
- package/.claude/commands/visual-plan.md +0 -24
- package/.claude/hooks/__tests__/pretooluse-editwrite.test.mjs +0 -146
- package/.claude/hooks/__tests__/sessionend-recall.test.mjs +0 -256
- package/.claude/hooks/__tests__/sessionstart-prime.test.mjs +0 -325
- package/.claude/hooks/__tests__/thinking-route.test.mjs +0 -319
- package/.claude/hooks/post-merge-audit.sh +0 -93
- package/.claude/skills/9router/SKILL.md +0 -80
- package/.claude/skills/9router-chat/SKILL.md +0 -73
- package/.claude/skills/9router-embeddings/SKILL.md +0 -69
- package/.claude/skills/9router-image/SKILL.md +0 -86
- package/.claude/skills/9router-stt/SKILL.md +0 -79
- package/.claude/skills/9router-tts/SKILL.md +0 -80
- package/.claude/skills/9router-web-fetch/SKILL.md +0 -99
- package/.claude/skills/9router-web-search/SKILL.md +0 -91
- package/.claude/skills/agent-browser/SKILL.md +0 -64
- package/.claude/skills/bizar/README.md +0 -9
- package/.claude/skills/bizar/SKILL.md +0 -447
- package/.claude/skills/cpp-coding-standards/README.md +0 -28
- package/.claude/skills/cpp-coding-standards/SKILL.md +0 -634
- package/.claude/skills/cpp-coding-standards/references/concurrency.md +0 -320
- package/.claude/skills/cpp-coding-standards/references/error-handling.md +0 -229
- package/.claude/skills/cpp-coding-standards/references/memory-safety.md +0 -216
- package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
- package/.claude/skills/cpp-coding-standards/references/review-checklist.md +0 -96
- package/.claude/skills/cpp-testing/README.md +0 -28
- package/.claude/skills/cpp-testing/SKILL.md +0 -304
- package/.claude/skills/cpp-testing/references/coverage.md +0 -370
- package/.claude/skills/cpp-testing/references/framework-compare.md +0 -175
- package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
- package/.claude/skills/cpp-testing/references/mocking.md +0 -364
- package/.claude/skills/cpp-testing/references/tdd-workflow.md +0 -308
- package/.claude/skills/cubesandbox/SKILL.md +0 -148
- package/.claude/skills/de-sloppify/cleanup.mjs +0 -253
- package/.claude/skills/de-sloppify/cleanup.test.mjs +0 -189
- package/.claude/skills/embedded-esp-idf/README.md +0 -41
- package/.claude/skills/embedded-esp-idf/SKILL.md +0 -439
- package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
- package/.claude/skills/embedded-esp-idf/references/host-tests.md +0 -164
- package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
- package/.claude/skills/embedded-esp-idf/references/kconfig.md +0 -159
- package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
- package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
- package/.claude/skills/embedded-esp-idf/references/nvs.md +0 -121
- package/.claude/skills/embedded-esp-idf/references/packed-structs.md +0 -192
- package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
- package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
- package/.claude/skills/glyph/SKILL.md +0 -163
- package/.claude/skills/harness-engineering/SKILL.md +0 -142
- package/.claude/skills/lightrag/SKILL.md +0 -81
- package/.claude/skills/memory-protocol/SKILL.md +0 -105
- package/.claude/skills/obsidian/SKILL.md +0 -306
- package/.claude/skills/read-the-damn-docs/SKILL.md +0 -113
- package/.claude/skills/self-improvement/SKILL.md +0 -64
- package/.claude/skills/skillopt/SKILL.md +0 -129
- package/.claude/skills/thinking-archetypes/SKILL.md +0 -90
- package/.claude/skills/thinking-bayesian/SKILL.md +0 -267
- package/.claude/skills/thinking-bounded-rationality/SKILL.md +0 -406
- package/.claude/skills/thinking-circle-of-competence/SKILL.md +0 -216
- package/.claude/skills/thinking-cynefin/SKILL.md +0 -70
- package/.claude/skills/thinking-debiasing/SKILL.md +0 -192
- package/.claude/skills/thinking-dual-process/SKILL.md +0 -282
- package/.claude/skills/thinking-effectuation/SKILL.md +0 -366
- package/.claude/skills/thinking-feedback-loops/SKILL.md +0 -464
- package/.claude/skills/thinking-fermi-estimation/SKILL.md +0 -263
- package/.claude/skills/thinking-first-principles/SKILL.md +0 -167
- package/.claude/skills/thinking-five-whys-plus/SKILL.md +0 -139
- package/.claude/skills/thinking-inversion/SKILL.md +0 -195
- package/.claude/skills/thinking-jobs-to-be-done/SKILL.md +0 -363
- package/.claude/skills/thinking-kepner-tregoe/SKILL.md +0 -154
- package/.claude/skills/thinking-leverage-points/SKILL.md +0 -390
- package/.claude/skills/thinking-lindy-effect/SKILL.md +0 -331
- package/.claude/skills/thinking-map-territory/SKILL.md +0 -111
- package/.claude/skills/thinking-margin-of-safety/SKILL.md +0 -330
- package/.claude/skills/thinking-model-combination/SKILL.md +0 -406
- package/.claude/skills/thinking-model-router/SKILL.md +0 -360
- package/.claude/skills/thinking-model-selection/SKILL.md +0 -341
- package/.claude/skills/thinking-occams-razor/SKILL.md +0 -129
- package/.claude/skills/thinking-ooda/SKILL.md +0 -127
- package/.claude/skills/thinking-opportunity-cost/SKILL.md +0 -360
- package/.claude/skills/thinking-pre-mortem/SKILL.md +0 -170
- package/.claude/skills/thinking-probabilistic/SKILL.md +0 -324
- package/.claude/skills/thinking-red-team/SKILL.md +0 -142
- package/.claude/skills/thinking-regret-minimization/SKILL.md +0 -335
- package/.claude/skills/thinking-reversibility/SKILL.md +0 -326
- package/.claude/skills/thinking-scientific-method/SKILL.md +0 -162
- package/.claude/skills/thinking-second-order/SKILL.md +0 -184
- package/.claude/skills/thinking-socratic/SKILL.md +0 -198
- package/.claude/skills/thinking-steel-manning/SKILL.md +0 -332
- package/.claude/skills/thinking-systems/SKILL.md +0 -238
- package/.claude/skills/thinking-theory-of-constraints/SKILL.md +0 -338
- package/.claude/skills/thinking-thought-experiment/SKILL.md +0 -354
- package/.claude/skills/thinking-triz/SKILL.md +0 -171
- package/.claude/skills/thinking-via-negativa/SKILL.md +0 -358
- package/bizar-dash/.bizar/graph/.graphify_analysis.json +0 -1540
- package/bizar-dash/.bizar/graph/.graphify_labels.json +0 -1
- package/bizar-dash/.bizar/graph/GRAPH_REPORT.md +0 -404
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/0661b816358db84dfdb7f10443db8a61152fd20b3fee950caf8fbf32920a1790.json +0 -1
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/16da06d774142a6e5d74829ad982531286a6193ef798de8f593db029e123ec32.json +0 -1
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/27e5697c01254c69c64c5a33896669073b40afb5ba88375102ae77fa5404136d.json +0 -1
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/532997898027254aa4c0932243dc71d2f55888181232b65974961934997dc85b.json +0 -1
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/84e3451a64c7f99f0cd6a88b0748d7426780486f53ab4935b7476b28c08f8293.json +0 -1
- package/bizar-dash/.bizar/graph/cache/ast/v0.8.46/88e5ea5f3e78fa69353fe9e6a8d1a05391d54605e25600cb125531eb5a6432ff.json +0 -1
- package/bizar-dash/.bizar/graph/cache/stat-index.json +0 -1
- package/bizar-dash/.bizar/graph/graph.html +0 -307
- package/bizar-dash/.bizar/graph/graph.json +0 -40267
- package/bizar-dash/.bizar/graph/manifest.json +0 -762
- package/bizar-dash/.graphifyignore +0 -40
- package/bizar-dash/.obsidian/README.md +0 -14
- package/bizar-dash/.obsidian/daily/2026-06-25.md +0 -9
- package/bizar-dash/.obsidian/vault.json +0 -7
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/SKILL.md +0 -103
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/assets/template.html +0 -338
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/example.html +0 -81
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/open-design.json +0 -172
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/references/checklist.md +0 -44
- package/bizar-dash/.od-skills/web-prototype-e1429c1737/references/layouts.md +0 -247
- package/bizar-dash/ARCHITECTURE.md +0 -197
- package/bizar-dash/BROWSER_VERIFICATION.md +0 -190
- package/bizar-dash/CHANGELOG.md +0 -807
- package/bizar-dash/CONTROL_SURFACES.md +0 -156
- package/bizar-dash/DESIGN.md +0 -912
- package/bizar-dash/GLYPH.md +0 -418
- package/bizar-dash/PLAN.md +0 -1135
- package/bizar-dash/SETTINGS_AUDIT.md +0 -225
- package/bizar-dash/critique.json +0 -26
- package/bizar-dash/dist/assets/ActivityFeed-Bw4Cai7r.js +0 -11
- package/bizar-dash/dist/assets/ActivityFeed-Bw4Cai7r.js.map +0 -1
- package/bizar-dash/dist/assets/ActivityView-BC0QQ_j9.js +0 -2
- package/bizar-dash/dist/assets/ActivityView-BC0QQ_j9.js.map +0 -1
- package/bizar-dash/dist/assets/AdminView-CLTNKFL4.js +0 -11
- package/bizar-dash/dist/assets/AdminView-CLTNKFL4.js.map +0 -1
- package/bizar-dash/dist/assets/AgentActivity-DBWDByjk.js +0 -67
- package/bizar-dash/dist/assets/AgentActivity-DBWDByjk.js.map +0 -1
- package/bizar-dash/dist/assets/AgentsView-DD6bCIbA.js +0 -15
- package/bizar-dash/dist/assets/AgentsView-DD6bCIbA.js.map +0 -1
- package/bizar-dash/dist/assets/Alert-pzFISNtS.js +0 -6
- package/bizar-dash/dist/assets/Alert-pzFISNtS.js.map +0 -1
- package/bizar-dash/dist/assets/ArtifactsView-BVU5lfo7.js +0 -21
- package/bizar-dash/dist/assets/ArtifactsView-BVU5lfo7.js.map +0 -1
- package/bizar-dash/dist/assets/AuthView-BZ-bPIOM.js +0 -16
- package/bizar-dash/dist/assets/AuthView-BZ-bPIOM.js.map +0 -1
- package/bizar-dash/dist/assets/Avatar-CRW81ewE.js +0 -6
- package/bizar-dash/dist/assets/Avatar-CRW81ewE.js.map +0 -1
- package/bizar-dash/dist/assets/BackgroundJobsView-w8OZtXyI.js +0 -1
- package/bizar-dash/dist/assets/BackgroundJobsView-w8OZtXyI.js.map +0 -1
- package/bizar-dash/dist/assets/BackupView-u_O3j0TG.js +0 -1
- package/bizar-dash/dist/assets/BackupView-u_O3j0TG.js.map +0 -1
- package/bizar-dash/dist/assets/Banner-Du-3l05O.js +0 -1
- package/bizar-dash/dist/assets/Banner-Du-3l05O.js.map +0 -1
- package/bizar-dash/dist/assets/Card-Clkvh43Q.js +0 -1
- package/bizar-dash/dist/assets/Card-Clkvh43Q.js.map +0 -1
- package/bizar-dash/dist/assets/ChatView-BTjb3mIh.js +0 -9
- package/bizar-dash/dist/assets/ChatView-BTjb3mIh.js.map +0 -1
- package/bizar-dash/dist/assets/Chip-B7ovcm01.js +0 -1
- package/bizar-dash/dist/assets/Chip-B7ovcm01.js.map +0 -1
- package/bizar-dash/dist/assets/ClaudeSessionsView-BoZS5ldi.js +0 -1
- package/bizar-dash/dist/assets/ClaudeSessionsView-BoZS5ldi.js.map +0 -1
- package/bizar-dash/dist/assets/ClipboardView-Cb6XgYZI.js +0 -1
- package/bizar-dash/dist/assets/ClipboardView-Cb6XgYZI.js.map +0 -1
- package/bizar-dash/dist/assets/ConfigView-DfTJk1uL.js +0 -1
- package/bizar-dash/dist/assets/ConfigView-DfTJk1uL.js.map +0 -1
- package/bizar-dash/dist/assets/DiagnosticsView-D5Wy9xlJ.js +0 -2
- package/bizar-dash/dist/assets/DiagnosticsView-D5Wy9xlJ.js.map +0 -1
- package/bizar-dash/dist/assets/DialogsView-HVyfrXpq.js +0 -6
- package/bizar-dash/dist/assets/DialogsView-HVyfrXpq.js.map +0 -1
- package/bizar-dash/dist/assets/DoctorView-Dm94WI2z.js +0 -6
- package/bizar-dash/dist/assets/DoctorView-Dm94WI2z.js.map +0 -1
- package/bizar-dash/dist/assets/EmptyState-ccT__JZG.js +0 -1
- package/bizar-dash/dist/assets/EmptyState-ccT__JZG.js.map +0 -1
- package/bizar-dash/dist/assets/EnvVarsView-BhcIuJ6V.js +0 -8
- package/bizar-dash/dist/assets/EnvVarsView-BhcIuJ6V.js.map +0 -1
- package/bizar-dash/dist/assets/ErrorState-BSqf65ka.js +0 -1
- package/bizar-dash/dist/assets/ErrorState-BSqf65ka.js.map +0 -1
- package/bizar-dash/dist/assets/EvalView-2cbWVBUA.js +0 -1
- package/bizar-dash/dist/assets/EvalView-2cbWVBUA.js.map +0 -1
- package/bizar-dash/dist/assets/GoalsView-C3QG5p7T.js +0 -6
- package/bizar-dash/dist/assets/GoalsView-C3QG5p7T.js.map +0 -1
- package/bizar-dash/dist/assets/Grid-Bojq8Sg7.js +0 -1
- package/bizar-dash/dist/assets/Grid-Bojq8Sg7.js.map +0 -1
- package/bizar-dash/dist/assets/HistoryView-Bum2TMMw.js +0 -1
- package/bizar-dash/dist/assets/HistoryView-Bum2TMMw.js.map +0 -1
- package/bizar-dash/dist/assets/Input-DV-vdaV8.js +0 -1
- package/bizar-dash/dist/assets/Input-DV-vdaV8.js.map +0 -1
- package/bizar-dash/dist/assets/LibrariesView-DH2E2uNb.js +0 -6
- package/bizar-dash/dist/assets/LibrariesView-DH2E2uNb.js.map +0 -1
- package/bizar-dash/dist/assets/LightRAGView-BFCcj7Tl.js +0 -6
- package/bizar-dash/dist/assets/LightRAGView-BFCcj7Tl.js.map +0 -1
- package/bizar-dash/dist/assets/ListHeader-CCD_nIHb.js +0 -1
- package/bizar-dash/dist/assets/ListHeader-CCD_nIHb.js.map +0 -1
- package/bizar-dash/dist/assets/MemoryView-Cr-obIQY.js +0 -8
- package/bizar-dash/dist/assets/MemoryView-Cr-obIQY.js.map +0 -1
- package/bizar-dash/dist/assets/MessageBubble-CrCJ0SYG.js +0 -29
- package/bizar-dash/dist/assets/MessageBubble-CrCJ0SYG.js.map +0 -1
- package/bizar-dash/dist/assets/MiscView-CDUQpYuV.js +0 -1
- package/bizar-dash/dist/assets/MiscView-CDUQpYuV.js.map +0 -1
- package/bizar-dash/dist/assets/ModsView-B6OR-a4B.js +0 -6
- package/bizar-dash/dist/assets/ModsView-B6OR-a4B.js.map +0 -1
- package/bizar-dash/dist/assets/NotificationsView-CIqtY6D0.js +0 -6
- package/bizar-dash/dist/assets/NotificationsView-CIqtY6D0.js.map +0 -1
- package/bizar-dash/dist/assets/ObsidianView-Nahah8QC.js +0 -1
- package/bizar-dash/dist/assets/ObsidianView-Nahah8QC.js.map +0 -1
- package/bizar-dash/dist/assets/OverviewView-B6L_wa4M.js +0 -1
- package/bizar-dash/dist/assets/OverviewView-B6L_wa4M.js.map +0 -1
- package/bizar-dash/dist/assets/ProgressBar-KC4VXsl_.js +0 -1
- package/bizar-dash/dist/assets/ProgressBar-KC4VXsl_.js.map +0 -1
- package/bizar-dash/dist/assets/ProjectsView-DgxWiqHb.js +0 -11
- package/bizar-dash/dist/assets/ProjectsView-DgxWiqHb.js.map +0 -1
- package/bizar-dash/dist/assets/ProvidersView-BOqN9omv.js +0 -11
- package/bizar-dash/dist/assets/ProvidersView-BOqN9omv.js.map +0 -1
- package/bizar-dash/dist/assets/SchedulesView-yMaG3Dtd.js +0 -1
- package/bizar-dash/dist/assets/SchedulesView-yMaG3Dtd.js.map +0 -1
- package/bizar-dash/dist/assets/Select-Bf_P0S6H.js +0 -6
- package/bizar-dash/dist/assets/Select-Bf_P0S6H.js.map +0 -1
- package/bizar-dash/dist/assets/SettingsRow-CJb-F94Y.js +0 -1
- package/bizar-dash/dist/assets/SettingsRow-CJb-F94Y.js.map +0 -1
- package/bizar-dash/dist/assets/SettingsView-BvOGcgMS.js +0 -18
- package/bizar-dash/dist/assets/SettingsView-BvOGcgMS.js.map +0 -1
- package/bizar-dash/dist/assets/Sheet-BwMVGN-8.js +0 -1
- package/bizar-dash/dist/assets/Sheet-BwMVGN-8.js.map +0 -1
- package/bizar-dash/dist/assets/Slider-AjjzqI-5.js +0 -1
- package/bizar-dash/dist/assets/Slider-AjjzqI-5.js.map +0 -1
- package/bizar-dash/dist/assets/Sparkline-Z4y0YUZS.js +0 -1
- package/bizar-dash/dist/assets/Sparkline-Z4y0YUZS.js.map +0 -1
- package/bizar-dash/dist/assets/Switch-B79a2t-G.js +0 -10
- package/bizar-dash/dist/assets/Switch-B79a2t-G.js.map +0 -1
- package/bizar-dash/dist/assets/TasksView-G-s_pwwr.js +0 -6
- package/bizar-dash/dist/assets/TasksView-G-s_pwwr.js.map +0 -1
- package/bizar-dash/dist/assets/Textarea-BfXGMXQ7.js +0 -1
- package/bizar-dash/dist/assets/Textarea-BfXGMXQ7.js.map +0 -1
- package/bizar-dash/dist/assets/UpdateView-BKx3u9X8.js +0 -1
- package/bizar-dash/dist/assets/UpdateView-BKx3u9X8.js.map +0 -1
- package/bizar-dash/dist/assets/UsageView-M01G6bZQ.js +0 -1
- package/bizar-dash/dist/assets/UsageView-M01G6bZQ.js.map +0 -1
- package/bizar-dash/dist/assets/ViewHeader-BsnaspKw.js +0 -6
- package/bizar-dash/dist/assets/ViewHeader-BsnaspKw.js.map +0 -1
- package/bizar-dash/dist/assets/VoiceView-rWE8vziD.js +0 -1
- package/bizar-dash/dist/assets/VoiceView-rWE8vziD.js.map +0 -1
- package/bizar-dash/dist/assets/brain-D7k5s8vH.js +0 -6
- package/bizar-dash/dist/assets/brain-D7k5s8vH.js.map +0 -1
- package/bizar-dash/dist/assets/calendar-CAZoDd-l.js +0 -6
- package/bizar-dash/dist/assets/calendar-CAZoDd-l.js.map +0 -1
- package/bizar-dash/dist/assets/circle-D99cZJBr.js +0 -6
- package/bizar-dash/dist/assets/circle-D99cZJBr.js.map +0 -1
- package/bizar-dash/dist/assets/circle-alert-QQTU4Quz.js +0 -6
- package/bizar-dash/dist/assets/circle-alert-QQTU4Quz.js.map +0 -1
- package/bizar-dash/dist/assets/circle-check-BMbe7Kkr.js +0 -6
- package/bizar-dash/dist/assets/circle-check-BMbe7Kkr.js.map +0 -1
- package/bizar-dash/dist/assets/clock-OtT5mvF3.js +0 -6
- package/bizar-dash/dist/assets/clock-OtT5mvF3.js.map +0 -1
- package/bizar-dash/dist/assets/cmdk-C3F6LD6N.js +0 -80
- package/bizar-dash/dist/assets/cmdk-C3F6LD6N.js.map +0 -1
- package/bizar-dash/dist/assets/dnd-kit-BAOLODOI.js +0 -5
- package/bizar-dash/dist/assets/dnd-kit-BAOLODOI.js.map +0 -1
- package/bizar-dash/dist/assets/download-B-mPX5P_.js +0 -6
- package/bizar-dash/dist/assets/download-B-mPX5P_.js.map +0 -1
- package/bizar-dash/dist/assets/external-link-DPDQM1YO.js +0 -6
- package/bizar-dash/dist/assets/external-link-DPDQM1YO.js.map +0 -1
- package/bizar-dash/dist/assets/file-text-BsCrv5aP.js +0 -6
- package/bizar-dash/dist/assets/file-text-BsCrv5aP.js.map +0 -1
- package/bizar-dash/dist/assets/filter-Do63x17E.js +0 -6
- package/bizar-dash/dist/assets/filter-Do63x17E.js.map +0 -1
- package/bizar-dash/dist/assets/git-pull-request-CpRAmERC.js +0 -11
- package/bizar-dash/dist/assets/git-pull-request-CpRAmERC.js.map +0 -1
- package/bizar-dash/dist/assets/index-B1OIS316.js +0 -1
- package/bizar-dash/dist/assets/index-B1OIS316.js.map +0 -1
- package/bizar-dash/dist/assets/index-CR0TeJmc.js +0 -1
- package/bizar-dash/dist/assets/index-CR0TeJmc.js.map +0 -1
- package/bizar-dash/dist/assets/main-BRmJZcHt.js +0 -277
- package/bizar-dash/dist/assets/main-BRmJZcHt.js.map +0 -1
- package/bizar-dash/dist/assets/main-D0TY0myE.css +0 -1
- package/bizar-dash/dist/assets/network-DJnHwHX3.js +0 -6
- package/bizar-dash/dist/assets/network-DJnHwHX3.js.map +0 -1
- package/bizar-dash/dist/assets/pause-HitDUnk_.js +0 -6
- package/bizar-dash/dist/assets/pause-HitDUnk_.js.map +0 -1
- package/bizar-dash/dist/assets/pencil-Dkks7eIC.js +0 -6
- package/bizar-dash/dist/assets/pencil-Dkks7eIC.js.map +0 -1
- package/bizar-dash/dist/assets/play-blqh0msT.js +0 -6
- package/bizar-dash/dist/assets/play-blqh0msT.js.map +0 -1
- package/bizar-dash/dist/assets/plug-DVvSSe40.js +0 -6
- package/bizar-dash/dist/assets/plug-DVvSSe40.js.map +0 -1
- package/bizar-dash/dist/assets/plus-Cps-8lcG.js +0 -6
- package/bizar-dash/dist/assets/plus-Cps-8lcG.js.map +0 -1
- package/bizar-dash/dist/assets/power-DEX4_Xoa.js +0 -6
- package/bizar-dash/dist/assets/power-DEX4_Xoa.js.map +0 -1
- package/bizar-dash/dist/assets/power-off-upZ4xjaG.js +0 -6
- package/bizar-dash/dist/assets/power-off-upZ4xjaG.js.map +0 -1
- package/bizar-dash/dist/assets/refresh-ccw-DN_zCB1h.js +0 -6
- package/bizar-dash/dist/assets/refresh-ccw-DN_zCB1h.js.map +0 -1
- package/bizar-dash/dist/assets/refresh-cw-KGm5eQgv.js +0 -6
- package/bizar-dash/dist/assets/refresh-cw-KGm5eQgv.js.map +0 -1
- package/bizar-dash/dist/assets/rotate-ccw-D5fkDRgk.js +0 -6
- package/bizar-dash/dist/assets/rotate-ccw-D5fkDRgk.js.map +0 -1
- package/bizar-dash/dist/assets/rotate-cw-CClSVUaX.js +0 -6
- package/bizar-dash/dist/assets/rotate-cw-CClSVUaX.js.map +0 -1
- package/bizar-dash/dist/assets/save-BY4ViPku.js +0 -6
- package/bizar-dash/dist/assets/save-BY4ViPku.js.map +0 -1
- package/bizar-dash/dist/assets/send-CaOL1yQD.js +0 -6
- package/bizar-dash/dist/assets/send-CaOL1yQD.js.map +0 -1
- package/bizar-dash/dist/assets/shield-alert-DA9K6uZO.js +0 -6
- package/bizar-dash/dist/assets/shield-alert-DA9K6uZO.js.map +0 -1
- package/bizar-dash/dist/assets/trash-2-B_Y6HrfN.js +0 -6
- package/bizar-dash/dist/assets/trash-2-B_Y6HrfN.js.map +0 -1
- package/bizar-dash/dist/assets/trending-up-qKTUQKIT.js +0 -6
- package/bizar-dash/dist/assets/trending-up-qKTUQKIT.js.map +0 -1
- package/bizar-dash/dist/assets/triangle-alert-BeY8LAv6.js +0 -6
- package/bizar-dash/dist/assets/triangle-alert-BeY8LAv6.js.map +0 -1
- package/bizar-dash/dist/assets/upload-BZCtmqIh.js +0 -6
- package/bizar-dash/dist/assets/upload-BZCtmqIh.js.map +0 -1
- package/bizar-dash/dist/assets/zap-Bz1Z8y1Q.js +0 -6
- package/bizar-dash/dist/assets/zap-Bz1Z8y1Q.js.map +0 -1
- package/bizar-dash/dist/index.html +0 -19
- package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/bizar-dash/plans/debug-plan/comments.json +0 -1
- package/bizar-dash/plans/debug-plan/meta.json +0 -10
- package/bizar-dash/plans/debug-plan/plan.json +0 -174
- package/bizar-dash/scripts/smoke-bg-retry.mjs +0 -246
- package/bizar-dash/skills/agent-baseline/SKILL.md +0 -80
- package/bizar-dash/skills/agent-browser/SKILL.md +0 -181
- package/bizar-dash/skills/bizar/SKILL.md +0 -116
- package/bizar-dash/skills/chat/SKILL.md +0 -74
- package/bizar-dash/skills/eval/SKILL.md +0 -237
- package/bizar-dash/skills/lightrag/SKILL.md +0 -86
- package/bizar-dash/skills/minimax/SKILL.md +0 -80
- package/bizar-dash/skills/obsidian/SKILL.md +0 -68
- package/bizar-dash/skills/providers/SKILL.md +0 -75
- package/bizar-dash/skills/publishing/SKILL.md +0 -147
- package/bizar-dash/skills/sdk/SKILL.md +0 -138
- package/bizar-dash/skills/self-improvement/SKILL.md +0 -53
- package/bizar-dash/skills/skills-cli/SKILL.md +0 -94
- package/bizar-dash/skills/usage/SKILL.md +0 -62
- package/bizar-dash/src/cli/dashboard-ports.mjs +0 -488
- package/bizar-dash/src/cli.mjs +0 -537
- package/bizar-dash/src/server/activity-log.mjs +0 -174
- package/bizar-dash/src/server/agent-bus.mjs +0 -485
- package/bizar-dash/src/server/agents-store.mjs +0 -466
- package/bizar-dash/src/server/api.mjs +0 -246
- package/bizar-dash/src/server/artifact-mint.mjs +0 -69
- package/bizar-dash/src/server/artifact-template.html +0 -810
- package/bizar-dash/src/server/artifacts-store.mjs +0 -839
- package/bizar-dash/src/server/auth.mjs +0 -548
- package/bizar-dash/src/server/background-store.mjs +0 -446
- package/bizar-dash/src/server/bg-poller.mjs +0 -375
- package/bizar-dash/src/server/bg-poller.test.mjs +0 -28
- package/bizar-dash/src/server/bg-retry.mjs +0 -446
- package/bizar-dash/src/server/bg-spawner.mjs +0 -390
- package/bizar-dash/src/server/browser.mjs +0 -40
- package/bizar-dash/src/server/claude-artifacts.mjs +0 -281
- package/bizar-dash/src/server/claude-bg-spawner.mjs +0 -390
- package/bizar-dash/src/server/claude-info.mjs +0 -412
- package/bizar-dash/src/server/claude-runner.mjs +0 -289
- package/bizar-dash/src/server/claude-sdk.mjs +0 -191
- package/bizar-dash/src/server/diagnostics-store.mjs +0 -568
- package/bizar-dash/src/server/dialog-poller.mjs +0 -105
- package/bizar-dash/src/server/dialog-store.mjs +0 -259
- package/bizar-dash/src/server/digest-store.mjs +0 -558
- package/bizar-dash/src/server/eval-store.mjs +0 -281
- package/bizar-dash/src/server/eval.mjs +0 -500
- package/bizar-dash/src/server/glyphs/mdx-compiler.mjs +0 -596
- package/bizar-dash/src/server/lib/path-safe.mjs +0 -283
- package/bizar-dash/src/server/lib/rate-limit.mjs +0 -122
- package/bizar-dash/src/server/logger.mjs +0 -71
- package/bizar-dash/src/server/loop-runtime.mjs +0 -429
- package/bizar-dash/src/server/memory-consolidator.mjs +0 -225
- package/bizar-dash/src/server/memory-distillation.mjs +0 -296
- package/bizar-dash/src/server/memory-git.mjs +0 -473
- package/bizar-dash/src/server/memory-lightrag.mjs +0 -1483
- package/bizar-dash/src/server/memory-obsidian.mjs +0 -230
- package/bizar-dash/src/server/memory-schema.mjs +0 -145
- package/bizar-dash/src/server/memory-secrets.mjs +0 -84
- package/bizar-dash/src/server/memory-store.mjs +0 -1093
- package/bizar-dash/src/server/metrics.mjs +0 -268
- package/bizar-dash/src/server/minimax-usage-store.mjs +0 -372
- package/bizar-dash/src/server/minimax.mjs +0 -683
- package/bizar-dash/src/server/mod-security.mjs +0 -397
- package/bizar-dash/src/server/mods-loader.mjs +0 -1243
- package/bizar-dash/src/server/notifications-store.mjs +0 -243
- package/bizar-dash/src/server/obsidian-store.mjs +0 -318
- package/bizar-dash/src/server/ocr.mjs +0 -55
- package/bizar-dash/src/server/otel.mjs +0 -260
- package/bizar-dash/src/server/pair-store.mjs +0 -138
- package/bizar-dash/src/server/progress-parser.test.mjs +0 -129
- package/bizar-dash/src/server/projects-store.mjs +0 -364
- package/bizar-dash/src/server/providers-store.mjs +0 -1801
- package/bizar-dash/src/server/routes/_shared.mjs +0 -430
- package/bizar-dash/src/server/routes/activity.mjs +0 -215
- package/bizar-dash/src/server/routes/admin.mjs +0 -163
- package/bizar-dash/src/server/routes/agent-bus.mjs +0 -185
- package/bizar-dash/src/server/routes/agents-cc.mjs +0 -551
- package/bizar-dash/src/server/routes/agents-cc.test.mjs +0 -35
- package/bizar-dash/src/server/routes/agents.mjs +0 -149
- package/bizar-dash/src/server/routes/artifacts.mjs +0 -315
- package/bizar-dash/src/server/routes/audit.mjs +0 -79
- package/bizar-dash/src/server/routes/auth.mjs +0 -69
- package/bizar-dash/src/server/routes/background.mjs +0 -422
- package/bizar-dash/src/server/routes/backup.mjs +0 -112
- package/bizar-dash/src/server/routes/chat.mjs +0 -727
- package/bizar-dash/src/server/routes/claude-session-detail.mjs +0 -367
- package/bizar-dash/src/server/routes/claude-sessions.mjs +0 -259
- package/bizar-dash/src/server/routes/clipboard.mjs +0 -173
- package/bizar-dash/src/server/routes/config.mjs +0 -180
- package/bizar-dash/src/server/routes/decisions.mjs +0 -78
- package/bizar-dash/src/server/routes/diagnostics.mjs +0 -50
- package/bizar-dash/src/server/routes/dialogs.mjs +0 -134
- package/bizar-dash/src/server/routes/digests.mjs +0 -82
- package/bizar-dash/src/server/routes/distill.mjs +0 -129
- package/bizar-dash/src/server/routes/doctor.mjs +0 -71
- package/bizar-dash/src/server/routes/env-vars.mjs +0 -231
- package/bizar-dash/src/server/routes/eval.mjs +0 -187
- package/bizar-dash/src/server/routes/fs.mjs +0 -429
- package/bizar-dash/src/server/routes/goal-planner.mjs +0 -236
- package/bizar-dash/src/server/routes/goals.mjs +0 -428
- package/bizar-dash/src/server/routes/history.mjs +0 -78
- package/bizar-dash/src/server/routes/lightrag.mjs +0 -169
- package/bizar-dash/src/server/routes/loops.mjs +0 -138
- package/bizar-dash/src/server/routes/memory.mjs +0 -1524
- package/bizar-dash/src/server/routes/minimax.mjs +0 -133
- package/bizar-dash/src/server/routes/misc.mjs +0 -90
- package/bizar-dash/src/server/routes/model-router.mjs +0 -158
- package/bizar-dash/src/server/routes/model-router.test.mjs +0 -104
- package/bizar-dash/src/server/routes/mods.mjs +0 -359
- package/bizar-dash/src/server/routes/notifications.mjs +0 -54
- package/bizar-dash/src/server/routes/obsidian.mjs +0 -239
- package/bizar-dash/src/server/routes/ocr.mjs +0 -182
- package/bizar-dash/src/server/routes/overview.mjs +0 -219
- package/bizar-dash/src/server/routes/overview.test.mjs +0 -65
- package/bizar-dash/src/server/routes/pair.mjs +0 -67
- package/bizar-dash/src/server/routes/projects.mjs +0 -175
- package/bizar-dash/src/server/routes/providers.mjs +0 -361
- package/bizar-dash/src/server/routes/schedules.mjs +0 -159
- package/bizar-dash/src/server/routes/sessions.mjs +0 -80
- package/bizar-dash/src/server/routes/settings.mjs +0 -51
- package/bizar-dash/src/server/routes/skills.mjs +0 -70
- package/bizar-dash/src/server/routes/spawn.mjs +0 -59
- package/bizar-dash/src/server/routes/tailscale.mjs +0 -46
- package/bizar-dash/src/server/routes/tasks.mjs +0 -579
- package/bizar-dash/src/server/routes/themes.mjs +0 -51
- package/bizar-dash/src/server/routes/update.mjs +0 -367
- package/bizar-dash/src/server/routes/usage.mjs +0 -136
- package/bizar-dash/src/server/routes/users.mjs +0 -102
- package/bizar-dash/src/server/routes/voice.mjs +0 -167
- package/bizar-dash/src/server/routes/workspaces.mjs +0 -299
- package/bizar-dash/src/server/routes-v2/auth.mjs +0 -59
- package/bizar-dash/src/server/routes-v2/events.mjs +0 -121
- package/bizar-dash/src/server/routes-v2/health.mjs +0 -21
- package/bizar-dash/src/server/routes-v2/index.mjs +0 -90
- package/bizar-dash/src/server/routes-v2/sessions.mjs +0 -111
- package/bizar-dash/src/server/schedules-runner.mjs +0 -556
- package/bizar-dash/src/server/schedules-store.mjs +0 -268
- package/bizar-dash/src/server/search-store.mjs +0 -220
- package/bizar-dash/src/server/serve-info.mjs +0 -1110
- package/bizar-dash/src/server/server.mjs +0 -951
- package/bizar-dash/src/server/settings-store.mjs +0 -45
- package/bizar-dash/src/server/skills-store.mjs +0 -192
- package/bizar-dash/src/server/sprint.test.mjs +0 -163
- package/bizar-dash/src/server/state.mjs +0 -437
- package/bizar-dash/src/server/tailscale-store.mjs +0 -113
- package/bizar-dash/src/server/task-delegator.mjs +0 -969
- package/bizar-dash/src/server/task-splitter.mjs +0 -241
- package/bizar-dash/src/server/tasks-store.mjs +0 -556
- package/bizar-dash/src/server/tui.mjs +0 -923
- package/bizar-dash/src/server/update-store.mjs +0 -168
- package/bizar-dash/src/server/v2-auth-file.mjs +0 -99
- package/bizar-dash/src/server/v2-event-bus.mjs +0 -128
- package/bizar-dash/src/server/voice-store.mjs +0 -229
- package/bizar-dash/src/server/voice-transcribe.mjs +0 -72
- package/bizar-dash/src/server/watcher.mjs +0 -81
- package/bizar-dash/src/server/workers/transcription-worker.mjs +0 -213
- package/bizar-dash/src/server/workspaces.mjs +0 -626
- package/bizar-dash/src/server/yaml.mjs +0 -238
- package/bizar-dash/src/web/index.html +0 -17
- package/bizar-dash/src/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/bizar-dash/src/web/v8/App.tsx +0 -426
- package/bizar-dash/src/web/v8/__tests__/App.test.tsx +0 -102
- package/bizar-dash/src/web/v8/__tests__/AppShell.test.tsx +0 -79
- package/bizar-dash/src/web/v8/__tests__/BackgroundJobsView.test.tsx +0 -172
- package/bizar-dash/src/web/v8/__tests__/MemoryView.test.tsx +0 -91
- package/bizar-dash/src/web/v8/__tests__/NotificationsPopover.test.tsx +0 -91
- package/bizar-dash/src/web/v8/__tests__/PageSkeleton.test.tsx +0 -12
- package/bizar-dash/src/web/v8/__tests__/SchedulesView.test.tsx +0 -157
- package/bizar-dash/src/web/v8/__tests__/SettingsView.test.tsx +0 -84
- package/bizar-dash/src/web/v8/__tests__/Sidebar.test.tsx +0 -95
- package/bizar-dash/src/web/v8/__tests__/Topbar.test.tsx +0 -86
- package/bizar-dash/src/web/v8/__tests__/activity.test.tsx +0 -63
- package/bizar-dash/src/web/v8/__tests__/admin-view.test.tsx +0 -105
- package/bizar-dash/src/web/v8/__tests__/agent-card-metrics.test.tsx +0 -54
- package/bizar-dash/src/web/v8/__tests__/agent-detail-tasks.test.tsx +0 -68
- package/bizar-dash/src/web/v8/__tests__/agent-hierarchy.test.tsx +0 -79
- package/bizar-dash/src/web/v8/__tests__/agents-stuck-banner.test.tsx +0 -142
- package/bizar-dash/src/web/v8/__tests__/agents.test.tsx +0 -90
- package/bizar-dash/src/web/v8/__tests__/artifacts-view.test.tsx +0 -102
- package/bizar-dash/src/web/v8/__tests__/audit-fixes.test.tsx +0 -139
- package/bizar-dash/src/web/v8/__tests__/auth-view.test.tsx +0 -94
- package/bizar-dash/src/web/v8/__tests__/changelog.test.tsx +0 -79
- package/bizar-dash/src/web/v8/__tests__/chat-types.test.ts +0 -55
- package/bizar-dash/src/web/v8/__tests__/chat-view.test.tsx +0 -142
- package/bizar-dash/src/web/v8/__tests__/claude-sessions-view.test.tsx +0 -159
- package/bizar-dash/src/web/v8/__tests__/clipboard-view.test.tsx +0 -90
- package/bizar-dash/src/web/v8/__tests__/config-view.test.tsx +0 -111
- package/bizar-dash/src/web/v8/__tests__/control-plane.test.tsx +0 -104
- package/bizar-dash/src/web/v8/__tests__/controls.test.tsx +0 -135
- package/bizar-dash/src/web/v8/__tests__/cx.test.ts +0 -25
- package/bizar-dash/src/web/v8/__tests__/data.test.tsx +0 -293
- package/bizar-dash/src/web/v8/__tests__/dialogs-view.test.tsx +0 -81
- package/bizar-dash/src/web/v8/__tests__/env-vars-view.test.tsx +0 -123
- package/bizar-dash/src/web/v8/__tests__/feedback.test.tsx +0 -213
- package/bizar-dash/src/web/v8/__tests__/goals-cc-roundtrip.test.tsx +0 -94
- package/bizar-dash/src/web/v8/__tests__/goals.test.tsx +0 -105
- package/bizar-dash/src/web/v8/__tests__/history-view.test.tsx +0 -96
- package/bizar-dash/src/web/v8/__tests__/kanban.test.tsx +0 -176
- package/bizar-dash/src/web/v8/__tests__/libraries.test.tsx +0 -70
- package/bizar-dash/src/web/v8/__tests__/lightrag-view.test.tsx +0 -90
- package/bizar-dash/src/web/v8/__tests__/memory.test.tsx +0 -60
- package/bizar-dash/src/web/v8/__tests__/misc-view.test.tsx +0 -79
- package/bizar-dash/src/web/v8/__tests__/mods-view.test.tsx +0 -123
- package/bizar-dash/src/web/v8/__tests__/navigation.test.tsx +0 -137
- package/bizar-dash/src/web/v8/__tests__/new-views.test.tsx +0 -160
- package/bizar-dash/src/web/v8/__tests__/obsidian-view.test.tsx +0 -82
- package/bizar-dash/src/web/v8/__tests__/overview-trends.test.tsx +0 -87
- package/bizar-dash/src/web/v8/__tests__/projects-view.test.tsx +0 -134
- package/bizar-dash/src/web/v8/__tests__/providers-view.test.tsx +0 -100
- package/bizar-dash/src/web/v8/__tests__/settings.test.tsx +0 -104
- package/bizar-dash/src/web/v8/__tests__/theme.test.tsx +0 -104
- package/bizar-dash/src/web/v8/__tests__/update-view.test.tsx +0 -89
- package/bizar-dash/src/web/v8/__tests__/useFetch.test.ts +0 -92
- package/bizar-dash/src/web/v8/__tests__/useWebSocket.test.ts +0 -87
- package/bizar-dash/src/web/v8/__tests__/views.test.tsx +0 -188
- package/bizar-dash/src/web/v8/__tests__/voice-view.test.tsx +0 -80
- package/bizar-dash/src/web/v8/data/fetcher.ts +0 -59
- package/bizar-dash/src/web/v8/data/types.ts +0 -239
- package/bizar-dash/src/web/v8/data/useFetch.ts +0 -62
- package/bizar-dash/src/web/v8/data/useViewNavigate.ts +0 -54
- package/bizar-dash/src/web/v8/data/useWebSocket.ts +0 -206
- package/bizar-dash/src/web/v8/main.tsx +0 -28
- package/bizar-dash/src/web/v8/shell/AppShell.tsx +0 -126
- package/bizar-dash/src/web/v8/shell/PageSkeleton.tsx +0 -29
- package/bizar-dash/src/web/v8/shell/Sidebar.tsx +0 -515
- package/bizar-dash/src/web/v8/shell/StatusBar.tsx +0 -63
- package/bizar-dash/src/web/v8/shell/Topbar.tsx +0 -330
- package/bizar-dash/src/web/v8/shell/index.ts +0 -15
- package/bizar-dash/src/web/v8/ui/activity/ActivityFeed.tsx +0 -137
- package/bizar-dash/src/web/v8/ui/activity/ActivityLane.tsx +0 -315
- package/bizar-dash/src/web/v8/ui/activity/ActivityLanes.tsx +0 -51
- package/bizar-dash/src/web/v8/ui/agents/AgentActivity.tsx +0 -101
- package/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +0 -239
- package/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +0 -439
- package/bizar-dash/src/web/v8/ui/agents/AgentLiveOutput.tsx +0 -252
- package/bizar-dash/src/web/v8/ui/agents/AgentStreamPanel.tsx +0 -371
- package/bizar-dash/src/web/v8/ui/chat/ChatDrawer.tsx +0 -208
- package/bizar-dash/src/web/v8/ui/chat/EventStream.tsx +0 -83
- package/bizar-dash/src/web/v8/ui/chat/MessageBubble.tsx +0 -174
- package/bizar-dash/src/web/v8/ui/controls/Button.tsx +0 -141
- package/bizar-dash/src/web/v8/ui/controls/ButtonGroup.tsx +0 -32
- package/bizar-dash/src/web/v8/ui/controls/Checkbox.tsx +0 -49
- package/bizar-dash/src/web/v8/ui/controls/Field.tsx +0 -78
- package/bizar-dash/src/web/v8/ui/controls/Form.tsx +0 -23
- package/bizar-dash/src/web/v8/ui/controls/IconButton.tsx +0 -112
- package/bizar-dash/src/web/v8/ui/controls/Input.tsx +0 -94
- package/bizar-dash/src/web/v8/ui/controls/RadioGroup.tsx +0 -74
- package/bizar-dash/src/web/v8/ui/controls/Select.tsx +0 -171
- package/bizar-dash/src/web/v8/ui/controls/Slider.tsx +0 -68
- package/bizar-dash/src/web/v8/ui/controls/Switch.tsx +0 -56
- package/bizar-dash/src/web/v8/ui/controls/Textarea.tsx +0 -64
- package/bizar-dash/src/web/v8/ui/controls/Toggle.tsx +0 -36
- package/bizar-dash/src/web/v8/ui/controls/ToggleGroup.tsx +0 -85
- package/bizar-dash/src/web/v8/ui/data/Accordion.tsx +0 -134
- package/bizar-dash/src/web/v8/ui/data/Avatar.tsx +0 -175
- package/bizar-dash/src/web/v8/ui/data/Badge.tsx +0 -93
- package/bizar-dash/src/web/v8/ui/data/BarList.tsx +0 -101
- package/bizar-dash/src/web/v8/ui/data/Card.tsx +0 -140
- package/bizar-dash/src/web/v8/ui/data/Chip.tsx +0 -96
- package/bizar-dash/src/web/v8/ui/data/Kbd.tsx +0 -42
- package/bizar-dash/src/web/v8/ui/data/ListHeader.tsx +0 -94
- package/bizar-dash/src/web/v8/ui/data/ProgressBar.tsx +0 -93
- package/bizar-dash/src/web/v8/ui/data/Sparkline.tsx +0 -98
- package/bizar-dash/src/web/v8/ui/data/StatTile.tsx +0 -150
- package/bizar-dash/src/web/v8/ui/data/Table.tsx +0 -170
- package/bizar-dash/src/web/v8/ui/data/Timeline.tsx +0 -130
- package/bizar-dash/src/web/v8/ui/data/ViewHeader.tsx +0 -122
- package/bizar-dash/src/web/v8/ui/feedback/Alert.tsx +0 -95
- package/bizar-dash/src/web/v8/ui/feedback/Banner.tsx +0 -39
- package/bizar-dash/src/web/v8/ui/feedback/ContextMenu.tsx +0 -143
- package/bizar-dash/src/web/v8/ui/feedback/Dialog.tsx +0 -149
- package/bizar-dash/src/web/v8/ui/feedback/Drawer.tsx +0 -8
- package/bizar-dash/src/web/v8/ui/feedback/DropdownMenu.tsx +0 -231
- package/bizar-dash/src/web/v8/ui/feedback/EmptyState.tsx +0 -48
- package/bizar-dash/src/web/v8/ui/feedback/ErrorState.tsx +0 -116
- package/bizar-dash/src/web/v8/ui/feedback/NotificationsPopover.tsx +0 -242
- package/bizar-dash/src/web/v8/ui/feedback/Popover.tsx +0 -56
- package/bizar-dash/src/web/v8/ui/feedback/Sheet.tsx +0 -103
- package/bizar-dash/src/web/v8/ui/feedback/Skeleton.tsx +0 -67
- package/bizar-dash/src/web/v8/ui/feedback/Spinner.tsx +0 -30
- package/bizar-dash/src/web/v8/ui/feedback/Toast.tsx +0 -66
- package/bizar-dash/src/web/v8/ui/feedback/Tooltip.tsx +0 -89
- package/bizar-dash/src/web/v8/ui/feedback/useFocusTrap.ts +0 -58
- package/bizar-dash/src/web/v8/ui/goals/GoalCard.tsx +0 -176
- package/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +0 -278
- package/bizar-dash/src/web/v8/ui/goals/KeyResult.tsx +0 -115
- package/bizar-dash/src/web/v8/ui/index.ts +0 -369
- package/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +0 -117
- package/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +0 -391
- package/bizar-dash/src/web/v8/ui/kanban/KanbanCardBadges.tsx +0 -111
- package/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +0 -181
- package/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +0 -126
- package/bizar-dash/src/web/v8/ui/kanban/KanbanDetailDialog.tsx +0 -638
- package/bizar-dash/src/web/v8/ui/kanban/KanbanEmptyColumn.tsx +0 -43
- package/bizar-dash/src/web/v8/ui/kanban/KanbanProgress.tsx +0 -130
- package/bizar-dash/src/web/v8/ui/kanban/KanbanQuickAdd.tsx +0 -141
- package/bizar-dash/src/web/v8/ui/kanban/KanbanToolbar.tsx +0 -291
- package/bizar-dash/src/web/v8/ui/kanban/useKanbanSelection.ts +0 -90
- package/bizar-dash/src/web/v8/ui/libraries/LibraryGrid.tsx +0 -30
- package/bizar-dash/src/web/v8/ui/libraries/LibraryItem.tsx +0 -161
- package/bizar-dash/src/web/v8/ui/memory/MemoryVault.tsx +0 -144
- package/bizar-dash/src/web/v8/ui/navigation/CommandPalette.tsx +0 -225
- package/bizar-dash/src/web/v8/ui/navigation/NavLink.tsx +0 -81
- package/bizar-dash/src/web/v8/ui/navigation/Pagination.tsx +0 -164
- package/bizar-dash/src/web/v8/ui/navigation/Tabs.tsx +0 -128
- package/bizar-dash/src/web/v8/ui/navigation/useCommandPaletteHotkey.test.ts +0 -79
- package/bizar-dash/src/web/v8/ui/primitives/Box.tsx +0 -144
- package/bizar-dash/src/web/v8/ui/primitives/Center.tsx +0 -40
- package/bizar-dash/src/web/v8/ui/primitives/Cluster.tsx +0 -67
- package/bizar-dash/src/web/v8/ui/primitives/Grid.tsx +0 -104
- package/bizar-dash/src/web/v8/ui/primitives/Inline.tsx +0 -77
- package/bizar-dash/src/web/v8/ui/primitives/Portal.tsx +0 -33
- package/bizar-dash/src/web/v8/ui/primitives/ScrollArea.tsx +0 -62
- package/bizar-dash/src/web/v8/ui/primitives/Separator.tsx +0 -42
- package/bizar-dash/src/web/v8/ui/primitives/Stack.tsx +0 -73
- package/bizar-dash/src/web/v8/ui/primitives/VisuallyHidden.tsx +0 -49
- package/bizar-dash/src/web/v8/ui/settings/SettingsNav.tsx +0 -91
- package/bizar-dash/src/web/v8/ui/settings/SettingsRow.tsx +0 -88
- package/bizar-dash/src/web/v8/ui/settings/SettingsSection.tsx +0 -109
- package/bizar-dash/src/web/v8/ui/styles/globals.css +0 -265
- package/bizar-dash/src/web/v8/ui/styles/reset.css +0 -57
- package/bizar-dash/src/web/v8/ui/styles/tokens.css +0 -238
- package/bizar-dash/src/web/v8/ui/tasks/TaskDetail.tsx +0 -313
- package/bizar-dash/src/web/v8/ui/theme/DensityProvider.test.tsx +0 -74
- package/bizar-dash/src/web/v8/ui/theme/DensityProvider.tsx +0 -66
- package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.test.tsx +0 -86
- package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.tsx +0 -94
- package/bizar-dash/src/web/v8/ui/theme/ThemeToggle.tsx +0 -93
- package/bizar-dash/src/web/v8/ui/theme/useDensity.ts +0 -15
- package/bizar-dash/src/web/v8/ui/theme/useTheme.ts +0 -16
- package/bizar-dash/src/web/v8/ui/utils/cx.ts +0 -19
- package/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +0 -457
- package/bizar-dash/src/web/v8/views/Admin/AdminView.tsx +0 -237
- package/bizar-dash/src/web/v8/views/Agents/AgentHierarchy.tsx +0 -212
- package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +0 -511
- package/bizar-dash/src/web/v8/views/Artifacts/ArtifactsView.tsx +0 -452
- package/bizar-dash/src/web/v8/views/Artifacts/ClaudeArtifactView.tsx +0 -179
- package/bizar-dash/src/web/v8/views/Auth/AuthView.tsx +0 -179
- package/bizar-dash/src/web/v8/views/BackgroundJobs/BackgroundJobsView.tsx +0 -467
- package/bizar-dash/src/web/v8/views/Backup/BackupView.tsx +0 -204
- package/bizar-dash/src/web/v8/views/Chat/ChatView.tsx +0 -368
- package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionDetail.tsx +0 -144
- package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionsView.tsx +0 -331
- package/bizar-dash/src/web/v8/views/ClaudeSessions/NewSessionModal.tsx +0 -136
- package/bizar-dash/src/web/v8/views/Clipboard/ClipboardView.tsx +0 -210
- package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.test.tsx +0 -142
- package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +0 -272
- package/bizar-dash/src/web/v8/views/Config/ConfigView.tsx +0 -364
- package/bizar-dash/src/web/v8/views/Diagnostics/DiagnosticsView.tsx +0 -203
- package/bizar-dash/src/web/v8/views/Dialogs/DialogsView.tsx +0 -196
- package/bizar-dash/src/web/v8/views/Doctor/DoctorView.tsx +0 -181
- package/bizar-dash/src/web/v8/views/EnvVars/EnvVarsView.tsx +0 -365
- package/bizar-dash/src/web/v8/views/Eval/EvalView.tsx +0 -278
- package/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +0 -351
- package/bizar-dash/src/web/v8/views/History/HistoryView.tsx +0 -227
- package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +0 -123
- package/bizar-dash/src/web/v8/views/LightRAG/LightRAGView.tsx +0 -204
- package/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +0 -258
- package/bizar-dash/src/web/v8/views/Misc/MiscView.tsx +0 -159
- package/bizar-dash/src/web/v8/views/Mods/ModsView.tsx +0 -348
- package/bizar-dash/src/web/v8/views/Notifications/NotificationsView.tsx +0 -247
- package/bizar-dash/src/web/v8/views/Obsidian/ObsidianView.tsx +0 -193
- package/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +0 -274
- package/bizar-dash/src/web/v8/views/Projects/ProjectsView.tsx +0 -273
- package/bizar-dash/src/web/v8/views/Providers/ProvidersView.tsx +0 -371
- package/bizar-dash/src/web/v8/views/Router.tsx +0 -202
- package/bizar-dash/src/web/v8/views/Schedules/SchedulesView.tsx +0 -462
- package/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +0 -1039
- package/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +0 -386
- package/bizar-dash/src/web/v8/views/Update/UpdateView.tsx +0 -270
- package/bizar-dash/src/web/v8/views/Usage/UsageView.tsx +0 -210
- package/bizar-dash/src/web/v8/views/Voice/VoiceView.tsx +0 -192
- package/bizar-dash/src/web/v8/vite-env.d.ts +0 -15
- package/bizar-dash/templates/mod/FORMAT.md +0 -76
- package/bizar-dash/templates/mod/hello-mod/README.md +0 -19
- package/bizar-dash/templates/mod/hello-mod/agents/greeter.md +0 -8
- package/bizar-dash/templates/mod/hello-mod/commands/hello.md +0 -6
- package/bizar-dash/templates/mod/hello-mod/mod.json +0 -20
- package/bizar-dash/templates/mod/hello-mod/routes/ping.mjs +0 -9
- package/bizar-dash/templates/mod/hello-mod/views/HelloView.tsx +0 -10
- package/bizar-dash/tests/_update-test-helpers.mjs +0 -13
- package/bizar-dash/tests/admin-labels.test.mjs +0 -42
- package/bizar-dash/tests/admin-run-grouping.test.mjs +0 -42
- package/bizar-dash/tests/agent-bus.test.mjs +0 -289
- package/bizar-dash/tests/agents-preview-truncate.test.mjs +0 -35
- package/bizar-dash/tests/agents-summary-sanitize.test.ts +0 -51
- package/bizar-dash/tests/auth-inputs-labels.test.mjs +0 -45
- package/bizar-dash/tests/background-jobs-action-labels.test.mjs +0 -41
- package/bizar-dash/tests/background-jobs-states.test.mjs +0 -80
- package/bizar-dash/tests/background-pause-resume.test.mjs +0 -46
- package/bizar-dash/tests/background-sdk-session.test.mjs +0 -94
- package/bizar-dash/tests/background-session-events.test.mjs +0 -74
- package/bizar-dash/tests/background-spawn-from-ui.test.mjs +0 -36
- package/bizar-dash/tests/background-steer-sdk.test.mjs +0 -71
- package/bizar-dash/tests/background-steer.test.mjs +0 -60
- package/bizar-dash/tests/backup-restore.test.mjs +0 -217
- package/bizar-dash/tests/backup-store.test.mjs +0 -300
- package/bizar-dash/tests/banner-tones.test.mjs +0 -50
- package/bizar-dash/tests/bundle-analysis.test.mjs +0 -74
- package/bizar-dash/tests/callout-tokens.test.mjs +0 -30
- package/bizar-dash/tests/chat-new-session.test.mjs +0 -63
- package/bizar-dash/tests/claude-session-detail-states.test.mjs +0 -67
- package/bizar-dash/tests/cli-bugfixes.test.mjs +0 -151
- package/bizar-dash/tests/cli-error-visibility.test.mjs +0 -153
- package/bizar-dash/tests/cli-refactor.test.mjs +0 -183
- package/bizar-dash/tests/cli-tailscale.test.mjs +0 -113
- package/bizar-dash/tests/clipboard.test.mjs +0 -147
- package/bizar-dash/tests/components/BackgroundJobsSkeleton.test.tsx +0 -38
- package/bizar-dash/tests/components/Button.test.tsx +0 -78
- package/bizar-dash/tests/components/Card.test.tsx +0 -59
- package/bizar-dash/tests/components/Dialog.test.tsx +0 -80
- package/bizar-dash/tests/components/Toast.test.tsx +0 -61
- package/bizar-dash/tests/dash-cli-load.test.mjs +0 -44
- package/bizar-dash/tests/dashboard-ports.test.mjs +0 -138
- package/bizar-dash/tests/density-tokens.test.mjs +0 -46
- package/bizar-dash/tests/deploy-templates.test.mjs +0 -100
- package/bizar-dash/tests/diagnostics-store.test.mjs +0 -205
- package/bizar-dash/tests/digest-generation.test.mjs +0 -191
- package/bizar-dash/tests/digest-store.test.mjs +0 -264
- package/bizar-dash/tests/docker-build.test.mjs +0 -96
- package/bizar-dash/tests/doctor-route-shape.test.mjs +0 -67
- package/bizar-dash/tests/empty-state-docs.test.mjs +0 -55
- package/bizar-dash/tests/env-vars-extended.test.mjs +0 -190
- package/bizar-dash/tests/env-vars-store.test.mjs +0 -216
- package/bizar-dash/tests/errorstate-retry.test.mjs +0 -42
- package/bizar-dash/tests/eval/fixtures-extra.test.mjs +0 -285
- package/bizar-dash/tests/eval/fixtures.test.mjs +0 -141
- package/bizar-dash/tests/eval/report.test.mjs +0 -284
- package/bizar-dash/tests/eval/runner.test.mjs +0 -471
- package/bizar-dash/tests/eval-csv.test.mjs +0 -67
- package/bizar-dash/tests/eval-scheduled.test.mjs +0 -84
- package/bizar-dash/tests/focus-visible.test.mjs +0 -30
- package/bizar-dash/tests/frontend-bugfixes.test.mjs +0 -151
- package/bizar-dash/tests/goals-decompose.test.mjs +0 -179
- package/bizar-dash/tests/kanban-empty-column.test.mjs +0 -56
- package/bizar-dash/tests/layout-spacing.test.mjs +0 -101
- package/bizar-dash/tests/library-dedupe.test.mjs +0 -62
- package/bizar-dash/tests/lightrag-defaults.node.test.mjs +0 -118
- package/bizar-dash/tests/lightrag-skeleton.test.mjs +0 -31
- package/bizar-dash/tests/lightrag-startup-hook.test.mjs +0 -238
- package/bizar-dash/tests/lightrag-states.test.mjs +0 -60
- package/bizar-dash/tests/logger.test.mjs +0 -207
- package/bizar-dash/tests/loop-runtime.test.mjs +0 -312
- package/bizar-dash/tests/loops-agent-bus-routes.test.mjs +0 -293
- package/bizar-dash/tests/memory-auto-reindex.test.mjs +0 -196
- package/bizar-dash/tests/memory-cli-readlistdelete.test.mjs +0 -405
- package/bizar-dash/tests/memory-cli-setup.test.mjs +0 -382
- package/bizar-dash/tests/memory-cli.test.mjs +0 -596
- package/bizar-dash/tests/memory-config.test.mjs +0 -422
- package/bizar-dash/tests/memory-conflicts.test.mjs +0 -229
- package/bizar-dash/tests/memory-default-vault.test.mjs +0 -185
- package/bizar-dash/tests/memory-git.test.mjs +0 -264
- package/bizar-dash/tests/memory-graph.test.mjs +0 -95
- package/bizar-dash/tests/memory-install-bootstrap.test.mjs +0 -129
- package/bizar-dash/tests/memory-lightrag-extended.test.mjs +0 -293
- package/bizar-dash/tests/memory-lightrag.test.mjs +0 -153
- package/bizar-dash/tests/memory-link.test.mjs +0 -134
- package/bizar-dash/tests/memory-namespace.test.mjs +0 -404
- package/bizar-dash/tests/memory-obsidian.test.mjs +0 -269
- package/bizar-dash/tests/memory-path-safety.test.mjs +0 -427
- package/bizar-dash/tests/memory-protocol-drift.test.mjs +0 -52
- package/bizar-dash/tests/memory-roundtrip.test.mjs +0 -219
- package/bizar-dash/tests/memory-schema.test.mjs +0 -198
- package/bizar-dash/tests/memory-secrets.test.mjs +0 -121
- package/bizar-dash/tests/memory-status-root.test.mjs +0 -144
- package/bizar-dash/tests/memory-store.test.mjs +0 -493
- package/bizar-dash/tests/memory-sync.test.mjs +0 -141
- package/bizar-dash/tests/memory-tab.test.mjs +0 -322
- package/bizar-dash/tests/memory-vault-config-endpoint.test.mjs +0 -173
- package/bizar-dash/tests/metrics.test.mjs +0 -183
- package/bizar-dash/tests/minimax-bar.test.tsx +0 -113
- package/bizar-dash/tests/minimax-chat-usage.test.mjs +0 -253
- package/bizar-dash/tests/minimax-models.test.mjs +0 -123
- package/bizar-dash/tests/minimax-usage-store.node.test.mjs +0 -293
- package/bizar-dash/tests/mod-instructions.node.test.mjs +0 -188
- package/bizar-dash/tests/mod-security.test.mjs +0 -273
- package/bizar-dash/tests/mod-upgrade.node.test.mjs +0 -357
- package/bizar-dash/tests/modal-focus-trap.test.mjs +0 -114
- package/bizar-dash/tests/no-browser-harness.node.test.mjs +0 -98
- package/bizar-dash/tests/notifications-dismiss-restore.test.mjs +0 -85
- package/bizar-dash/tests/obsidian-back-compat.test.mjs +0 -199
- package/bizar-dash/tests/ocr.test.mjs +0 -87
- package/bizar-dash/tests/orphan-tests-audit.test.mjs +0 -80
- package/bizar-dash/tests/otel-spans.test.mjs +0 -253
- package/bizar-dash/tests/otel.test.mjs +0 -188
- package/bizar-dash/tests/palette-keyboard-nav.test.mjs +0 -123
- package/bizar-dash/tests/palette-shortcut-hint.test.mjs +0 -58
- package/bizar-dash/tests/path-safe.test.mjs +0 -108
- package/bizar-dash/tests/projects-filter.test.mjs +0 -48
- package/bizar-dash/tests/providers-store-backup-keys.node.test.mjs +0 -809
- package/bizar-dash/tests/providers-store-search.node.test.mjs +0 -166
- package/bizar-dash/tests/rate-limit.test.mjs +0 -298
- package/bizar-dash/tests/routes-doctor.test.mjs +0 -159
- package/bizar-dash/tests/schedules-skeleton.test.mjs +0 -25
- package/bizar-dash/tests/schedules-states.test.mjs +0 -67
- package/bizar-dash/tests/schedules-templates.test.mjs +0 -144
- package/bizar-dash/tests/server-bugfixes.test.mjs +0 -318
- package/bizar-dash/tests/settings-labels.test.mjs +0 -80
- package/bizar-dash/tests/setup.ts +0 -84
- package/bizar-dash/tests/sidebar-collapse-animation.test.mjs +0 -37
- package/bizar-dash/tests/sidebar-distinct-icons.test.mjs +0 -28
- package/bizar-dash/tests/sidebar-responsive.test.tsx +0 -48
- package/bizar-dash/tests/sidebar-section-styles.test.mjs +0 -55
- package/bizar-dash/tests/sidebar-section-toggle.test.tsx +0 -63
- package/bizar-dash/tests/skeleton-height.test.mjs +0 -47
- package/bizar-dash/tests/skills-list.test.mjs +0 -232
- package/bizar-dash/tests/skills-search.test.mjs +0 -222
- package/bizar-dash/tests/smoke-v2.mjs +0 -212
- package/bizar-dash/tests/space-tokens.test.mjs +0 -36
- package/bizar-dash/tests/stattile-loading.test.mjs +0 -28
- package/bizar-dash/tests/strip-thinking.test.mjs +0 -175
- package/bizar-dash/tests/submit-feedback.test.mjs +0 -353
- package/bizar-dash/tests/task-splitter.test.mjs +0 -268
- package/bizar-dash/tests/tasks-create.test.mjs +0 -187
- package/bizar-dash/tests/tasks-patch-routes.test.mjs +0 -194
- package/bizar-dash/tests/theme-toggle-icon.test.mjs +0 -28
- package/bizar-dash/tests/tmux-wrap.test.mjs +0 -145
- package/bizar-dash/tests/topbar-design-system.test.mjs +0 -56
- package/bizar-dash/tests/topbar-popover-styles.test.mjs +0 -53
- package/bizar-dash/tests/ui/primitives/VisuallyHidden.test.tsx +0 -42
- package/bizar-dash/tests/update-channels.test.mjs +0 -67
- package/bizar-dash/tests/update-check.test.mjs +0 -132
- package/bizar-dash/tests/update-packages.test.mjs +0 -154
- package/bizar-dash/tests/update-run.test.mjs +0 -203
- package/bizar-dash/tests/users.test.mjs +0 -108
- package/bizar-dash/tests/v7-archive/BackgroundAgents.test.tsx +0 -160
- package/bizar-dash/tests/v7-archive/a11y/forms.test.tsx +0 -191
- package/bizar-dash/tests/v7-archive/a11y.test.tsx +0 -206
- package/bizar-dash/tests/v7-archive/autosave.test.tsx +0 -276
- package/bizar-dash/tests/v7-archive/backup-restore.test.tsx +0 -141
- package/bizar-dash/tests/v7-archive/chat-composer.test.tsx +0 -140
- package/bizar-dash/tests/v7-archive/communication-log.test.tsx +0 -67
- package/bizar-dash/tests/v7-archive/components/Modal.test.tsx +0 -104
- package/bizar-dash/tests/v7-archive/components/Spinner.test.tsx +0 -32
- package/bizar-dash/tests/v7-archive/components/StatusBadge.test.tsx +0 -35
- package/bizar-dash/tests/v7-archive/components/doctor-panel.test.tsx +0 -105
- package/bizar-dash/tests/v7-archive/components/screenshot-ocr.test.tsx +0 -75
- package/bizar-dash/tests/v7-archive/components/settings-search.test.tsx +0 -180
- package/bizar-dash/tests/v7-archive/components/workspace-selector.test.tsx +0 -73
- package/bizar-dash/tests/v7-archive/controls/Button.test.tsx +0 -50
- package/bizar-dash/tests/v7-archive/controls/Checkbox.test.tsx +0 -44
- package/bizar-dash/tests/v7-archive/controls/IconButton.test.tsx +0 -37
- package/bizar-dash/tests/v7-archive/controls/Kbd.test.tsx +0 -39
- package/bizar-dash/tests/v7-archive/controls/NumberInput.test.tsx +0 -56
- package/bizar-dash/tests/v7-archive/controls/RadioGroup.test.tsx +0 -58
- package/bizar-dash/tests/v7-archive/controls/SearchInput.test.tsx +0 -52
- package/bizar-dash/tests/v7-archive/controls/Select.test.tsx +0 -66
- package/bizar-dash/tests/v7-archive/controls/Slider.test.tsx +0 -41
- package/bizar-dash/tests/v7-archive/controls/TextInput.test.tsx +0 -44
- package/bizar-dash/tests/v7-archive/controls/Textarea.test.tsx +0 -56
- package/bizar-dash/tests/v7-archive/controls/Toggle.test.tsx +0 -39
- package/bizar-dash/tests/v7-archive/data/BarChart.test.tsx +0 -55
- package/bizar-dash/tests/v7-archive/data/DataTable.test.tsx +0 -112
- package/bizar-dash/tests/v7-archive/data/EmptyState.test.tsx +0 -57
- package/bizar-dash/tests/v7-archive/data/ErrorState.test.tsx +0 -47
- package/bizar-dash/tests/v7-archive/data/KeyValueList.test.tsx +0 -59
- package/bizar-dash/tests/v7-archive/data/LoadingState.test.tsx +0 -37
- package/bizar-dash/tests/v7-archive/data/Sparkline.test.tsx +0 -56
- package/bizar-dash/tests/v7-archive/data/StatTile.test.tsx +0 -69
- package/bizar-dash/tests/v7-archive/dep-graph.test.tsx +0 -40
- package/bizar-dash/tests/v7-archive/eval-web-ui.test.tsx +0 -220
- package/bizar-dash/tests/v7-archive/event-log.test.tsx +0 -61
- package/bizar-dash/tests/v7-archive/feedback/Badge.test.tsx +0 -41
- package/bizar-dash/tests/v7-archive/feedback/Dialog.test.tsx +0 -99
- package/bizar-dash/tests/v7-archive/feedback/ProgressBar.test.tsx +0 -66
- package/bizar-dash/tests/v7-archive/feedback/StatusDot.test.tsx +0 -41
- package/bizar-dash/tests/v7-archive/feedback/Toast.test.tsx +0 -124
- package/bizar-dash/tests/v7-archive/feedback/Tooltip.test.tsx +0 -102
- package/bizar-dash/tests/v7-archive/goal-input.test.tsx +0 -72
- package/bizar-dash/tests/v7-archive/goap-planner.test.ts +0 -68
- package/bizar-dash/tests/v7-archive/hooks/useModal.test.tsx +0 -84
- package/bizar-dash/tests/v7-archive/hooks/useToast.test.tsx +0 -50
- package/bizar-dash/tests/v7-archive/layout/AppShell.test.tsx +0 -50
- package/bizar-dash/tests/v7-archive/layout/Breadcrumbs.test.tsx +0 -85
- package/bizar-dash/tests/v7-archive/layout/Panel.test.tsx +0 -52
- package/bizar-dash/tests/v7-archive/layout/PanelHeader.test.tsx +0 -32
- package/bizar-dash/tests/v7-archive/layout/Sidebar.test.tsx +0 -95
- package/bizar-dash/tests/v7-archive/layout/Tabs.test.tsx +0 -87
- package/bizar-dash/tests/v7-archive/layout/Topbar.test.tsx +0 -41
- package/bizar-dash/tests/v7-archive/layout/ViewHeader.test.tsx +0 -47
- package/bizar-dash/tests/v7-archive/lib/i18n.test.ts +0 -46
- package/bizar-dash/tests/v7-archive/lib/search-fuzzy.test.ts +0 -149
- package/bizar-dash/tests/v7-archive/lib/utils.test.ts +0 -194
- package/bizar-dash/tests/v7-archive/memory-graph-view.test.tsx +0 -69
- package/bizar-dash/tests/v7-archive/mobile-chat.test.tsx +0 -82
- package/bizar-dash/tests/v7-archive/mobile-layout.test.tsx +0 -332
- package/bizar-dash/tests/v7-archive/mobile-tasks.test.tsx +0 -162
- package/bizar-dash/tests/v7-archive/navigation/NavGroup.test.tsx +0 -55
- package/bizar-dash/tests/v7-archive/navigation/NavLink.test.tsx +0 -61
- package/bizar-dash/tests/v7-archive/quality-gates.test.tsx +0 -59
- package/bizar-dash/tests/v7-archive/settings-layout.test.tsx +0 -129
- package/bizar-dash/tests/v7-archive/settings-mode-wiring.test.tsx +0 -151
- package/bizar-dash/tests/v7-archive/ui/primitives/Box.test.tsx +0 -49
- package/bizar-dash/tests/v7-archive/ui/primitives/Grid.test.tsx +0 -37
- package/bizar-dash/tests/v7-archive/ui/primitives/Inline.test.tsx +0 -33
- package/bizar-dash/tests/v7-archive/ui/primitives/Separator.test.tsx +0 -34
- package/bizar-dash/tests/v7-archive/ui/primitives/Stack.test.tsx +0 -45
- package/bizar-dash/tests/v7-archive/views/Agents.test.tsx +0 -359
- package/bizar-dash/tests/v7-archive/views/Memory.test.tsx +0 -274
- package/bizar-dash/tests/v7-archive/views/Tasks.test.tsx +0 -250
- package/bizar-dash/tests/v7-archive/views/sidebar.test.tsx +0 -116
- package/bizar-dash/tests/v7-archive/views/topbar.test.tsx +0 -87
- package/bizar-dash/tests/v7-archive/voice-recorder.test.tsx +0 -95
- package/bizar-dash/tests/voice-store.test.mjs +0 -148
- package/bizar-dash/tests/voice-transcribe-worker.test.mjs +0 -343
- package/bizar-dash/tests/voice-transcribe.test.mjs +0 -87
- package/bizar-dash/tests/workspaces.test.mjs +0 -527
- package/bizar-dash/tests/yaml.test.mjs +0 -128
- package/bizar-dash/tsconfig.json +0 -23
- package/bizar-dash/vite.config.ts +0 -82
- package/bizar-dash/vitest.config.ts +0 -20
- package/cli/__tests__/cost-gate.test.mjs +0 -301
- package/cli/__tests__/esm-no-require.test.mjs +0 -97
- package/cli/__tests__/feature-list-bridge.test.mjs +0 -371
- package/cli/agent-browser-up.sh +0 -152
- package/cli/agent-browser-update.test.mjs +0 -86
- package/cli/artifact-cli.mjs +0 -605
- package/cli/artifact-render.mjs +0 -621
- package/cli/artifact-server.mjs +0 -847
- package/cli/artifact-templates.mjs +0 -523
- package/cli/artifact.mjs +0 -63
- package/cli/artifact.test.mjs +0 -2331
- package/cli/bg.mjs +0 -471
- package/cli/cli-commands-validation.test.mjs +0 -106
- package/cli/commands/artifact.mjs +0 -20
- package/cli/commands/clip.mjs +0 -163
- package/cli/commands/dash.mjs +0 -193
- package/cli/commands/deploy/cloudflare.mjs +0 -250
- package/cli/commands/deploy/docker.mjs +0 -219
- package/cli/commands/deploy/fly.mjs +0 -161
- package/cli/commands/deploy/vercel.mjs +0 -225
- package/cli/commands/deploy.mjs +0 -240
- package/cli/commands/eval.mjs +0 -396
- package/cli/commands/lightrag.mjs +0 -170
- package/cli/commands/marketplace.mjs +0 -64
- package/cli/commands/memory.mjs +0 -25
- package/cli/commands/minimax.mjs +0 -288
- package/cli/commands/mod.mjs +0 -185
- package/cli/commands/ocr.mjs +0 -182
- package/cli/commands/plugin.mjs +0 -358
- package/cli/commands/rca.test.mjs +0 -99
- package/cli/commands/service.mjs +0 -79
- package/cli/commands/setup-provider.test.mjs +0 -311
- package/cli/commands/tailscale.mjs +0 -256
- package/cli/commands/usage.mjs +0 -113
- package/cli/commands/voice.mjs +0 -211
- package/cli/commands/workspace.mjs +0 -247
- package/cli/copy.mjs +0 -540
- package/cli/dev-link.mjs +0 -191
- package/cli/dev-link.test.mjs +0 -310
- package/cli/digest.mjs +0 -149
- package/cli/install/banner.test.mjs +0 -39
- package/cli/install/index.test.mjs +0 -61
- package/cli/install/paths.test.mjs +0 -77
- package/cli/install/plugin.mjs +0 -161
- package/cli/install/postinstall.mjs +0 -137
- package/cli/install/postinstall.test.mjs +0 -98
- package/cli/install.test.mjs +0 -272
- package/cli/memory-constants.mjs +0 -76
- package/cli/memory.mjs +0 -1850
- package/cli/migrate.test.mjs +0 -85
- package/cli/plow-through.test.mjs +0 -56
- package/cli/plugin-runtime-deps.mjs +0 -250
- package/cli/plugin-runtime-deps.test.mjs +0 -378
- package/cli/post-install-smoke.mjs +0 -256
- package/cli/post-install-smoke.test.mjs +0 -72
- package/cli/prompts.mjs +0 -168
- package/cli/providers-detect.mjs +0 -233
- package/cli/provision.test.mjs +0 -324
- package/cli/service-controller.mjs +0 -735
- package/cli/service-controller.test.mjs +0 -191
- package/cli/service-env.mjs +0 -130
- package/cli/service.mjs +0 -492
- package/cli/tests/minimax-cli.test.mjs +0 -79
- package/cli/worker-dispatcher.test.mjs +0 -204
- package/config/skills/glyph/SKILL.md +0 -163
- package/config/skills/lightrag/SKILL.md +0 -81
- package/config/skills/memory-protocol/SKILL.md +0 -105
- package/config/skills/obsidian/SKILL.md +0 -306
- package/packages/sdk/${HOME}/.bizar_home/memory/projects/sdk/sessions/2026-07-16-e16c2f59.md +0 -14
- package/packages/sdk/.bizar/learning/instincts.jsonl +0 -5
- package/packages/sdk/LICENSE +0 -21
- package/packages/sdk/dist/memory/index.d.ts +0 -43
- package/packages/sdk/dist/memory/index.js +0 -159
- package/packages/sdk/dist/router/memory-distillation.d.ts +0 -58
- package/packages/sdk/dist/router/memory-distillation.js +0 -195
- package/packages/sdk/vitest.config.ts +0 -9
- package/plugins/bizar/LICENSE +0 -21
- package/plugins/bizar/dist/index.d.ts +0 -25
- package/plugins/bizar/dist/index.js +0 -32
- package/plugins/bizar/package.json +0 -18
- package/scripts/audit.mjs +0 -388
- package/scripts/audit.test.mjs +0 -149
- package/scripts/bh-full-e2e.mjs +0 -300
- package/scripts/check-agents.mjs +0 -76
- package/scripts/check-arch.sh +0 -80
- package/scripts/check-deps.mjs +0 -468
- package/scripts/clean-state-check.sh +0 -81
- package/scripts/eval-gate.mjs +0 -134
- package/scripts/eval-gate.test.mjs +0 -138
- package/scripts/feature-state-machine.mjs +0 -178
- package/scripts/feature-state-machine.test.mjs +0 -135
- package/scripts/git-hooks/__tests__/commit-msg.test.mjs +0 -61
- package/scripts/install-curl.sh +0 -17
- package/scripts/install-service.mjs +0 -190
- package/scripts/loop-log.txt +0 -29
- package/scripts/loop-tasks.md +0 -79
- package/scripts/mirror-claude-md.sh +0 -78
- package/scripts/overnight-loop.mjs +0 -60
- package/scripts/run-dev.mjs +0 -84
- package/scripts/session-trace.sh +0 -52
- package/scripts/spec-dedup.test.mjs +0 -124
- package/scripts/sprint.mjs +0 -213
- package/scripts/sync-skills-mirror.mjs +0 -113
- package/scripts/test-in-container.sh +0 -157
- package/scripts/verify-feature.sh +0 -102
- package/scripts/verify-thinking-skills.mjs +0 -135
- package/scripts/worktree-setup.sh +0 -79
- package/templates/clean-state-checklist.md +0 -55
- package/templates/deploy/cloudflare/README.md +0 -32
- package/templates/deploy/cloudflare/functions-index.template.js +0 -15
- package/templates/deploy/cloudflare/wrangler.toml.template +0 -9
- package/templates/deploy/docker/.env.template +0 -16
- package/templates/deploy/docker/README.md +0 -58
- package/templates/deploy/docker/docker-compose.template.yml +0 -23
- package/templates/deploy/fly/README.md +0 -35
- package/templates/deploy/fly/fly.toml.template +0 -28
- package/templates/deploy/vercel/README.md +0 -29
- package/templates/deploy/vercel/api-index.template.js +0 -18
- package/templates/deploy/vercel/vercel.json.template +0 -16
- package/templates/eval-fixtures/README.md +0 -58
- package/templates/eval-fixtures/citation.json +0 -16
- package/templates/eval-fixtures/code-review.json +0 -16
- package/templates/eval-fixtures/code-search-basic.json +0 -28
- package/templates/eval-fixtures/concise-output.json +0 -16
- package/templates/eval-fixtures/context-window.json +0 -16
- package/templates/eval-fixtures/error-recovery.json +0 -16
- package/templates/eval-fixtures/json-output.json +0 -20
- package/templates/eval-fixtures/latency-bounds.json +0 -16
- package/templates/eval-fixtures/multi-language.json +0 -16
- package/templates/eval-fixtures/regression-suite.json +0 -79
- package/templates/eval-fixtures/response-format.json +0 -30
- package/templates/eval-fixtures/safe-paths.json +0 -16
- package/templates/eval-fixtures/tool-call-correctness.json +0 -24
- package/templates/eval-fixtures/tool-call-multi-step.json +0 -18
- package/templates/eval-fixtures/unicode-handling.json +0 -16
- package/templates/evaluator-rubric.md +0 -50
- package/templates/plan/htmx.min.js +0 -1
- package/templates/plan/library/bug-investigation.mdx +0 -79
- package/templates/plan/library/decision-record.mdx +0 -71
- package/templates/plan/library/feature-design.mdx +0 -92
- package/templates/plan/meta.json.template +0 -8
- package/templates/plan/plan.mdx.template +0 -46
- package/templates/plugin-template/README.md +0 -121
- package/templates/plugin-template/index.js +0 -66
- package/templates/plugin-template/plugin.json +0 -42
- package/templates/plugin-template/tests/plugin.test.js +0 -83
- package/templates/schedules/daily-backup.json +0 -12
- package/templates/schedules/daily-cleanup.json +0 -12
- package/templates/schedules/hourly-health-check.json +0 -12
- package/templates/schedules/webhook-on-push.json +0 -13
- package/templates/schedules/weekly-digest.json +0 -13
- package/templates/sprint-contract.md +0 -47
- /package/{.claude → config}/skills/de-sloppify/SKILL.md +0 -0
package/bizar-dash/CHANGELOG.md
DELETED
|
@@ -1,807 +0,0 @@
|
|
|
1
|
-
# @polderlabs/bizar-dash — Changelog
|
|
2
|
-
|
|
3
|
-
## v10.0.7 — 2026-07-16
|
|
4
|
-
|
|
5
|
-
### Highlights
|
|
6
|
-
|
|
7
|
-
Activity page rebuilt as swimlanes (inspired by
|
|
8
|
-
[patoles/agent-flow](https://github.com/patoles/agent-flow)) plus a
|
|
9
|
-
route contract fix that was previously hiding every event.
|
|
10
|
-
|
|
11
|
-
- **Activity lanes**: vertical swimlanes per agent/actor, newest-first,
|
|
12
|
-
320px columns with horizontal scroll, click-through on every event
|
|
13
|
-
row to the underlying entity (task / goal / agent / artifact) via a
|
|
14
|
-
new `useViewNavigate` hook.
|
|
15
|
-
- **New primitives**: `ActivityLane` (one lane) + `ActivityLanes`
|
|
16
|
-
(horizontal scroller) — re-exported from `ui/index.ts`.
|
|
17
|
-
- **Route contract**: `/api/activity` now returns `{ items, total,
|
|
18
|
-
limit, since }` (was leaking `events`); honors `?limit=N` (default
|
|
19
|
-
200, hard cap 1000) and accepts `?since=ISO` for windowed polling.
|
|
20
|
-
- **Documentation**: per-actor lane behaviour, click-through targets,
|
|
21
|
-
and E2E script `tests/e2e/dashboard-activity-lanes.mjs` (6/6 PASS).
|
|
22
|
-
|
|
23
|
-
### Files
|
|
24
|
-
|
|
25
|
-
- `bizar-dash/src/server/routes/activity.mjs` — contract fix
|
|
26
|
-
- `bizar-dash/src/web/v8/ui/activity/ActivityLane.tsx` — NEW primitive
|
|
27
|
-
- `bizar-dash/src/web/v8/ui/activity/ActivityLanes.tsx` — NEW scroller
|
|
28
|
-
- `bizar-dash/src/web/v8/ui/index.ts` — barrel re-exports
|
|
29
|
-
- `bizar-dash/src/web/v8/data/useViewNavigate.ts` — NEW: cross-tree
|
|
30
|
-
`bizar:navigate` CustomEvent hook
|
|
31
|
-
- `bizar-dash/src/web/v8/App.tsx` — listens for `bizar:navigate`
|
|
32
|
-
- `bizar-dash/src/web/v8/views/Activity/ActivityView.tsx` — rewritten
|
|
33
|
-
as swimlanes
|
|
34
|
-
- `tests/e2e/dashboard-activity-lanes.mjs` — NEW E2E (6 checks)
|
|
35
|
-
- `package.json` — `test:e2e:activity-lanes` script
|
|
36
|
-
|
|
37
|
-
### Skipped (deliberate)
|
|
38
|
-
|
|
39
|
-
- **`?actor=` filter** on the route — currently the client groups by
|
|
40
|
-
whatever `state.recentActivity` already partitions. Ponytail: add
|
|
41
|
-
when the activity store grows large enough that the client grouping
|
|
42
|
-
becomes expensive.
|
|
43
|
-
- **Lane drag-to-reorder** — lane order is currently count-desc, no
|
|
44
|
-
user override. ponytail: persist `localStorage['bizar:lane:order']`
|
|
45
|
-
when there's user demand.
|
|
46
|
-
- **Horizontal time axis zoom** — patoles/agent-flow's timeline zoom
|
|
47
|
-
interaction, skipped because `ts` density is too spiky to make a
|
|
48
|
-
zoom useful without smoothing windows.
|
|
49
|
-
|
|
50
|
-
## v10.0.6 — 2026-07-16
|
|
51
|
-
|
|
52
|
-
### Highlights
|
|
53
|
-
|
|
54
|
-
Integrates the kanban overhaul (PR #14) plus five targeted UX bug
|
|
55
|
-
fixes from the user-feedback round:
|
|
56
|
-
|
|
57
|
-
- **Tasks board**: 6-column layout with Backlog, search + filter
|
|
58
|
-
chips, full multi-select toolbar (bulk move / archive / delete),
|
|
59
|
-
Esc-to-clear selection, dedicated detail dialog, per-card progress
|
|
60
|
-
bar + badges (recurring / subtasks / deps / tags / branch).
|
|
61
|
-
- **Topbar project selector**: now a real button with a Radix Popover
|
|
62
|
-
listing every registered project — calls
|
|
63
|
-
`POST /api/projects/:id/activate` and refetches the active state.
|
|
64
|
-
- **CC roster**: `/tmp` scratch sessions are filtered out of both the
|
|
65
|
-
live CLI roster and the disk fallback. Opt-out via
|
|
66
|
-
`BIZAR_CC_INCLUDE_TMP=1` for debug.
|
|
67
|
-
- **Sidebar**: every section header is collapsible (click to toggle);
|
|
68
|
-
state persisted under `bizar:sidebar:section:collapsed:<id>` so the
|
|
69
|
-
23-item System section can fold away.
|
|
70
|
-
- **Artifacts**: server-side auto-mint on `goal-finished` and
|
|
71
|
-
`dialog-needs-input` transitions. Sidebar already shows Artifacts;
|
|
72
|
-
it now actually populates without manual intervention.
|
|
73
|
-
- **Libraries**: `/api/skills?kind=skills|mcps|hooks` is honoured,
|
|
74
|
-
the scanner stamps `kind` on every entry, and the three sidebar
|
|
75
|
-
counts diverge instead of all reading the same 49.
|
|
76
|
-
|
|
77
|
-
### Per-move detail
|
|
78
|
-
|
|
79
|
-
- **Move 1 (TasksView)**: replaced v10.0.5's flat 5-column board with
|
|
80
|
-
PR #14's 6-column layout, added 6 new primitives
|
|
81
|
-
(`KanbanToolbar`, `KanbanDetailDialog`, `KanbanCardBadges`,
|
|
82
|
-
`KanbanProgress`, `KanbanEmptyColumn`, `useKanbanSelection`).
|
|
83
|
-
Extended `Task` type with `tags / subtasks / dependencies /
|
|
84
|
-
recurring / activity / timerStart`. Wired toolbar + selection into
|
|
85
|
-
the existing `TaskDetail` Sheet so the create / edit flows are
|
|
86
|
-
unchanged. PR #14's bare-array `useFetch<Task[]>` was a regression
|
|
87
|
-
vs the v10.0.5 `{ tasks, count }` envelope — kept the wrapper shape.
|
|
88
|
-
|
|
89
|
-
- **Move 2 (Topbar)**: replaced inert `<Box>{label} ▾</Box>` with a
|
|
90
|
-
Radix `Popover` anchored on a `<button>` trigger. Each menu item is
|
|
91
|
-
`<button role="menuitem">` (focus / arrow / Esc honoured natively),
|
|
92
|
-
shows a `●` indicator on the active project, and emits
|
|
93
|
-
`POST /api/projects/:id/activate` on click with per-item busy state.
|
|
94
|
-
|
|
95
|
-
- **Move 3 (CC roster)**: introduced `shouldIncludeAgent()` in
|
|
96
|
-
`routes/agents-cc.mjs`, applied to the live CLI roster
|
|
97
|
-
(`r.agents.map(enrichSession)`) and the disk-fallback loop.
|
|
98
|
-
Skips agents whose `cwd` is `os.tmpdir()` or under it.
|
|
99
|
-
|
|
100
|
-
- **Move 4 (Sidebar)**: per-section collapse + chevron + localStorage
|
|
101
|
-
persistence. New testids: `data-sidebar-section`, `sidebar-section-
|
|
102
|
-
toggle-<id>`, `sidebar-section-chevron-<id>` for E2E.
|
|
103
|
-
|
|
104
|
-
- **Move 5 (Artifacts auto-mint)**: new `server/artifact-mint.mjs`
|
|
105
|
-
helper centralises slugification + idempotency (swallows 409 from
|
|
106
|
-
`artifactsStore.create`). Goals route mints on transition
|
|
107
|
-
`* → done`; dialogs route mints on `needsUserInput: false → true`.
|
|
108
|
-
|
|
109
|
-
- **Move 6 (Libraries)**: skills route filters by `?kind=`; scanner
|
|
110
|
-
annotates `kind: 'skills'` + stable `id` per entry. Sidebar counts
|
|
111
|
-
surface distinct numbers (e.g. 18 / 0 / 0).
|
|
112
|
-
|
|
113
|
-
### Skipped (deliberate)
|
|
114
|
-
|
|
115
|
-
- MCP / hook file scanner: no scanner exists yet, so `?kind=mcps` and
|
|
116
|
-
`?kind=hooks` return empty lists. ponytail: ship a real MCP/hook
|
|
117
|
-
scanner when the surface is wired.
|
|
118
|
-
- MDX body content for goal-finished artifacts: frontmatter + KR
|
|
119
|
-
checklist only; no rendered prose yet.
|
|
120
|
-
- `theme.css` rebuild: visuals already match the PR's CSS, but a fresh
|
|
121
|
-
build:dash run isn't gated by the E2E.
|
|
122
|
-
|
|
123
|
-
## v10.0.5 — 2026-07-16
|
|
124
|
-
|
|
125
|
-
### Highlights
|
|
126
|
-
|
|
127
|
-
Four atomic moves close the umbrella brief end-to-end:
|
|
128
|
-
**37/37 surfaces reachable**, **16 Tier-3 mutations proven
|
|
129
|
-
with E2E**, **8 silent-failure views now surface a
|
|
130
|
-
recoverable error**, and **9 views gained a data-driven
|
|
131
|
-
list header** (count + sparkline + filter chips).
|
|
132
|
-
|
|
133
|
-
### Move 1 — Sidebar reachability
|
|
134
|
-
|
|
135
|
-
- `App.tsx` sections array grew from 12 hard-coded items to
|
|
136
|
-
24, wiring every section already declared in
|
|
137
|
-
`Sidebar.tsx:DEFAULT_SECTIONS`.
|
|
138
|
-
- 17 view files got a `<view>-view` testid on their root
|
|
139
|
-
container.
|
|
140
|
-
- `tests/e2e/dashboard-full-surfaces.mjs` walks all 37 Router
|
|
141
|
-
cases, clicks each sidebar item, and asserts the `<view>-view`
|
|
142
|
-
root testid appears. **37/37 PASS.**
|
|
143
|
-
|
|
144
|
-
### Move 2 — Tier-3 mutation coverage
|
|
145
|
-
|
|
146
|
-
16 atomic mutations across 8 endpoints, all proven with E2E.
|
|
147
|
-
|
|
148
|
-
- **Move 2a — 8 missing UI buttons** wired against existing
|
|
149
|
-
server endpoints: Projects refresh, EnvVars test, Eval
|
|
150
|
-
schedule add/delete, Mods reinstall-instructions + edit,
|
|
151
|
-
Providers add-key, ClaudeSessions send.
|
|
152
|
-
- **Move 2b — 8 new server endpoints**: `POST/PATCH/DELETE`
|
|
153
|
-
on dialogs (`/:id/approve|deny|skip` + `/:id`), providers
|
|
154
|
-
(`POST /`, `PUT /:id`, `DELETE /:id`,
|
|
155
|
-
`POST /:id/enable|disable`), claude-sessions
|
|
156
|
-
(`POST /:id/resume`). `dialog-store.mjs` grew `decide()`
|
|
157
|
-
(sidecar decision file + unlink queue) and `patch()`
|
|
158
|
-
(merge data).
|
|
159
|
-
- **Move 2c — UI buttons for new routes**: DialogsView
|
|
160
|
-
(Approve/Skip/Deny/Dismiss), ProvidersView (New + per-row
|
|
161
|
-
Edit/Enable/Disable/Delete), ClaudeSessionsView (Resume).
|
|
162
|
-
|
|
163
|
-
### Move 3 — ErrorState polish
|
|
164
|
-
|
|
165
|
-
New shared `<ErrorState>` in
|
|
166
|
-
`bizar-dash/src/web/v8/ui/feedback/ErrorState.tsx` with two
|
|
167
|
-
modes — inline (Alert tone=danger banner with optional
|
|
168
|
-
retry) and block (centered icon + title + message + retry,
|
|
169
|
-
mirrors EmptyState).
|
|
170
|
-
|
|
171
|
-
8 silent-failure views now surface a recoverable error
|
|
172
|
-
before falling through to the empty state: History, Goals,
|
|
173
|
-
Activity, Usage, Agents, Libraries (skill/mcp/hook),
|
|
174
|
-
Doctor, Dialogs. Each wires `onRetry={() => fetch.refetch()}`
|
|
175
|
-
so a 500 / network blip is one click away from recovery.
|
|
176
|
-
|
|
177
|
-
### Move 4 — ListHeader polish
|
|
178
|
-
|
|
179
|
-
New shared `<ListHeader>` in
|
|
180
|
-
`bizar-dash/src/web/v8/ui/data/ListHeader.tsx` — title +
|
|
181
|
-
count badge + optional Sparkline + optional filter chips +
|
|
182
|
-
right-aligned actions. Wired into 9 views:
|
|
183
|
-
|
|
184
|
-
- **High-traffic (sparkline):** Activity (per-day bucket
|
|
185
|
-
counts).
|
|
186
|
-
- **High-traffic (count + chips):** Goals (status filter
|
|
187
|
-
chips migrated under ListHeader.filters).
|
|
188
|
-
- **High-traffic (count only):** Agents.
|
|
189
|
-
- **Count-only:** Projects, Providers, Mods, Dialogs,
|
|
190
|
-
EnvVars, Backup.
|
|
191
|
-
|
|
192
|
-
Skipped: Tasks (Kanban already counts), History (custom
|
|
193
|
-
FilterChip interleaves kinds + projects).
|
|
194
|
-
|
|
195
|
-
### Bug fix landed in Move 1
|
|
196
|
-
|
|
197
|
-
DoctorView.tsx called `checks.map` on `snap.data.checks`,
|
|
198
|
-
but the server returns `checks` as
|
|
199
|
-
`{ system, config, services }` (a grouped object), not an
|
|
200
|
-
array. The view crashed on first render and unmounted the
|
|
201
|
-
entire React tree (no ErrorBoundary). Flatten the groups
|
|
202
|
-
into a typed `CheckResult[]` and filter to entries with
|
|
203
|
-
valid name/status/message.
|
|
204
|
-
|
|
205
|
-
### E2E proof
|
|
206
|
-
|
|
207
|
-
- `dashboard-full-surfaces.mjs` — **37/37 PASS**
|
|
208
|
-
- `dashboard-tier3-batch-a.mjs` — **7/7 PASS**
|
|
209
|
-
- `dashboard-tier3-batch-c.mjs` — **14/14 PASS**
|
|
210
|
-
- `dashboard-surfaces-matrix.mjs` — **13/13 PASS**
|
|
211
|
-
- `dashboard-crud-roundtrip.mjs` — **17/17 PASS**
|
|
212
|
-
|
|
213
|
-
## v10.0.4 — 2026-07-15
|
|
214
|
-
|
|
215
|
-
### Highlights
|
|
216
|
-
|
|
217
|
-
Three atomic commits close the three remaining umbrella-brief gaps
|
|
218
|
-
the v10.0.3 stop-hook flagged: live CC roster from disk + correct
|
|
219
|
-
enrichSession path, full `/goal` slash command E2E coverage, and
|
|
220
|
-
full configuration coverage (Settings Reset + plugin-options UI,
|
|
221
|
-
plus E2E proof for providers/projects/mods + the new testids).
|
|
222
|
-
|
|
223
|
-
### Fixed
|
|
224
|
-
|
|
225
|
-
- **`enrichSession` path** (`agents-cc.mjs:73`). The function read
|
|
226
|
-
`~/.claude/sessions/<sessionId>/messages.jsonl`, but real CC logs
|
|
227
|
-
live at `~/.claude/projects/<encoded-cwd>/<sessionId>.jsonl`. The
|
|
228
|
-
path always 404'd, so `lastMessageAt`, `messageCount`, and
|
|
229
|
-
`lastMessageSnippet` never populated. v10.0.4 routes through the
|
|
230
|
-
existing `resolveSessionLog()` which already encodes `cwd`
|
|
231
|
-
correctly.
|
|
232
|
-
- **BIZAR_CC_HOME redirect** (`agents-cc.mjs`). All CC session
|
|
233
|
-
paths now resolve via `ccHome()` which honours `BIZAR_CC_HOME` so
|
|
234
|
-
the test suite can sandbox `$HOME/.claude` into a tmp directory.
|
|
235
|
-
|
|
236
|
-
### Added
|
|
237
|
-
|
|
238
|
-
- **`listAgentsFromDisk()` fallback** (`agents-cc.mjs`). Enumerates
|
|
239
|
-
`$HOME/.claude/sessions/*.json` to mint a CC roster when the
|
|
240
|
-
`claude agents --json` CLI is absent (ENOENT, exit ≠ 0, or timeout).
|
|
241
|
-
When the CLI is present the two rosters are merged by sessionId
|
|
242
|
-
with disk-only fields (`lastMessageAt`/`messageCount`/`lastMessageSnippet`)
|
|
243
|
-
filling in any gaps the CLI left behind.
|
|
244
|
-
- **`extractLastSnippet()` helper** (`agents-cc.mjs`). Pulled the
|
|
245
|
-
assistant-text-block extraction out of `enrichSession` so the live
|
|
246
|
-
CLI roster and the disk fallback share the exact same snippet
|
|
247
|
-
shape.
|
|
248
|
-
- **SettingsView — Configuration section** (`SettingsView.tsx`).
|
|
249
|
-
Adds a "Reset to defaults" button (`POST /api/settings/reset`)
|
|
250
|
-
with confirm gate + busy state, and a "Plugin options" JSON
|
|
251
|
-
textarea editor that PUTs to `/api/settings/plugin-options`.
|
|
252
|
-
Both expose `data-testid` for E2E.
|
|
253
|
-
- **`tests/e2e/dashboard-cc-disk-fallback.mjs`** (Move 1). 5 checks
|
|
254
|
-
proving the disk fallback path end-to-end against a tmp HOME.
|
|
255
|
-
- **`tests/e2e/dashboard-cc-goal-slash.mjs`** (Move 2). 6 checks
|
|
256
|
-
proving the full `/goal` slash command path: port resolution from
|
|
257
|
-
`dash-auth.json`, POST/PATCH/KR cycle round-trip, UI render, and
|
|
258
|
-
the file-watcher fallback when CC writes PROGRESS.md directly.
|
|
259
|
-
- **`tests/e2e/dashboard-config-coverage.mjs`** (Move 3). 7 checks
|
|
260
|
-
covering `POST /api/settings/reset`, `PUT /api/settings/plugin-options`,
|
|
261
|
-
`GET /api/providers/auto-detect`, `POST /api/projects/scan`,
|
|
262
|
-
`GET /api/mods`, and the two new SettingsView testids.
|
|
263
|
-
|
|
264
|
-
### npm scripts
|
|
265
|
-
|
|
266
|
-
- `test:e2e:cc-disk` — Move 1
|
|
267
|
-
- `test:e2e:goal-slash` — Move 2
|
|
268
|
-
- `test:e2e:cfg` — Move 3
|
|
269
|
-
|
|
270
|
-
## v10.0.3 — 2026-07-15
|
|
271
|
-
|
|
272
|
-
### Highlights
|
|
273
|
-
|
|
274
|
-
Six atomic commits close every umbrella-brief criterion the v10.0.2
|
|
275
|
-
stop-hook flagged as unevidenced: per-agent status grid, CC session
|
|
276
|
-
merge + CC `/goal` slash command, full CRUD surface, data-driven
|
|
277
|
-
dashboard surfaces, and a single end-to-end surfaces matrix. Two
|
|
278
|
-
real bugs surfaced and fixed in the process — TaskDetail PATCH
|
|
279
|
-
mismatch and TasksView bulk-status 404.
|
|
280
|
-
|
|
281
|
-
### Fixed
|
|
282
|
-
|
|
283
|
-
- **`PATCH /api/tasks/:id`** (`tasks.mjs`). TaskDetail.tsx:81 sent
|
|
284
|
-
`PATCH` but the server only exposed `PUT` — every task edit
|
|
285
|
-
404'd. New PATCH handler mirrors PUT body and broadcasts
|
|
286
|
-
`tasks:change`. Unit-tested in `tasks-patch-routes.test.mjs`.
|
|
287
|
-
- **`PATCH /api/tasks/bulk-status`** (`tasks.mjs`). TasksView.tsx:142
|
|
288
|
-
sent `PATCH /api/tasks/bulk-status` but the server only had
|
|
289
|
-
`POST /api/tasks/bulk` — the bulk-action bar never moved tasks.
|
|
290
|
-
New PATCH handler accepts `{ids, status}`, returns per-row
|
|
291
|
-
failures, validates status against the allow-list. Registered
|
|
292
|
-
before `/tasks/:id` so the literal `bulk-status` segment isn't
|
|
293
|
-
captured by Express's :id param.
|
|
294
|
-
|
|
295
|
-
### Added
|
|
296
|
-
|
|
297
|
-
- **`tests/e2e/dashboard-coverage-proof.mjs`** (Move 2). 8 Bizar
|
|
298
|
-
agents with diverse statuses (working/idle/paused/error/stuck),
|
|
299
|
-
6 goals across 4 status tones, 7 days of usage JSONL. Asserts
|
|
300
|
-
AgentsView renders ≥8 `.v8-agent-card` nodes spanning ≥4
|
|
301
|
-
distinct status classes, GoalsView renders ≥6 `[data-testid^=goal-card-]`
|
|
302
|
-
nodes, OverviewView renders `[data-testid=overview-tokens-sparkline]`.
|
|
303
|
-
- **`tests/e2e/dashboard-cc-bridge.mjs`** (Move 3). 7 checks: Bizar
|
|
304
|
-
source discriminator, CC route mounted, Claude Code chip
|
|
305
|
-
clickable in UI, `.claude/commands/goal.md` references
|
|
306
|
-
/api/goals + POST + "Do not edit PROGRESS.md directly", dash
|
|
307
|
-
auth resolves port, POST /api/goals round-trip, new goal
|
|
308
|
-
appears as `goal-card-X` in GoalsView.
|
|
309
|
-
- **`tests/e2e/dashboard-crud-roundtrip.mjs`** (Move 4). 16
|
|
310
|
-
mutations across all 4 primary stores (agents/tasks/goals
|
|
311
|
-
/schedules), each proving on-disk persistence AND round-trip
|
|
312
|
-
through the GET endpoint. 17 checks total.
|
|
313
|
-
- **`tests/e2e/dashboard-data-driven.mjs`** (Move 5). 6 checks:
|
|
314
|
-
/api/usage returns ≥7 daily buckets (7d seed), AgentsView
|
|
315
|
-
renders ≥5 metric tile rows, GoalsView main innerText
|
|
316
|
-
contains ≥4 of 5 status tones, OverviewView sparkline renders.
|
|
317
|
-
- **`tests/e2e/dashboard-surfaces-matrix.mjs`** (Move 6). 12-row
|
|
318
|
-
surfaces matrix walks every primary sidebar item (overview,
|
|
319
|
-
agents, goals, tasks, settings, memory, activity, schedules,
|
|
320
|
-
background, skills, mcps, hooks) past the auth gate. Drops
|
|
321
|
-
`chat` — the router case exists but App.tsx's sidebar
|
|
322
|
-
sections (workspace/operations/libraries/system) don't
|
|
323
|
-
surface it; honest matrix only includes reachability.
|
|
324
|
-
- **OverviewView range fix.** `/api/usage?range=24h` only ever
|
|
325
|
-
returns 1 daily bucket so the Sparkline never renders in
|
|
326
|
-
practice; switched to `range=7d` so the trend tile has
|
|
327
|
-
≥2 points even on freshly-seeded servers. Unit test updated.
|
|
328
|
-
|
|
329
|
-
### Wiring
|
|
330
|
-
|
|
331
|
-
5 new npm scripts: `test:e2e:coverage`, `test:e2e:cc`,
|
|
332
|
-
`test:e2e:crud`, `test:e2e:data`, `test:e2e:matrix`. Each runs
|
|
333
|
-
in a sandboxed `$HOME` so they don't pollute the user's real
|
|
334
|
-
store.
|
|
335
|
-
|
|
336
|
-
## v10.0.0 — 2026-07-13
|
|
337
|
-
|
|
338
|
-
### Highlights
|
|
339
|
-
|
|
340
|
-
The dashboard graduates from "dashboard over your data" to **orchestration center**.
|
|
341
|
-
v10 closes the three audit gaps that stop-hook reviews flagged across
|
|
342
|
-
v9.x: dead-sparkline code, hierarchy endpoints with no consumer, and a goals
|
|
343
|
-
parser that broke the cross-boundary CC/`/goal` round-trip. v10 also adds a
|
|
344
|
-
real restart lifecycle for stuck agents and per-day usage trendlines, plus a
|
|
345
|
-
cross-boundary E2E suite that boots a real server, writes fixture project
|
|
346
|
-
files, and asserts what the API returns and what it persists to disk.
|
|
347
|
-
|
|
348
|
-
### Added
|
|
349
|
-
|
|
350
|
-
- **Agent hierarchy view** (`AgentHierarchy`). New Roster|Hierarchy chip
|
|
351
|
-
toggle on AgentsView. Consumes `/api/agents/hierarchy`, renders a
|
|
352
|
-
collapsible parent/child tree, WS-subscribes to `agents:change`, falls
|
|
353
|
-
back to `EmptyState` when no parent links exist. Sprint S45.
|
|
354
|
-
- **Stuck agents banner becomes actionable.** Each stuck row now exposes
|
|
355
|
-
Pause/Resume + Restart buttons. Banner header gains a "Pause all" bulk
|
|
356
|
-
action. Sprint S49 + v10-S1 (Pause/Resume/bulk, status widened to
|
|
357
|
-
include `paused`).
|
|
358
|
-
- **Agent detail → tasks drilldown.** `AgentDetail` now fetches
|
|
359
|
-
`/api/tasks` once opened and renders the tasks assigned to this agent
|
|
360
|
-
(matched by `workedBy` OR `metadata.agent`) as Card rows inside the
|
|
361
|
-
panel. Empty-state Card when none. Sprint S49.
|
|
362
|
-
- **GoalsView cross-boundary CC-shape round-trip.** Goals route now
|
|
363
|
-
resolves `.bizar/PROGRESS.md` against `projectsStore.active().path`
|
|
364
|
-
(was `.cwd`), so the dashboard reads the *active* project's file
|
|
365
|
-
instead of silently falling back to `$HOME/.bizar/PROGRESS.md`.
|
|
366
|
-
`serializeProgress` strips carried-over `Goal is **status**` lines
|
|
367
|
-
from goal descriptions before re-emitting, so PATCH /status mutations
|
|
368
|
-
actually persist (previously the second status line won on re-parse).
|
|
369
|
-
v10-S3.
|
|
370
|
-
- **OverviewView token-usage sparkline trend.** Tokens StatTile shows a
|
|
371
|
-
SVG sparkline of the last 24h daily series returned by `/api/usage`.
|
|
372
|
-
Fits inside the existing `sparkline` slot on `StatTile`. Falls back
|
|
373
|
-
gracefully when fewer than 2 daily points are available. v10-S2.
|
|
374
|
-
- **Cross-boundary E2E suite:**
|
|
375
|
-
- `tests/e2e/goals-cc-roundtrip.mjs` (8 steps) — boots server against
|
|
376
|
-
a tmp project, writes a CC-shape PROGRESS.md fixture, GETs /api/goals
|
|
377
|
-
+ PATCHes status + re-reads + asserts file-watcher broadcast.
|
|
378
|
-
- `tests/e2e/agent-restart-roundtrip.mjs` (6 steps) — fixture agent
|
|
379
|
-
.md + status file marked error, GETs /restart pre-state, POSTs
|
|
380
|
-
/restart, asserts WS `agent:restarted` broadcast, asserts the
|
|
381
|
-
on-disk `~/.config/bizar/agent-status.json` actually moved to idle,
|
|
382
|
-
and GETs the post-state. Restores user's real $HOME files in
|
|
383
|
-
`finally`.
|
|
384
|
-
|
|
385
|
-
### Fixed
|
|
386
|
-
|
|
387
|
-
- **v10-S3** `serializeProgress` dropped the original `Goal is **<old>**`
|
|
388
|
-
line onto the page right under the freshly-emitted status line. Parser
|
|
389
|
-
saw both lines and the second match won (its overwrite guard
|
|
390
|
-
`'if status === on-track'` never fired because the default WAS
|
|
391
|
-
on-track and the new status was also on-track). Net: dashboard
|
|
392
|
-
`PATCH /status` returned 200 but the visible state didn't change.
|
|
393
|
-
Stripped at serialize time.
|
|
394
|
-
- **v10-S4** `readAgent` read the in-memory `_status` Map without
|
|
395
|
-
calling `loadStatus()` first, so any agent never touched post-boot
|
|
396
|
-
silently fell back to the idle default even when its on-disk status
|
|
397
|
-
was error/stuck. E2E caught it. Fixed: `loadStatus()` at the top of
|
|
398
|
-
`readAgent` (idempotent).
|
|
399
|
-
- **v10-S3** `progressPath()` read `active.cwd` (undefined) while
|
|
400
|
-
`projectsStore` actually stores under `.path`. Dashboard always
|
|
401
|
-
fell back to `$HOME/.bizar/PROGRESS.md`. Fixed: `active.path`.
|
|
402
|
-
- **v9.4.0 / S45** Dead-sparkline code on `AgentCard`. `mapBizar`/`mapCC`
|
|
403
|
-
always passed a single-element `tpmHistory`, the `length > 1` guard
|
|
404
|
-
blocked the chart from ever rendering. Replaced with real
|
|
405
|
-
`tasksSucceeded / tasksTotal` + `successRate` + `lastSeenMs` rows.
|
|
406
|
-
- **v9.5.0 / S47** `UpdateView` had pre-existing `TS2783` errors on
|
|
407
|
-
`WebSocket` message narrowing (discriminator duplication in spread
|
|
408
|
-
overload). Reordered to spread-then-narrow so the union collapses
|
|
409
|
-
cleanly.
|
|
410
|
-
- **v9.5.0 / S47** `BizarAgent.status` union widened to include
|
|
411
|
-
`'paused'` so the stuck-banner Pause control's `s.status === 'paused'`
|
|
412
|
-
comparison typechecks. Server route valid set widened to match
|
|
413
|
-
(`['idle','working','error','stuck','paused']`).
|
|
414
|
-
|
|
415
|
-
### Tests
|
|
416
|
-
|
|
417
|
-
- vitest: 363 → 388 cases (+25); 49 → 51 test files (+2).
|
|
418
|
-
- 2 new cross-boundary E2E tests (14 steps total) — both green.
|
|
419
|
-
- `bunx tsc --noEmit` at repo root: 0 errors.
|
|
420
|
-
- `npx tsc -p tsconfig.json` inside `bizar-dash/`: 0 errors in
|
|
421
|
-
`src/`. Pre-existing `toBeInTheDocument` jest-dom typing gaps in
|
|
422
|
-
`__tests__` files are unchanged baseline.
|
|
423
|
-
|
|
424
|
-
### Files
|
|
425
|
-
|
|
426
|
-
- `bizar-dash/src/server/routes/goals.mjs` — `progressPath()` fix +
|
|
427
|
-
comments pointing at the cross-boundary audit trail.
|
|
428
|
-
- `bizar-dash/src/server/progress-parser.mjs` — `serializeProgress`
|
|
429
|
-
strips prior `Goal is **...**` lines.
|
|
430
|
-
- `bizar-dash/src/server/progress-parser.test.mjs` — v10-S3 regression:
|
|
431
|
-
parse → mutate → serialise → re-parse → status preserved.
|
|
432
|
-
- `bizar-dash/src/server/agents-store.mjs` — `readAgent` now
|
|
433
|
-
`loadStatus()` first.
|
|
434
|
-
- `bizar-dash/src/web/v8/views/Agents/AgentsView.tsx` —
|
|
435
|
-
Roster|Hierarchy toggle + stuck banner Pause/Resume/bulk.
|
|
436
|
-
- `bizar-dash/src/web/v8/views/Agents/AgentHierarchy.tsx` (NEW) —
|
|
437
|
-
collapsible tree.
|
|
438
|
-
- `bizar-dash/src/web/v8/ui/agents/AgentCard.tsx` — dead sparkline
|
|
439
|
-
replaced with real task-count/success-rate/last-seen rows.
|
|
440
|
-
- `bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx` — tasks drilldown.
|
|
441
|
-
- `bizar-dash/src/web/v8/views/Overview/OverviewView.tsx` — token
|
|
442
|
-
sparkline trendline on Tokens StatTile.
|
|
443
|
-
- `bizar-dash/src/web/v8/views/Update/UpdateView.tsx` — TS2783 fix.
|
|
444
|
-
- `bizar-dash/src/web/v8/data/types.ts` — `BizarAgent.status`
|
|
445
|
-
includes `'paused'`.
|
|
446
|
-
- `bizar-dash/src/web/v8/__tests__/{agents-stuck-banner,agent-detail-tasks,overview-trends,goals-cc-roundtrip,agent-hierarchy,agent-card-metrics}.test.tsx` (new + extended).
|
|
447
|
-
- `tests/e2e/{goals-cc-roundtrip,agent-restart-roundtrip}.mjs` (NEW).
|
|
448
|
-
|
|
449
|
-
### Sprints covered
|
|
450
|
-
|
|
451
|
-
- v9.4.0 — S45 (hierarchy + stuck banner + dead-sparkline), S46 (docs).
|
|
452
|
-
- v9.5.0 — S47 (UpdateView typecheck), S48 (stuck Restart),
|
|
453
|
-
S49 (agent↔task drilldown), S50 (paperwork).
|
|
454
|
-
- v10.0.0 — S1 (Pause/Resume/bulk), S2 (Overview Sparkline),
|
|
455
|
-
S3 (GoalsView CC round-trip + E2E + 2-bug-fix), S4 (cross-boundary
|
|
456
|
-
agent restart E2E + readAgent-bug fix), S5 (this paperwork).
|
|
457
|
-
|
|
458
|
-
## v10.0.2 — 2026-07-15
|
|
459
|
-
|
|
460
|
-
### Highlights
|
|
461
|
-
|
|
462
|
-
Closes the integration-breadth and "control and configure
|
|
463
|
-
everything" gaps from the v10.0.1 stop-hook. The walkthrough now
|
|
464
|
-
exercises **all 12 reachable sidebar views** with seeded Bizar
|
|
465
|
-
agents, tasks across all 4 columns, a CC session stub for the
|
|
466
|
-
Source-filter chip, and 3 PROGRESS.md goals spanning status tones
|
|
467
|
-
(15/15 checks pass). A new mutation round-trip test proves the
|
|
468
|
-
dashboard's 4 primary mutations (Settings PUT, Agent POST, Task
|
|
469
|
-
POST, CC-style goal append) actually land on disk **and** round-trip
|
|
470
|
-
back through the same API the views consume (4/4 checks pass).
|
|
471
|
-
Also fixes a latent bug: `GET /api/tasks` returned a bare array
|
|
472
|
-
while the v8 UI expected `{ tasks, count }` — TasksView rendered 0
|
|
473
|
-
tasks even when `tasks.json` had data.
|
|
474
|
-
|
|
475
|
-
### Fixed
|
|
476
|
-
|
|
477
|
-
- **`GET /api/tasks` returned a bare array.** The v8 UI
|
|
478
|
-
(`App.tsx:87` and several views) consumes `{ tasks, count }`,
|
|
479
|
-
so the bare array shape made TasksView render 0 tasks even when
|
|
480
|
-
the underlying `tasks.json` had data. Now returns the envelope
|
|
481
|
-
shape, matching what the audit-fixes + views tests already
|
|
482
|
-
mocked. Sprint v10-S11.
|
|
483
|
-
|
|
484
|
-
### Added
|
|
485
|
-
|
|
486
|
-
- **`tests/e2e/dashboard-auth-walkthrough.mjs` (v2)** — Full-scope
|
|
487
|
-
sidebar walkthrough. Boots `createServer()` with
|
|
488
|
-
`HOME=/tmp/bh-walk-home-<pid>` so all backend stores redirect
|
|
489
|
-
to a tmp directory (no pollution of the user's real `$HOME`).
|
|
490
|
-
Seeds 3 Bizar agents (odin/thor/frigg), 4 tasks across the
|
|
491
|
-
queued/doing/done/blocked columns, a CC session stub at
|
|
492
|
-
`~/.config/bizar/agent-status.json`, and 3 goals
|
|
493
|
-
(G-001 on-track, G-002 at-risk, G-003 at-risk) in
|
|
494
|
-
`projectRoot/.bizar/PROGRESS.md`. Drives `agent-browser` through
|
|
495
|
-
the v8 sidebar (state-based router) and asserts each view's
|
|
496
|
-
main region renders view-specific content. **15/15 PASS** —
|
|
497
|
-
all 12 reachable sidebar views (overview/tasks/goals/agents/
|
|
498
|
-
activity/memory/schedules/background/skills/mcps/hooks/settings)
|
|
499
|
-
plus the 3 API-level seeds (agents, tasks, goals).
|
|
500
|
-
- **`tests/e2e/dashboard-mutation-roundtrip.mjs`** — Mutation
|
|
501
|
-
round-trip test. Same boot pattern. Each of the 4 mutations
|
|
502
|
-
proves on-disk persistence **and** round-trips back through the
|
|
503
|
-
same API the view consumes:
|
|
504
|
-
- `PUT /api/settings` → `~/.config/bizar/settings.json`
|
|
505
|
-
(verified by reading the file + GET /api/settings envelope)
|
|
506
|
-
- `POST /api/agents` → `~/.config/cline/agents/<name>.md`
|
|
507
|
-
(verified by reading the file + GET /api/agents listing)
|
|
508
|
-
- `POST /api/tasks` → `~/.config/cline/projects/<id>/tasks.json`
|
|
509
|
-
(verified by reading the file + GET /api/tasks envelope)
|
|
510
|
-
- `POST /api/goals` → `projectRoot/.bizar/PROGRESS.md`
|
|
511
|
-
(verified by reading the file + GET /api/goals listing)
|
|
512
|
-
Each result row writes its on-disk evidence (path + last 280
|
|
513
|
-
bytes) to `results.json`. **4/4 PASS**.
|
|
514
|
-
|
|
515
|
-
### Changed
|
|
516
|
-
|
|
517
|
-
- **`bizar-dash/BROWSER_VERIFICATION.md`** — Updated to v10.0.2.
|
|
518
|
-
Added full-scope walkthrough section (15/15) + mutation
|
|
519
|
-
round-trip section (4/4). Recorded PIDs for the v10.0.2 runs.
|
|
520
|
-
Documented that the v8 sidebar has 12 reachable items (ChatView
|
|
521
|
-
exists but is excluded from the sidebar — only reachable via
|
|
522
|
-
command palette).
|
|
523
|
-
|
|
524
|
-
## v10.0.1 — 2026-07-14
|
|
525
|
-
|
|
526
|
-
### Highlights
|
|
527
|
-
|
|
528
|
-
Closes the three remaining v10.0.0 stop-hook gaps with real
|
|
529
|
-
verifications, not paperwork. The cold-boot event-loop starvation
|
|
530
|
-
that froze the dashboard for 3-5s is now fixed (async `execFile`
|
|
531
|
-
in `memory-lightrag.mjs` + `BIZAR_HEADROOM_AUTOSTART=0` env gate in
|
|
532
|
-
`server.mjs`), and the unauthenticated browser smoke is upgraded to
|
|
533
|
-
an authenticated 8-view per-view walkthrough that proves
|
|
534
|
-
AgentsView / GoalsView / TasksView / SettingsView / Memory /
|
|
535
|
-
Activity render real data past the auth gate.
|
|
536
|
-
|
|
537
|
-
### Fixed
|
|
538
|
-
|
|
539
|
-
- **Cold-boot event-loop starvation** (`memory-lightrag.mjs:344`,
|
|
540
|
-
`server.mjs:439`). LightRAG's `findLightragBinary()` ran
|
|
541
|
-
`execFileSync('command', …)` synchronously with a 3s timeout on
|
|
542
|
-
every cold start. Converted to async `execFile` wrapped in a
|
|
543
|
-
Promise; the 3 call sites (`isInstalled`, two `startServer`
|
|
544
|
-
checks) now `await` it. The headroom startup hook (`npm install`
|
|
545
|
-
as a child process) is now opt-out via
|
|
546
|
-
`BIZAR_HEADROOM_AUTOSTART=0`, mirroring the existing lightrag
|
|
547
|
-
pattern. Default behaviour unchanged. Sprint S9.
|
|
548
|
-
|
|
549
|
-
### Added
|
|
550
|
-
|
|
551
|
-
- **`tests/e2e/cold-boot-perf.mjs`** — Regression test for the cold-
|
|
552
|
-
boot freeze. Boots `createServer()` with both opt-outs set,
|
|
553
|
-
asserts `listen → first-fetch < 2s`. Closes the v10-S7
|
|
554
|
-
"documented, not fixed" caveat. **2/2 PASS** (`bootMs=42,
|
|
555
|
-
firstFetchMs=21`).
|
|
556
|
-
- **`tests/e2e/dashboard-auth-walkthrough.mjs`** — Authenticated
|
|
557
|
-
per-view walkthrough. Boots `createServer()` against a tmp
|
|
558
|
-
project, drives `agent-browser` through real sidebar clicks
|
|
559
|
-
(the v8 router is state-based, not hash-based), screenshots
|
|
560
|
-
each view, asserts the active sidebar item matches and the main
|
|
561
|
-
region renders view-specific content. **8/8 PASS** across
|
|
562
|
-
Overview (303 bytes), Agents (1000), Goals (805), Tasks (129),
|
|
563
|
-
Settings (6556), Memory (247), Activity (321) — all past the
|
|
564
|
-
auth gate. Closes the v10-S7 per-view-verification gap.
|
|
565
|
-
|
|
566
|
-
### Changed
|
|
567
|
-
|
|
568
|
-
- **`bizar-dash/BROWSER_VERIFICATION.md`** — Updated to v10.0.1.
|
|
569
|
-
Removed the "documented, not fixed" caveat for the cold-boot
|
|
570
|
-
freeze (it's now fixed). Added the cold-boot regression and
|
|
571
|
-
per-view walkthrough sections with PID + PASS count evidence.
|
|
572
|
-
Documented the loopback-auto-trust auth model that explains why
|
|
573
|
-
the browser walkthrough doesn't need to pass a bearer token.
|
|
574
|
-
|
|
575
|
-
## v4.5.0 — 2026-07-05
|
|
576
|
-
|
|
577
|
-
### Highlights
|
|
578
|
-
|
|
579
|
-
- **Settings page is now the single home for all configuration.** Config tab merged into Settings; restructured with section nav (General, Env Vars, Providers, Memory, System LLM, Updates, Skills, Dashboard). Add a settings search that finds individual settings by name/value and scrolls to them.
|
|
580
|
-
- **Bizar env-var manager.** First-class UI for managing `BIZAR_*` env vars at `~/.config/bizar/env.json` (mode 0600). When configuring any provider or LLM, the user can pick an existing env var OR create a new one — never paste plaintext keys.
|
|
581
|
-
- **Provider subsystem overhaul.** New `PROVIDER_CATALOG` with 13 well-known providers, fuzzy search, single-key auto-add wizard (`POST /api/providers/auto` probes `/v1/models` and fills in baseURL/models/pattern). Backup keys per provider with automatic rotation on auth/quota/rate-limit/429/5xx errors. Key cooldown tracking, status management (active|standby|disabled|cooldown).
|
|
582
|
-
- **LightRAG defaults to free OpenCode Zen models** (`opencode/gpt-5-nano` for LLM, `opencode/text-embedding-3-small` for embeddings). Configurable via `BIZAR_LIGHTRAG_LLM` / `BIZAR_LIGHTRAG_EMBEDDING` env vars.
|
|
583
|
-
- **Memory settings in Settings → Memory.** LightRAG URL, Obsidian vault path, git repo config, sync interval. New `/api/memory/config/global` endpoint persists to `~/.config/bizar/memory-config.json`. `/api/memory/test-git` validates the configured repo.
|
|
584
|
-
- **Usage monitoring and analytics.** New JSONL usage store at `~/.local/share/bizar/usage.jsonl`. Tracks prompt/completion/cached/reasoning tokens, requests, errors, latency per call. New `GET /api/usage?range=24h|7d|30d|custom` returns totals + per-day + per-model + per-key + error breakdowns. MiniMax Usage view rewritten with hand-rolled SVG chart, sortable per-model table, time-range chips, recent-activity feed.
|
|
585
|
-
- **Agents know their limits.** New `getUsageLimitsForAgent(providerId)` returns last-5min + last-24h request/token counts, percent used, time-until-reset. Wired into opencode plugin's prompt context so agents stay aware of quota while working.
|
|
586
|
-
- **Chat overhaul + opencode session fixes.** Fixed "can't open an opencode session" (SSE reconnect + per-session event gating) and "can't create a new session" (Chat.tsx used bare `fetch('/chat/sessions')` which 404'd; now uses `POST /api/opencode-sessions/new`). New `useChat.ts` with SSE reconnect-with-backoff, optimistic-send dedupe, clean unmount lifecycle. `POST/PATCH/DELETE /api/opencode-sessions[/...]` for create/rename/delete. MobileChat.tsx overhaul at mobile size.
|
|
587
|
-
- **Tasks.tsx simplified.** Agent picker removed from task creation; user just types title + description, Odin decides routing and priority. Backlog / Todo / In progress / Done / Failed board with move/retry/edit/delete actions. Submit-to-Odin re-delegates.
|
|
588
|
-
- **Skills tab + toolset refresh.** Skills tab shows Bizar skills (the old code only queried the `skills` CLI which ignored local SKILL.md files). Search output fixed (no more terminal ASCII garbage in titles — old code fell back to text-mode parsing). 11 shipped skills under `bizar-dash/skills/`: bizar, agent-baseline, self-improvement, obsidian, minimax, providers, chat, usage, skills-cli, lightrag, sdk.
|
|
589
|
-
- **Update flow overhaul.** New `/api/updates/{status,check,apply}` endpoints with WS `update:progress` events. `bizar update` gains `--check`, `--channel=stable|beta`, `--no-restart`. Settings → Updates section wired end-to-end.
|
|
590
|
-
- **UI consistency pass.** Standardized spacing tokens (`--spacing-xs/-sm/-md/-lg/-xl`) added to main.css with compact-mode overrides.
|
|
591
|
-
- **CLI.** New `bizar usage [range]` subcommand proxies `/api/usage`.
|
|
592
|
-
|
|
593
|
-
### Files
|
|
594
|
-
|
|
595
|
-
- `bizar-dash/src/web/views/Settings.tsx` — full rewrite
|
|
596
|
-
- `bizar-dash/src/web/views/Config.tsx` — collapsed (Settings is canonical)
|
|
597
|
-
- `bizar-dash/src/web/views/MiniMaxUsage.tsx` — full rewrite (interactive SVG chart, sortable table)
|
|
598
|
-
- `bizar-dash/src/web/views/Chat.tsx` + `MobileChat.tsx` + `hooks/useChat.ts` — overhaul
|
|
599
|
-
- `bizar-dash/src/web/views/Tasks.tsx` — agent picker removed, kanban board
|
|
600
|
-
- `bizar-dash/src/web/views/Skills.tsx` — full rewrite (source tabs, fuzzy search)
|
|
601
|
-
- `bizar-dash/src/server/providers-store.mjs` — backup keys, catalog, rotation
|
|
602
|
-
- `bizar-dash/src/server/routes/{providers,env-vars,usage,update,memory,lightrag,opencode-sessions,opencode-session-detail,config,skills}.mjs` — new + extended endpoints
|
|
603
|
-
- `bizar-dash/src/server/minimax.mjs` — `chatCompletion` records usage
|
|
604
|
-
- `bizar-dash/src/server/minimax-usage-store.mjs` (NEW) — JSONL store
|
|
605
|
-
- `bizar-dash/src/server/skills-store.mjs` — scans local SKILL.md directly
|
|
606
|
-
- `bizar-dash/src/server/serve-info.mjs` — session rename/delete helpers
|
|
607
|
-
- `bizar-dash/src/web/components/{EnvVarManager,SettingsSearch,UsageChart,UsageTable}.tsx` (NEW)
|
|
608
|
-
- `bizar-dash/src/web/styles/{settings,skills,tasks,chat,minimax-usage}.css` — scoped styles
|
|
609
|
-
- `bizar-dash/skills/{bizar,agent-baseline,self-improvement,obsidian,minimax,providers,chat,usage,skills-cli,lightrag,sdk}/SKILL.md` — 11 shipped skills
|
|
610
|
-
- `cli/bin.mjs`, `cli/provision.mjs` — `bizar update` flags + `bizar usage`
|
|
611
|
-
- `config/agents/_shared/SKILLS.md` — skills reference doc
|
|
612
|
-
- `~/.opencode/skills/bizar/` — copy of canonical bizar skill
|
|
613
|
-
|
|
614
|
-
### Tests
|
|
615
|
-
|
|
616
|
-
All 200+ tests pass; `npx tsc --noEmit` reports 0 errors in scope.
|
|
617
|
-
|
|
618
|
-
## v3.19.0 — Obsidian vault + browser-harness agent + Plans→Artifacts rename
|
|
619
|
-
|
|
620
|
-
## v3.5.4 — 2026-06-19
|
|
621
|
-
|
|
622
|
-
### Changed
|
|
623
|
-
- **Activity page fully overhauled — now a live timeline.** The v3.5.2 graph-of-all-agents view has been replaced with a Gantt-style time-axis timeline:
|
|
624
|
-
- X-axis is time (1m / 5m / 30m / 1h zoom levels); Y-axis is lanes (one per BG instance + tasks assigned greedily)
|
|
625
|
-
- Tasks rendered as bars: pulsing border for `doing`, translucent dashed for `queued`, faded for `done`
|
|
626
|
-
- Vertical red "now" line updates every second and re-anchors when it nears the right edge
|
|
627
|
-
- Live event stream (left column) and detail panel (right column when a bar is clicked) are now proper sibling grid columns — no more absolute-positioned overlays obscuring the canvas
|
|
628
|
-
- Mobile: stream collapses to a toggleable drawer; detail panel slides up from the bottom
|
|
629
|
-
- Polling cadence: `/background` + `/activity` every 3s; now-line redraw every 1s
|
|
630
|
-
|
|
631
|
-
### Fixed
|
|
632
|
-
- **Plans canvas appeared blank when opening a plan.** Root cause: `.plans-canvas-wrap` had no `flex: 1` or `height: 100%`, so its absolutely-positioned `.canvas-root` child had nothing to anchor to and collapsed to toolbar height. Fixed by adding `flex: 1; height: 100%` to `.plans-canvas-wrap`, making `.plan-canvas-wrapper` a proper flex column, and changing `.canvas-root` from `position: absolute; inset: 0` to `position: relative; flex: 1; min-height: 0` so it claims remaining flex space.
|
|
633
|
-
|
|
634
|
-
### Cleanup
|
|
635
|
-
- Removed 121 lines of dead duplicate Activity CSS at `main.css:3499-3619` (the v3.3.2 absolute-positioned block that conflicted with the v3.3.1 flex version at line 4751+). The v3.5.4 rewrite uses entirely new class names (`.tl-*` prefix) so the old `.activity-canvas-*` and `.activity-timeline-*` rules are no longer referenced anywhere.
|
|
636
|
-
|
|
637
|
-
### Files
|
|
638
|
-
- `bizar-dash/src/web/views/Activity.tsx` — full rewrite (761 → 1155 lines)
|
|
639
|
-
- `bizar-dash/src/web/styles/main.css` — appended `/* v3.5.4 Activity timeline view */` block (lines 5819-6356); removed dead v3.3.2 Activity block (lines 3499-3619)
|
|
640
|
-
|
|
641
|
-
## v3.4.0 — 2026-06-19
|
|
642
|
-
|
|
643
|
-
### Fixed
|
|
644
|
-
- **Pervasive theme bug — all colors + shadows now respond to theme change**. Audit of every hardcoded `rgba(...)` in `main.css`. Replaced with theme-aware CSS variables: `--accent-glow`, `--accent-soft`, `--success-soft`, `--error-soft`, `--warning-soft`, `--overlay-bg`, `--shadow-color-strong`. Sidebar text, drop shadows, modal backdrops, status pills, badge borders, focus rings all switch correctly between dark/light.
|
|
645
|
-
|
|
646
|
-
### Added
|
|
647
|
-
- **Config page rewrite — sidebar nav + fully editable Providers/MCPs**: two-column layout with left nav (OpenCode / Providers / MCPs / Diagnostics / Export). Add, edit, delete, toggle for both providers and MCPs through proper modal forms.
|
|
648
|
-
- **MCP store — supports new opencode.json format**: handles `command: [...]` array, `type: "remote"` with `url`/`headers`/`oauth`, and the legacy `command: "string"` + `args: [...]` shape.
|
|
649
|
-
- **Tasks horizontal kanban**: 4 columns side-by-side with horizontal scroll fallback on narrow viewports.
|
|
650
|
-
- **Tasks compact toolbar**: single-row layout with grouped Search / Filter / Sort labels + actions on the right.
|
|
651
|
-
- **Activity visual timeline canvas**: new "Timeline" mode (alongside Graph view). X-axis = time, Y-axis = lane per agent. Event kind filter, zoom controls, hover tooltips, click-to-detail.
|
|
652
|
-
- **Overview — big no-frame hero**: 48px gradient title, 160px min-height textarea, glow focus ring, quick-action chips.
|
|
653
|
-
- **History view (new tab)**: cross-project history with time range filter, per-project expandable timelines, JSON export.
|
|
654
|
-
- **New `/api/history` endpoint** with `?since=` + `?limit=` query params.
|
|
655
|
-
|
|
656
|
-
### Changed
|
|
657
|
-
- `about.version` → `3.4.0` in `api.mjs`; `VERSION` → `v3.4.0` in `App.tsx`; diagnostics-store `version` → `3.4.0`.
|
|
658
|
-
|
|
659
|
-
### Verified
|
|
660
|
-
- TypeScript: 0 errors.
|
|
661
|
-
- Vite build: success (537 KB JS, 85 KB CSS).
|
|
662
|
-
- Existing test suite: 140/140 pass.
|
|
663
|
-
|
|
664
|
-
## v3.3.0 — 2026-06-19
|
|
665
|
-
|
|
666
|
-
### Fixed
|
|
667
|
-
- **Mods page broken**: Mods view always loaded stale snapshot data. Now fetches fresh from `/api/mods` on mount so newly installed mods appear immediately without a full page refresh.
|
|
668
|
-
- **Chat redirect after actions**: "Submit to Odin" modal now calls `preventDefault()`/`stopPropagation()` on the submit handler to prevent a stray click/key-repeat from triggering digit-key tab switches after modal close. App keyboard handler also gates digit shortcuts with a 250ms `safeUntil` window after any click.
|
|
669
|
-
|
|
670
|
-
### Added
|
|
671
|
-
- **Notifications system** (`notifications-store.mjs` + `/api/notifications*`): Per-user append-only notification stream at `~/.config/bizar/notifications.jsonl`. Endpoints: `GET /notifications`, `POST /notifications/:id/read`, `POST /notifications/read-all`, `DELETE /notifications/:id`. Task completion and blocking automatically fire notifications. Bell icon component (`Notifications.tsx`) with severity icons, unread badge, mark-read, mark-all, and dismiss.
|
|
672
|
-
- **`POST /api/tasks/:id/progress`**: Agents can push `{ progress, step, agent }` updates to paint live progress bars in the Tasks view via WebSocket `task:progress` events.
|
|
673
|
-
- **`GET /api/activity/session`**: Activity events scoped to the last hour (or `?since=<iso>`), with a list of agent names that participated in the session. Powers the Activity canvas session-filtering (UI pending).
|
|
674
|
-
- **Custom themes API** (`state.mjs` + `/api/themes*`): `GET /api/themes` lists saved themes; `POST /api/themes` saves a named theme; `DELETE /api/themes/:name` removes one. Themes stored at `~/.config/bizar/themes.json`.
|
|
675
|
-
- **Skills collapsible categories** (`Skills.tsx`): Category filter buttons above the skills grid. `GET /api/skills?category=foo` filters server-side. Category list loaded from `skillsStore.CATEGORIES`.
|
|
676
|
-
- **`POST /api/plans/:slug/questions/:qid/respond`**: Records a user's choice on a canvas question element, marks it resolved, drops a notification for the agent, and broadcasts `plan:change`.
|
|
677
|
-
- **Task notifications on completion/block**: `PATCH /api/tasks/:id/status` now fires a `success` notification when status→`done` and a `warning` notification when status→`blocked`.
|
|
678
|
-
- **`CrossViewState` type + `crossState` prop** in App shell: Scratch state channel for cross-view handoffs (e.g. "Open in chat" from Agents tab) without URL state.
|
|
679
|
-
|
|
680
|
-
### Changed
|
|
681
|
-
- `about.version` → `3.3.0` in `api.mjs`; `VERSION` → `v3.3.0` in `App.tsx`; diagnostics-store `version` → `3.3.0`.
|
|
682
|
-
- `DEFAULT_SETTINGS.theme` gains `animations` and `compactMode` fields.
|
|
683
|
-
- `Task` type gains `progress`, `currentStep`, `progressAgent`, `progressHistory` fields surfaced from `metadata`.
|
|
684
|
-
|
|
685
|
-
### Verified
|
|
686
|
-
- TypeScript: 0 errors.
|
|
687
|
-
- Build: passes.
|
|
688
|
-
- API smoke test: `/api/health`, `/api/notifications`, `/api/projects`, `/api/agents` all return 2xx.
|
|
689
|
-
- `cli/plan.test.mjs`: 140 tests, all pass.
|
|
690
|
-
|
|
691
|
-
## v3.2.2 — 2026-06-19
|
|
692
|
-
|
|
693
|
-
### Fixed
|
|
694
|
-
- **npm install no longer requires allow-scripts approval** for the parent `@polderlabs/bizar` package. Setup now self-bootstraps on first bin invocation.
|
|
695
|
-
|
|
696
|
-
## v3.2.1 — 2026-06-19
|
|
697
|
-
|
|
698
|
-
### Added
|
|
699
|
-
- **Install prompts**: `npm install -g @polderlabs/bizar` now prompts to install `@polderlabs/bizar-plugin` (required for /bizar in opencode) and `@polderlabs/bizar-dash` (optional web/TUI dashboard). Defaults to yes. Set `BIZAR_SKIP_OPTIONAL_INSTALLS=1` to skip. Non-TTY environments skip prompts automatically.
|
|
700
|
-
|
|
701
|
-
## v3.2.0 — 2026-06-19
|
|
702
|
-
|
|
703
|
-
### Fixed
|
|
704
|
-
- **Redirect-to-home on click**: digit-key shortcuts (`1`, `2`, …) firing inside any form control / dialog / contenteditable region. Shell's `App.tsx` keyboard handler now bails out on focusable elements (`<input>`, `<textarea>`, `<select>`, `<button>`, `<option>`, `<label>`, `[contenteditable]`) and on targets inside `<form>`, `[role="dialog"]`, `[contenteditable]`, `[data-no-key]`. Also short-circuits when `Shift` is held.
|
|
705
|
-
- **`/api/agents/hierarchy` returned 404**. Route was declared *after* `/agents/:name`, so Express matched it as an agent name. Reordered so `/agents/stuck` and `/agents/hierarchy` are mounted before the `:name` catch-all.
|
|
706
|
-
|
|
707
|
-
### Added
|
|
708
|
-
- **Task delegation** (`task-delegator.mjs`): `POST /api/tasks/submit` accepts `{ title, description, priority, tags }` from the Tasks view's "Submit to Odin" modal. Splits into ≤5 subtasks using heuristic keywords (`implement / test / docs / design / research / refactor`), assigns each to the best-fit agent via rule-of-thumb matching, and best-effort dispatches via the plugin CLI to the bg infrastructure.
|
|
709
|
-
- **Background agents via tmux** (`background-store.mjs`): `GET /api/background`, `GET /api/background/:id`, `GET /api/background/:id/output?lines=`, `POST /api/background/:id/message`, `DELETE /api/background/:id`. Walks `~/.cache/bizar/bg/`, `~/.config/opencode/bg/`, `~/.bizar/bg/` for instance state files; enriches with live tmux session info.
|
|
710
|
-
- **Agent hierarchy**: `GET /api/agents/hierarchy` returns a tree. 13 agents mapped to levels 0–3. New `level` / `parent` / `role` fields on `Agent` type and on every snapshot.
|
|
711
|
-
- **Activity canvas + detail panel**: new `src/web/views/Activity.tsx` (690 LoC). Pan/zoom SVG, three node kinds (agent / task / bg) with status-tinted borders, three edge kinds (hierarchy / assignment / subtask), grid background, zoom controls, legend, and a 360px right-side detail panel with meta + (for bg) live output + send/kill + (for all) per-node activity log + comment thread + create-follow-up-task form.
|
|
712
|
-
- **Activity log + comments**: `activity-log.mjs` writes a JSONL append-only log at `~/.config/opencode/activity.jsonl` (auto-rotates at 5MB). `GET /api/activity[?nodeId|kind]`, `POST /api/activity`, `POST /api/comments` (node-scoped), `POST /api/nodes/:nodeId/tasks` (creates a task tagged with the node id).
|
|
713
|
-
- **`data-task-parent` attribute** on task cards, for cross-references in the canvas / parent relationships in the future.
|
|
714
|
-
|
|
715
|
-
### Changed
|
|
716
|
-
- `api.mjs` — `about.version` → `3.2.0`; all new routes added; route order fixed.
|
|
717
|
-
- `App.tsx` — imports + mounts `Activity`; broader digit-key guard; `VERSION` → `v3.2.0`.
|
|
718
|
-
- `Topbar.tsx` — adds the Activity tab.
|
|
719
|
-
- `types.ts` — `Agent` gains `level` / `parent` / `role`; `Task` gains `subtasks` (string[]) and `metadata` (Record).
|
|
720
|
-
- `agents-store.mjs` — `HIERARCHY` map + `buildHierarchyTree(agents)` helper.
|
|
721
|
-
- `tasks-store.mjs` — `subtasks` and `metadata` on create; metadata merges on update.
|
|
722
|
-
- `diagnostics-store.mjs` — `version` → `3.2.0`.
|
|
723
|
-
- `main.css` — +340 lines for `.view-activity` / `.activity-canvas` / `.activity-detail` / zoom controls / legend / per-node panel.
|
|
724
|
-
|
|
725
|
-
### Verified
|
|
726
|
-
- Type-check: 0 errors.
|
|
727
|
-
- Build: passes.
|
|
728
|
-
- Smoke tests: `/api/health`, `/api/tasks/submit`, `/api/agents/hierarchy`, `/api/background`, `/api/activity`, `/api/agents`, `/api/projects`, `/api/search`, `/api/diagnostics`, `/api/comments` all return 2xx.
|
|
729
|
-
- The global install at `~/.local/npm/lib/node_modules/@polderlabs/bizar-dash` was synced in place (no publish).
|
|
730
|
-
|
|
731
|
-
## v3.1.1 — 2026-06-19
|
|
732
|
-
|
|
733
|
-
### Fixed
|
|
734
|
-
- **Sidebar (and topbar) disappeared on chat/plans/skills tabs.** The "fullscreen" CSS used `position: fixed; inset: 0; z-index: 5` which covered the entire viewport including the sidebar. Now these views fill the content area (`flex: 1`) while the sidebar and topbar stay visible above.
|
|
735
|
-
|
|
736
|
-
## v3.0.3 — 2026-06-19
|
|
737
|
-
|
|
738
|
-
### Fixed
|
|
739
|
-
- **Sidebar layout broken in `topnav` / `sidebar` / `both` modes.** The CSS at `src/web/styles/main.css:3130-3144` set `.app[data-layout="sidebar"] { display: grid; grid-template-columns: 200px 1fr; }` and tried to hide the topbar `.tabs`, but there was no actual `<aside>` element — the grid created a 200px gap with nothing in it, the topbar tabs were hidden, and the content area was squeezed or overlapped the topbar. Now there's a real `Sidebar` component (`src/web/components/Sidebar.tsx`) that renders when `layout !== 'topnav'`. The shell is now flex-based: `.app` → `.topbar` → `.layout-body` (flex row) → `[<Sidebar />] <main.content>`. The topbar tabs row is conditionally rendered via a new `showTabs` prop (false in sidebar/both modes). Mobile (≤900px) collapses the sidebar to a fixed drawer.
|
|
740
|
-
- **Chat composer squished.** The `<textarea className="chat-input">` lived in a single `.chat-composer-row` with the agent selector, model input, attach button, and Send button all competing for horizontal space. The composer is now a proper floating chatbox at the bottom of `.chat-main`: a `.chat-composer-toolbar` row on top (agent + model + attach + keyboard hint) and a `.chat-composer-input` row below (full-width `<textarea>` + square Send button). The textarea auto-grows up to 240px via `useLayoutEffect`.
|
|
741
|
-
- **Config "Advanced" section clipping.** Tabs didn't wrap, panels were tiny, at narrow widths things overlapped. Now the section uses a proper collapsible header (chevron + title + description), the tabs wrap (`flex-wrap: wrap`), the body has `min-height: 320px`, and the JSON editor collapses to single column under 1100px. The editor panel was extracted into a `ConfigEditorPanel` component.
|
|
742
|
-
- **Comprehensive UI polish.** Consolidated duplicate `.chat-list` / `.chat-composer` / `.chat-input` CSS rules; removed dead `.tabs` rules in favour of `.tabs-row`; added focus rings on chat input/selects/attach button; added smooth 120ms transitions on hover/focus; `.view-chat` and `.view-config` now fill their parent's height so the floating chat layout has space to fill.
|
|
743
|
-
|
|
744
|
-
### Added
|
|
745
|
-
- `src/web/components/Sidebar.tsx` — new vertical nav rail component with proper `role="tablist"` / `role="tab"` semantics, hover/active transitions, ellipsised labels.
|
|
746
|
-
|
|
747
|
-
### Changed
|
|
748
|
-
- `src/web/App.tsx` — restructured with `<div className="layout-body">` wrapping `<Sidebar />` (conditional) + `<main className="content">`. `VERSION` constant bumped to `v3.0.3`.
|
|
749
|
-
- `src/web/components/Topbar.tsx` — two-row layout: `.topbar-row` (56px fixed: brand + project selector + search + ws status) + optional `.tabs-row`. New `showTabs?: boolean` prop (default `true`).
|
|
750
|
-
- `src/web/views/Chat.tsx` — composer restructured (toolbar + input row, full-width textarea, square send button, auto-grow).
|
|
751
|
-
- `src/web/views/Config.tsx` — Advanced section is a proper collapsible card with icon + title + description + chevron. `ConfigEditorPanel` extracted.
|
|
752
|
-
- `src/web/styles/main.css` — major pass:
|
|
753
|
-
- Replaced broken 200px grid with proper flex layout (`.layout-body`).
|
|
754
|
-
- Added `.sidebar` / `.sidebar-nav` / `.sidebar-tab` / `.sidebar-tab-active` styles.
|
|
755
|
-
- Added `.topbar-row` / `.tabs-row` for the slim two-row topbar.
|
|
756
|
-
- Added `.chat-composer-toolbar` / `.chat-composer-input` / `.send-btn` / `.attach-btn` / `.toolbar-spacer` / `.hint` for the floating composer.
|
|
757
|
-
- Consolidated `.chat-list` / `.chat-composer` / `.chat-input` definitions (removed legacy v2.6.0 duplicates).
|
|
758
|
-
- Added `.config-advanced` / `.config-advanced-head` / `.config-advanced-body` / `.config-advanced-tabs` / `.config-advanced-panel` for the collapsible advanced section.
|
|
759
|
-
- Chat layout collapses to single column under 1200px.
|
|
760
|
-
- Sidebar collapses to fixed drawer under 900px (mobile).
|
|
761
|
-
- `src/server/api.mjs` and `src/server/diagnostics-store.mjs` — version bumped from `3.0.0` to `3.0.3`.
|
|
762
|
-
- `src/web/views/Settings.tsx` — fallback `about.version` bumped to `3.0.3`.
|
|
763
|
-
|
|
764
|
-
### Verified
|
|
765
|
-
- `npx tsc --noEmit` — no errors.
|
|
766
|
-
- `npm run build` — builds cleanly: 52.7 kB CSS, 437 kB JS.
|
|
767
|
-
- Dashboard smoke test (`node src/cli.mjs start` + curl) — HTML 200, assets serve 200, new classes (`sidebar-tab`, `tabs-row`, `chat-composer-toolbar`, `send-btn`, `config-advanced-head-title`) present in bundles.
|
|
768
|
-
- Existing test suite (`node --test cli/plan.test.mjs`) — 140/140 pass.
|
|
769
|
-
|
|
770
|
-
## v3.0.0 — 2026-06-19
|
|
771
|
-
|
|
772
|
-
Initial release as a separate package.
|
|
773
|
-
|
|
774
|
-
### Highlights
|
|
775
|
-
- Web + TUI dashboard for the Bizar agent platform.
|
|
776
|
-
- 10 tabs: Overview, Chat, Agents, Plans, Tasks, Mods, Schedules,
|
|
777
|
-
Config, Settings.
|
|
778
|
-
- Floating chat with sessions rail + right info sidebar.
|
|
779
|
-
- Mods system: install, enable / disable, view files.
|
|
780
|
-
- Schedules view with cron / interval / once support.
|
|
781
|
-
- Project selector in the topbar; per-project tasks / plans /
|
|
782
|
-
schedules / sessions.
|
|
783
|
-
- Diagnostics card + collapsible Advanced config editor.
|
|
784
|
-
- Theme colors + UI layout customization.
|
|
785
|
-
- Tailscale serve config in Settings.
|
|
786
|
-
- Fuzzy search (⌘/Ctrl+K) across tasks, plans, agents, projects,
|
|
787
|
-
mods, schedules, commands.
|
|
788
|
-
- Editable agents (CRUD on `~/.config/opencode/agents/*.md`).
|
|
789
|
-
- Tasks: subtasks, dependencies, time tracking, recurring, comments,
|
|
790
|
-
activity log.
|
|
791
|
-
- OpenCode providers + MCPs management.
|
|
792
|
-
- 100% backwards compatible with v2.7.0's opencode.json format.
|
|
793
|
-
|
|
794
|
-
### Install
|
|
795
|
-
```bash
|
|
796
|
-
npm install -g @polderlabs/bizar # core runtime (peer)
|
|
797
|
-
npm install -g @polderlabs/bizar-dash # this package
|
|
798
|
-
```
|
|
799
|
-
|
|
800
|
-
### Run
|
|
801
|
-
```bash
|
|
802
|
-
bizar-dash start # foreground
|
|
803
|
-
bizar-dash start --bg # detached
|
|
804
|
-
bizar-dash tui --no-web # terminal dashboard
|
|
805
|
-
bizar-dash stop # kill it
|
|
806
|
-
bizar-dash status # port + URL
|
|
807
|
-
```
|