{ "name": "orca", "version": "1.4.122-rc.2", "description": "Next-gen IDE for parallel agentic development", "homepage": "https://github.com/stablyai/orca", "author": "stablyai", "bin": { "orca": "./out/cli/index.js", "orca-dev": "./config/scripts/orca-dev.mjs" }, "main": "./out/main/index.js", "scripts": { "format": "oxfmt --write .", "lint": "oxlint && pnpm run lint:switch-exhaustiveness && node config/scripts/check-styled-scrollbars.mjs && pnpm run check:reliability-gates && pnpm run verify:localization-catalog && pnpm run verify:localization-coverage", "lint:react-doctor": "oxlint --config config/oxlint-react-doctor.json", "lint:react-doctor:changed": "node config/scripts/lint-react-doctor-changed.mjs", "lint:switch-exhaustiveness": "oxlint --type-aware --config config/oxlint-switch-exhaustiveness.json src/main src/preload src/shared src/relay src/cli src/renderer/src config tests --quiet", "prepare": "husky", "test": "node config/scripts/ensure-native-runtime.mjs --runtime=node && vitest run --config config/vitest.config.ts", "check:styled-scrollbars": "node config/scripts/check-styled-scrollbars.mjs", "check:reliability-gates": "node config/scripts/check-reliability-gates.mjs", "check:feature-wall-assets": "node config/scripts/check-feature-wall-assets.mjs", "verify:macos-entitlements": "node config/scripts/verify-macos-entitlements.mjs", "vendor:feature-wall-assets": "node config/scripts/vendor-feature-wall-assets.mjs", "tc:node": "pnpm run typecheck:node", "tc:cli": "pnpm run typecheck:cli", "tc:web": "pnpm run typecheck:web", "tc": "pnpm run typecheck", "typecheck:node": "tsgo --noEmit -p config/tsconfig.node.json", "typecheck:cli": "tsgo --noEmit -p config/tsconfig.tc.cli.json", "typecheck:web": "tsgo --noEmit -p config/tsconfig.tc.web.json", "typecheck": "tsgo --noEmit -p config/tsconfig.node.json && tsgo --noEmit -p config/tsconfig.tc.cli.json && tsgo --noEmit -p config/tsconfig.tc.web.json", "typecheck:tsc:node": "tsc --noEmit -p config/tsconfig.node.json --composite false", "typecheck:tsc:cli": "tsc --noEmit -p config/tsconfig.cli.json --composite false", "typecheck:tsc:web": "tsc --noEmit -p config/tsconfig.web.json --composite false", "typecheck:tsc": "tsc --noEmit -p config/tsconfig.node.json --composite false && tsc --noEmit -p config/tsconfig.cli.json --composite false && tsc --noEmit -p config/tsconfig.web.json --composite false", "ensure:electron-runtime": "node config/scripts/ensure-native-runtime.mjs --runtime=electron", "start": "pnpm run ensure:electron-runtime && electron-vite preview", "dev": "pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs", "dev-stable-name": "pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs --stable-name", "dev:web": "vite --config vite.web.config.ts --host 127.0.0.1", "build:relay": "node config/scripts/build-relay.mjs", "build:computer-macos": "node config/scripts/build-computer-macos.mjs", "build:native": "node config/scripts/build-native-for-platform.mjs", "smoke:computer": "node config/scripts/computer-use-smoke.mjs", "verify:computer-native": "node config/scripts/verify-computer-native.mjs", "verify:cli-bin": "node config/scripts/verify-cli-bin.mjs", "verify:localization-catalog": "node config/scripts/verify-localization-catalog.mjs", "sync:localization-catalog": "node config/scripts/verify-localization-catalog.mjs --fix", "bootstrap:locale-catalog": "node config/scripts/bootstrap-locale-catalog.mjs", "bootstrap:zh-catalog": "node config/scripts/bootstrap-zh-catalog.mjs", "bootstrap:ko-catalog": "node config/scripts/bootstrap-locale-catalog.mjs --locale ko", "bootstrap:ja-catalog": "node config/scripts/bootstrap-locale-catalog.mjs --locale ja", "bootstrap:es-catalog": "node config/scripts/bootstrap-locale-catalog.mjs --locale es", "repair:locale-catalog": "node config/scripts/repair-locale-catalog.mjs", "verify:localization-coverage": "node config/scripts/audit-localization-coverage.mjs --check", "audit:localization": "node config/scripts/audit-localization-coverage.mjs", "build:cli": "tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false && node config/scripts/verify-cli-bin.mjs --fix-executable --fix-package-json && node config/scripts/install-dev-cli.mjs", "build:electron-vite": "node config/scripts/run-electron-vite-build.mjs", "build:web": "node config/scripts/run-vite-web-build.mjs && node config/scripts/verify-web-build.mjs", "build:desktop": "pnpm run typecheck && pnpm run build:relay && pnpm run build:cli && pnpm run build:electron-vite && pnpm run build:web", "build": "pnpm run build:desktop && pnpm run build:native", "build:release": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run build:cli && pnpm run build:electron-vite && pnpm run build:web", "postinstall": "node config/scripts/rebuild-native-deps.mjs", "rebuild:electron": "node config/scripts/rebuild-native-deps.mjs", "rebuild:node": "pnpm rebuild node-pty", "build:unpack": "pnpm run build && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --dir", "build:win": "pnpm run build:desktop && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --win", "build:icons": "bash resources/icon-source/generate.sh", "build:mac": "pnpm run build:desktop && pnpm run build:computer-macos && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --mac", "build:mac:release": "node config/scripts/verify-macos-release-env.mjs && ORCA_MAC_RELEASE=1 pnpm run build:desktop && ORCA_MAC_RELEASE=1 pnpm run build:computer-macos && pnpm run ensure:electron-runtime && ORCA_MAC_RELEASE=1 electron-builder --config config/electron-builder.config.cjs --mac", "build:linux": "pnpm run build:desktop && pnpm run ensure:electron-runtime && electron-builder --config config/electron-builder.config.cjs --linux AppImage deb", "test:e2e": "pnpm run ensure:electron-runtime && npx playwright test --config tests/playwright.config.ts --project electron-headless", "test:e2e:floating-mobile-emulator": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/floating-mobile-emulator-tab.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1", "test:e2e:terminal-rendering-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts --grep @terminal-rendering-golden --config tests/playwright.config.ts --project electron-headless --workers=1", "test:e2e:terminal-rendering-release-evidence": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-opencode-emoji-table-rendering.spec.ts tests/e2e/terminal-long-table-scroll-restore.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=2", "test:e2e:terminal-perf": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/terminal-typing-latency.spec.ts tests/e2e/terminal-foreground-redraw-freeze.spec.ts tests/e2e/terminal-output-scheduler.spec.ts tests/e2e/terminal-hidden-tui-visual-restore.spec.ts tests/e2e/artificial-opencode-terminal-load.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=2", "test:e2e:terminal-perf:scale": "pnpm run ensure:electron-runtime && node config/scripts/run-terminal-scale-perf-e2e.mjs", "test:e2e:terminal-perf:scale:report": "pnpm run ensure:electron-runtime && node config/scripts/run-terminal-scale-perf-report-gate.mjs", "test:e2e:terminal-perf:check-report": "node config/scripts/check-terminal-perf-report-budgets.mjs", "test:e2e:terminal-perf:summarize": "node config/scripts/summarize-terminal-perf-report.mjs", "test:e2e:ssh-docker-perf": "node config/scripts/run-ssh-docker-perf-e2e.mjs", "test:e2e:ssh-codex-artifacts-repro": "node config/scripts/run-ssh-codex-artifacts-repro-e2e.mjs", "test:e2e:headful": "pnpm run ensure:electron-runtime && npx playwright test --config tests/playwright.config.ts --project electron-headful", "test:e2e:computer": "vitest run --config tests/e2e/vitest.config.ts", "bench:idle-cpu": "pnpm run ensure:electron-runtime && node config/scripts/run-idle-cpu-benchmark.mjs", "bench:startup": "pnpm run ensure:electron-runtime && node tools/benchmarks/startup-time-bench.mjs", "bench:daemon-coldstart": "pnpm run ensure:electron-runtime && node tools/benchmarks/daemon-coldstart-bench.mjs", "bench:compare": "node config/scripts/compare-benchmark-artifacts.mjs" }, "dependencies": { "@electron-toolkit/preload": "^3.0.2", "@electron-toolkit/utils": "^4.0.0", "@floating-ui/dom": "1.7.6", "@linear/sdk": "^82.1.0", "@parcel/watcher": "^2.5.6", "@xterm/addon-serialize": "0.15.0-beta.287", "@xterm/headless": "6.1.0-beta.287", "agent-browser": "~0.27.0", "electron-updater": "^6.8.3", "i18next": "^26.3.1", "jsonc-parser": "^3.3.1", "node-pty": "^1.1.0", "posthog-node": "^5.33.3", "qrcode": "^1.5.4", "react-i18next": "^17.0.8", "serve-sim": "^0.1.40", "sherpa-onnx": "1.12.37", "ssh2": "^1.17.0", "tweetnacl": "^1.0.3", "ws": "^8.21.0", "yaml": "^2.8.4", "zod": "~4.4.3" }, "devDependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@electron-toolkit/tsconfig": "^2.0.0", "@electron/rebuild": "^4.0.4", "@monaco-editor/react": "^4.7.0", "@playwright/test": "^1.59.1", "@stablyai/playwright-test": "^2.1.14", "@tailwindcss/vite": "^4.2.4", "@tanstack/react-virtual": "^3.13.24", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@tiptap/extension-code-block-lowlight": "^3.22.5", "@tiptap/extension-details": "^3.22.5", "@tiptap/extension-image": "^3.22.5", "@tiptap/extension-link": "^3.22.5", "@tiptap/extension-mathematics": "3.22.5", "@tiptap/extension-placeholder": "^3.22.5", "@tiptap/extension-table": "3.22.4", "@tiptap/extension-table-cell": "3.22.4", "@tiptap/extension-table-header": "3.22.4", "@tiptap/extension-table-row": "3.22.4", "@tiptap/extension-task-item": "^3.22.5", "@tiptap/extension-task-list": "^3.22.5", "@tiptap/markdown": "^3.22.5", "@tiptap/pm": "^3.22.5", "@tiptap/react": "^3.22.5", "@tiptap/starter-kit": "^3.22.5", "@types/node": "^25.6.0", "@types/qrcode": "^1.5.6", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/ssh2": "^1.15.5", "@types/ws": "^8.18.1", "@typescript/native-preview": "7.0.0-dev.20260421.2", "@vitejs/plugin-react": "^5.2.0", "@xterm/addon-fit": "0.12.0-beta.287", "@xterm/addon-ligatures": "0.11.0-beta.287", "@xterm/addon-search": "0.17.0-beta.287", "@xterm/addon-unicode11": "0.10.0-beta.287", "@xterm/addon-web-links": "0.13.0-beta.287", "@xterm/addon-webgl": "0.20.0-beta.286", "@xterm/xterm": "6.1.0-beta.287", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "dompurify": "^3.4.11", "electron": "^42.3.3", "electron-builder": "^26.8.1", "electron-vite": "^5.0.0", "emoji-picker-react": "^4.19.1", "happy-dom": "^20.9.0", "html-to-image": "^1.11.13", "husky": "^9.1.7", "katex": "^0.16.45", "lint-staged": "^16.4.0", "lowlight": "^3.3.0", "lucide-react": "^0.577.0", "mermaid": "^11.15.0", "monaco-editor": "^0.55.1", "oxfmt": "^0.52.0", "oxlint": "^1.71.0", "oxlint-plugin-react-doctor": "0.2.10", "oxlint-tsgolint": "0.23.0", "pdfjs-dist": "^5.7.284", "radix-ui": "^1.4.3", "react": "^19.2.5", "react-colorful": "^5.7.0", "react-dom": "^19.2.5", "react-grab": "^0.1.33", "react-markdown": "^10.1.0", "rehype-highlight": "^7.0.2", "rehype-katex": "^7.0.1", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "rehype-slug": "^6.0.0", "remark-breaks": "^4.0.0", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "remark-parse": "^11.0.0", "shadcn": "^4.7.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.4", "tw-animate-css": "^1.4.0", "typescript": "^5.9.3", "unified": "^11.0.5", "vite": "^7.3.6", "vitest": "^4.1.5", "vscode-oniguruma": "^2.0.1", "vscode-textmate": "^9.3.2", "zustand": "^5.0.13" }, "optionalDependencies": { "sherpa-onnx-darwin-arm64": "1.12.37", "sherpa-onnx-darwin-x64": "1.12.37", "sherpa-onnx-linux-arm64": "1.12.37", "sherpa-onnx-linux-x64": "1.12.37", "sherpa-onnx-win-x64": "1.12.37" }, "lint-staged": { "*.{ts,tsx,js,jsx,mjs,mts,cts}": [ "oxlint", "oxlint --config config/oxlint-react-doctor.json", "oxfmt --write" ], "*.{json,css}": [ "oxfmt --write" ] }, "engines": { "node": "24" }, "packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a", "pnpm": { "supportedArchitectures": { "os": [ "current", "darwin", "linux", "win32" ], "cpu": [ "current", "x64", "arm64" ] }, "onlyBuiltDependencies": [ "@parcel/watcher", "cpu-features", "esbuild", "node-pty", "sherpa-onnx" ], "patchedDependencies": { "node-pty@1.1.0": "config/patches/node-pty@1.1.0.patch", "@xterm/addon-ligatures@0.11.0-beta.287": "config/patches/@xterm__addon-ligatures@0.11.0-beta.287.patch", "@xterm/addon-webgl@0.20.0-beta.286": "config/patches/@xterm__addon-webgl@0.20.0-beta.286.patch" } }, "reactDoctor": { "rules": { "react-doctor/js-combine-iterations": "off" } } }