mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-27 15:13:37 +08:00
In-progress generations were interrupted when a set_runtime_config arrived mid-stream: the handler immediately stopped and restarted the CLI subprocess. Track per-session busy state from outbound status events and queue the restart, applying it (with the latest override, collapsing multiple toggles) once the session returns to idle. Bumps desktop app to 0.5.1 with matching release notes. Tested: desktop tsc --noEmit; Windows x64 NSIS package + package-smoke. Not-tested: check:server, desktop Vitest. Scope-risk: narrow Confidence: medium
143 lines
5.0 KiB
JSON
143 lines
5.0 KiB
JSON
{
|
|
"name": "claude-code-desktop",
|
|
"private": true,
|
|
"version": "0.5.1",
|
|
"description": "Desktop coding agent workbench for Claude Code Haha.",
|
|
"homepage": "https://github.com/NanmiCoder/cc-haha",
|
|
"author": {
|
|
"name": "NanmiCoder",
|
|
"email": "relakkes@gmail.com"
|
|
},
|
|
"type": "module",
|
|
"main": "electron-dist/main.cjs",
|
|
"build": {
|
|
"appId": "com.claude-code-haha.desktop",
|
|
"productName": "Claude Code Haha",
|
|
"asar": true,
|
|
"asarUnpack": [
|
|
"dist/**",
|
|
"node_modules/node-pty/**",
|
|
"src-tauri/binaries/**"
|
|
],
|
|
"artifactName": "Claude-Code-Haha-${version}-${os}-${arch}.${ext}",
|
|
"npmRebuild": false,
|
|
"directories": {
|
|
"output": "build-artifacts/electron"
|
|
},
|
|
"files": [
|
|
"dist/**",
|
|
"electron-dist/**",
|
|
"node_modules/node-pty/**",
|
|
"src-tauri/binaries/**",
|
|
"src-tauri/icons/**",
|
|
"src-tauri/resources/preview-agent.js",
|
|
"package.json"
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.developer-tools",
|
|
"target": [
|
|
"dmg",
|
|
"zip"
|
|
],
|
|
"icon": "src-tauri/icons/icon.icns",
|
|
"hardenedRuntime": true,
|
|
"gatekeeperAssess": false,
|
|
"entitlements": "build/entitlements.mac.plist",
|
|
"entitlementsInherit": "build/entitlements.mac.inherit.plist",
|
|
"notarize": true
|
|
},
|
|
"win": {
|
|
"target": "nsis",
|
|
"icon": "src-tauri/icons/icon.ico"
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowElevation": true,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"perMachine": false,
|
|
"deleteAppDataOnUninstall": false,
|
|
"createDesktopShortcut": true,
|
|
"createStartMenuShortcut": true,
|
|
"license": "build/license.txt"
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
"AppImage",
|
|
"deb"
|
|
],
|
|
"icon": "src-tauri/icons",
|
|
"category": "Development",
|
|
"maintainer": "NanmiCoder <relakkes@gmail.com>"
|
|
},
|
|
"publish": [
|
|
{
|
|
"provider": "github",
|
|
"owner": "NanmiCoder",
|
|
"repo": "cc-haha"
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "bun run build:preview-agent && node ./node_modules/typescript/bin/tsc -b && node ./node_modules/vite/bin/vite.js build",
|
|
"prepare:node-pty": "bun run ./scripts/prepare-node-pty.ts",
|
|
"build:electron": "bun run prepare:node-pty && bun build ./electron/main.ts --outfile ./electron-dist/main.cjs --target node --format cjs --external electron --external node-pty && bun build ./electron/preload.ts --outfile ./electron-dist/preload.cjs --target node --format cjs --external electron && bun build ./electron/preview-preload.ts --outfile ./electron-dist/preview-preload.cjs --target node --format cjs --external electron",
|
|
"build:preview-agent": "bun run ./scripts/build-preview-agent.ts",
|
|
"build:sidecars": "bun run ./scripts/build-sidecars.ts",
|
|
"clean:electron-output": "bun run ./scripts/clean-electron-output.ts",
|
|
"build:macos-arm64": "bash ./scripts/build-macos-arm64.sh",
|
|
"build:windows-x64": "powershell -ExecutionPolicy Bypass -File ./scripts/build-windows-x64.ps1",
|
|
"build:linux-x64": "bash ./scripts/build-linux.sh",
|
|
"build:linux-arm64": "LINUX_ARCH=arm64 bash ./scripts/build-linux.sh",
|
|
"electron:dev": "bun run build:electron && bun run ./scripts/electron-dev.ts",
|
|
"electron:build": "bun run build:sidecars && bun run build && bun run build:electron",
|
|
"electron:package": "bun run clean:electron-output && bun run electron:build && bunx electron-builder --publish never",
|
|
"electron:package:dir": "bun run clean:electron-output && bun run electron:build && bunx electron-builder --dir --publish never",
|
|
"check:electron": "node ./node_modules/typescript/bin/tsc -p electron/tsconfig.json && bun test electron && bun run build:electron",
|
|
"preview": "vite preview",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"lint": "node ./node_modules/typescript/bin/tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@types/dompurify": "^3.2.0",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"dompurify": "^3.3.3",
|
|
"electron-updater": "^6.8.3",
|
|
"html2canvas": "^1.4.1",
|
|
"katex": "^0.16.45",
|
|
"lucide-react": "^0.469.0",
|
|
"marked": "^15.0.7",
|
|
"mermaid": "^11.14.0",
|
|
"node-pty": "^1.1.0",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^18.3.1",
|
|
"react-diff-viewer-continued": "^4.2.0",
|
|
"react-dom": "^18.3.1",
|
|
"react-shiki": "^0.9.2",
|
|
"shiki": "^4.0.2",
|
|
"zustand": "^5.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@types/node": "^25.9.1",
|
|
"@types/react": "^18.3.18",
|
|
"@types/react-dom": "^18.3.5",
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
"@vitest/coverage-v8": "3.2.4",
|
|
"electron": "^42.3.0",
|
|
"electron-builder": "^26.8.1",
|
|
"jsdom": "^25.0.1",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^8.0.10",
|
|
"vitest": "^3.0.4"
|
|
}
|
|
}
|