@polderlabs/bizar 6.2.5 → 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 (329) 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 +17 -18
  125. package/cli/commands/claude-cmd.mjs +348 -0
  126. package/cli/commands/install.mjs +12 -11
  127. package/cli/commands/validate.mjs +252 -325
  128. package/cli/dev-link.test.mjs +11 -11
  129. package/cli/doctor.mjs +131 -213
  130. package/cli/install.mjs +33 -37
  131. package/cli/install.test.mjs +9 -9
  132. package/cli/provision-claude.mjs +893 -0
  133. package/cli/provision.mjs +224 -227
  134. package/cli/utils.mjs +72 -58
  135. package/config/AGENTS.md +28 -28
  136. package/install.sh +66 -44
  137. package/package.json +19 -11
  138. package/packages/sdk/ARCHITECTURE.md +40 -36
  139. package/packages/sdk/package-lock.json +32 -0
  140. package/packages/sdk/package.json +15 -5
  141. package/{plugins/bizar → packages/sdk}/src/dangerous-patterns.ts +6 -28
  142. package/packages/sdk/src/fingerprint.ts +0 -0
  143. package/packages/sdk/src/index.ts +38 -73
  144. package/packages/sdk/src/mcp/bin.ts +51 -0
  145. package/packages/sdk/src/mcp/server.ts +498 -0
  146. package/{plugins/bizar/src/memory-vault.ts → packages/sdk/src/memory/index.ts} +18 -21
  147. package/packages/sdk/tests/sdk.test.mjs +148 -0
  148. package/packages/sdk/vitest.config.ts +1 -1
  149. package/scripts/bh-full-e2e.mjs +166 -363
  150. package/scripts/check-deps.mjs +28 -46
  151. package/scripts/mirror-claude-md.sh +78 -0
  152. package/scripts/test-in-container.sh +31 -9
  153. package/templates/clean-state-checklist.md +3 -3
  154. package/templates/sprint-contract.md +2 -2
  155. package/bizar-dash/.bizar/activity.log +0 -3
  156. package/bizar-dash/.omx/logs/omx-2026-07-07.jsonl +0 -1
  157. package/bizar-dash/.omx/state/session.json +0 -10
  158. package/bizar-dash/bizar-design/EXPLANATION.md +0 -307
  159. package/bizar-dash/bizar-design/INSTRUCTIONS.md +0 -149
  160. package/bizar-dash/bizar-design/canvas.html +0 -281
  161. package/bizar-dash/bizar-design/canvas.html.artifact.json +0 -19
  162. package/bizar-dash/bizar-design/components.css +0 -1665
  163. package/bizar-dash/bizar-design/components.html +0 -557
  164. package/bizar-dash/bizar-design/components.html.artifact.json +0 -19
  165. package/bizar-dash/bizar-design/desktop/agents.html +0 -74
  166. package/bizar-dash/bizar-design/desktop/agents.html.artifact.json +0 -19
  167. package/bizar-dash/bizar-design/desktop/memory.html +0 -75
  168. package/bizar-dash/bizar-design/desktop/memory.html.artifact.json +0 -19
  169. package/bizar-dash/bizar-design/desktop/metrics.html +0 -63
  170. package/bizar-dash/bizar-design/desktop/metrics.html.artifact.json +0 -19
  171. package/bizar-dash/bizar-design/desktop/overview.html +0 -95
  172. package/bizar-dash/bizar-design/desktop/overview.html.artifact.json +0 -19
  173. package/bizar-dash/bizar-design/desktop/settings.html +0 -70
  174. package/bizar-dash/bizar-design/desktop/settings.html.artifact.json +0 -19
  175. package/bizar-dash/bizar-design/icons.svg +0 -44
  176. package/bizar-dash/bizar-design/index.html +0 -192
  177. package/bizar-dash/bizar-design/index.html.artifact.json +0 -19
  178. package/bizar-dash/bizar-design/mobile/agents.html +0 -29
  179. package/bizar-dash/bizar-design/mobile/agents.html.artifact.json +0 -19
  180. package/bizar-dash/bizar-design/mobile/memory.html +0 -28
  181. package/bizar-dash/bizar-design/mobile/memory.html.artifact.json +0 -19
  182. package/bizar-dash/bizar-design/mobile/metrics.html +0 -29
  183. package/bizar-dash/bizar-design/mobile/metrics.html.artifact.json +0 -19
  184. package/bizar-dash/bizar-design/mobile/overview.html +0 -33
  185. package/bizar-dash/bizar-design/mobile/overview.html.artifact.json +0 -19
  186. package/bizar-dash/bizar-design/mobile/settings.html +0 -28
  187. package/bizar-dash/bizar-design/mobile/settings.html.artifact.json +0 -19
  188. package/bizar-dash/bizar-design/prototype.js +0 -114
  189. package/bizar-dash/bizar-design/tokens.css +0 -106
  190. package/bizar-dash/dist/assets/vendor-CeHGtduv.js.map +0 -1
  191. package/bizar-dash/node_modules/.package-lock.json +0 -6
  192. package/bizar-dash/package-lock.json +0 -6
  193. package/bizar-dash/src/server/cline-sdk.mjs +0 -132
  194. package/bizar-dash/src/server/routes/cline-session-detail.mjs +0 -559
  195. package/bizar-dash/src/server/routes/cline-sessions.mjs +0 -291
  196. package/cli/commands/cline-cmd.mjs +0 -289
  197. package/cli/commands/validate.test.mjs +0 -379
  198. package/cli/doctor.test.mjs +0 -350
  199. package/config/cline.json.template +0 -342
  200. package/packages/sdk/src/client.ts +0 -188
  201. package/packages/sdk/src/cline-events.ts +0 -134
  202. package/packages/sdk/src/cline-types.ts +0 -66
  203. package/packages/sdk/src/cline.ts +0 -339
  204. package/packages/sdk/src/errors.ts +0 -129
  205. package/packages/sdk/src/events.ts +0 -153
  206. package/packages/sdk/src/types.ts +0 -176
  207. package/packages/sdk/tests/client.test.ts +0 -217
  208. package/packages/sdk/tests/errors.test.ts +0 -108
  209. package/packages/sdk/tests/events.test.ts +0 -139
  210. package/packages/sdk/tests/fixtures/fetch-mock.ts +0 -152
  211. package/packages/sdk/tests/fixtures/sse-mock.ts +0 -30
  212. package/plugins/bizar/ARCHITECTURE.md +0 -142
  213. package/plugins/bizar/CONSTRAINTS.md +0 -67
  214. package/plugins/bizar/LICENSE +0 -21
  215. package/plugins/bizar/README.md +0 -448
  216. package/plugins/bizar/index.ts +0 -925
  217. package/plugins/bizar/package.json +0 -39
  218. package/plugins/bizar/scripts/check-forbidden-imports.sh +0 -33
  219. package/plugins/bizar/src/background-state.ts +0 -641
  220. package/plugins/bizar/src/background.ts +0 -1806
  221. package/plugins/bizar/src/cline-runner.ts +0 -203
  222. package/plugins/bizar/src/clineruntime.ts +0 -227
  223. package/plugins/bizar/src/commands-impl.ts +0 -151
  224. package/plugins/bizar/src/commands.ts +0 -1799
  225. package/plugins/bizar/src/compaction.d.mts +0 -48
  226. package/plugins/bizar/src/compaction.mjs +0 -192
  227. package/plugins/bizar/src/dashboard-client.ts +0 -233
  228. package/plugins/bizar/src/event-stream.ts +0 -606
  229. package/plugins/bizar/src/fingerprint.ts +0 -120
  230. package/plugins/bizar/src/handoff.ts +0 -79
  231. package/plugins/bizar/src/hooks/memory-flush-on-compact.ts +0 -123
  232. package/plugins/bizar/src/hooks/memory-inject.ts +0 -247
  233. package/plugins/bizar/src/hooks/memory-write-on-end.ts +0 -188
  234. package/plugins/bizar/src/hooks/skill-curator.ts +0 -180
  235. package/plugins/bizar/src/http-client.ts +0 -467
  236. package/plugins/bizar/src/key-rotation.ts +0 -218
  237. package/plugins/bizar/src/logger.ts +0 -144
  238. package/plugins/bizar/src/loop-engineering.ts +0 -241
  239. package/plugins/bizar/src/loop.ts +0 -176
  240. package/plugins/bizar/src/mistake-recovery.ts +0 -98
  241. package/plugins/bizar/src/odin.ts +0 -227
  242. package/plugins/bizar/src/options.ts +0 -470
  243. package/plugins/bizar/src/plan-fs.ts +0 -323
  244. package/plugins/bizar/src/reasoning-clean.ts +0 -454
  245. package/plugins/bizar/src/report.ts +0 -178
  246. package/plugins/bizar/src/research-prompt.ts +0 -35
  247. package/plugins/bizar/src/serve-info.ts +0 -228
  248. package/plugins/bizar/src/serve.ts +0 -496
  249. package/plugins/bizar/src/settings.ts +0 -349
  250. package/plugins/bizar/src/state.ts +0 -298
  251. package/plugins/bizar/src/tool-discipline.ts +0 -105
  252. package/plugins/bizar/src/tools/agent-browser.ts +0 -315
  253. package/plugins/bizar/src/tools/bg-collect.ts +0 -131
  254. package/plugins/bizar/src/tools/bg-get-comments.ts +0 -266
  255. package/plugins/bizar/src/tools/bg-kill.ts +0 -116
  256. package/plugins/bizar/src/tools/bg-pause.ts +0 -99
  257. package/plugins/bizar/src/tools/bg-report-progress.ts +0 -115
  258. package/plugins/bizar/src/tools/bg-resume.ts +0 -94
  259. package/plugins/bizar/src/tools/bg-send-message.ts +0 -223
  260. package/plugins/bizar/src/tools/bg-spawn.ts +0 -502
  261. package/plugins/bizar/src/tools/bg-status.ts +0 -130
  262. package/plugins/bizar/src/tools/graph-query.ts +0 -278
  263. package/plugins/bizar/src/tools/loop-engineering.ts +0 -193
  264. package/plugins/bizar/src/tools/memory-list.ts +0 -43
  265. package/plugins/bizar/src/tools/memory-read.ts +0 -69
  266. package/plugins/bizar/src/tools/memory-search.ts +0 -47
  267. package/plugins/bizar/src/tools/memory-write.ts +0 -54
  268. package/plugins/bizar/src/tools/open-kb.ts +0 -198
  269. package/plugins/bizar/src/tools/plan-action.ts +0 -785
  270. package/plugins/bizar/src/tools/read-glyph-feedback.ts +0 -191
  271. package/plugins/bizar/src/tools/sandbox.ts +0 -232
  272. package/plugins/bizar/src/tools/team-spawn.ts +0 -73
  273. package/plugins/bizar/src/tools/team-status.ts +0 -76
  274. package/plugins/bizar/src/tools/wait-for-feedback.ts +0 -415
  275. package/plugins/bizar/src/trajectory.ts +0 -104
  276. package/plugins/bizar/tests/README.md +0 -99
  277. package/plugins/bizar/tests/attach-handler-bug.test.ts +0 -169
  278. package/plugins/bizar/tests/background-state.test.ts +0 -277
  279. package/plugins/bizar/tests/background.test.ts +0 -402
  280. package/plugins/bizar/tests/block.test.ts +0 -195
  281. package/plugins/bizar/tests/canonical-key-order.test.ts +0 -75
  282. package/plugins/bizar/tests/clineruntime-config.test.ts +0 -283
  283. package/plugins/bizar/tests/commands-impl.test.ts +0 -316
  284. package/plugins/bizar/tests/commands.test.ts +0 -584
  285. package/plugins/bizar/tests/compaction.test.ts +0 -264
  286. package/plugins/bizar/tests/config.test.ts +0 -128
  287. package/plugins/bizar/tests/dashboard-client.test.ts +0 -159
  288. package/plugins/bizar/tests/dispose.test.ts +0 -336
  289. package/plugins/bizar/tests/event-stream.test.ts +0 -409
  290. package/plugins/bizar/tests/event.test.ts +0 -262
  291. package/plugins/bizar/tests/fingerprint.test.ts +0 -190
  292. package/plugins/bizar/tests/http-client.test.ts +0 -404
  293. package/plugins/bizar/tests/init-helpers.test.ts +0 -203
  294. package/plugins/bizar/tests/integration/slash-command.test.ts +0 -349
  295. package/plugins/bizar/tests/integration/tool-routing.test.ts +0 -98
  296. package/plugins/bizar/tests/key-rotation.test.ts +0 -396
  297. package/plugins/bizar/tests/loop-engineering.test.ts +0 -168
  298. package/plugins/bizar/tests/loop.test.ts +0 -397
  299. package/plugins/bizar/tests/memory-write-on-end.test.ts +0 -92
  300. package/plugins/bizar/tests/mistake-recovery.test.ts +0 -116
  301. package/plugins/bizar/tests/odin.test.ts +0 -125
  302. package/plugins/bizar/tests/options.test.ts +0 -329
  303. package/plugins/bizar/tests/reasoning-clean.test.ts +0 -422
  304. package/plugins/bizar/tests/safety.test.ts +0 -281
  305. package/plugins/bizar/tests/serve.test.ts +0 -339
  306. package/plugins/bizar/tests/settings.test.ts +0 -351
  307. package/plugins/bizar/tests/stall-think.test.ts +0 -750
  308. package/plugins/bizar/tests/state.test.ts +0 -276
  309. package/plugins/bizar/tests/tool-discipline.test.ts +0 -77
  310. package/plugins/bizar/tests/tools/agent-browser.test.ts +0 -98
  311. package/plugins/bizar/tests/tools/bg-collect.test.ts +0 -337
  312. package/plugins/bizar/tests/tools/bg-get-comments.test.ts +0 -485
  313. package/plugins/bizar/tests/tools/bg-kill.test.ts +0 -235
  314. package/plugins/bizar/tests/tools/bg-pause.test.ts +0 -61
  315. package/plugins/bizar/tests/tools/bg-report-progress.test.ts +0 -79
  316. package/plugins/bizar/tests/tools/bg-resume.test.ts +0 -40
  317. package/plugins/bizar/tests/tools/bg-send-message.test.ts +0 -116
  318. package/plugins/bizar/tests/tools/bg-spawn-delegation.test.ts +0 -147
  319. package/plugins/bizar/tests/tools/bg-spawn-http.test.ts +0 -233
  320. package/plugins/bizar/tests/tools/bg-spawn.test.ts +0 -311
  321. package/plugins/bizar/tests/tools/bg-status.test.ts +0 -217
  322. package/plugins/bizar/tests/tools/cline-runner.test.ts +0 -115
  323. package/plugins/bizar/tests/tools/plan-action.test.ts +0 -599
  324. package/plugins/bizar/tests/tools/read-glyph-feedback.test.ts +0 -253
  325. package/plugins/bizar/tests/tools/sandbox.test.ts +0 -117
  326. package/plugins/bizar/tests/tools/wait-for-feedback.test.ts +0 -390
  327. package/plugins/bizar/tests/update-deadlock.test.ts +0 -151
  328. package/plugins/bizar/tsconfig.json +0 -29
  329. package/scripts/mirror-agents-md.sh +0 -69
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * src/server/task-delegator.mjs
3
3
  *
4
- * v3.5.2 — Odin task delegation.
4
+ * v6.3.0 — Odin task delegation, REWRITTEN for Claude Code.
5
5
  *
6
6
  * Accepts a single "natural language" task from the user. Splits it into
7
7
  * 1-5 subtasks via heuristic rules (an LLM call would replace this in
@@ -18,23 +18,18 @@
18
18
  * Subtasks are always persisted to the regular tasks store first; the
19
19
  * background dispatch is best-effort.
20
20
  *
21
- * v3.5.4 (bug: dispatch stuck) — Dispatch path replaced. The previous
22
- * implementation shell-executed `node plugins/bizar/dist/cli.js bg enqueue`,
23
- * but the plugin is a Bun-native TS project with no compiled `dist/`,
24
- * so the exec always failed. The silent try/catch around execSync meant
25
- * the failure was invisible to both the user and the dashboard log.
21
+ * v6.3.0 — Dispatch path replaced. The previous Cline path shell-executed
22
+ * `node plugins/bizar/dist/cli.js bg enqueue`, then `cline run` via
23
+ * cline-runner.mjs. Claude Code has no equivalent `serve` child — the
24
+ * new path spawns `claude -p "<prompt>"` per subtask via
25
+ * `claude-runner.mjs` (in-process when the SDK is available,
26
+ * subprocess otherwise). The dispatch is gated on `pingClaudeSdk()`
27
+ * (in-process SDK reachable) OR the `claude` binary on PATH.
26
28
  *
27
- * New path:
28
- * 1. Read the plugin's serve-info file (port + password + worktree).
29
- * 2. POST /api/session on the plugin's cline serve child.
30
- * 3. POST /api/session/{id}/prompt to fire the task prompt.
31
- * 4. Write a state file under ~/.cache/bizar/bg/ so the dashboard's
32
- * background-store can list and kill it.
33
- *
34
- * If serve-info is missing (plugin not running) we log a clear warning
35
- * at startup AND surface the dispatch failure in the `/submit` response,
36
- * so the user can re-dispatch manually with `/api/tasks/:id/start`
37
- * after the plugin is up.
29
+ * If neither is available we log a clear warning at startup AND
30
+ * surface the dispatch failure in the `/submit` response, so the
31
+ * user can re-dispatch manually with `/api/tasks/:id/start`
32
+ * once the runtime is up.
38
33
  */
39
34
 
40
35
  import { tasksStore, ALLOWED_TASK_STATUSES } from './tasks-store.mjs';
@@ -84,6 +79,7 @@ function buildPromptText(sub) {
84
79
  parts.push(`Subtask ID: ${sub.id}`);
85
80
  parts.push(`Assigned agent: ${sub.assignee || 'tyr'}`);
86
81
  parts.push(`Parent task ID: ${sub.parent || '(none)'}`);
82
+ parts.push(`Runtime: Claude Code (claude -p)`);
87
83
  return parts.join('\n');
88
84
  }
89
85
 
@@ -460,23 +456,25 @@ export const taskDelegator = {
460
456
  },
461
457
 
462
458
  /**
463
- * v3.5.4 (bug: dispatch stuck) — Best-effort dispatch to the background
464
- * agent infrastructure. Talks to the plugin's cline serve child via
465
- * HTTP (createSession + sendPrompt) and writes a per-instance state
466
- * file under BG_DIRS so the dashboard's `backgroundStore.list()` and
467
- * `kill()` paths find the instance.
459
+ * v6.3.0 — Best-effort dispatch to the Claude Code runtime.
460
+ * Replaces the v3.5.4 Cline HTTP-serve path. Spawns one
461
+ * `claude -p "<prompt>"` subprocess per subtask via
462
+ * `claude-runner.mjs` (or, when the SDK is available,
463
+ * `claude-bg-spawner.mjs`'s SDK-backed path).
468
464
  *
469
- * Replaces the previous `execSync('node plugins/bizar/dist/cli.js …')`
470
- * path which silently failed because the plugin is a Bun-native TS
471
- * project with no compiled `dist/`.
465
+ * The runner writes its output to the LogWriter's log file under
466
+ * `~/.cache/bizar/logs/<sessionId>.log`. The dashboard's
467
+ * `backgroundStore.list()` and `kill()` paths find the instance
468
+ * via the per-instance state file at
469
+ * `~/.cache/bizar/bg/<instanceId>.json`.
472
470
  *
473
471
  * Returns a structured `{ dispatched: string[], errors: Array<…>, warnings: Array<…> }`
474
- * so the caller (and `/api/tasks/submit`) can surface failures to the
475
- * user instead of swallowing them.
472
+ * so the caller (and `/api/tasks/submit`) can surface failures to
473
+ * the user instead of swallowing them.
476
474
  *
477
- * v3.5.1 — Respects agents.maxParallel: caps concurrent dispatches to
478
- * the configured limit; overflow subtasks are queued until a slot
479
- * frees up.
475
+ * v3.5.1 — Respects agents.maxParallel: caps concurrent dispatches
476
+ * to the configured limit; overflow subtasks are queued until a
477
+ * slot frees up.
480
478
  *
481
479
  * @returns {Promise<{ dispatched: string[], errors: Array<{ subtaskId: string, kind: string, message: string }>, warnings: string[] }>}
482
480
  */
@@ -503,29 +501,32 @@ export const taskDelegator = {
503
501
  const runningCount = await runningBgCount();
504
502
  const slotsAvailable = Math.max(0, maxParallel - runningCount);
505
503
 
506
- // v3.5.4 (bug: dispatch stuck) — Resolve the cline serve child
507
- // the plugin owns. If the plugin is not running we record a warning
508
- // and skip the actual spawn (subtasks still flip to `doing` so the
509
- // user can see them, but `metadata.dispatchPending = true` tells
510
- // them to retry via `/api/tasks/:id/start` once the plugin is up).
511
- let serveInfo = null;
512
- let serveReachable = false;
504
+ // v6.3.0 — Verify the Claude Code runtime is reachable. We
505
+ // accept either the in-process SDK or the `claude` binary on
506
+ // PATH. `pingClaudeSdk()` probes the SDK; `claude -v` on PATH
507
+ // is the subprocess fallback. When neither is available we
508
+ // mark subtasks as `dispatchPending: true` so the UI surfaces
509
+ // "Awaiting dispatch" and `/api/tasks/:id/start` can retry
510
+ // after the user installs Claude Code.
511
+ let claudeAvailable = false;
513
512
  try {
514
- const { readServeInfo, pingClineServe } = await import('./serve-info.mjs');
515
- serveInfo = readServeInfo();
516
- if (!serveInfo) {
517
- result.warnings.push('serve-info not found — the bizar plugin is not running. Tasks will be marked queued; retry via POST /api/tasks/:id/start once the plugin is up.');
518
- console.warn('[task-delegator] serve-info missing — plugin may not be running. Dispatch will be deferred.');
519
- } else {
520
- serveReachable = await pingClineServe(serveInfo);
521
- if (!serveReachable) {
522
- result.warnings.push(`cline serve at ${serveInfo.baseUrl} is not reachable. Tasks will be marked queued; retry via POST /api/tasks/:id/start.`);
523
- console.warn(`[task-delegator] cline serve not reachable at ${serveInfo.baseUrl}`);
524
- }
513
+ const { pingClaudeSdk } = await import('./claude-sdk.mjs');
514
+ claudeAvailable = await pingClaudeSdk();
515
+ } catch {
516
+ claudeAvailable = false;
517
+ }
518
+ if (!claudeAvailable) {
519
+ try {
520
+ const { spawnSync } = await import('node:child_process');
521
+ const probe = spawnSync('claude', ['-v'], { stdio: 'ignore', timeout: 1500 });
522
+ claudeAvailable = probe.status === 0;
523
+ } catch {
524
+ claudeAvailable = false;
525
525
  }
526
- } catch (err) {
527
- result.warnings.push(`could not load serve-info helper: ${err.message}`);
528
- console.warn('[task-delegator] serve-info helper failed:', err.message);
526
+ }
527
+ if (!claudeAvailable) {
528
+ result.warnings.push('claude runtime not reachable — neither the @anthropic-ai/claude-agent-sdk nor the `claude` binary on PATH. Tasks will be marked queued; retry via POST /api/tasks/:id/start once Claude Code is installed.');
529
+ console.warn('[task-delegator] claude runtime unreachable — dispatch will be deferred.');
529
530
  }
530
531
 
531
532
  // Split: first N get dispatched now, rest are queued.
@@ -549,13 +550,13 @@ export const taskDelegator = {
549
550
  });
550
551
  }
551
552
 
552
- // v3.5.4 (bug: dispatch stuck) — Per-subtask dispatch path. We
553
- // collect errors instead of swallowing them. Two failure modes:
554
- // - serveInfo/serveReachable missing: mark dispatchPending so
555
- // the UI shows "Awaiting dispatch" and `/api/tasks/:id/start`
556
- // can retry.
557
- // - HTTP error: record error message so the API response carries
558
- // it.
553
+ // v6.3.0 — Per-subtask dispatch path. We collect errors instead
554
+ // of swallowing them. Two failure modes:
555
+ // - claudeAvailable=false: mark dispatchPending so the UI
556
+ // shows "Awaiting dispatch" and `/api/tasks/:id/start` can
557
+ // retry.
558
+ // - spawn failure: record error message so the API response
559
+ // carries it.
559
560
  for (const sub of toDispatch) {
560
561
  const startedAt = new Date().toISOString();
561
562
  let bgInstanceId = null;
@@ -563,21 +564,19 @@ export const taskDelegator = {
563
564
  let dispatchError = null;
564
565
  let dispatchPending = false;
565
566
 
566
- // v3.11.1 — Active dispatch path. We no longer depend on the
567
- // cline serve child's HTTP API to drive the agent loop
568
- // (per the cline docs, that API is passive — it needs a
569
- // TUI/web client connected to actually process prompts).
570
- // Instead we spawn one `cline run` subprocess per subtask
571
- // and capture its output to the LogWriter's log file. The
572
- // plugin's cline-runner.ts and this dashboard's
573
- // cline-runner.mjs share the same wire format.
574
- if (serveInfo && serveReachable) {
567
+ // v6.3.0 — Active dispatch path. Spawn one `claude -p` (or
568
+ // `claude --bg` for long-running sessions) subprocess per
569
+ // subtask via claude-runner.mjs. Capture the sessionId from
570
+ // the runner's JSON-line stream.
571
+ if (claudeAvailable) {
575
572
  try {
576
- const { spawnAgent } = await import('./cline-runner.mjs');
577
- // v3.11.0 — Fall back to projectRoot when serve-info is
578
- // missing `worktree` (older plugin builds only wrote
579
- // `{password, pid, port}`).
580
- const dispatchWorktree = serveInfo.worktree || projectRoot || '';
573
+ const { spawnAgent } = await import('./claude-runner.mjs');
574
+ // v6.3.0 — Prefer the bg-spawner's SDK-backed path when
575
+ // the SDK is reachable; fall back to the print-mode
576
+ // subprocess otherwise. We always pass `background: false`
577
+ // here so the runner returns a sessionId synchronously;
578
+ // the bg-spawner is used separately by the Active tab.
579
+ const dispatchWorktree = projectRoot || '';
581
580
  const promptText = buildPromptText(sub);
582
581
 
583
582
  // Predict the bg instance id (deterministic, derived from
@@ -597,14 +596,14 @@ export const taskDelegator = {
597
596
  });
598
597
 
599
598
  if (!spawnRes.ok || !spawnRes.sessionId) {
600
- dispatchError = spawnRes.error || 'cline run failed before reporting session id';
599
+ dispatchError = spawnRes.error || 'claude -p failed before reporting session id';
601
600
  } else {
602
601
  sessionId = spawnRes.sessionId;
603
602
  bgInstanceId = predictedInstanceId;
604
603
 
605
604
  // v3.5.5 — Wrap the agent run in a tmux session so
606
605
  // operators can `tmux attach -t bizar-bg-<id>` and watch
607
- // the cline process in real time.
606
+ // the claude process in real time.
608
607
  try {
609
608
  const tmuxRes = backgroundStore.spawnTmuxFor(
610
609
  `bg_${sessionId.slice(0, 16)}`,
@@ -623,9 +622,9 @@ export const taskDelegator = {
623
622
  dispatchError = err instanceof Error ? err.message : String(err);
624
623
  }
625
624
  } else {
626
- // Plugin not running — leave the subtask marked queued with a
627
- // dispatchPending flag. The UI surfaces this and the user can
628
- // retry via POST /api/tasks/:id/start.
625
+ // Claude Code not available — leave the subtask marked
626
+ // queued with a dispatchPending flag. The UI surfaces this
627
+ // and the user can retry via POST /api/tasks/:id/start.
629
628
  dispatchPending = true;
630
629
  }
631
630
 
@@ -1,33 +1,29 @@
1
1
  // src/components/chat/useChat.ts — shared chat state: messages, sessions,
2
2
  // send, polling, SSE, session-state tracking.
3
3
  //
4
- // v4.2.5 — Chat overhaul. Supports two parallel message streams:
4
+ // v6.3.0 — Claude Code migration. Supports two parallel message streams:
5
5
  // - bizar (GET /api/chat)
6
- // - cline (GET /api/cline-sessions/:id/messages + SSE)
6
+ // - claude (GET /api/claude-sessions/:id/messages + SSE)
7
7
  //
8
- // v5.0.0 — bug #4 fix: `loadClineSession` failure path now extracts
9
- // structured `code`, `cause`, `status`, and `suggestion` from the
10
- // server's ApiError.data envelope and exposes them via a new
11
- // `clineErrorInfo` field. `ChatInfoPanel` consumes that field to
12
- // render a structured "Couldn't load session" panel with the server's
13
- // `suggestion` verbatim, plus a Retry button.
14
- //
15
- // Changes from v3.22:
16
- // * SSE has automatic reconnect-with-backoff (1s → 30s, doubled on
17
- // each error up to a cap). Closes cleanly on unmount and on
18
- // session-switch (no leaked EventSource).
8
+ // Changes from v4.2.5:
9
+ // * Endpoint prefix changed: `/api/claude-sessions/*` → `/api/claude-sessions/*`
10
+ // * SSE event type names changed to match the Claude SDK envelope
11
+ // (`message.part.updated` → `delta`/`text_delta`, etc.)
12
+ // * Server no longer needs the `clineErrorInfo` 503 path; the
13
+ // `claudeErrorInfo` field stays for parity but the dashboard
14
+ // mostly sees 502s now (claude CLI not on PATH / spawn failed).
19
15
  // * Optimistic send uses a stable `msg_*` ID and is deduped when
20
- // cline echoes the message back via SSE `message.updated`/`message.user.*`.
21
- // * `clineMessages` keeps server-provided IDs distinct from
16
+ // claude echoes the message back via SDK events.
17
+ // * `claudeMessages` keeps server-provided IDs distinct from
22
18
  // optimistic IDs so the merge is unambiguous (server echo
23
19
  // replaces optimistic by matching messageID; otherwise both stick
24
20
  // around briefly until the user/session state catches up).
25
- // * `onSend` routes to `/cline-sessions/:id/send` when an
26
- // cline session is active, `/chat` otherwise. Errors surface
21
+ // * `onSend` routes to `/claude-sessions/:id/send` when a
22
+ // claude session is active, `/chat` otherwise. Errors surface
27
23
  // via toast + we always remove the optimistic placeholder.
28
24
  // * Sessions are managed by source:
29
25
  // - `bizarSessions` → local .jsonl store, POST /chat/sessions
30
- // - `clineSessions` → cline serve, GET /cline-sessions
26
+ // - `claudeSessions` → Claude Code, GET /claude-sessions
31
27
  // The rail shows both side-by-side with a source indicator and
32
28
  // uses separate rename/delete endpoints per source.
33
29
  // * All async actions surface a single `busy: { create, send, rename, delete }`
@@ -68,7 +64,7 @@ export interface ChatBusyState {
68
64
 
69
65
  /**
70
66
  * Structured error envelope surfaced by `loadClineSession` when
71
- * the upstream `/api/cline-sessions/:id/messages` call fails.
67
+ * the upstream `/api/claude-sessions/:id/messages` call fails.
72
68
  *
73
69
  * - `code` mirrors the server's `error` field (`plugin_offline`,
74
70
  * `directory_unknown`, `cline_error`, `bad_request`).
@@ -286,7 +282,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
286
282
  const refreshClineSessions = useCallback(async () => {
287
283
  try {
288
284
  const data = await api.get<{ sessions: ChatSession[] }>(
289
- '/cline-sessions',
285
+ '/claude-sessions',
290
286
  );
291
287
  // Enrich with source marker.
292
288
  const enriched: ChatSession[] = (data.sessions || []).map((s) => ({
@@ -333,8 +329,8 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
333
329
  // optional, but harmless).
334
330
  const tok = api.getToken();
335
331
  const url = tok
336
- ? `/api/cline-sessions/${encodeURIComponent(id)}/stream?token=${encodeURIComponent(tok)}`
337
- : `/api/cline-sessions/${encodeURIComponent(id)}/stream`;
332
+ ? `/api/claude-sessions/${encodeURIComponent(id)}/stream?token=${encodeURIComponent(tok)}`
333
+ : `/api/claude-sessions/${encodeURIComponent(id)}/stream`;
338
334
 
339
335
  sseCurrentSessionIdRef.current = id;
340
336
  sseAutoReconnectRef.current = true;
@@ -628,7 +624,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
628
624
 
629
625
  try {
630
626
  const data = await api.get<{ messages: ChatMessage[] }>(
631
- `/cline-sessions/${encodeURIComponent(id)}/messages`,
627
+ `/claude-sessions/${encodeURIComponent(id)}/messages`,
632
628
  );
633
629
  setClineMessages(data.messages || []);
634
630
  } catch (err) {
@@ -735,7 +731,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
735
731
  agent: string;
736
732
  directory: string;
737
733
  createdAt: number;
738
- }>('/cline-sessions/new', { agent });
734
+ }>('/claude-sessions/new', { agent });
739
735
  await refreshClineSessions();
740
736
  // Open the newly created session right away so the user is
741
737
  // dropped into a fresh empty thread, not stuck on the
@@ -814,7 +810,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
814
810
  setBusy((b) => ({ ...b, send: true }));
815
811
  try {
816
812
  await api.post<{ ok: boolean; messageId: string }>(
817
- `/cline-sessions/${encodeURIComponent(sid)}/send`,
813
+ `/claude-sessions/${encodeURIComponent(sid)}/send`,
818
814
  {
819
815
  message: trimmed,
820
816
  agent,
@@ -976,7 +972,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
976
972
  const isCline = clineSessions.some((s) => s.id === id);
977
973
  if (isCline) {
978
974
  await api.patch<{ id: string; title: string }>(
979
- `/cline-sessions/${encodeURIComponent(id)}`,
975
+ `/claude-sessions/${encodeURIComponent(id)}`,
980
976
  { title: trimmed },
981
977
  );
982
978
  setClineSessions((cur) =>
@@ -1012,7 +1008,7 @@ export function useChat(snapshot: Snapshot, settings: Settings, initialTaskId?:
1012
1008
  try {
1013
1009
  const isCline = clineSessions.some((s) => s.id === id);
1014
1010
  if (isCline) {
1015
- await api.del(`/cline-sessions/${encodeURIComponent(id)}`);
1011
+ await api.del(`/claude-sessions/${encodeURIComponent(id)}`);
1016
1012
  setClineSessions((cur) => cur.filter((s) => s.id !== id));
1017
1013
  if (activeClineSessionId === id) {
1018
1014
  closeClineSession();
@@ -1,17 +1,17 @@
1
- // src/views/Chat.tsx — desktop chat view (v4.2.5 design).
1
+ // src/views/Chat.tsx — desktop chat view (v6.3.0 design).
2
2
  //
3
- // v4.2.5 — chat overhaul:
3
+ // v6.3.0 — Claude Code migration:
4
4
  // * 3-column grid preserved (rail / thread / info).
5
5
  // * Composer goes through `chat.onSend`, which transparently routes
6
6
  // to the right backend endpoint based on `activeSource`:
7
- // - cline session active → POST /api/cline-sessions/:id/send
7
+ // - claude session active → POST /api/claude-sessions/:id/send
8
8
  // - otherwise → POST /api/chat
9
9
  // * "New session" button calls `chat.onCreateSession` which tries
10
- // POST /api/cline-sessions/new first (so the new session is a
11
- // fully-fledged cline session, scoped to the active worktree),
12
- // falling back to the local jsonl store when the cline plugin
13
- // is offline.
14
- // * Top-of-thread badge shows the active source ("cline" or
10
+ // POST /api/claude-sessions/new first (so the new session is a
11
+ // fully-fledged Claude Code session, scoped to the active worktree),
12
+ // falling back to the local jsonl store when the claude CLI is
13
+ // not on PATH.
14
+ // * Top-of-thread badge shows the active source ("claude" or
15
15
  // "bizar chat") so the user always knows where messages are going.
16
16
  // * Info panel gets session metadata + rename/delete actions.
17
17
  //
package/cli/bin.mjs CHANGED
@@ -78,7 +78,7 @@ if (
78
78
  // ── Banner ─────────────────────────────────────────────────────────────────────
79
79
 
80
80
  function showBanner() {
81
- console.log(chalk.bold.cyan(' ᛭ Bizar — Norse Pantheon Agent System for cline'));
81
+ console.log(chalk.bold.cyan(' ᛭ Bizar — Norse Pantheon Agent System for Claude Code'));
82
82
  console.log();
83
83
  }
84
84
 
@@ -97,7 +97,7 @@ function showHelp() {
97
97
  export [target] Export agents/rules to another harness
98
98
  artifact <subcommand> Manage visual artifacts
99
99
  test-gate Detect & run the project's test suite
100
- update Auto-update everything (cline + bizar + dash + plugin)
100
+ update Auto-update everything (claude + bizar + dash + sdk)
101
101
  service Manage the background service daemon
102
102
  dash <subcommand> Manage the dashboard (start/stop/status/cleanup/tui)
103
103
  memory <subcommand> Manage project memory (Bizar Memory Service)
@@ -109,7 +109,7 @@ function showHelp() {
109
109
  usage Show compact usage analytics summary (24h rolling)
110
110
  doctor Check the BizarHarness install for health issues
111
111
  repair Fix common install issues
112
- dev-link Symlink local plugin source into cline's plugin dir
112
+ dev-link Symlink local SDK source into Claude Code's plugin dir
113
113
  dev-unlink Remove the dev symlink and restore the deployed copy
114
114
  heads-up <subcommand> Manage pre-push / pre-release heads-ups
115
115
  bg <subcommand> Manage background agents (list/view/kill/logs)
@@ -118,7 +118,7 @@ function showHelp() {
118
118
  marketplace <subcommand> Browse and install plugins from the public marketplace
119
119
  agent-browser Install / update / verify the agent-browser CLI
120
120
  agent-browser-up Start Chromium for agent-browser (start/stop/status)
121
- providers detect Auto-detect provider API keys from env + cline.json
121
+ providers detect Auto-detect provider API keys from env + ~/.claude/settings.json
122
122
  clip <subcommand> Manage web clipper saved clips (list/delete/configure)
123
123
  ocr <subcommand> OCR operations on images (list/process/configure)
124
124
  digest Manage weekly digests (list/view/generate)
@@ -129,14 +129,14 @@ function showHelp() {
129
129
  eval Evaluate AI agent outputs against golden fixtures
130
130
  plan [v6.0.0+] Reserved for future plan management
131
131
  validate Validate the Bizar install (21 checks)
132
- setup-provider Configure a provider in cline.json (since v6.2.2 installer doesn't touch providers)
133
- config Show current Cline configuration (pass-through to cline config)
134
- history List session history (pass-through to cline history)
135
- hub Manage the local hub daemon (pass-through to cline hub)
136
- hook Handle a hook payload from stdin (pass-through to cline hook)
137
- team Spawn an agent team from CLI (wraps cline --team-name)
132
+ setup-provider Configure a provider in ~/.claude/settings.json (since v6.2.2 installer doesn't touch providers)
133
+ config Show current Claude Code configuration (pass-through to claude config)
134
+ history List session history (pass-through to claude history)
135
+ hub Manage the local hub daemon (pass-through to claude hub)
136
+ hook Handle a hook payload from stdin (pass-through to claude hook)
137
+ team Spawn an agent team from CLI (wraps claude --team-name)
138
138
  subagent Spawn a read-only research subagent from CLI
139
- rca Analyze a GitHub issue (Cline CLI sample)
139
+ rca Analyze a GitHub issue (Claude Code CLI sample)
140
140
 
141
141
  Examples:
142
142
  bizar install
@@ -151,8 +151,7 @@ function showHelp() {
151
151
 
152
152
  Install:
153
153
  npm install -g @polderlabs/bizar
154
- npm install -g @polderlabs/bizar-dash
155
- npm install -g @polderlabs/bizar-plugin
154
+ npm install -g @anthropic-ai/claude-code
156
155
  `);
157
156
  }
158
157
 
@@ -548,15 +547,15 @@ async function main() {
548
547
  case 'hook':
549
548
  case 'team':
550
549
  case 'subagent': {
551
- // v6.2.3 — Pass-through wrappers for Cline CLI commands.
552
- // These live in cli/commands/cline-cmd.mjs.
553
- const mod = await importCommand('cline-cmd');
550
+ // v6.3.0 — Pass-through wrappers for Claude Code CLI commands.
551
+ // These live in cli/commands/claude-cmd.mjs.
552
+ const mod = await importCommand('claude-cmd');
554
553
  if (!mod) {
555
- console.error(chalk.red(` ✗ Could not load cline-cmd module`));
554
+ console.error(chalk.red(` ✗ Could not load claude-cmd module`));
556
555
  process.exit(EXIT_ERROR);
557
556
  return;
558
557
  }
559
- dbg('loaded command module:', 'cline-cmd');
558
+ dbg('loaded command module:', 'claude-cmd');
560
559
  const found = await mod.run(cmd, cmdArgs, isHelpRequest);
561
560
  if (!found) {
562
561
  console.error(chalk.red(` ✗ Unknown command: ${cmd}`));