mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* feat(native-chat): highlight code blocks and shell commands Uses Shiki rather than the highlight.js already in the preview: it can resume mid-block while a reply streams. * fix(native-chat): leave the tool row command unhighlighted * refactor(native-chat): highlight code through a shared TextMate interface Chat code now goes through one renderer highlighting interface built on Shiki core and the Oniguruma WASM the editor already loads for Nim and Typst, with VS Code Light+/Dark+. Lines that are too long or too slow leave the rest of the block plain, failed grammar loads retry from a mounted block, every block shares one time slice, finished-block caching counts retained text, each theme keeps its own formatting, Vue template expressions are colored, and tool-row commands take the grammar of the shell they ran in. * chore(deps): drop pnpm self-install entries from the lockfile Keeps the lockfile change to Shiki alone; the earlier commit picked up the @pnpm/exe entries pnpm 12 writes when it runs in a fresh checkout. * test(native-chat): give cold grammar loads time in highlighting tests The first colored block in a test file loads its grammar and the regex engine, which took over a second on a busy CI runner. --------- Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
396 lines
28 KiB
JSON
396 lines
28 KiB
JSON
{
|
|
"name": "orca",
|
|
"version": "1.4.214",
|
|
"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": {
|
|
"install:release": "pnpm install --frozen-lockfile --cpu=current,x64,arm64",
|
|
"audit:perf": "oxlint --config config/oxlint-performance-audit.json --format json src",
|
|
"test:perf:contracts": "vitest run --config config/vitest.performance.config.ts",
|
|
"format": "oxfmt --write .",
|
|
"lint": "oxlint && pnpm run audit:anti-slop && pnpm run audit:code-quality:native && pnpm run audit:code-quality:type-aware && pnpm run check:reliability-gates && pnpm run check:dead-classes && pnpm run check:max-lines-ratchet && pnpm run check:ts-nocheck-ratchet && pnpm run check:runtime-electron-ratchet && pnpm run check:readme-local-links && pnpm run check:node-runtime-pin && pnpm run verify:rpc-params-catalog && pnpm run verify:acp-protocol && pnpm run verify:bundled-skill-guides && pnpm run verify:skill-bundle-manifest && pnpm run verify:localization-catalogs && pnpm run verify:localization-extraction && pnpm run verify:localization-coverage",
|
|
"audit:code-quality": "pnpm run audit:code-quality:native && pnpm run audit:code-quality:type-aware && pnpm run audit:react-doctor",
|
|
"audit:code-quality:native": "oxlint --config config/oxlint-code-quality-native-plugins.json src config tests mobile --deny-warnings",
|
|
"audit:code-quality:type-aware": "oxlint --type-aware --config config/oxlint-code-quality-type-aware.json src config tests --deny-warnings",
|
|
"audit:react-doctor": "pnpm dlx react-doctor@0.9.14 . --yes --no-supply-chain --no-telemetry --blocking none",
|
|
"audit:dead-code": "pnpm dlx knip@5.88.1 --config config/knip.json",
|
|
"check:code-quality:changed": "node config/scripts/check-changed-code-quality.mjs",
|
|
"check:dead-classes": "oxlint --config config/oxlint-dead-classes.json src/renderer",
|
|
"lint:design-system": "oxlint --config config/oxlint-design-system.json src/renderer",
|
|
"check:react-doctor:changed": "node config/scripts/check-react-doctor-changed.mjs",
|
|
"check:zustand-selector-fanout": "node config/scripts/zustand-selector-fanout-benchmark.mjs --check",
|
|
"doctor": "pnpm dlx react-doctor@0.9.14 . --no-telemetry",
|
|
"lint:react-doctor": "oxlint --config config/oxlint-react-doctor.json",
|
|
"lint:react-doctor:changed": "node config/scripts/lint-react-doctor-changed.mjs",
|
|
"prepare": "husky",
|
|
"test": "node config/scripts/ensure-native-runtime.mjs --runtime=node && node config/scripts/run-vitest.mjs run --config config/vitest.config.ts",
|
|
"test:node": "node config/scripts/ensure-native-runtime.mjs --runtime=node && vitest run --config config/vitest.config.ts",
|
|
"test:node-server": "node config/scripts/run-node-server-tests.mjs",
|
|
"test:skill-sharing:release": "vitest run --config config/vitest.config.ts src/main/skills src/main/runtime/rpc/methods/skills.test.ts src/relay/skill-install-handler.test.ts src/shared/skill-bundle-install-contract.test.ts src/shared/skill-install-contract.test.ts src/shared/skill-install-failure.test.ts src/shared/skill-package-manifest.test.ts",
|
|
"test:repro:remote-agent-session": "pnpm run build:cli && pnpm run build:electron-vite && node config/scripts/remote-agent-session-authority-repro.mjs",
|
|
"capture:agent-transcript": "node config/scripts/ensure-native-runtime.mjs --runtime=node && node config/scripts/capture-agent-pty-transcript.mjs",
|
|
"check:reliability-gates": "node config/scripts/check-reliability-gates.mjs",
|
|
"check:max-lines-ratchet": "node config/scripts/check-max-lines-ratchet.mjs",
|
|
"check:ts-nocheck-ratchet": "node config/scripts/check-ts-nocheck-ratchet.mjs",
|
|
"check:runtime-electron-ratchet": "node config/scripts/check-runtime-electron-ratchet.mjs",
|
|
"check:readme-local-links": "node config/scripts/check-readme-local-links.mjs",
|
|
"check:daemon-protocol-crossing": "node config/scripts/check-daemon-protocol-crossing.mjs",
|
|
"check:runtime-launcher-protocol-ratchet": "node config/scripts/check-runtime-launcher-protocol-ratchet.mjs",
|
|
"check:node-runtime-pin": "node config/scripts/check-node-runtime-pin.mjs",
|
|
"build:orcad": "node config/scripts/build-orcad-node.mjs",
|
|
"build:orcad-template": "node config/scripts/build-orcad-template.mjs",
|
|
"build:orcad-prebuilds": "node config/scripts/build-orcad-prebuilds.mjs",
|
|
"smoke:orcad-terminal": "node config/scripts/ensure-native-runtime.mjs --runtime=node && pnpm run build:cli && pnpm run build:orcad && node config/scripts/runtime-serve-terminal-smoke.mjs --target orcad",
|
|
"smoke:serve-terminal": "node config/scripts/runtime-serve-terminal-smoke.mjs",
|
|
"check:feature-wall-assets": "node config/scripts/check-feature-wall-assets.mjs",
|
|
"generate:rpc-params-catalog": "node config/scripts/generate-rpc-params-catalog.mjs",
|
|
"verify:rpc-params-catalog": "node config/scripts/generate-rpc-params-catalog.mjs --check",
|
|
"generate:acp-protocol": "node config/scripts/acp/generate-protocol.mjs",
|
|
"verify:acp-protocol": "node config/scripts/acp/generate-protocol.mjs --check",
|
|
"generate:bundled-skill-guides": "node config/scripts/generate-bundled-skill-guides.mjs --write",
|
|
"verify:bundled-skill-guides": "node config/scripts/generate-bundled-skill-guides.mjs --check",
|
|
"generate:skill-bundle-manifest": "node config/scripts/generate-skill-bundle-manifest.mjs --write",
|
|
"verify:skill-bundle-manifest": "node config/scripts/generate-skill-bundle-manifest.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": "node node_modules/typescript/bin/tsc --noEmit -p config/tsconfig.node.json",
|
|
"typecheck:cli": "node node_modules/typescript/bin/tsc --noEmit -p config/tsconfig.tc.cli.json",
|
|
"typecheck:web": "node node_modules/typescript/bin/tsc --noEmit -p config/tsconfig.tc.web.json",
|
|
"typecheck:e2e": "node node_modules/typescript/bin/tsc --noEmit -p config/tsconfig.e2e.json",
|
|
"typecheck": "node config/scripts/run-typecheck-projects-in-parallel.mjs",
|
|
"typecheck:tsc:node": "node node_modules/typescript/bin/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 --disable-warning=MODULE_TYPELESS_PACKAGE_JSON config/scripts/build-relay.mjs",
|
|
"build:computer-macos": "node config/scripts/build-computer-macos.mjs",
|
|
"build:keyboard-layout-macos": "node config/scripts/build-keyboard-layout-macos.mjs",
|
|
"build:notification-status-macos": "node config/scripts/build-notification-status-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:built-skills-cli": "node config/scripts/verify-skills-cli-runtime.cjs out",
|
|
"verify:renderer-boot-graph": "node config/scripts/verify-renderer-boot-graph.mjs",
|
|
"verify:localization-catalogs": "bun config/scripts/verify-localization-catalogs.mjs",
|
|
"verify:localization-catalog": "node config/scripts/verify-localization-catalog.mjs",
|
|
"sync:localization-catalog": "node config/scripts/verify-localization-catalog.mjs --fix",
|
|
"verify:localization-runtime-catalog": "node config/scripts/generate-runtime-required-english-catalog.mjs",
|
|
"sync:localization-runtime-catalog": "node config/scripts/generate-runtime-required-english-catalog.mjs --fix",
|
|
"verify:localization-extraction": "node config/scripts/verify-localization-extraction.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 && pnpm run prepare:cli-output",
|
|
"prepare:cli-output": "node config/scripts/verify-cli-bin.mjs --fix-executable --fix-package-json && node config/scripts/install-dev-cli.mjs",
|
|
"test:linux-cli-contract": "node config/scripts/run-linux-cli-launch-contract-docker.mjs --appimage dist/orca-linux.AppImage",
|
|
"test:repro:skills-cli-runtime": "pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli",
|
|
"build:electron-vite": "node config/scripts/run-electron-vite-build.mjs",
|
|
"build:electron-vite:parallel": "node config/scripts/run-electron-vite-targets-in-parallel.mjs",
|
|
"build:web": "node config/scripts/run-vite-web-build.mjs && node config/scripts/verify-web-build.mjs",
|
|
"build:web-from-renderer": "node config/scripts/project-renderer-web-client.mjs && node config/scripts/verify-web-build.mjs",
|
|
"build:mobile-web": "node config/scripts/build-mobile-web-app-bundle.mjs && node config/scripts/verify-mobile-web-app-bundle.mjs",
|
|
"build:desktop": "pnpm run typecheck && pnpm run build:relay && pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli && pnpm run build:web-from-renderer && pnpm run build:mobile-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 verify:built-skills-cli && pnpm run build:web-from-renderer && pnpm run build:mobile-web",
|
|
"build:release:javascript": "pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:built-skills-cli && pnpm run build:web-from-renderer && pnpm run build:mobile-web",
|
|
"build:release:host": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run verify:built-skills-cli",
|
|
"build:release:parallel": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run build:cli && pnpm run build:electron-vite:parallel && pnpm run verify:built-skills-cli && pnpm run build:web-from-renderer && pnpm run build:mobile-web",
|
|
"postinstall": "node config/scripts/rebuild-native-deps.mjs",
|
|
"rebuild:electron": "node config/scripts/rebuild-native-deps.mjs",
|
|
"reclaim:electron-dists": "node config/scripts/reclaim-electron-dists.mjs",
|
|
"reclaim:dev-bundles": "node config/scripts/reclaim-dev-electron-bundles.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 build:keyboard-layout-macos && pnpm run build:notification-status-macos && pnpm run ensure:electron-runtime && node config/scripts/build-mac-local.mjs",
|
|
"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 && ORCA_MAC_RELEASE=1 pnpm run build:keyboard-layout-macos && ORCA_MAC_RELEASE=1 pnpm run build:notification-status-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 && node config/scripts/build-linux-local.mjs",
|
|
"test:e2e": "pnpm run ensure:electron-runtime && npx playwright test --config tests/playwright.config.ts --project=electron-headless",
|
|
"test:e2e:workspace-session-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-quit-relaunch-session.spec.ts tests/e2e/golden-terminal-file-link.spec.ts tests/e2e/golden-worktree-create-switch.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:multi-client-navigation": "node config/scripts/run-multi-client-navigation-e2e.mjs",
|
|
"test:e2e:terminal-layout-parity": "node config/scripts/run-terminal-layout-parity.mjs",
|
|
"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 tests/e2e/terminal-webgl-atlas-budget.spec.ts --grep @terminal-rendering-golden --config tests/playwright.config.ts --project electron-headless --project electron-headful --workers=1",
|
|
"test:e2e:source-control-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-file-open-edit-save.spec.ts tests/e2e/golden-source-control-commit.spec.ts tests/e2e/golden-source-control-open-diff.spec.ts tests/e2e/golden-source-control-reveal.spec.ts --grep @golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:posix-profile-index-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-posix-fresh-startup.spec.ts tests/e2e/golden-posix-profile-index-fsync.spec.ts --grep @posix-profile-index-golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:windows-fresh-startup-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-windows-fresh-startup.spec.ts --grep @windows-fresh-startup-golden --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:agent-tui-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-agent-tui-launch.spec.ts tests/e2e/golden-shell-after-agent-exit.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:tab-bar-agent-launch-golden": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/golden-tab-bar-agent-launch.spec.ts --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:terminal-perf:html-report": "node config/scripts/generate-terminal-perf-html-report.mjs",
|
|
"test:e2e:ssh-docker-perf": "node config/scripts/run-ssh-docker-perf-e2e.mjs",
|
|
"test:e2e:ssh-docker-watcher-isolation": "node config/scripts/run-ssh-docker-watcher-isolation-e2e.mjs",
|
|
"test:e2e:ssh-docker": "node config/scripts/run-ssh-docker-e2e.mjs",
|
|
"test:e2e:ssh-client-hosted-browser": "node config/scripts/run-ssh-client-hosted-browser-drop-reconnect-e2e.mjs",
|
|
"test:e2e:local-ssh-browser": "node config/scripts/run-local-ssh-browser-routing-e2e.mjs",
|
|
"test:e2e:ssh-docker-terminal-parking": "node config/scripts/run-ssh-docker-terminal-parking-e2e.mjs",
|
|
"test:e2e:nested-runtime-ssh": "node config/scripts/run-nested-runtime-ssh-e2e.mjs",
|
|
"test:e2e:source-control-scale": "pnpm run ensure:electron-runtime && npx playwright test tests/e2e/source-control-large-file-count.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"win-update-e2e": "node tests/tools/win-update-e2e/run.mjs",
|
|
"win-crash-survival-e2e": "node tests/tools/win-crash-survival-e2e/run.mjs",
|
|
"smoke:windows-pty-native-capability": "node tests/tools/windows-pty-native-capability-smoke/run.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:terminal-ime-native": "node config/scripts/run-terminal-ibus-hangul-e2e.mjs",
|
|
"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:spinners": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/spinner-rendering/run.mjs",
|
|
"bench:macos-computer-helper-owner-loss": "node config/scripts/macos-computer-helper-owner-loss-benchmark.mjs",
|
|
"bench:startup": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/startup-time-bench.mjs",
|
|
"bench:daemon-coldstart": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/daemon-coldstart-bench.mjs",
|
|
"bench:wsl-hook-relay-reattach": "pnpm run build:relay && node config/scripts/wsl-hook-relay-reattach-benchmark.mjs",
|
|
"bench:wsl-git-shell": "node config/scripts/wsl-git-shell-benchmark.mjs",
|
|
"bench:hang-watchdog-memory": "pnpm run ensure:electron-runtime && node config/scripts/hang-watchdog-memory-benchmark.mjs",
|
|
"bench:main-thread-jank": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/main-thread-jank-bench.mjs",
|
|
"bench:worktree-deletion": "node tests/tools/benchmarks/worktree-deletion-dev-bench.mjs",
|
|
"bench:zustand-selector-fanout": "node config/scripts/zustand-selector-fanout-benchmark.mjs",
|
|
"bench:agent-inspection-cadence": "node config/scripts/agent-inspection-cadence-batching-benchmark.mjs",
|
|
"bench:renderer-quadratic-scans": "node config/scripts/renderer-quadratic-scan-benchmark.mjs",
|
|
"bench:session-write-hot-path": "node config/scripts/session-write-hot-path-benchmark.mjs",
|
|
"bench:terminal-partial-escape-tail": "node config/scripts/terminal-partial-escape-tail-benchmark.mjs",
|
|
"bench:worktree-refresh-churn": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON config/scripts/worktree-refresh-churn-benchmark.mjs",
|
|
"bench:multi-workspace-typing": "pnpm run ensure:electron-runtime && node config/scripts/run-multi-workspace-typing-bench.mjs",
|
|
"bench:ai-vault-typing": "pnpm run ensure:electron-runtime && node config/scripts/run-ai-vault-typing-bench.mjs",
|
|
"bench:cold-park-reveal": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/terminal-cold-park-reveal-bench.mjs",
|
|
"bench:cold-park-resource": "pnpm run ensure:electron-runtime && node tests/tools/benchmarks/terminal-cold-park-resource-bench.mjs",
|
|
"bench:compare": "node config/scripts/compare-benchmark-artifacts.mjs",
|
|
"test:e2e:remote-bulk-open-freeze": "pnpm run ensure:electron-runtime && pnpm exec playwright test tests/e2e/remote-session-bulk-open-freeze-repro.spec.ts --config tests/playwright.config.ts --project electron-headless --workers=1",
|
|
"test:e2e:ssh-docker-bulk-open-freeze": "node config/scripts/run-ssh-docker-bulk-open-freeze-e2e.mjs",
|
|
"repro:live-remote-bulk-open-freeze": "node config/scripts/live-remote-bulk-open-freeze-repro.mjs",
|
|
"repro:live-remote-realistic-freeze": "node config/scripts/live-remote-realistic-freeze-repro.mjs",
|
|
"audit:anti-slop": "node config/scripts/sync-anti-slop-plugin.mjs && oxlint --config config/oxlint-anti-slop.json src config tests mobile --deny-warnings",
|
|
"sync:anti-slop-plugin": "node config/scripts/sync-anti-slop-plugin.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "0.3.284",
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@floating-ui/dom": "1.8.0",
|
|
"@linear/sdk": "^97.0.0",
|
|
"@parcel/watcher": "^2.5.6",
|
|
"@xterm/addon-serialize": "0.15.0-beta.300",
|
|
"@xterm/headless": "6.1.0-beta.302",
|
|
"agent-browser": "~0.27.0",
|
|
"electron-updater": "^6.8.10",
|
|
"i18next": "^26.4.2",
|
|
"jsonc-parser": "^3.3.1",
|
|
"node-pty": "^1.1.0",
|
|
"posthog-node": "^5.52.5",
|
|
"proper-lockfile": "4.1.2",
|
|
"qrcode": "^1.5.4",
|
|
"react-i18next": "17.0.15",
|
|
"serve-sim": "0.1.47",
|
|
"sherpa-onnx": "1.12.37",
|
|
"smol-toml": "1.8.0",
|
|
"ssh2": "^1.17.0",
|
|
"stream-chain": "4.2.6",
|
|
"stream-json": "3.7.0",
|
|
"tldts": "7.4.16",
|
|
"tweetnacl": "^1.0.3",
|
|
"ws": "^8.22.0",
|
|
"yaml": "^2.9.1",
|
|
"zod": "~4.6.5"
|
|
},
|
|
"devDependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@electron-toolkit/tsconfig": "^2.0.0",
|
|
"@electron/rebuild": "^4.2.0",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@oxlint/plugins": "1.86.0",
|
|
"@playwright/test": "^1.63.0",
|
|
"@sanity/diff-match-patch": "^3.2.1",
|
|
"@shadcn/lint": "~0.1.5",
|
|
"@stablyai/playwright-test": "^2.1.16",
|
|
"@streamparser/json": "0.0.26",
|
|
"@tailwindcss/vite": "^4.2.4",
|
|
"@tanstack/react-virtual": "^3.14.13",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.3",
|
|
"@testing-library/user-event": "^14.6.7",
|
|
"@tiptap/extension-code-block": "3.31.3",
|
|
"@tiptap/extension-code-block-lowlight": "3.31.3",
|
|
"@tiptap/extension-details": "3.31.3",
|
|
"@tiptap/extension-image": "3.31.3",
|
|
"@tiptap/extension-link": "3.31.3",
|
|
"@tiptap/extension-list": "3.31.3",
|
|
"@tiptap/extension-mathematics": "3.31.3",
|
|
"@tiptap/extension-placeholder": "3.31.3",
|
|
"@tiptap/extension-table": "3.31.3",
|
|
"@tiptap/extension-table-cell": "3.31.3",
|
|
"@tiptap/extension-table-header": "3.31.3",
|
|
"@tiptap/extension-table-row": "3.31.3",
|
|
"@tiptap/extension-task-item": "3.31.3",
|
|
"@tiptap/extension-task-list": "3.31.3",
|
|
"@tiptap/markdown": "3.31.3",
|
|
"@tiptap/pm": "3.31.3",
|
|
"@tiptap/react": "3.31.3",
|
|
"@tiptap/starter-kit": "3.31.3",
|
|
"@types/hast": "^3.0.4",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^25.6.0",
|
|
"@types/proper-lockfile": "^4.1.4",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "~19.2.18",
|
|
"@types/react-dom": "~19.2.7",
|
|
"@types/ssh2": "^1.15.6",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitejs/plugin-react": "^5.2.0",
|
|
"@vscode/ripgrep-universal": "1.18.0",
|
|
"@xterm/addon-fit": "0.12.0-beta.300",
|
|
"@xterm/addon-image": "0.10.0-beta.300",
|
|
"@xterm/addon-ligatures": "0.11.0-beta.300",
|
|
"@xterm/addon-search": "0.17.0-beta.300",
|
|
"@xterm/addon-unicode11": "0.10.0-beta.300",
|
|
"@xterm/addon-web-links": "0.13.0-beta.300",
|
|
"@xterm/addon-webgl": "0.20.0-beta.299",
|
|
"@xterm/xterm": "6.1.0-beta.303",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"devalue": "6.0.2",
|
|
"diff": "8.0.4",
|
|
"dompurify": "3.4.16",
|
|
"electron": "43.7.5",
|
|
"electron-builder": "26.15.3",
|
|
"electron-builder-squirrel-windows": "26.15.3",
|
|
"electron-vite": "^5.0.0",
|
|
"emoji-picker-react": "^4.22.3",
|
|
"emojibase-data": "17.0.0",
|
|
"esbuild": "^0.28.2",
|
|
"happy-dom": "^20.14.5",
|
|
"hast-util-to-jsx-runtime": "2.3.6",
|
|
"html-to-image": "^1.11.13",
|
|
"husky": "^9.1.7",
|
|
"i18next-cli": "1.74.2",
|
|
"katex": "^0.16.47",
|
|
"lint-staged": "^16.4.0",
|
|
"lowlight": "^3.3.0",
|
|
"lucide-react": "^0.577.0",
|
|
"marked": "^17.0.1",
|
|
"mermaid": "^11.17.2",
|
|
"monaco-editor": "^0.55.1",
|
|
"oxfmt": "^0.71.0",
|
|
"oxlint": "^1.86.0",
|
|
"oxlint-plugin-anti-slop": "github:dmmulroy/anti-slop#c44ef22ca116d0ba62a3ff663a0bd13a3f3fa40b",
|
|
"oxlint-plugin-react-doctor": "0.9.14",
|
|
"oxlint-tsgolint": "7.0.2003",
|
|
"pdfjs-dist": "^6.3.289",
|
|
"pngjs": "^7.0.0",
|
|
"radix-ui": "^1.6.7",
|
|
"react": "~19.2.8",
|
|
"react-colorful": "^5.7.0",
|
|
"react-dom": "~19.2.8",
|
|
"react-grab": "^0.1.33",
|
|
"react-markdown": "^10.1.0",
|
|
"react-refresh": "^0.18.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-cjk-friendly": "^2.3.1",
|
|
"remark-frontmatter": "^5.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-math": "^6.0.0",
|
|
"remark-parse": "^11.0.0",
|
|
"remark-rehype": "11.1.2",
|
|
"remend": "1.4.0",
|
|
"shadcn": "^4.13.1",
|
|
"shiki": "4.5.0",
|
|
"sonner": "2.0.7",
|
|
"tailwind-merge": "^3.7.0",
|
|
"tailwindcss": "^4.2.4",
|
|
"tar": "7.5.22",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^7.0.2",
|
|
"typescript-api": "npm:typescript@6.0.3",
|
|
"unified": "^11.0.5",
|
|
"vite": "npm:rolldown-vite@7.3.1",
|
|
"vitest": "5.0.3",
|
|
"vscode-oniguruma": "^2.0.1",
|
|
"vscode-textmate": "^9.3.2",
|
|
"zustand": "^5.0.15"
|
|
},
|
|
"optionalDependencies": {
|
|
"@orca/windows-registry": "workspace:*",
|
|
"@vscode/windows-process-tree": "0.8.0",
|
|
"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},!(cloud)/**/*.{ts,tsx,js,jsx,mjs,mts,cts}}": [
|
|
"oxlint",
|
|
"oxlint --config config/oxlint-react-doctor.json",
|
|
"oxfmt --write"
|
|
],
|
|
"{*.{json,css},!(cloud)/**/*.{json,css}}": [
|
|
"oxfmt --write"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": "24"
|
|
},
|
|
"packageManager": "pnpm@12.8.1+sha512.f64ba907507f5ceafe06c8d38e6052d0179444580ec1279ddd5bfc11cb48aa8a2644b66598e07e761da84872a9fc57d5f902b87fa49d024198d558612aabbe45",
|
|
"reactDoctor": {
|
|
"ignore": {
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"src/renderer/src/components/editor/combined-diff/review-controls/use-combined-diff-view-preferences.ts"
|
|
],
|
|
"rules": [
|
|
"react-doctor/no-derived-state-effect"
|
|
]
|
|
},
|
|
{
|
|
"files": [
|
|
"src/renderer/src/components/use-task-page-github-issue-draft.ts",
|
|
"src/renderer/src/components/use-task-page-jira-creation-state.ts"
|
|
],
|
|
"rules": [
|
|
"react-doctor/no-adjust-state-on-prop-change"
|
|
]
|
|
},
|
|
{
|
|
"files": [
|
|
"src/renderer/src/components/editor/combined-diff/browse-files/use-combined-diff-tree-navigation.ts",
|
|
"src/renderer/src/components/editor/combined-diff/load-sections/combined-diff-section-load-registry.ts",
|
|
"src/renderer/src/components/editor/combined-diff/review-controls/use-combined-diff-section-actions.ts"
|
|
],
|
|
"rules": [
|
|
"react-doctor/no-ref-current-in-render"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"rules": {
|
|
"react-doctor/js-combine-iterations": "off"
|
|
}
|
|
}
|
|
}
|