mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* perf(chat): typeset each unchanged formula once instead of on every streamed update A streaming paragraph or list re-parses on each revealed prefix, and every complete formula in it went through KaTeX again, as did every formula on a virtual-row remount. Keep a bounded cache of typeset results keyed by what the typesetter reads (tag, math classes, formula text), hand each tree its own copy, and remember failures so invalid formulas still show their source. * test(chat): import the typeset module type at the top of the math test * fix(chat): evict the oldest cached formula without a type assertion * fix(chat): type the readable math fallback without an assertion * Cache immutable math results with bounded retention
433 lines
32 KiB
JSON
433 lines
32 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": {
|
|
"check:dependencies": "pnpm run build:packages && node config/scripts/check-dependency-security.mjs",
|
|
"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",
|
|
"test:perf:benchmarks": "vitest bench --run --config config/vitest.performance.config.ts",
|
|
"format": "oxfmt --write .",
|
|
"lint": "node config/scripts/run-lint.mjs",
|
|
"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": "node config/scripts/run-audit-tool.mjs react-doctor . --yes --no-supply-chain --no-telemetry --blocking none",
|
|
"audit:dead-code": "node config/scripts/run-audit-tool.mjs knip --config config/knip.json",
|
|
"check:changed": "node config/scripts/check-changed.mjs",
|
|
"check:code-quality:changed": "node config/scripts/check-changed-code-quality.mjs",
|
|
"lint:js-plugins": "oxlint --config config/oxlint-js-plugins.json src config tests mobile native .github",
|
|
"lint:ast-grep": "ast-grep scan --config config/sgconfig.yml --min-severity warning src config tests mobile",
|
|
"lint:ast-grep-gates": "node config/scripts/ast-grep-gates.mjs",
|
|
"lint:ast-grep:flaky-tests": "ast-grep scan --config config/sgconfig.yml --filter \"^test-\" src config tests mobile",
|
|
"test:ast-grep": "ast-grep test --config config/sgconfig.yml --skip-snapshot-tests",
|
|
"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": "node config/scripts/run-audit-tool.mjs react-doctor . --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/build-workspace-packages.mjs && node config/scripts/ensure-native-runtime.mjs --runtime=node && node config/scripts/run-vitest.mjs run --config config/vitest.config.ts",
|
|
"test:changed": "node config/scripts/build-workspace-packages.mjs && node config/scripts/ensure-native-runtime.mjs --runtime=node && node config/scripts/run-vitest.mjs run --config config/vitest.config.ts --changed=HEAD",
|
|
"test:node": "pnpm run build:packages && 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/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:ratchets": "node config/scripts/run-ratchets.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:host-list-render-ratchet": "node config/scripts/check-host-list-render-ratchet.mjs",
|
|
"check:flaky-test-pattern-ratchet": "node config/scripts/check-flaky-test-pattern-ratchet.mjs",
|
|
"check:path-literal-ratchet": "node config/scripts/check-path-literal-ratchet.mjs",
|
|
"check:legacy-relay-fence-ratchet": "node config/scripts/check-legacy-relay-fence-ratchet.mjs",
|
|
"check:unproven-pty-retirement-ratchet": "node config/scripts/check-unproven-pty-retirement-ratchet.mjs",
|
|
"check:daemon-blocking-call-ratchet": "node config/scripts/check-daemon-blocking-call-ratchet.mjs",
|
|
"check:id-only-store-write-ratchet": "node config/scripts/check-id-only-store-write-ratchet.mjs",
|
|
"check:repo-host-read-ratchet": "node config/scripts/check-repo-host-read-ratchet.mjs",
|
|
"check:workspace-record-read-ratchet": "node config/scripts/check-workspace-record-read-ratchet.mjs",
|
|
"check:worktree-id-composer-ratchet": "node config/scripts/check-worktree-id-composer-ratchet.mjs",
|
|
"check:e2e-typecheck-ratchet": "node config/scripts/check-e2e-typecheck-ratchet.mjs",
|
|
"check:runtime-electron-ratchet": "node config/scripts/check-runtime-electron-ratchet.mjs",
|
|
"check:focus-read-ratchet": "node config/scripts/check-focus-read-ratchet.mjs",
|
|
"check:layout-writer-ratchets": "node config/scripts/check-layout-writer-ratchets.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",
|
|
"check:test-file-runners": "node config/scripts/check-test-file-runners.mjs",
|
|
"check:mobile-shared-dependency-versions": "node config/scripts/check-mobile-shared-dependency-versions.mjs",
|
|
"build:orcad": "pnpm run build:packages && node config/scripts/build-orcad-node.mjs",
|
|
"build:orcad-template": "pnpm run build:packages && node config/scripts/build-orcad-template.mjs",
|
|
"build:orcad-prebuilds": "pnpm run build:packages && node config/scripts/build-orcad-prebuilds.mjs",
|
|
"smoke:orcad-terminal": "node config/scripts/ensure-native-runtime.mjs --runtime=node && 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": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.node.json",
|
|
"tc:cli": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.tc.cli.json",
|
|
"tc:web": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.tc.web.json",
|
|
"tc": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs",
|
|
"typecheck:node": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.node.json",
|
|
"typecheck:cli": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.tc.cli.json",
|
|
"typecheck:web": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.tc.web.json",
|
|
"typecheck:e2e": "pnpm run build:packages && node config/scripts/run-e2e-typecheck.mjs",
|
|
"typecheck:tsc:e2e": "pnpm run build:packages && node config/scripts/run-e2e-typecheck.mjs --compiler=native",
|
|
"typecheck": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs",
|
|
"typecheck:ci": "node config/scripts/build-workspace-packages.mjs && node config/scripts/run-typecheck-projects-in-parallel.mjs --compiler=bun",
|
|
"typecheck:tsc:node": "pnpm run build:packages && node node_modules/typescript/bin/tsc --noEmit -p config/tsconfig.node.json --composite false",
|
|
"typecheck:tsc:cli": "pnpm run build:packages && tsc --noEmit -p config/tsconfig.cli.json --composite false",
|
|
"typecheck:tsc:web": "pnpm run build:packages && tsc --noEmit -p config/tsconfig.web.json --composite false",
|
|
"typecheck:tsc": "pnpm run build:packages && 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 build:packages && pnpm run ensure:electron-runtime && electron-vite preview",
|
|
"dev": "node config/scripts/build-workspace-packages.mjs && node config/scripts/ensure-native-runtime.mjs --runtime=electron && node config/scripts/run-electron-vite-dev.mjs",
|
|
"dev-stable-name": "pnpm run build:packages && pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs --stable-name",
|
|
"dev:fresh": "pnpm run build:packages && node config/scripts/dev-fresh-profile.mjs",
|
|
"dev:seed-profile": "node config/scripts/dev-profile-seed.mjs",
|
|
"dev:web": "vite --config vite.web.config.ts --host 127.0.0.1",
|
|
"dev:fixtures": "vite --config config/vite.fixtures.config.ts",
|
|
"fixtures:shot": "node config/scripts/component-fixtures/fixtures-shot.mjs",
|
|
"build:wsl-guest": "pnpm run build:packages && node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON config/scripts/build-wsl-guest.mjs",
|
|
"build:computer-macos": "node config/scripts/build-computer-macos.mjs",
|
|
"build:keyboard-layout-macos": "node config/scripts/build-keyboard-layout-macos.mjs",
|
|
"build:process-footprint-macos": "node config/scripts/build-process-footprint-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": "pnpm run build:packages && node config/scripts/build-cli.mjs && 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": "pnpm run build:packages && node config/scripts/run-electron-vite-build.mjs",
|
|
"build:electron-vite:parallel": "pnpm run build:packages && node config/scripts/run-electron-vite-targets-in-parallel.mjs",
|
|
"build:web": "pnpm run build:packages && 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:desktop:assets",
|
|
"build:desktop:ci": "pnpm run typecheck:ci --bun-concurrency=2 --bun-threads=2 && pnpm run build:desktop:assets",
|
|
"build:desktop:assets": "pnpm run build:wsl-guest && 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:wsl-guest && 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:javascript:parallel": "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",
|
|
"build:release:host": "pnpm run build:wsl-guest && pnpm run build:native && pnpm run verify:computer-native && pnpm run verify:built-skills-cli",
|
|
"build:release:parallel": "pnpm run build:wsl-guest && 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/build-workspace-packages.mjs && node config/scripts/rebuild-native-deps.mjs",
|
|
"rebuild:electron": "node config/scripts/rebuild-native-deps.mjs",
|
|
"reclaim-space": "node config/scripts/reclaim-worktree-space.mjs",
|
|
"rebuild:node": "node config/scripts/ensure-native-runtime.mjs --runtime=node --force",
|
|
"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:process-footprint-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:process-footprint-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: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: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:wsl-guest && 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",
|
|
"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 && bun --smol node_modules/oxlint/bin/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",
|
|
"build:packages": "node config/scripts/build-workspace-packages.mjs",
|
|
"check:process-host-imports": "node config/scripts/check-process-host-imports.mjs",
|
|
"check:main-sync-spawn-ratchet": "node config/scripts/check-main-sync-spawn-ratchet.mjs",
|
|
"check:compat-boundary-imports": "node config/scripts/check-compat-boundary-imports.mjs",
|
|
"check:import-boundaries": "bun config/scripts/check-import-boundaries.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "0.3.284",
|
|
"@floating-ui/dom": "1.8.0",
|
|
"@linear/sdk": "^97.0.0",
|
|
"@orca/process-host": "workspace:*",
|
|
"@parcel/watcher": "^2.5.6",
|
|
"@xterm/addon-serialize": "0.15.0-beta.301",
|
|
"@xterm/headless": "6.1.0-beta.303",
|
|
"agent-browser": "~0.27.3",
|
|
"electron-updater": "^6.8.10",
|
|
"fflate": "0.8.3",
|
|
"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",
|
|
"smol-toml": "1.9.1",
|
|
"ssh2": "^1.17.0",
|
|
"stream-chain": "4.2.6",
|
|
"stream-json": "3.7.0",
|
|
"tldts": "7.4.18",
|
|
"tweetnacl": "^1.0.3",
|
|
"ws": "^8.22.0",
|
|
"yaml": "^2.9.1",
|
|
"zod": "~4.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"@actions/expressions": "0.3.61",
|
|
"@ast-grep/cli": "0.51.0",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@electron-toolkit/tsconfig": "^2.0.0",
|
|
"@electron/osx-sign": "2.7.0",
|
|
"@electron/rebuild": "^4.2.1",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@noble/hashes": "1.8.0",
|
|
"@oxlint/plugins": "1.89.0",
|
|
"@playwright/test": "^1.64.1",
|
|
"@sanity/diff-match-patch": "^3.2.1",
|
|
"@shadcn/lint": "~0.1.5",
|
|
"@stablyai/playwright-test": "^2.1.16",
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@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.8",
|
|
"@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/markdown": "3.31.3",
|
|
"@tiptap/pm": "3.31.3",
|
|
"@tiptap/react": "3.31.3",
|
|
"@tiptap/starter-kit": "3.31.3",
|
|
"@types/chrome": "0.0.287",
|
|
"@types/hast": "^3.0.4",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^24.19.2",
|
|
"@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.2",
|
|
"@vitejs/plugin-react": "^6.1.2",
|
|
"@vscode/ripgrep-universal": "1.18.0",
|
|
"@xterm/addon-fit": "0.12.0-beta.301",
|
|
"@xterm/addon-image": "0.10.0-beta.301",
|
|
"@xterm/addon-ligatures": "0.11.0-beta.301",
|
|
"@xterm/addon-search": "0.17.0-beta.301",
|
|
"@xterm/addon-unicode11": "0.10.0-beta.301",
|
|
"@xterm/addon-web-links": "0.13.0-beta.301",
|
|
"@xterm/addon-webgl": "0.20.0-beta.300",
|
|
"@xterm/xterm": "6.1.0-beta.304",
|
|
"bun": "1.4.4",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"devalue": "6.0.3",
|
|
"diff": "8.0.4",
|
|
"dompurify": "3.4.17",
|
|
"electron": "43.8.1",
|
|
"electron-builder": "26.15.3",
|
|
"electron-vite": "^6.0.0",
|
|
"emoji-picker-react": "^4.22.3",
|
|
"emojibase-data": "17.0.0",
|
|
"esbuild": "^0.28.2",
|
|
"happy-dom": "^21.0.4",
|
|
"hast-util-from-html-isomorphic": "2.0.0",
|
|
"hast-util-to-jsx-runtime": "2.3.6",
|
|
"hast-util-to-text": "4.0.2",
|
|
"html-to-image": "^1.11.13",
|
|
"husky": "^9.1.7",
|
|
"i18next-cli": "1.74.2",
|
|
"katex": "0.18.10",
|
|
"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",
|
|
"node-gyp": "12.3.0",
|
|
"oxfmt": "^0.74.0",
|
|
"oxlint": "^1.89.0",
|
|
"oxlint-plugin-anti-slop": "github:dmmulroy/anti-slop#c44ef22ca116d0ba62a3ff663a0bd13a3f3fa40b",
|
|
"oxlint-plugin-react-doctor": "0.9.14",
|
|
"oxlint-tsgolint": "7.0.2005",
|
|
"pdfjs-dist": "^6.3.289",
|
|
"playwright-core": "1.64.1",
|
|
"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",
|
|
"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",
|
|
"shiki": "4.5.0",
|
|
"sonner": "2.0.7",
|
|
"tailwind-merge": "^3.7.0",
|
|
"tailwindcss": "^4.3.3",
|
|
"tar": "7.5.22",
|
|
"tsrs": "0.18.0-ts7.1.0-dev.20260929",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^7.0.2",
|
|
"typescript-api": "npm:typescript@6.0.3",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit-parents": "6.0.2",
|
|
"vite": "^8.3.5",
|
|
"vitest": "5.0.5",
|
|
"vscode-oniguruma": "^2.0.1",
|
|
"zustand": "^5.0.15"
|
|
},
|
|
"optionalDependencies": {
|
|
"@orca/windows-registry": "workspace:*",
|
|
"@orca/windows-security": "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-js-plugins.json",
|
|
"ast-grep scan --config config/sgconfig.yml --min-severity warning",
|
|
"oxlint --config config/oxlint-react-doctor.json",
|
|
"oxfmt --write --no-error-on-unmatched-pattern"
|
|
],
|
|
"{*.{json,css,md,mdx,yml,yaml},!(cloud)/**/*.{json,css,md,mdx,yml,yaml}}": [
|
|
"oxfmt --write --no-error-on-unmatched-pattern"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": "24"
|
|
},
|
|
"packageManager": "pnpm@12.14.0+sha512.c18ba6d87993d3d164cb5e8948f32b2c06ee854487e06cd8d86781342fb3e5bb4634367034711e86802baa9c37bea906ce1929ad08d70884c97d801df13389a6",
|
|
"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/task-page/github/use-task-page-github-issue-draft.ts",
|
|
"src/renderer/src/components/task-page/jira/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",
|
|
"react-doctor/no-initialize-state": "off",
|
|
"react-doctor/no-unstable-nested-components": "off"
|
|
}
|
|
}
|
|
}
|