{ "name": "frontend", "version": "0.2.9", "private": true, "scripts": { "predev": "node scripts/link-services-node-modules.mjs", "dev": "next dev", "build": "next build", "start": "node scripts/start-standalone.mjs", "perf:audit": "node scripts/perf-audit.mjs", "perf:browser": "node scripts/browser-perf-audit.mjs", "test": "bun test scripts", "lint": "eslint", "lint:fix": "eslint --fix", "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,css,md,json}\"", "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,css,md,json}\"", "depcheck": "depcheck", "prepare": "node scripts/prepare-repo-hooks.mjs", "postinstall": "node scripts/patch-pi-ai-openai-text-boundaries.mjs && node scripts/link-services-node-modules.mjs", "check:deadcode": "knip", "check:dupes": "jscpd src", "check:cleanup": "npm run check:deadcode && npm run check:dupes && npm run depcheck", "check:ui-structure": "node scripts/validate-ui-structure.mjs", "check:fix": "knip --fix", "desktop:build:main": "tsc -p desktop/tsconfig.json", "desktop:start": "electron desktop/dist/main.js", "desktop:start:dev": "LOCAL_STUDIO_DESKTOP_DEV_SERVER_URL=http://127.0.0.1:3000 electron desktop/dist/main.js", "desktop:start:dev:beta": "LOCAL_STUDIO_DESKTOP_APP_NAME=\"Local Studio Dev\" LOCAL_STUDIO_DESKTOP_USER_DATA_DIR=\"$HOME/Library/Application Support/Local Studio Dev\" LOCAL_STUDIO_DESKTOP_DISABLE_AUTO_UPDATE=true LOCAL_STUDIO_DESKTOP_DEV_SERVER_URL=http://127.0.0.1:3001 electron desktop/dist/main.js", "desktop:build": "npm run build && npm run desktop:build:main", "desktop:dev": "npm run desktop:build:main && concurrently -k -n NEXT,ELECTRON -c cyan,magenta \"npm run dev\" \"node -e \\\"setTimeout(() => process.exit(0), 3000)\\\" && npm run desktop:start:dev\"", "desktop:dev:beta": "npm run desktop:build:main && concurrently -k -n NEXT,ELECTRON -c cyan,magenta \"PORT=3001 npm run dev\" \"node -e \\\"setTimeout(() => process.exit(0), 3000)\\\" && npm run desktop:start:dev:beta\"", "desktop:dist": "npm run desktop:build && node scripts/assert-standalone-build.mjs && electron-builder --config desktop/electron-builder.yml", "desktop:pack": "npm run desktop:build && node scripts/assert-standalone-build.mjs && electron-builder --dir --config desktop/electron-builder.yml", "typecheck": "tsc --noEmit", "typecheck:desktop": "tsc -p desktop/tsconfig.json", "check:cycles": "madge --extensions ts,tsx --circular src", "check:static": "npm run lint && npm run typecheck && npm run typecheck:desktop && npm run check:cycles && npm run check:ui-structure", "check:quality": "node scripts/validate-package-json.mjs && npm run check:static && npm run check:cleanup && npm run build", "precommit": "lint-staged --config .lintstagedrc.json && npm run typecheck", "test:regression": "bun test ../tests/frontend" }, "dependencies": { "@earendil-works/pi-ai": "0.78.1", "@earendil-works/pi-coding-agent": "0.78.1", "@hono/node-server": "1.19.14", "@local-studio/agent-runtime": "file:../services/agent-runtime", "@local-studio/contracts": "file:../controller/contracts", "@lydell/node-pty": "1.2.0-beta.12", "@xterm/addon-fit": "0.11.0", "@xterm/addon-web-links": "0.13.0-beta.220", "@xterm/xterm": "6.1.0-beta.285", "effect": "4.0.0-beta.90", "electron-updater": "6.8.3", "highlight.js": "11.11.1", "hono": "4.6.12", "lucide-react": "0.561.0", "mermaid": "^11.16.0", "next": "16.2.7", "react": "19.2.1", "react-dom": "19.2.1", "react-markdown": "10.1.0", "react-virtuoso": "4.18.1", "remark-gfm": "4.0.1", "typebox": "1.1.38", "ws": "8.21.0", "yaml": "2.9.0", "zustand": "4.5.7" }, "devDependencies": { "@tailwindcss/postcss": "4.1.18", "@types/node": "20.19.27", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", "@types/ws": "8.18.1", "concurrently": "9.2.1", "depcheck": "1.4.7", "electron": "36.9.5", "electron-builder": "26.8.1", "eslint": "9.39.2", "eslint-config-next": "16.2.7", "jscpd": "4.0.7", "knip": "5.82.1", "lint-staged": "15.2.11", "madge": "8.0.0", "prettier": "3.8.0", "tailwindcss": "4.1.18", "typescript": "5.9.3" }, "overrides": { "@mistralai/mistralai": "2.2.1", "postcss": "^8.5.10" }, "main": "desktop/dist/main.js"}
{
"name": "frontend",
"version": "0.2.9",
"private": true,
"scripts": {
"predev": "node scripts/link-services-node-modules.mjs",
"dev": "next dev",
"build": "next build",
"start": "node scripts/start-standalone.mjs",
"perf:audit": "node scripts/perf-audit.mjs",
"perf:browser": "node scripts/browser-perf-audit.mjs",
"test": "bun test scripts",
"lint": "eslint",
"lint:fix": "eslint --fix",
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,css,md,json}\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,css,md,json}\"",
"depcheck": "depcheck",
"prepare": "node scripts/prepare-repo-hooks.mjs",
"postinstall": "node scripts/patch-pi-ai-openai-text-boundaries.mjs && node scripts/link-services-node-modules.mjs",
"check:deadcode": "knip",
"check:dupes": "jscpd src",
"check:cleanup": "npm run check:deadcode && npm run check:dupes && npm run depcheck",
"check:ui-structure": "node scripts/validate-ui-structure.mjs",
"check:fix": "knip --fix",
"desktop:build:main": "tsc -p desktop/tsconfig.json",
"desktop:start": "electron desktop/dist/main.js",
"desktop:start:dev": "LOCAL_STUDIO_DESKTOP_DEV_SERVER_URL=http://127.0.0.1:3000 electron desktop/dist/main.js",
"desktop:start:dev:beta": "LOCAL_STUDIO_DESKTOP_APP_NAME=\"Local Studio Dev\" LOCAL_STUDIO_DESKTOP_USER_DATA_DIR=\"$HOME/Library/Application Support/Local Studio Dev\" LOCAL_STUDIO_DESKTOP_DISABLE_AUTO_UPDATE=true LOCAL_STUDIO_DESKTOP_DEV_SERVER_URL=http://127.0.0.1:3001 electron desktop/dist/main.js",
"desktop:build": "npm run build && npm run desktop:build:main",
"desktop:dev": "npm run desktop:build:main && concurrently -k -n NEXT,ELECTRON -c cyan,magenta \"npm run dev\" \"node -e \\\"setTimeout(() => process.exit(0), 3000)\\\" && npm run desktop:start:dev\"",
"desktop:dev:beta": "npm run desktop:build:main && concurrently -k -n NEXT,ELECTRON -c cyan,magenta \"PORT=3001 npm run dev\" \"node -e \\\"setTimeout(() => process.exit(0), 3000)\\\" && npm run desktop:start:dev:beta\"",
"desktop:dist": "npm run desktop:build && node scripts/assert-standalone-build.mjs && electron-builder --config desktop/electron-builder.yml",
"desktop:pack": "npm run desktop:build && node scripts/assert-standalone-build.mjs && electron-builder --dir --config desktop/electron-builder.yml",
"typecheck": "tsc --noEmit",
"typecheck:desktop": "tsc -p desktop/tsconfig.json",
"check:cycles": "madge --extensions ts,tsx --circular src",
"check:static": "npm run lint && npm run typecheck && npm run typecheck:desktop && npm run check:cycles && npm run check:ui-structure",
"check:quality": "node scripts/validate-package-json.mjs && npm run check:static && npm run check:cleanup && npm run build",
"precommit": "lint-staged --config .lintstagedrc.json && npm run typecheck",
"test:regression": "bun test ../tests/frontend"
},
"dependencies": {
"@earendil-works/pi-ai": "0.78.1",
"@earendil-works/pi-coding-agent": "0.78.1",
"@hono/node-server": "1.19.14",
"@local-studio/agent-runtime": "file:../services/agent-runtime",
"@local-studio/contracts": "file:../controller/contracts",
"@lydell/node-pty": "1.2.0-beta.12",
"@xterm/addon-fit": "0.11.0",
"@xterm/addon-web-links": "0.13.0-beta.220",
"@xterm/xterm": "6.1.0-beta.285",
"effect": "4.0.0-beta.90",
"electron-updater": "6.8.3",
"highlight.js": "11.11.1",
"hono": "4.6.12",
"lucide-react": "0.561.0",
"mermaid": "^11.16.0",
"next": "16.2.7",
"react": "19.2.1",
"react-dom": "19.2.1",
"react-markdown": "10.1.0",
"react-virtuoso": "4.18.1",
"remark-gfm": "4.0.1",
"typebox": "1.1.38",
"ws": "8.21.0",
"yaml": "2.9.0",
"zustand": "4.5.7"
},
"devDependencies": {
"@tailwindcss/postcss": "4.1.18",
"@types/node": "20.19.27",
"@types/react": "19.2.7",
"@types/react-dom": "19.2.3",
"@types/ws": "8.18.1",
"concurrently": "9.2.1",
"depcheck": "1.4.7",
"electron": "36.9.5",
"electron-builder": "26.8.1",
"eslint": "9.39.2",
"eslint-config-next": "16.2.7",
"jscpd": "4.0.7",
"knip": "5.82.1",
"lint-staged": "15.2.11",
"madge": "8.0.0",
"prettier": "3.8.0",
"tailwindcss": "4.1.18",
"typescript": "5.9.3"
},
"overrides": {
"@mistralai/mistralai": "2.2.1",
"postcss": "^8.5.10"
},
"main": "desktop/dist/main.js"
}