@polderlabs/bizar 6.2.4 → 6.3.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.
Files changed (332) hide show
  1. package/.claude/CLAUDE.md +15 -0
  2. package/.claude/agents/_shared/AGENT_BASELINE.md +168 -0
  3. package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
  4. package/.claude/agents/_shared/SKILLS.md +109 -0
  5. package/.claude/agents/agent-browser.md +80 -0
  6. package/.claude/agents/baldr.md +49 -0
  7. package/.claude/agents/forseti.md +51 -0
  8. package/.claude/agents/frigg.md +42 -0
  9. package/.claude/agents/heimdall.md +33 -0
  10. package/.claude/agents/hermod.md +53 -0
  11. package/.claude/agents/mimir.md +49 -0
  12. package/.claude/agents/odin.md +287 -0
  13. package/.claude/agents/quick.md +34 -0
  14. package/.claude/agents/semble-search.md +50 -0
  15. package/.claude/agents/thor.md +53 -0
  16. package/.claude/agents/tyr.md +56 -0
  17. package/.claude/agents/vidarr.md +54 -0
  18. package/.claude/agents/vor.md +53 -0
  19. package/.claude/commands/audit.md +25 -0
  20. package/.claude/commands/bizar.md +22 -0
  21. package/.claude/commands/explain.md +17 -0
  22. package/.claude/commands/init.md +29 -0
  23. package/.claude/commands/learn.md +44 -0
  24. package/.claude/commands/plan.md +35 -0
  25. package/.claude/commands/plow-through.md +50 -0
  26. package/.claude/commands/pr-review.md +49 -0
  27. package/.claude/commands/setup-provider.md +96 -0
  28. package/.claude/commands/tailscale-serve.md +100 -0
  29. package/.claude/commands/team.md +132 -0
  30. package/.claude/commands/test.md +62 -0
  31. package/.claude/commands/validate.md +68 -0
  32. package/.claude/commands/visual-plan.md +24 -0
  33. package/.claude/hooks/README.md +92 -0
  34. package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
  35. package/.claude/hooks/pretooluse-bash.mjs +81 -0
  36. package/.claude/hooks/pretooluse-editwrite.mjs +139 -0
  37. package/.claude/hooks/sessionend-recall.mjs +74 -0
  38. package/.claude/hooks/sessionstart-prime.mjs +80 -0
  39. package/.claude/hooks/userpromptsubmit-tag.mjs +80 -0
  40. package/.claude/settings.json +116 -0
  41. package/.claude/skills/9router/SKILL.md +80 -0
  42. package/.claude/skills/9router-chat/SKILL.md +73 -0
  43. package/.claude/skills/9router-embeddings/SKILL.md +69 -0
  44. package/.claude/skills/9router-image/SKILL.md +86 -0
  45. package/.claude/skills/9router-stt/SKILL.md +79 -0
  46. package/.claude/skills/9router-tts/SKILL.md +80 -0
  47. package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
  48. package/.claude/skills/9router-web-search/SKILL.md +91 -0
  49. package/.claude/skills/bizar/README.md +9 -0
  50. package/.claude/skills/bizar/SKILL.md +450 -0
  51. package/.claude/skills/cpp-coding-standards/README.md +28 -0
  52. package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
  53. package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
  54. package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
  55. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
  56. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
  57. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
  58. package/.claude/skills/cpp-testing/README.md +28 -0
  59. package/.claude/skills/cpp-testing/SKILL.md +304 -0
  60. package/.claude/skills/cpp-testing/references/coverage.md +370 -0
  61. package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
  62. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
  63. package/.claude/skills/cpp-testing/references/mocking.md +364 -0
  64. package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
  65. package/.claude/skills/cubesandbox/SKILL.md +148 -0
  66. package/.claude/skills/embedded-esp-idf/README.md +41 -0
  67. package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
  68. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
  69. package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
  70. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
  71. package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
  72. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
  73. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
  74. package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
  75. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
  76. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
  77. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
  78. package/.claude/skills/glyph/SKILL.md +163 -0
  79. package/.claude/skills/harness-engineering/SKILL.md +143 -0
  80. package/.claude/skills/lightrag/SKILL.md +81 -0
  81. package/.claude/skills/memory-protocol/SKILL.md +105 -0
  82. package/.claude/skills/obsidian/SKILL.md +306 -0
  83. package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
  84. package/.claude/skills/self-improvement/SKILL.md +64 -0
  85. package/README.md +87 -59
  86. package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js → EnvVarsSection-B58aiJiE.js} +1 -1
  87. package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js.map → EnvVarsSection-B58aiJiE.js.map} +1 -1
  88. package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js → MobileChat-BJrqwVDd.js} +1 -1
  89. package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js.map → MobileChat-BJrqwVDd.js.map} +1 -1
  90. package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js → MobileSettings-CEQNJNLJ.js} +1 -1
  91. package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js.map → MobileSettings-CEQNJNLJ.js.map} +1 -1
  92. package/bizar-dash/dist/assets/{main-DYiZqMrn.js → main-IvfQAOfy.js} +1 -1
  93. package/bizar-dash/dist/assets/{main-DYiZqMrn.js.map → main-IvfQAOfy.js.map} +1 -1
  94. package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js → markdown-tOLaD6nm.js} +1 -1
  95. package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js.map → markdown-tOLaD6nm.js.map} +1 -1
  96. package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js → mobile-DYCHcUpq.js} +1 -1
  97. package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js.map → mobile-DYCHcUpq.js.map} +1 -1
  98. package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js → mobile-layout-CBHjpwsb.js} +2 -2
  99. package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js.map → mobile-layout-CBHjpwsb.js.map} +1 -1
  100. package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js → useSlashCommands-Bd7_FA6U.js} +2 -2
  101. package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js.map → useSlashCommands-Bd7_FA6U.js.map} +1 -1
  102. package/bizar-dash/dist/assets/{vendor-CeHGtduv.js → vendor-C843201K.js} +12 -12
  103. package/bizar-dash/dist/assets/vendor-C843201K.js.map +1 -0
  104. package/bizar-dash/dist/index.html +6 -6
  105. package/bizar-dash/dist/mobile.html +2 -2
  106. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  107. package/bizar-dash/src/server/api.mjs +4 -4
  108. package/bizar-dash/src/server/background-store.mjs +15 -16
  109. package/bizar-dash/src/server/bg-poller.mjs +25 -35
  110. package/bizar-dash/src/server/bg-retry.mjs +66 -194
  111. package/bizar-dash/src/server/claude-bg-spawner.mjs +390 -0
  112. package/bizar-dash/src/server/claude-info.mjs +412 -0
  113. package/bizar-dash/src/server/{cline-runner.mjs → claude-runner.mjs} +53 -48
  114. package/bizar-dash/src/server/claude-sdk.mjs +191 -0
  115. package/bizar-dash/src/server/providers-store.mjs +22 -49
  116. package/bizar-dash/src/server/routes/background.mjs +24 -20
  117. package/bizar-dash/src/server/routes/chat.mjs +223 -326
  118. package/bizar-dash/src/server/routes/claude-session-detail.mjs +329 -0
  119. package/bizar-dash/src/server/routes/claude-sessions.mjs +259 -0
  120. package/bizar-dash/src/server/routes/tasks.mjs +20 -28
  121. package/bizar-dash/src/server/task-delegator.mjs +76 -77
  122. package/bizar-dash/src/web/components/chat/useChat.ts +23 -27
  123. package/bizar-dash/src/web/views/Chat.tsx +8 -8
  124. package/cli/bin.mjs +31 -18
  125. package/cli/commands/claude-cmd.mjs +348 -0
  126. package/cli/commands/install.mjs +12 -11
  127. package/cli/commands/sandbox.mjs +220 -0
  128. package/cli/commands/validate.mjs +252 -288
  129. package/cli/dev-link.test.mjs +11 -11
  130. package/cli/doctor.mjs +131 -213
  131. package/cli/install.mjs +33 -37
  132. package/cli/install.test.mjs +9 -9
  133. package/cli/provision-claude.mjs +893 -0
  134. package/cli/provision.mjs +330 -226
  135. package/cli/provision.test.mjs +102 -0
  136. package/cli/utils.mjs +72 -58
  137. package/config/AGENTS.md +28 -28
  138. package/config/agents/_shared/AGENT_BASELINE.md +104 -684
  139. package/config/skills/bizar/SKILL.md +197 -0
  140. package/config/skills/cubesandbox/SKILL.md +148 -0
  141. package/config/skills/harness-engineering/SKILL.md +142 -0
  142. package/install.sh +66 -44
  143. package/package.json +19 -11
  144. package/packages/sdk/ARCHITECTURE.md +40 -36
  145. package/packages/sdk/package-lock.json +32 -0
  146. package/packages/sdk/package.json +15 -5
  147. package/{plugins/bizar → packages/sdk}/src/dangerous-patterns.ts +6 -28
  148. package/packages/sdk/src/fingerprint.ts +0 -0
  149. package/packages/sdk/src/index.ts +38 -73
  150. package/packages/sdk/src/mcp/bin.ts +51 -0
  151. package/packages/sdk/src/mcp/server.ts +498 -0
  152. package/{plugins/bizar/src/memory-vault.ts → packages/sdk/src/memory/index.ts} +18 -21
  153. package/packages/sdk/tests/sdk.test.mjs +148 -0
  154. package/packages/sdk/vitest.config.ts +1 -1
  155. package/scripts/bh-full-e2e.mjs +166 -363
  156. package/scripts/check-deps.mjs +28 -46
  157. package/scripts/mirror-claude-md.sh +78 -0
  158. package/scripts/test-in-container.sh +157 -0
  159. package/templates/clean-state-checklist.md +3 -3
  160. package/templates/sprint-contract.md +2 -2
  161. package/bizar-dash/.bizar/activity.log +0 -3
  162. package/bizar-dash/.omx/logs/omx-2026-07-07.jsonl +0 -1
  163. package/bizar-dash/.omx/state/session.json +0 -10
  164. package/bizar-dash/bizar-design/EXPLANATION.md +0 -307
  165. package/bizar-dash/bizar-design/INSTRUCTIONS.md +0 -149
  166. package/bizar-dash/bizar-design/canvas.html +0 -281
  167. package/bizar-dash/bizar-design/canvas.html.artifact.json +0 -19
  168. package/bizar-dash/bizar-design/components.css +0 -1665
  169. package/bizar-dash/bizar-design/components.html +0 -557
  170. package/bizar-dash/bizar-design/components.html.artifact.json +0 -19
  171. package/bizar-dash/bizar-design/desktop/agents.html +0 -74
  172. package/bizar-dash/bizar-design/desktop/agents.html.artifact.json +0 -19
  173. package/bizar-dash/bizar-design/desktop/memory.html +0 -75
  174. package/bizar-dash/bizar-design/desktop/memory.html.artifact.json +0 -19
  175. package/bizar-dash/bizar-design/desktop/metrics.html +0 -63
  176. package/bizar-dash/bizar-design/desktop/metrics.html.artifact.json +0 -19
  177. package/bizar-dash/bizar-design/desktop/overview.html +0 -95
  178. package/bizar-dash/bizar-design/desktop/overview.html.artifact.json +0 -19
  179. package/bizar-dash/bizar-design/desktop/settings.html +0 -70
  180. package/bizar-dash/bizar-design/desktop/settings.html.artifact.json +0 -19
  181. package/bizar-dash/bizar-design/icons.svg +0 -44
  182. package/bizar-dash/bizar-design/index.html +0 -192
  183. package/bizar-dash/bizar-design/index.html.artifact.json +0 -19
  184. package/bizar-dash/bizar-design/mobile/agents.html +0 -29
  185. package/bizar-dash/bizar-design/mobile/agents.html.artifact.json +0 -19
  186. package/bizar-dash/bizar-design/mobile/memory.html +0 -28
  187. package/bizar-dash/bizar-design/mobile/memory.html.artifact.json +0 -19
  188. package/bizar-dash/bizar-design/mobile/metrics.html +0 -29
  189. package/bizar-dash/bizar-design/mobile/metrics.html.artifact.json +0 -19
  190. package/bizar-dash/bizar-design/mobile/overview.html +0 -33
  191. package/bizar-dash/bizar-design/mobile/overview.html.artifact.json +0 -19
  192. package/bizar-dash/bizar-design/mobile/settings.html +0 -28
  193. package/bizar-dash/bizar-design/mobile/settings.html.artifact.json +0 -19
  194. package/bizar-dash/bizar-design/prototype.js +0 -114
  195. package/bizar-dash/bizar-design/tokens.css +0 -106
  196. package/bizar-dash/dist/assets/vendor-CeHGtduv.js.map +0 -1
  197. package/bizar-dash/node_modules/.package-lock.json +0 -6
  198. package/bizar-dash/package-lock.json +0 -6
  199. package/bizar-dash/src/server/cline-sdk.mjs +0 -132
  200. package/bizar-dash/src/server/routes/cline-session-detail.mjs +0 -559
  201. package/bizar-dash/src/server/routes/cline-sessions.mjs +0 -291
  202. package/cli/commands/cline-cmd.mjs +0 -289
  203. package/cli/commands/validate.test.mjs +0 -344
  204. package/cli/doctor.test.mjs +0 -350
  205. package/config/cline.json.template +0 -342
  206. package/packages/sdk/src/client.ts +0 -188
  207. package/packages/sdk/src/cline-events.ts +0 -134
  208. package/packages/sdk/src/cline-types.ts +0 -66
  209. package/packages/sdk/src/cline.ts +0 -339
  210. package/packages/sdk/src/errors.ts +0 -129
  211. package/packages/sdk/src/events.ts +0 -153
  212. package/packages/sdk/src/types.ts +0 -176
  213. package/packages/sdk/tests/client.test.ts +0 -217
  214. package/packages/sdk/tests/errors.test.ts +0 -108
  215. package/packages/sdk/tests/events.test.ts +0 -139
  216. package/packages/sdk/tests/fixtures/fetch-mock.ts +0 -152
  217. package/packages/sdk/tests/fixtures/sse-mock.ts +0 -30
  218. package/plugins/bizar/ARCHITECTURE.md +0 -142
  219. package/plugins/bizar/CONSTRAINTS.md +0 -67
  220. package/plugins/bizar/LICENSE +0 -21
  221. package/plugins/bizar/README.md +0 -448
  222. package/plugins/bizar/index.ts +0 -872
  223. package/plugins/bizar/package.json +0 -39
  224. package/plugins/bizar/scripts/check-forbidden-imports.sh +0 -33
  225. package/plugins/bizar/src/background-state.ts +0 -641
  226. package/plugins/bizar/src/background.ts +0 -1806
  227. package/plugins/bizar/src/cline-runner.ts +0 -203
  228. package/plugins/bizar/src/clineruntime.ts +0 -227
  229. package/plugins/bizar/src/commands-impl.ts +0 -151
  230. package/plugins/bizar/src/commands.ts +0 -1799
  231. package/plugins/bizar/src/compaction.d.mts +0 -48
  232. package/plugins/bizar/src/compaction.mjs +0 -192
  233. package/plugins/bizar/src/dashboard-client.ts +0 -233
  234. package/plugins/bizar/src/event-stream.ts +0 -606
  235. package/plugins/bizar/src/fingerprint.ts +0 -120
  236. package/plugins/bizar/src/handoff.ts +0 -79
  237. package/plugins/bizar/src/hooks/memory-flush-on-compact.ts +0 -123
  238. package/plugins/bizar/src/hooks/memory-inject.ts +0 -247
  239. package/plugins/bizar/src/hooks/memory-write-on-end.ts +0 -188
  240. package/plugins/bizar/src/hooks/skill-curator.ts +0 -180
  241. package/plugins/bizar/src/http-client.ts +0 -467
  242. package/plugins/bizar/src/key-rotation.ts +0 -218
  243. package/plugins/bizar/src/logger.ts +0 -144
  244. package/plugins/bizar/src/loop-engineering.ts +0 -241
  245. package/plugins/bizar/src/loop.ts +0 -176
  246. package/plugins/bizar/src/mistake-recovery.ts +0 -98
  247. package/plugins/bizar/src/odin.ts +0 -227
  248. package/plugins/bizar/src/options.ts +0 -470
  249. package/plugins/bizar/src/plan-fs.ts +0 -323
  250. package/plugins/bizar/src/reasoning-clean.ts +0 -454
  251. package/plugins/bizar/src/report.ts +0 -178
  252. package/plugins/bizar/src/research-prompt.ts +0 -35
  253. package/plugins/bizar/src/serve-info.ts +0 -228
  254. package/plugins/bizar/src/serve.ts +0 -496
  255. package/plugins/bizar/src/settings.ts +0 -349
  256. package/plugins/bizar/src/state.ts +0 -298
  257. package/plugins/bizar/src/tool-discipline.ts +0 -105
  258. package/plugins/bizar/src/tools/agent-browser.ts +0 -315
  259. package/plugins/bizar/src/tools/bg-collect.ts +0 -131
  260. package/plugins/bizar/src/tools/bg-get-comments.ts +0 -266
  261. package/plugins/bizar/src/tools/bg-kill.ts +0 -116
  262. package/plugins/bizar/src/tools/bg-pause.ts +0 -99
  263. package/plugins/bizar/src/tools/bg-report-progress.ts +0 -115
  264. package/plugins/bizar/src/tools/bg-resume.ts +0 -94
  265. package/plugins/bizar/src/tools/bg-send-message.ts +0 -223
  266. package/plugins/bizar/src/tools/bg-spawn.ts +0 -502
  267. package/plugins/bizar/src/tools/bg-status.ts +0 -130
  268. package/plugins/bizar/src/tools/graph-query.ts +0 -278
  269. package/plugins/bizar/src/tools/loop-engineering.ts +0 -193
  270. package/plugins/bizar/src/tools/memory-list.ts +0 -43
  271. package/plugins/bizar/src/tools/memory-read.ts +0 -69
  272. package/plugins/bizar/src/tools/memory-search.ts +0 -47
  273. package/plugins/bizar/src/tools/memory-write.ts +0 -54
  274. package/plugins/bizar/src/tools/open-kb.ts +0 -198
  275. package/plugins/bizar/src/tools/plan-action.ts +0 -785
  276. package/plugins/bizar/src/tools/read-glyph-feedback.ts +0 -191
  277. package/plugins/bizar/src/tools/team-spawn.ts +0 -73
  278. package/plugins/bizar/src/tools/team-status.ts +0 -76
  279. package/plugins/bizar/src/tools/wait-for-feedback.ts +0 -415
  280. package/plugins/bizar/src/trajectory.ts +0 -104
  281. package/plugins/bizar/tests/README.md +0 -99
  282. package/plugins/bizar/tests/attach-handler-bug.test.ts +0 -169
  283. package/plugins/bizar/tests/background-state.test.ts +0 -277
  284. package/plugins/bizar/tests/background.test.ts +0 -402
  285. package/plugins/bizar/tests/block.test.ts +0 -195
  286. package/plugins/bizar/tests/canonical-key-order.test.ts +0 -75
  287. package/plugins/bizar/tests/clineruntime-config.test.ts +0 -283
  288. package/plugins/bizar/tests/commands-impl.test.ts +0 -316
  289. package/plugins/bizar/tests/commands.test.ts +0 -584
  290. package/plugins/bizar/tests/compaction.test.ts +0 -264
  291. package/plugins/bizar/tests/config.test.ts +0 -128
  292. package/plugins/bizar/tests/dashboard-client.test.ts +0 -159
  293. package/plugins/bizar/tests/dispose.test.ts +0 -336
  294. package/plugins/bizar/tests/event-stream.test.ts +0 -409
  295. package/plugins/bizar/tests/event.test.ts +0 -262
  296. package/plugins/bizar/tests/fingerprint.test.ts +0 -162
  297. package/plugins/bizar/tests/http-client.test.ts +0 -404
  298. package/plugins/bizar/tests/init-helpers.test.ts +0 -203
  299. package/plugins/bizar/tests/integration/slash-command.test.ts +0 -349
  300. package/plugins/bizar/tests/integration/tool-routing.test.ts +0 -98
  301. package/plugins/bizar/tests/key-rotation.test.ts +0 -396
  302. package/plugins/bizar/tests/loop-engineering.test.ts +0 -168
  303. package/plugins/bizar/tests/loop.test.ts +0 -397
  304. package/plugins/bizar/tests/memory-write-on-end.test.ts +0 -92
  305. package/plugins/bizar/tests/mistake-recovery.test.ts +0 -116
  306. package/plugins/bizar/tests/odin.test.ts +0 -125
  307. package/plugins/bizar/tests/options.test.ts +0 -329
  308. package/plugins/bizar/tests/reasoning-clean.test.ts +0 -422
  309. package/plugins/bizar/tests/safety.test.ts +0 -256
  310. package/plugins/bizar/tests/serve.test.ts +0 -339
  311. package/plugins/bizar/tests/settings.test.ts +0 -351
  312. package/plugins/bizar/tests/stall-think.test.ts +0 -750
  313. package/plugins/bizar/tests/state.test.ts +0 -276
  314. package/plugins/bizar/tests/tool-discipline.test.ts +0 -77
  315. package/plugins/bizar/tests/tools/agent-browser.test.ts +0 -98
  316. package/plugins/bizar/tests/tools/bg-collect.test.ts +0 -337
  317. package/plugins/bizar/tests/tools/bg-get-comments.test.ts +0 -485
  318. package/plugins/bizar/tests/tools/bg-kill.test.ts +0 -235
  319. package/plugins/bizar/tests/tools/bg-pause.test.ts +0 -61
  320. package/plugins/bizar/tests/tools/bg-report-progress.test.ts +0 -79
  321. package/plugins/bizar/tests/tools/bg-resume.test.ts +0 -40
  322. package/plugins/bizar/tests/tools/bg-send-message.test.ts +0 -116
  323. package/plugins/bizar/tests/tools/bg-spawn-delegation.test.ts +0 -147
  324. package/plugins/bizar/tests/tools/bg-spawn-http.test.ts +0 -233
  325. package/plugins/bizar/tests/tools/bg-spawn.test.ts +0 -311
  326. package/plugins/bizar/tests/tools/bg-status.test.ts +0 -217
  327. package/plugins/bizar/tests/tools/cline-runner.test.ts +0 -115
  328. package/plugins/bizar/tests/tools/plan-action.test.ts +0 -599
  329. package/plugins/bizar/tests/tools/read-glyph-feedback.test.ts +0 -253
  330. package/plugins/bizar/tests/tools/wait-for-feedback.test.ts +0 -390
  331. package/plugins/bizar/tests/update-deadlock.test.ts +0 -151
  332. package/plugins/bizar/tsconfig.json +0 -29
@@ -1,307 +0,0 @@
1
- # How To Use This Mockup To Build The Real UI
2
-
3
- This file explains how to turn the `bizar-design/` mockup package into the actual dashboard UI in `src/web/`.
4
-
5
- It is not a second design system. The design system already lives in:
6
-
7
- - `bizar-design/tokens.css`
8
- - `bizar-design/components.css`
9
- - `bizar-design/components.html`
10
- - `bizar-design/INSTRUCTIONS.md`
11
-
12
- This document explains how to **apply** that system during implementation.
13
-
14
- ## What this package is for
15
-
16
- The mockup package does three jobs:
17
-
18
- 1. It defines the **visual language**.
19
- 2. It defines the **component contracts**.
20
- 3. It defines the **screen structure and interaction behavior**.
21
-
22
- When building the real UI, do not treat these HTML files as disposable inspiration. Treat them as:
23
-
24
- - visual reference
25
- - naming reference
26
- - spacing and hierarchy reference
27
- - behavior reference
28
- - screen composition reference
29
-
30
- ## What maps to what
31
-
32
- Use this mapping when implementing.
33
-
34
- ### Foundations
35
-
36
- - `bizar-design/tokens.css`
37
- - Maps to theme tokens in `src/web/styles/main.css`
38
- - Source of truth for colors, spacing, radii, shadows, typography, and motion
39
-
40
- - `bizar-design/icons.svg`
41
- - Maps to the icon set and sizing rules in the real app
42
- - If using Lucide in React, match the same visual weight, size, and density
43
-
44
- - `bizar-design/components.css`
45
- - Maps to reusable UI primitives in the real app
46
- - Use it to derive component-level CSS classes or component APIs
47
-
48
- ### Screen references
49
-
50
- - `bizar-design/desktop/overview.html`
51
- - Maps to `src/web/views/Overview.tsx`
52
-
53
- - `bizar-design/desktop/agents.html`
54
- - Maps to `src/web/views/Agents.tsx`
55
-
56
- - `bizar-design/desktop/memory.html`
57
- - Maps to `src/web/views/Memory.tsx`
58
-
59
- - `bizar-design/desktop/settings.html`
60
- - Maps to `src/web/views/Settings.tsx`
61
-
62
- - `bizar-design/desktop/metrics.html`
63
- - Maps to `src/web/views/MiniMaxUsage.tsx`
64
-
65
- - `bizar-design/mobile/*.html`
66
- - Map to `src/web/mobile/` views and components
67
-
68
- ### System references
69
-
70
- - `bizar-design/canvas.html`
71
- - Use this as the whole-product reference
72
- - It shows how the system should feel when the pieces work together
73
-
74
- - `bizar-design/components.html`
75
- - Use this as the detailed implementation catalog
76
- - If you need a component or state, check here first
77
-
78
- ## Correct implementation workflow
79
-
80
- Build the real UI in this order:
81
-
82
- 1. **Read the target screen HTML**
83
- - Start with the matching desktop or mobile screen file.
84
- - Understand the layout, information priority, and module list.
85
-
86
- 2. **Identify the reusable primitives**
87
- - Find the corresponding pieces in `components.html`.
88
- - Example: stat card, row list, sidebar item, settings block, info panel, timeline entry.
89
-
90
- 3. **Implement primitives before screens**
91
- - Do not build a whole screen by hardcoding layout-specific UI first.
92
- - First create or update shared building blocks.
93
-
94
- 4. **Bind to real data**
95
- - Once the visual structure exists, connect it to the real view data in `src/web/views/` and `src/web/lib/types.ts`.
96
-
97
- 5. **Apply interaction rules**
98
- - Use `INSTRUCTIONS.md` and `components.html` for hover, focus, scroll, loading, empty, error, drag, and selection behavior.
99
-
100
- 6. **Re-check against the mockup**
101
- - Compare the implemented view to the target screen and the full canvas.
102
-
103
- ## What not to do
104
-
105
- Avoid these mistakes:
106
-
107
- - Do not copy-paste mockup HTML directly into production and call it done.
108
- - Do not implement one-off CSS in a view when a shared primitive should exist.
109
- - Do not invent new spacing, border, or radius patterns per screen.
110
- - Do not shrink desktop layouts into mobile layouts.
111
- - Do not add decorative UI that is not in the system.
112
- - Do not let view code define its own interaction language separately from the design package.
113
-
114
- ## How to read each file
115
-
116
- ### `index.html`
117
-
118
- Use this as the package entry point.
119
-
120
- It tells you:
121
-
122
- - what references exist
123
- - where to start
124
- - which screen sets are available
125
-
126
- ### `canvas.html`
127
-
128
- Use this to understand:
129
-
130
- - overall product posture
131
- - shell density
132
- - how different dashboard modules relate to each other
133
- - how the system should feel at a high level
134
-
135
- This is especially useful when a single view starts looking correct on its own but wrong in the larger system.
136
-
137
- ### `components.html`
138
-
139
- Use this when:
140
-
141
- - you need to build a reusable component
142
- - you need a state variant
143
- - you need theming guidance
144
- - you need behavior guidance
145
-
146
- This should be the first stop before adding a new shared UI pattern.
147
-
148
- ### `desktop/*.html`
149
-
150
- Use these as implementation contracts for desktop views.
151
-
152
- They define:
153
-
154
- - screen structure
155
- - layout regions
156
- - module ordering
157
- - density
158
- - navigation expectations
159
-
160
- ### `mobile/*.html`
161
-
162
- Use these as implementation contracts for mobile views.
163
-
164
- They define:
165
-
166
- - what survives from desktop
167
- - what must stack or collapse
168
- - what gets simplified
169
- - how hierarchy changes on small screens
170
-
171
- ## How to convert mockup patterns into real React components
172
-
173
- The safest pattern is:
174
-
175
- 1. Find the repeated pattern in the mockup.
176
- 2. Name it as a product primitive.
177
- 3. Implement it as a reusable component.
178
- 4. Move styling to shared styles.
179
- 5. Reuse it across views.
180
-
181
- Examples:
182
-
183
- - Sidebar item
184
- - mockup source: shell + components library
185
- - real target: `Sidebar.tsx` plus shared sidebar styles
186
-
187
- - Metric card
188
- - mockup source: overview + metrics screen
189
- - real target: reusable stat/metric component
190
-
191
- - Activity row
192
- - mockup source: overview timeline, approvals, background agents
193
- - real target: shared row component with variant props
194
-
195
- - Settings block
196
- - mockup source: settings screen + components library
197
- - real target: reusable section wrapper used across settings subsections
198
-
199
- - Chat rail row / thread / info panel
200
- - mockup source: chat composition section in `components.html`
201
- - real target: shared chat module components under `src/web/components/chat/`
202
-
203
- ## How to decide whether something belongs in shared code
204
-
205
- Put a pattern in shared code when at least one of these is true:
206
-
207
- - it appears on more than one screen
208
- - it has multiple states
209
- - it defines spacing or hierarchy others will copy
210
- - it is part of the shell or navigation
211
- - it is likely to need consistent behavior later
212
-
213
- If a piece is likely reusable, make it reusable early.
214
-
215
- ## How to use the theming system
216
-
217
- Use the mockup tokens directly as the target vocabulary.
218
-
219
- That means:
220
-
221
- - `--bg`, `--bg-elev`, `--bg-elev-2`, `--bg-elev-3`
222
- - `--border`, `--border-strong`
223
- - `--text-strong`, `--text`, `--text-dim`
224
- - `--accent`
225
- - `--success`, `--warning`, `--error`, `--info`
226
-
227
- Do not create alternate naming systems in the real UI unless they map cleanly back to these tokens.
228
-
229
- ## How to use behavior rules during implementation
230
-
231
- The behavior rules matter as much as visuals.
232
-
233
- Check these during development:
234
-
235
- ### Scrolling
236
-
237
- - Does the correct region scroll?
238
- - Are headers or section rails preserved when needed?
239
- - Is there accidental horizontal overflow?
240
-
241
- ### Hover
242
-
243
- - Does hover clarify affordance without causing visual noise?
244
- - Are important actions still visible without hover?
245
-
246
- ### Focus
247
-
248
- - Can keyboard users understand where they are?
249
- - Does focus look like part of the system?
250
-
251
- ### Click / selection
252
-
253
- - Is the primary action obvious?
254
- - Is selected state distinct from hover state?
255
-
256
- ### Drag / reorder
257
-
258
- - Are drag targets visually clear?
259
- - Is there a visible drop state?
260
-
261
- ### Loading / empty / error
262
-
263
- - Does the view preserve structure while state changes?
264
- - Does the user know what to do next?
265
-
266
- ## Suggested implementation order for this repo
267
-
268
- If you are rebuilding the current dashboard from the package, the safest order is:
269
-
270
- 1. Theme tokens in shared styles
271
- 2. Topbar and expandable sidebar
272
- 3. Shared primitives:
273
- - buttons
274
- - pills
275
- - cards
276
- - rows
277
- - fields
278
- - tables
279
- 4. Overview
280
- 5. Agents
281
- 6. Memory
282
- 7. Settings
283
- 8. Metrics
284
- 9. Mobile equivalents
285
- 10. Polish pass across all screens together
286
-
287
- ## Definition of “done” for an implemented screen
288
-
289
- A screen is only done when:
290
-
291
- - it matches the target mockup structurally
292
- - it uses shared primitives instead of ad hoc local ones
293
- - it uses the shared token language
294
- - it follows the interaction rules
295
- - it works with real data
296
- - it still looks consistent next to the other implemented screens
297
-
298
- ## If you need to extend the mockup first
299
-
300
- If the real product needs a new pattern that the mockup package does not yet cover:
301
-
302
- 1. Add or refine it in `bizar-design/components.html`
303
- 2. Add any new shared rule to `bizar-design/INSTRUCTIONS.md`
304
- 3. Add the shared primitive to `bizar-design/components.css`
305
- 4. Then implement it in the real UI
306
-
307
- That keeps the mockup package as the actual reference instead of letting implementation drift away from it.
@@ -1,149 +0,0 @@
1
- # Bizar Design System
2
-
3
- This folder is the canonical visual and interaction reference for the dashboard redesign. It exists outside `src/web/` so the product UI can be implemented against stable contracts instead of drifting from ad hoc view work.
4
-
5
- ## Package map
6
-
7
- - `tokens.css` — canonical OKLch theme tokens for dark and light modes.
8
- - `components.css` — modular shell, component, state, and layout primitives.
9
- - `icons.svg` — shared icon sprite for sidebar, tabs, and library examples.
10
- - `prototype.js` — theme toggle, segmented control demo behavior, and persistent expandable-sidebar behavior.
11
- - `index.html` — launcher for the full package.
12
- - `canvas.html` — full-system reference canvas.
13
- - `components.html` — extensive component, theming, and behavior library.
14
- - `desktop/*.html` — desktop screen contracts.
15
- - `mobile/*.html` — mobile screen contracts.
16
-
17
- ## Primary rules
18
-
19
- 1. Start from `tokens.css`. Do not invent new hardcoded colors, spacing, or radii in view files.
20
- 2. Extend existing primitives in `components.css` before creating new ones.
21
- 3. Add any new component pattern to `components.html` before shipping it into product code.
22
- 4. Preserve the no-left-stripe rule. Active and alert states use fill, glow, label, or motion.
23
- 5. Keep the package navigable. Launcher, canvas, library, desktop screens, and mobile screens must cross-link.
24
-
25
- ## Modular architecture
26
-
27
- The system is organized in layers. Build in this order:
28
-
29
- 1. **Tokens**
30
- - Surface, text, accent, semantic, motion, spacing, radius, shadow, typography.
31
- 2. **Shell**
32
- - Topbar, expandable sidebar, tabs, search trigger, runtime pills.
33
- 3. **Primitives**
34
- - Buttons, fields, pills, badges, cards, rows, timelines, tables, bars, tabs.
35
- 4. **States**
36
- - Loading, empty, error, disabled, selected, streaming, paused, degraded.
37
- 5. **Domain modules**
38
- - Chat, agents, memory, settings, metrics, approvals, kanban, drawers, modals.
39
-
40
- Each component should be portable. If a component cannot be lifted from the library into React with minimal translation, it is too view-specific.
41
-
42
- ## Theming inventory
43
-
44
- All theming items belong in the library. The package should always cover:
45
-
46
- - Surfaces: `--bg`, `--bg-elev`, `--bg-elev-2`, `--bg-elev-3`
47
- - Borders: `--border`, `--border-strong`
48
- - Text: `--text-strong`, `--text`, `--text-dim`
49
- - Accent: `--accent`, `--accent-2`, `--accent-3`, and derived soft/border/glow tokens
50
- - Semantics: `--success`, `--warning`, `--error`, `--info`
51
- - Type: sans, mono, display/title/body/meta sizes
52
- - Layout: spacing scale, radii, shadows
53
- - Motion: fast / base / slow durations and easing
54
-
55
- Any future theme extension must keep token names stable across dark and light modes.
56
-
57
- ## Component coverage
58
-
59
- The library should maintain examples and usage rules for:
60
-
61
- - Topbar and expandable sidebar
62
- - Search triggers and project/runtime pills
63
- - Tabs and segmented controls
64
- - Buttons and destructive/success variants
65
- - Fields: text input, select, textarea
66
- - Pills, badges, dots, and avatars
67
- - Cards and nested surfaces
68
- - Metric cards and progress bars
69
- - Timelines, activity rows, and list rows
70
- - Tables and comparison layouts
71
- - Charts and sparkline shells
72
- - Chat rail, thread, composer, info panel
73
- - Memory rail, health hero, source blocks
74
- - Settings nav, settings groups, field clusters
75
- - Modals, drawers, inspectors, approval rows
76
- - Loading, empty, error, drag preview, drop zone
77
-
78
- ## Interaction behavior rules
79
-
80
- These are part of the design system, not implementation details.
81
-
82
- ### Scrolling
83
-
84
- - Independent regions scroll independently when they contain long content.
85
- - Preserve context with sticky headers or sticky section nav when content exceeds one screen.
86
- - Avoid horizontal page scroll on desktop; prefer internal scroll regions for tables and rails.
87
- - Mobile screens should stack modules vertically and scroll naturally; no tiny desktop canvases inside phones.
88
-
89
- ### Hover
90
-
91
- - Hover indicates affordance, not surprise.
92
- - Surfaces lift one visual tier at most.
93
- - Border and text contrast may strengthen on hover.
94
- - Critical actions must not appear only on hover if they are required to operate the screen.
95
-
96
- ### Focus
97
-
98
- - Focus uses the shared accent glow or border contract.
99
- - Keyboard focus must follow the same hierarchy as click targets.
100
- - Active and focused are distinct: focus is temporary, active is stateful.
101
-
102
- ### Click
103
-
104
- - Primary click selects or opens.
105
- - Secondary actions live in explicit action buttons or menus.
106
- - Clickable rows need large targets and visible active states.
107
- - Do not overload one row with multiple hidden click targets.
108
-
109
- ### Drag
110
-
111
- - Dragged items use accent-border outlines and elevated shadow states.
112
- - Drop zones use dashed outlines and clearer copy.
113
- - Reorder interactions must have keyboard or button alternatives when practical.
114
- - Drag state should never rely on color alone.
115
-
116
- ### Loading
117
-
118
- - Prefer inline loading bars, pulse rows, or local placeholders over blocking page spinners.
119
- - Streaming states stay near the content being updated.
120
- - Preserve layout during loading to reduce jump.
121
-
122
- ### Empty
123
-
124
- - Empty states explain what is missing and what the operator can do next.
125
- - Empty surfaces still need strong structure; they are not blank cards.
126
-
127
- ### Error
128
-
129
- - Errors must preserve recovery context.
130
- - Always provide the next action: retry, inspect, reconnect, or review.
131
- - Use semantic error color sparingly and pair it with plain technical copy.
132
-
133
- ### Responsive
134
-
135
- - Desktop is dense and multi-column.
136
- - Tablet collapses secondary columns before it reduces core content width.
137
- - Mobile rearranges modules into stacked flows with native-feeling spacing and clear hierarchy.
138
-
139
- ## Implementation workflow
140
-
141
- 1. Start from the closest existing primitive in `components.css`.
142
- 2. If you need a new component, add the primitive first.
143
- 3. Add or update the matching section in `components.html`.
144
- 4. Apply the component in product code.
145
- 5. Verify the new state still matches the shell, token, and behavior rules.
146
-
147
- ## Intent
148
-
149
- This package is meant to be exhaustive enough that UI work in the dashboard can be implemented from it without guessing how things should look or behave. The screens show concrete usage, but the shared component and behavior contracts are the real deliverable.