@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.
- package/.claude/CLAUDE.md +15 -0
- package/.claude/agents/_shared/AGENT_BASELINE.md +168 -0
- package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
- package/.claude/agents/_shared/SKILLS.md +109 -0
- package/.claude/agents/agent-browser.md +80 -0
- package/.claude/agents/baldr.md +49 -0
- package/.claude/agents/forseti.md +51 -0
- package/.claude/agents/frigg.md +42 -0
- package/.claude/agents/heimdall.md +33 -0
- package/.claude/agents/hermod.md +53 -0
- package/.claude/agents/mimir.md +49 -0
- package/.claude/agents/odin.md +287 -0
- package/.claude/agents/quick.md +34 -0
- package/.claude/agents/semble-search.md +50 -0
- package/.claude/agents/thor.md +53 -0
- package/.claude/agents/tyr.md +56 -0
- package/.claude/agents/vidarr.md +54 -0
- package/.claude/agents/vor.md +53 -0
- package/.claude/commands/audit.md +25 -0
- package/.claude/commands/bizar.md +22 -0
- package/.claude/commands/explain.md +17 -0
- package/.claude/commands/init.md +29 -0
- package/.claude/commands/learn.md +44 -0
- package/.claude/commands/plan.md +35 -0
- package/.claude/commands/plow-through.md +50 -0
- package/.claude/commands/pr-review.md +49 -0
- package/.claude/commands/setup-provider.md +96 -0
- package/.claude/commands/tailscale-serve.md +100 -0
- package/.claude/commands/team.md +132 -0
- package/.claude/commands/test.md +62 -0
- package/.claude/commands/validate.md +68 -0
- package/.claude/commands/visual-plan.md +24 -0
- package/.claude/hooks/README.md +92 -0
- package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
- package/.claude/hooks/pretooluse-bash.mjs +81 -0
- package/.claude/hooks/pretooluse-editwrite.mjs +139 -0
- package/.claude/hooks/sessionend-recall.mjs +74 -0
- package/.claude/hooks/sessionstart-prime.mjs +80 -0
- package/.claude/hooks/userpromptsubmit-tag.mjs +80 -0
- package/.claude/settings.json +116 -0
- package/.claude/skills/9router/SKILL.md +80 -0
- package/.claude/skills/9router-chat/SKILL.md +73 -0
- package/.claude/skills/9router-embeddings/SKILL.md +69 -0
- package/.claude/skills/9router-image/SKILL.md +86 -0
- package/.claude/skills/9router-stt/SKILL.md +79 -0
- package/.claude/skills/9router-tts/SKILL.md +80 -0
- package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
- package/.claude/skills/9router-web-search/SKILL.md +91 -0
- package/.claude/skills/bizar/README.md +9 -0
- package/.claude/skills/bizar/SKILL.md +450 -0
- package/.claude/skills/cpp-coding-standards/README.md +28 -0
- package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
- package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
- package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
- package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
- package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
- package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
- package/.claude/skills/cpp-testing/README.md +28 -0
- package/.claude/skills/cpp-testing/SKILL.md +304 -0
- package/.claude/skills/cpp-testing/references/coverage.md +370 -0
- package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
- package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
- package/.claude/skills/cpp-testing/references/mocking.md +364 -0
- package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
- package/.claude/skills/cubesandbox/SKILL.md +148 -0
- package/.claude/skills/embedded-esp-idf/README.md +41 -0
- package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
- package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
- package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
- package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
- package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
- package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
- package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
- package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
- package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
- package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
- package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
- package/.claude/skills/glyph/SKILL.md +163 -0
- package/.claude/skills/harness-engineering/SKILL.md +143 -0
- package/.claude/skills/lightrag/SKILL.md +81 -0
- package/.claude/skills/memory-protocol/SKILL.md +105 -0
- package/.claude/skills/obsidian/SKILL.md +306 -0
- package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
- package/.claude/skills/self-improvement/SKILL.md +64 -0
- package/README.md +87 -59
- package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js → EnvVarsSection-B58aiJiE.js} +1 -1
- package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js.map → EnvVarsSection-B58aiJiE.js.map} +1 -1
- package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js → MobileChat-BJrqwVDd.js} +1 -1
- package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js.map → MobileChat-BJrqwVDd.js.map} +1 -1
- package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js → MobileSettings-CEQNJNLJ.js} +1 -1
- package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js.map → MobileSettings-CEQNJNLJ.js.map} +1 -1
- package/bizar-dash/dist/assets/{main-DYiZqMrn.js → main-IvfQAOfy.js} +1 -1
- package/bizar-dash/dist/assets/{main-DYiZqMrn.js.map → main-IvfQAOfy.js.map} +1 -1
- package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js → markdown-tOLaD6nm.js} +1 -1
- package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js.map → markdown-tOLaD6nm.js.map} +1 -1
- package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js → mobile-DYCHcUpq.js} +1 -1
- package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js.map → mobile-DYCHcUpq.js.map} +1 -1
- package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js → mobile-layout-CBHjpwsb.js} +2 -2
- package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js.map → mobile-layout-CBHjpwsb.js.map} +1 -1
- package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js → useSlashCommands-Bd7_FA6U.js} +2 -2
- package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js.map → useSlashCommands-Bd7_FA6U.js.map} +1 -1
- package/bizar-dash/dist/assets/{vendor-CeHGtduv.js → vendor-C843201K.js} +12 -12
- package/bizar-dash/dist/assets/vendor-C843201K.js.map +1 -0
- package/bizar-dash/dist/index.html +6 -6
- package/bizar-dash/dist/mobile.html +2 -2
- package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/bizar-dash/src/server/api.mjs +4 -4
- package/bizar-dash/src/server/background-store.mjs +15 -16
- package/bizar-dash/src/server/bg-poller.mjs +25 -35
- package/bizar-dash/src/server/bg-retry.mjs +66 -194
- package/bizar-dash/src/server/claude-bg-spawner.mjs +390 -0
- package/bizar-dash/src/server/claude-info.mjs +412 -0
- package/bizar-dash/src/server/{cline-runner.mjs → claude-runner.mjs} +53 -48
- package/bizar-dash/src/server/claude-sdk.mjs +191 -0
- package/bizar-dash/src/server/providers-store.mjs +22 -49
- package/bizar-dash/src/server/routes/background.mjs +24 -20
- package/bizar-dash/src/server/routes/chat.mjs +223 -326
- package/bizar-dash/src/server/routes/claude-session-detail.mjs +329 -0
- package/bizar-dash/src/server/routes/claude-sessions.mjs +259 -0
- package/bizar-dash/src/server/routes/tasks.mjs +20 -28
- package/bizar-dash/src/server/task-delegator.mjs +76 -77
- package/bizar-dash/src/web/components/chat/useChat.ts +23 -27
- package/bizar-dash/src/web/views/Chat.tsx +8 -8
- package/cli/bin.mjs +31 -18
- package/cli/commands/claude-cmd.mjs +348 -0
- package/cli/commands/install.mjs +12 -11
- package/cli/commands/sandbox.mjs +220 -0
- package/cli/commands/validate.mjs +252 -288
- package/cli/dev-link.test.mjs +11 -11
- package/cli/doctor.mjs +131 -213
- package/cli/install.mjs +33 -37
- package/cli/install.test.mjs +9 -9
- package/cli/provision-claude.mjs +893 -0
- package/cli/provision.mjs +330 -226
- package/cli/provision.test.mjs +102 -0
- package/cli/utils.mjs +72 -58
- package/config/AGENTS.md +28 -28
- package/config/agents/_shared/AGENT_BASELINE.md +104 -684
- package/config/skills/bizar/SKILL.md +197 -0
- package/config/skills/cubesandbox/SKILL.md +148 -0
- package/config/skills/harness-engineering/SKILL.md +142 -0
- package/install.sh +66 -44
- package/package.json +19 -11
- package/packages/sdk/ARCHITECTURE.md +40 -36
- package/packages/sdk/package-lock.json +32 -0
- package/packages/sdk/package.json +15 -5
- package/{plugins/bizar → packages/sdk}/src/dangerous-patterns.ts +6 -28
- package/packages/sdk/src/fingerprint.ts +0 -0
- package/packages/sdk/src/index.ts +38 -73
- package/packages/sdk/src/mcp/bin.ts +51 -0
- package/packages/sdk/src/mcp/server.ts +498 -0
- package/{plugins/bizar/src/memory-vault.ts → packages/sdk/src/memory/index.ts} +18 -21
- package/packages/sdk/tests/sdk.test.mjs +148 -0
- package/packages/sdk/vitest.config.ts +1 -1
- package/scripts/bh-full-e2e.mjs +166 -363
- package/scripts/check-deps.mjs +28 -46
- package/scripts/mirror-claude-md.sh +78 -0
- package/scripts/test-in-container.sh +157 -0
- package/templates/clean-state-checklist.md +3 -3
- package/templates/sprint-contract.md +2 -2
- package/bizar-dash/.bizar/activity.log +0 -3
- package/bizar-dash/.omx/logs/omx-2026-07-07.jsonl +0 -1
- package/bizar-dash/.omx/state/session.json +0 -10
- package/bizar-dash/bizar-design/EXPLANATION.md +0 -307
- package/bizar-dash/bizar-design/INSTRUCTIONS.md +0 -149
- package/bizar-dash/bizar-design/canvas.html +0 -281
- package/bizar-dash/bizar-design/canvas.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/components.css +0 -1665
- package/bizar-dash/bizar-design/components.html +0 -557
- package/bizar-dash/bizar-design/components.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/agents.html +0 -74
- package/bizar-dash/bizar-design/desktop/agents.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/memory.html +0 -75
- package/bizar-dash/bizar-design/desktop/memory.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/metrics.html +0 -63
- package/bizar-dash/bizar-design/desktop/metrics.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/overview.html +0 -95
- package/bizar-dash/bizar-design/desktop/overview.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/settings.html +0 -70
- package/bizar-dash/bizar-design/desktop/settings.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/icons.svg +0 -44
- package/bizar-dash/bizar-design/index.html +0 -192
- package/bizar-dash/bizar-design/index.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/agents.html +0 -29
- package/bizar-dash/bizar-design/mobile/agents.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/memory.html +0 -28
- package/bizar-dash/bizar-design/mobile/memory.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/metrics.html +0 -29
- package/bizar-dash/bizar-design/mobile/metrics.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/overview.html +0 -33
- package/bizar-dash/bizar-design/mobile/overview.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/settings.html +0 -28
- package/bizar-dash/bizar-design/mobile/settings.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/prototype.js +0 -114
- package/bizar-dash/bizar-design/tokens.css +0 -106
- package/bizar-dash/dist/assets/vendor-CeHGtduv.js.map +0 -1
- package/bizar-dash/node_modules/.package-lock.json +0 -6
- package/bizar-dash/package-lock.json +0 -6
- package/bizar-dash/src/server/cline-sdk.mjs +0 -132
- package/bizar-dash/src/server/routes/cline-session-detail.mjs +0 -559
- package/bizar-dash/src/server/routes/cline-sessions.mjs +0 -291
- package/cli/commands/cline-cmd.mjs +0 -289
- package/cli/commands/validate.test.mjs +0 -344
- package/cli/doctor.test.mjs +0 -350
- package/config/cline.json.template +0 -342
- package/packages/sdk/src/client.ts +0 -188
- package/packages/sdk/src/cline-events.ts +0 -134
- package/packages/sdk/src/cline-types.ts +0 -66
- package/packages/sdk/src/cline.ts +0 -339
- package/packages/sdk/src/errors.ts +0 -129
- package/packages/sdk/src/events.ts +0 -153
- package/packages/sdk/src/types.ts +0 -176
- package/packages/sdk/tests/client.test.ts +0 -217
- package/packages/sdk/tests/errors.test.ts +0 -108
- package/packages/sdk/tests/events.test.ts +0 -139
- package/packages/sdk/tests/fixtures/fetch-mock.ts +0 -152
- package/packages/sdk/tests/fixtures/sse-mock.ts +0 -30
- package/plugins/bizar/ARCHITECTURE.md +0 -142
- package/plugins/bizar/CONSTRAINTS.md +0 -67
- package/plugins/bizar/LICENSE +0 -21
- package/plugins/bizar/README.md +0 -448
- package/plugins/bizar/index.ts +0 -872
- package/plugins/bizar/package.json +0 -39
- package/plugins/bizar/scripts/check-forbidden-imports.sh +0 -33
- package/plugins/bizar/src/background-state.ts +0 -641
- package/plugins/bizar/src/background.ts +0 -1806
- package/plugins/bizar/src/cline-runner.ts +0 -203
- package/plugins/bizar/src/clineruntime.ts +0 -227
- package/plugins/bizar/src/commands-impl.ts +0 -151
- package/plugins/bizar/src/commands.ts +0 -1799
- package/plugins/bizar/src/compaction.d.mts +0 -48
- package/plugins/bizar/src/compaction.mjs +0 -192
- package/plugins/bizar/src/dashboard-client.ts +0 -233
- package/plugins/bizar/src/event-stream.ts +0 -606
- package/plugins/bizar/src/fingerprint.ts +0 -120
- package/plugins/bizar/src/handoff.ts +0 -79
- package/plugins/bizar/src/hooks/memory-flush-on-compact.ts +0 -123
- package/plugins/bizar/src/hooks/memory-inject.ts +0 -247
- package/plugins/bizar/src/hooks/memory-write-on-end.ts +0 -188
- package/plugins/bizar/src/hooks/skill-curator.ts +0 -180
- package/plugins/bizar/src/http-client.ts +0 -467
- package/plugins/bizar/src/key-rotation.ts +0 -218
- package/plugins/bizar/src/logger.ts +0 -144
- package/plugins/bizar/src/loop-engineering.ts +0 -241
- package/plugins/bizar/src/loop.ts +0 -176
- package/plugins/bizar/src/mistake-recovery.ts +0 -98
- package/plugins/bizar/src/odin.ts +0 -227
- package/plugins/bizar/src/options.ts +0 -470
- package/plugins/bizar/src/plan-fs.ts +0 -323
- package/plugins/bizar/src/reasoning-clean.ts +0 -454
- package/plugins/bizar/src/report.ts +0 -178
- package/plugins/bizar/src/research-prompt.ts +0 -35
- package/plugins/bizar/src/serve-info.ts +0 -228
- package/plugins/bizar/src/serve.ts +0 -496
- package/plugins/bizar/src/settings.ts +0 -349
- package/plugins/bizar/src/state.ts +0 -298
- package/plugins/bizar/src/tool-discipline.ts +0 -105
- package/plugins/bizar/src/tools/agent-browser.ts +0 -315
- package/plugins/bizar/src/tools/bg-collect.ts +0 -131
- package/plugins/bizar/src/tools/bg-get-comments.ts +0 -266
- package/plugins/bizar/src/tools/bg-kill.ts +0 -116
- package/plugins/bizar/src/tools/bg-pause.ts +0 -99
- package/plugins/bizar/src/tools/bg-report-progress.ts +0 -115
- package/plugins/bizar/src/tools/bg-resume.ts +0 -94
- package/plugins/bizar/src/tools/bg-send-message.ts +0 -223
- package/plugins/bizar/src/tools/bg-spawn.ts +0 -502
- package/plugins/bizar/src/tools/bg-status.ts +0 -130
- package/plugins/bizar/src/tools/graph-query.ts +0 -278
- package/plugins/bizar/src/tools/loop-engineering.ts +0 -193
- package/plugins/bizar/src/tools/memory-list.ts +0 -43
- package/plugins/bizar/src/tools/memory-read.ts +0 -69
- package/plugins/bizar/src/tools/memory-search.ts +0 -47
- package/plugins/bizar/src/tools/memory-write.ts +0 -54
- package/plugins/bizar/src/tools/open-kb.ts +0 -198
- package/plugins/bizar/src/tools/plan-action.ts +0 -785
- package/plugins/bizar/src/tools/read-glyph-feedback.ts +0 -191
- package/plugins/bizar/src/tools/team-spawn.ts +0 -73
- package/plugins/bizar/src/tools/team-status.ts +0 -76
- package/plugins/bizar/src/tools/wait-for-feedback.ts +0 -415
- package/plugins/bizar/src/trajectory.ts +0 -104
- package/plugins/bizar/tests/README.md +0 -99
- package/plugins/bizar/tests/attach-handler-bug.test.ts +0 -169
- package/plugins/bizar/tests/background-state.test.ts +0 -277
- package/plugins/bizar/tests/background.test.ts +0 -402
- package/plugins/bizar/tests/block.test.ts +0 -195
- package/plugins/bizar/tests/canonical-key-order.test.ts +0 -75
- package/plugins/bizar/tests/clineruntime-config.test.ts +0 -283
- package/plugins/bizar/tests/commands-impl.test.ts +0 -316
- package/plugins/bizar/tests/commands.test.ts +0 -584
- package/plugins/bizar/tests/compaction.test.ts +0 -264
- package/plugins/bizar/tests/config.test.ts +0 -128
- package/plugins/bizar/tests/dashboard-client.test.ts +0 -159
- package/plugins/bizar/tests/dispose.test.ts +0 -336
- package/plugins/bizar/tests/event-stream.test.ts +0 -409
- package/plugins/bizar/tests/event.test.ts +0 -262
- package/plugins/bizar/tests/fingerprint.test.ts +0 -162
- package/plugins/bizar/tests/http-client.test.ts +0 -404
- package/plugins/bizar/tests/init-helpers.test.ts +0 -203
- package/plugins/bizar/tests/integration/slash-command.test.ts +0 -349
- package/plugins/bizar/tests/integration/tool-routing.test.ts +0 -98
- package/plugins/bizar/tests/key-rotation.test.ts +0 -396
- package/plugins/bizar/tests/loop-engineering.test.ts +0 -168
- package/plugins/bizar/tests/loop.test.ts +0 -397
- package/plugins/bizar/tests/memory-write-on-end.test.ts +0 -92
- package/plugins/bizar/tests/mistake-recovery.test.ts +0 -116
- package/plugins/bizar/tests/odin.test.ts +0 -125
- package/plugins/bizar/tests/options.test.ts +0 -329
- package/plugins/bizar/tests/reasoning-clean.test.ts +0 -422
- package/plugins/bizar/tests/safety.test.ts +0 -256
- package/plugins/bizar/tests/serve.test.ts +0 -339
- package/plugins/bizar/tests/settings.test.ts +0 -351
- package/plugins/bizar/tests/stall-think.test.ts +0 -750
- package/plugins/bizar/tests/state.test.ts +0 -276
- package/plugins/bizar/tests/tool-discipline.test.ts +0 -77
- package/plugins/bizar/tests/tools/agent-browser.test.ts +0 -98
- package/plugins/bizar/tests/tools/bg-collect.test.ts +0 -337
- package/plugins/bizar/tests/tools/bg-get-comments.test.ts +0 -485
- package/plugins/bizar/tests/tools/bg-kill.test.ts +0 -235
- package/plugins/bizar/tests/tools/bg-pause.test.ts +0 -61
- package/plugins/bizar/tests/tools/bg-report-progress.test.ts +0 -79
- package/plugins/bizar/tests/tools/bg-resume.test.ts +0 -40
- package/plugins/bizar/tests/tools/bg-send-message.test.ts +0 -116
- package/plugins/bizar/tests/tools/bg-spawn-delegation.test.ts +0 -147
- package/plugins/bizar/tests/tools/bg-spawn-http.test.ts +0 -233
- package/plugins/bizar/tests/tools/bg-spawn.test.ts +0 -311
- package/plugins/bizar/tests/tools/bg-status.test.ts +0 -217
- package/plugins/bizar/tests/tools/cline-runner.test.ts +0 -115
- package/plugins/bizar/tests/tools/plan-action.test.ts +0 -599
- package/plugins/bizar/tests/tools/read-glyph-feedback.test.ts +0 -253
- package/plugins/bizar/tests/tools/wait-for-feedback.test.ts +0 -390
- package/plugins/bizar/tests/update-deadlock.test.ts +0 -151
- package/plugins/bizar/tsconfig.json +0 -29
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
}
|
|
30
30
|
})();
|
|
31
31
|
</script>
|
|
32
|
-
<script type="module" crossorigin src="/assets/main-
|
|
32
|
+
<script type="module" crossorigin src="/assets/main-IvfQAOfy.js"></script>
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-Dn4wqh4Z.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/icons-Do5N2jmX.js">
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/assets/mobile-layout-
|
|
35
|
+
<link rel="modulepreload" crossorigin href="/assets/mobile-layout-CBHjpwsb.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/Toast-Cpl6-E63.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/EnvVarsSection-
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/vendor-
|
|
39
|
-
<link rel="modulepreload" crossorigin href="/assets/markdown-
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/useSlashCommands-
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/EnvVarsSection-B58aiJiE.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/vendor-C843201K.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/markdown-tOLaD6nm.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/useSlashCommands-Bd7_FA6U.js">
|
|
41
41
|
<link rel="stylesheet" crossorigin href="/assets/mobile-layout-CJnZNLy3.css">
|
|
42
42
|
<link rel="stylesheet" crossorigin href="/assets/main-ietCEg_R.css">
|
|
43
43
|
</head>
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
13
13
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
14
14
|
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
|
|
15
|
-
<script type="module" crossorigin src="/assets/mobile-
|
|
15
|
+
<script type="module" crossorigin src="/assets/mobile-DYCHcUpq.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-Dn4wqh4Z.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/icons-Do5N2jmX.js">
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/mobile-layout-
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/mobile-layout-CBHjpwsb.js">
|
|
19
19
|
<link rel="stylesheet" crossorigin href="/assets/mobile-layout-CJnZNLy3.css">
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"4.1.
|
|
1
|
+
{"version":"4.1.10","results":[[":tests/mobile-layout.test.tsx",{"duration":320.32545200000004,"failed":false}],[":tests/autosave.test.tsx",{"duration":301.22693400000014,"failed":false}],[":tests/eval-web-ui.test.tsx",{"duration":116.93985599999996,"failed":false}],[":tests/mobile-settings.test.tsx",{"duration":221.603749,"failed":false}],[":tests/mobile-overview.test.tsx",{"duration":320.2485939999999,"failed":false}],[":tests/minimax-bar.test.tsx",{"duration":22.62473,"failed":false}],[":tests/BackgroundAgents.test.tsx",{"duration":293.822576,"failed":false}],[":tests/components/settings-search.test.tsx",{"duration":753.5182920000001,"failed":false}],[":tests/a11y/forms.test.tsx",{"duration":94.38952799999993,"failed":true}],[":tests/settings-layout.test.tsx",{"duration":233.74806,"failed":false}],[":tests/a11y.test.tsx",{"duration":1027.422834,"failed":false}],[":tests/mobile-tasks.test.tsx",{"duration":217.895489,"failed":false}],[":tests/components/doctor-panel.test.tsx",{"duration":50.94508099999996,"failed":false}],[":tests/views/topbar.test.tsx",{"duration":515.6951700000001,"failed":false}],[":tests/settings-mode-wiring.test.tsx",{"duration":323.99789299999986,"failed":false}],[":tests/chat-composer.test.tsx",{"duration":285.23247200000003,"failed":false}],[":tests/backup-restore.test.tsx",{"duration":197.0859200000001,"failed":false}],[":tests/views/Memory.test.tsx",{"duration":427.6884359999999,"failed":false}],[":tests/components/Toast.test.tsx",{"duration":151.46341700000005,"failed":false}],[":tests/views/sidebar.test.tsx",{"duration":197.5262919999999,"failed":false}],[":tests/settings-nav.test.tsx",{"duration":322.146624,"failed":false}],[":tests/lib/search-fuzzy.test.ts",{"duration":5.650273999999968,"failed":false}],[":tests/lib/utils.test.ts",{"duration":17.499018999999976,"failed":false}],[":tests/voice-recorder.test.tsx",{"duration":145.993248,"failed":false}],[":tests/components/Modal.test.tsx",{"duration":182.68028600000002,"failed":false}],[":tests/mobile-chat.test.tsx",{"duration":40.88216,"failed":false}],[":tests/memory-graph-view.test.tsx",{"duration":33.883016,"failed":false}],[":tests/hooks/useModal.test.tsx",{"duration":164.85650500000008,"failed":false}],[":tests/components/screenshot-ocr.test.tsx",{"duration":29.824476000000004,"failed":false}],[":tests/hooks/useToast.test.tsx",{"duration":77.48894299999995,"failed":false}],[":tests/components/workspace-selector.test.tsx",{"duration":145.988789,"failed":false}],[":tests/lib/i18n.test.ts",{"duration":2.6850140000000238,"failed":false}],[":tests/components/Button.test.tsx",{"duration":73.86340099999995,"failed":false}],[":tests/components/Spinner.test.tsx",{"duration":47.97077300000001,"failed":false}],[":tests/components/StatusBadge.test.tsx",{"duration":26.21738899999997,"failed":false}],[":tests/components/Card.test.tsx",{"duration":24.035827999999924,"failed":false}]]}
|
|
@@ -39,8 +39,8 @@ import { createConfigRouter } from './routes/config.mjs';
|
|
|
39
39
|
import { createProvidersRouter } from './routes/providers.mjs';
|
|
40
40
|
import { createSettingsRouter } from './routes/settings.mjs';
|
|
41
41
|
import { createChatRouter } from './routes/chat.mjs';
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
42
|
+
import { createClaudeSessionsRouter } from './routes/claude-sessions.mjs';
|
|
43
|
+
import { createClaudeSessionDetailRouter } from './routes/claude-session-detail.mjs';
|
|
44
44
|
import { createDialogsRouter } from './routes/dialogs.mjs';
|
|
45
45
|
import { createSkillsRouter } from './routes/skills.mjs';
|
|
46
46
|
import { createObsidianRouter } from './routes/obsidian.mjs';
|
|
@@ -124,8 +124,8 @@ export async function createApiRouter({
|
|
|
124
124
|
router.use(createUpdateRouter({ broadcast }));
|
|
125
125
|
router.use(createSettingsRouter({ state, broadcast }));
|
|
126
126
|
router.use(createChatRouter({ state, broadcast }));
|
|
127
|
-
router.use(
|
|
128
|
-
router.use(
|
|
127
|
+
router.use(createClaudeSessionsRouter());
|
|
128
|
+
router.use(createClaudeSessionDetailRouter());
|
|
129
129
|
router.use(createDialogsRouter({ broadcast }));
|
|
130
130
|
router.use(createSkillsRouter({ broadcast }));
|
|
131
131
|
router.use(await createObsidianRouter({ projectRoot }));
|
|
@@ -176,9 +176,10 @@ export const backgroundStore = {
|
|
|
176
176
|
|
|
177
177
|
/**
|
|
178
178
|
* Best-effort: kill the tmux session for an instance.
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
179
|
+
* v6.3.0 — Claude Code sessions are spawned directly via the
|
|
180
|
+
* claude-bg-spawner; we also kill the Claude Code process
|
|
181
|
+
* tracked under `inst.sessionId` so the bg agent is fully
|
|
182
|
+
* terminated.
|
|
182
183
|
*/
|
|
183
184
|
async kill(instanceId) {
|
|
184
185
|
const steps = [];
|
|
@@ -192,26 +193,24 @@ export const backgroundStore = {
|
|
|
192
193
|
|
|
193
194
|
if (inst.sessionId) {
|
|
194
195
|
try {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
// v6.3.0 — Claude Code has no equivalent of the Cline
|
|
197
|
+
// serve HTTP `/abort` endpoint. The bg-spawner tracks the
|
|
198
|
+
// Claude Code process for each instance id (which is the
|
|
199
|
+
// same value we already have) and exposes `killBgAgent()`.
|
|
200
|
+
const { isAlive, killBgAgent } = await import('./claude-bg-spawner.mjs').catch(() => ({}));
|
|
201
|
+
if (isAlive && isAlive(instanceId)) {
|
|
202
|
+
const killed = await killBgAgent(instanceId);
|
|
203
|
+
steps.push({ step: 'abort-session', ok: !!killed?.ok, ...(killed || {}) });
|
|
204
|
+
if (!killed?.ok) ok = false;
|
|
200
205
|
} else {
|
|
201
|
-
|
|
202
|
-
serveInfo,
|
|
203
|
-
inst.sessionId,
|
|
204
|
-
inst.worktree || serveInfo.worktree,
|
|
205
|
-
);
|
|
206
|
-
steps.push({ step: 'abort-session', ...aborted });
|
|
207
|
-
if (!aborted.ok) ok = false;
|
|
206
|
+
steps.push({ step: 'abort-session', ok: true, note: 'no live claude process tracked' });
|
|
208
207
|
}
|
|
209
208
|
} catch (err) {
|
|
210
209
|
ok = false;
|
|
211
210
|
steps.push({ step: 'abort-session', ok: false, error: err instanceof Error ? err.message : String(err) });
|
|
212
211
|
}
|
|
213
212
|
} else {
|
|
214
|
-
steps.push({ step: 'abort-session', ok: true, note: 'no
|
|
213
|
+
steps.push({ step: 'abort-session', ok: true, note: 'no claude session id present' });
|
|
215
214
|
}
|
|
216
215
|
|
|
217
216
|
if (inst._file && existsSync(inst._file)) {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* src/server/bg-poller.mjs
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* v6.3.0 — Task-completion polling bridge for Claude Code.
|
|
5
5
|
*
|
|
6
|
-
* The
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* The bg state files live at `~/.cache/bizar/bg/<id>.json`. When an
|
|
7
|
+
* instance reaches a terminal state (`done` or `failed`), this
|
|
8
|
+
* poller:
|
|
9
9
|
*
|
|
10
10
|
* 1. Updates the linked task's `status` to `done` / `blocked`.
|
|
11
11
|
* 2. Kills the tmux session (Task 3 integration) if one is alive.
|
|
12
12
|
* 3. For `done` instances, scans the final assistant message from
|
|
13
|
-
* the
|
|
14
|
-
* when found, saves it via the artifacts store and links
|
|
15
|
-
* artifact id onto the task's `metadata
|
|
13
|
+
* the Claude Code session for an `html-artifact` fenced block
|
|
14
|
+
* and, when found, saves it via the artifacts store and links
|
|
15
|
+
* the artifact id onto the task's `metadata`.
|
|
16
16
|
* 4. Broadcasts a `tasks:change` event so the UI updates in real
|
|
17
17
|
* time without waiting for a full snapshot.
|
|
18
18
|
*
|
|
@@ -23,14 +23,13 @@
|
|
|
23
23
|
*
|
|
24
24
|
* Idempotency: we remember the last status we've seen per instance
|
|
25
25
|
* in a `Map` and only react to transitions, so a `done` instance that
|
|
26
|
-
* reappears in the list
|
|
27
|
-
* progress event) won't trigger a duplicate task update.
|
|
26
|
+
* reappears in the list won't trigger a duplicate task update.
|
|
28
27
|
*/
|
|
29
28
|
import { backgroundStore } from './background-store.mjs';
|
|
30
29
|
import { tasksStore } from './tasks-store.mjs';
|
|
31
30
|
import { projectsStore } from './projects-store.mjs';
|
|
32
31
|
import { artifactsStore, extractArtifactFromMessage } from './artifacts-store.mjs';
|
|
33
|
-
import {
|
|
32
|
+
import { listClaudeMessages, readLastAssistantText } from './claude-info.mjs';
|
|
34
33
|
import { execFileSync } from 'node:child_process';
|
|
35
34
|
|
|
36
35
|
const POLL_INTERVAL_MS = 3_000;
|
|
@@ -79,37 +78,27 @@ function recordPollerFailure(scope, taskId, instanceId, err) {
|
|
|
79
78
|
let _interval = null;
|
|
80
79
|
|
|
81
80
|
/**
|
|
82
|
-
* Read the artifact for a finished bg instance from the
|
|
81
|
+
* Read the artifact for a finished bg instance from the Claude Code
|
|
83
82
|
* session. Returns the { html, name } pair or null when:
|
|
84
|
-
* - the
|
|
85
|
-
* - the
|
|
83
|
+
* - the session id is missing
|
|
84
|
+
* - the session has no messages
|
|
86
85
|
* - the final assistant message has no html-artifact block
|
|
87
86
|
*
|
|
88
87
|
* @returns {Promise<{html:string,name:string|null}|null>}
|
|
89
88
|
*/
|
|
90
89
|
async function scanForArtifact(bg) {
|
|
91
90
|
if (!bg.sessionId) return null;
|
|
92
|
-
const
|
|
93
|
-
if (!
|
|
94
|
-
// v3.5.5 — `active.path` is the project root; that's the worktree
|
|
95
|
-
// the cline session was created in. Fall back to the plugin's
|
|
96
|
-
// recorded worktree when the active project has been removed.
|
|
97
|
-
const active = projectsStore.active();
|
|
98
|
-
const directory = bg.worktree || (active && active.path) || serveInfo.worktree || '';
|
|
99
|
-
const list = await listClineMessages(serveInfo, bg.sessionId, directory, ARTIFACT_SCAN_TIMEOUT_MS);
|
|
100
|
-
if (!list.ok || !Array.isArray(list.messages) || list.messages.length === 0) {
|
|
91
|
+
const result = listClaudeMessages(bg.sessionId);
|
|
92
|
+
if (!result.ok || !Array.isArray(result.messages) || result.messages.length === 0) {
|
|
101
93
|
return null;
|
|
102
94
|
}
|
|
103
95
|
// Walk newest → oldest; pick the last assistant message.
|
|
104
|
-
const assistants =
|
|
105
|
-
.filter((m) =>
|
|
106
|
-
.sort((a, b) =>
|
|
107
|
-
const ta = a?.info?.time?.created || 0;
|
|
108
|
-
const tb = b?.info?.time?.created || 0;
|
|
109
|
-
return tb - ta;
|
|
110
|
-
});
|
|
96
|
+
const assistants = result.messages
|
|
97
|
+
.filter((m) => m.role === 'assistant')
|
|
98
|
+
.sort((a, b) => (b.ts || 0) - (a.ts || 0));
|
|
111
99
|
for (const m of assistants) {
|
|
112
|
-
const text =
|
|
100
|
+
const text = m.content || '';
|
|
101
|
+
if (!text) continue;
|
|
113
102
|
const found = extractArtifactFromMessage(text);
|
|
114
103
|
if (found) return found;
|
|
115
104
|
}
|
|
@@ -191,13 +180,14 @@ async function tick() {
|
|
|
191
180
|
recordPollerFailure('task-update', taskId, bg.instanceId, err);
|
|
192
181
|
}
|
|
193
182
|
|
|
194
|
-
// Best-effort:
|
|
195
|
-
//
|
|
183
|
+
// Best-effort: kill the Claude Code session via the
|
|
184
|
+
// bg-spawner if it's still tracked. Idempotent — a
|
|
185
|
+
// already-finished session is a no-op.
|
|
196
186
|
if (bg.sessionId) {
|
|
197
187
|
try {
|
|
198
|
-
const
|
|
199
|
-
if (
|
|
200
|
-
await
|
|
188
|
+
const { isAlive, killBgAgent } = await import('./claude-bg-spawner.mjs').catch(() => ({}));
|
|
189
|
+
if (isAlive && isAlive(bg.sessionId)) {
|
|
190
|
+
await killBgAgent(bg.sessionId);
|
|
201
191
|
}
|
|
202
192
|
} catch { /* best effort */ }
|
|
203
193
|
|