{
  "name": "forge-executor",
  "version": "2.0.2",
  "description": "Forge Executor — autonomous multi-LLM engineering harness: milestones, dialectic reviews, aptitude-based routing (Claude, GPT, Grok) with markdown-as-truth state",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/vh2224/forge-executor.git"
  },
  "homepage": "https://github.com/vh2224/forge-executor#readme",
  "bugs": {
    "url": "https://github.com/vh2224/forge-executor/issues"
  },
  "type": "module",
  "bin": {
    "forge": "dist/loader.js",
    "forge-executor": "scripts/install.js"
  },
  "files": [
    "dist",
    "packages/*/dist/**",
    "packages/*/bin/**",
    "packages/*/package.json",
    "packages/*/README.md",
    "pkg",
    "src/resources",
    "integrations/hermes",
    "scripts/postinstall.js",
    "scripts/install.js",
    "scripts/install",
    "scripts/link-workspace-packages.cjs",
    "scripts/lib/workspace-manifest.cjs",
    "scripts/lib/logo.cjs",
    "package.json",
    "README.md"
  ],
  "publishConfig": {
    "access": "public",
    "provenance": true
  },
  "piConfig": {
    "name": "gsd",
    "configDir": ".gsd"
  },
  "engines": {
    "node": ">=22.0.0"
  },
  "packageManager": "pnpm@10.12.1",
  "scripts": {
    "build:pi-tui": "pnpm --filter @gsd/pi-tui run build",
    "build:pi-ai": "pnpm --filter @gsd/pi-ai run build",
    "build:pi-agent-core": "pnpm --filter @gsd/pi-agent-core run build",
    "build:pi-coding-agent": "pnpm run build:contracts && pnpm --filter @gsd/pi-coding-agent run build",
    "build:agent-core": "pnpm --filter @forge/agent-core run build",
    "build:agent-modes": "pnpm --filter @forge/agent-modes run build",
    "build:native-pkg": "pnpm --filter @gsd/native run build",
    "build:contracts": "pnpm --filter @opengsd/contracts run build",
    "build:rpc-client": "pnpm --filter @opengsd/rpc-client run build",
    "build:pi": "pnpm run build:contracts && pnpm run build:native-pkg && pnpm run build:pi-tui && pnpm run build:pi-ai && pnpm run build:pi-agent-core && pnpm run build:pi-coding-agent-bootstrap && pnpm run build:agent-core && pnpm run build:pi-coding-agent && pnpm run build:agent-modes",
    "build:pi-coding-agent-bootstrap": "node scripts/bootstrap-pi-coding-agent-build.cjs",
    "build:mcp-server": "pnpm --filter @opengsd/mcp-server run build",
    "build:core": "pnpm run build:contracts && pnpm run build:pi && pnpm run build:rpc-client && pnpm run build:mcp-server && tsc && pnpm run copy-resources && pnpm run copy-themes && pnpm run copy-export-html",
    "build": "pnpm run build:core",
    "forge:rebuild": "pnpm run build:agent-core && pnpm run build:agent-modes && pnpm run copy-resources && pnpm run test:compile",
    "copy-resources": "node scripts/copy-resources.cjs",
    "copy-themes": "node scripts/copy-themes.cjs",
    "copy-export-html": "node scripts/copy-export-html.cjs",
    "test:compile": "node scripts/compile-tests.mjs",
    "baseline:refactor": "node scripts/refactor-baseline.mjs",
    "baseline:auto-dispatch": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types scripts/auto-dispatch-baseline.mjs",
    "baseline:auto-dispatch:compare": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types scripts/auto-dispatch-baseline.mjs --no-write",
    "baseline:refactor:gate": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/refactor-baseline.test.ts src/tests/rpc-golden-fixtures.test.ts src/tests/prompt-golden-fixtures.test.ts src/tests/contracts-rpc-fixtures.test.ts",
    "baseline:refactor:phase0": "pnpm run baseline:refactor:gate && node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/gsd/tests/derive-state-db.test.ts src/resources/extensions/gsd/tests/single-writer-invariant.test.ts src/resources/extensions/gsd/tests/auto-recovery.test.ts src/resources/extensions/gsd/tests/auto-worktree-registry.test.ts",
    "legacy:cleanup:gate": "node scripts/legacy-cleanup-gate.mjs",
    "legacy:cleanup:evidence": "node scripts/legacy-cleanup-evidence.mjs",
    "test:unit:compiled": "node --import ./scripts/dist-test-resolve.mjs --experimental-test-isolation=process --test-reporter=./scripts/test-reporter-compact.mjs --test \"dist-test/src/tests/*.test.js\" \"dist-test/src/resources/extensions/gsd/tests/*.test.js\" \"dist-test/src/resources/extensions/gsd/tests/*.test.mjs\" \"dist-test/src/resources/extensions/shared/tests/*.test.js\" \"dist-test/src/resources/extensions/subagent/tests/*.test.js\" \"dist-test/src/resources/extensions/claude-code-cli/tests/*.test.js\" \"dist-test/src/resources/extensions/cursor-cli/tests/*.test.js\" \"dist-test/src/resources/extensions/github-sync/tests/*.test.js\" \"dist-test/src/resources/extensions/universal-config/tests/*.test.js\" \"dist-test/src/resources/extensions/visual-brief/tests/*.test.js\" \"dist-test/src/resources/extensions/voice/tests/*.test.js\" \"dist-test/src/resources/extensions/mcp-client/tests/*.test.js\" \"dist-test/src/resources/extensions/remote-questions/tests/*.test.js\" \"dist-test/src/resources/extensions/forge/tests/context-doctrine.test.js\"",
    "test:unit": "pnpm run test:compile && pnpm run test:unit:compiled",
    "test:changed:src": "node scripts/verify-changed-src-tests.mjs",
    "test:packages": "pnpm run test:compile && pnpm run test:packages:compiled",
    "test:packages:compiled": "node scripts/run-package-tests.cjs",
    "verify:workspace-coverage": "node scripts/verify-workspace-coverage.cjs",
    "verify:pi-boundary": "node scripts/verify-pi-boundary.cjs && bash scripts/check-mcp-bridge-boundary.sh",
    "verify:pi-patches": "node scripts/verify-pi-patches.cjs",
    "test:pi-claude-schemas": "pnpm exec vitest run packages/pi-ai/test/google-shared-convert-tools.test.ts && node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/gsd/tests/claude-tool-schema-golden.test.ts",
    "test:marketplace": "node scripts/with-env.mjs GSD_TEST_CLONE_MARKETPLACES=1 -- node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/gsd/tests/claude-import-tui.test.ts src/resources/extensions/gsd/tests/plugin-importer-live.test.ts src/tests/marketplace-discovery.test.ts",
    "test:coverage": "cross-env NODE_OPTIONS=--max-old-space-size=8192 c8 --reporter=text --reporter=lcov --exclude=\"src/resources/extensions/gsd/tests/**\" --exclude=\"src/tests/**\" --exclude=\"scripts/**\" --exclude=\"native/**\" --exclude=\"node_modules/**\" --check-coverage --statements=40 --lines=40 --branches=20 --functions=20 node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --experimental-test-isolation=process --test src/resources/extensions/gsd/tests/*.test.ts src/resources/extensions/gsd/tests/*.test.mjs src/tests/*.test.ts src/resources/extensions/shared/tests/*.test.ts",
    "test:integration": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test --test-timeout=180000 \"src/tests/integration/*.test.ts\" \"src/resources/extensions/gsd/tests/integration/*.test.ts\" \"src/resources/extensions/async-jobs/*.test.ts\" \"src/resources/extensions/ollama/**/*.test.ts\" \"src/resources/extensions/ollama/*.test.ts\" \"src/resources/extensions/search-the-web/tests/*.test.ts\" \"src/resources/extensions/bg-shell/tests/*.test.ts\" \"src/resources/extensions/slash-commands/tests/*.test.ts\" \"src/resources/extensions/browser-tools/tests/*.test.mjs\" \"src/resources/extensions/mac-tools/tests/*.test.cjs\"",
    "pretest": "pnpm run typecheck:extensions",
    "test": "pnpm run test:unit && pnpm run test:integration && pnpm run test:packages",
    "test:smoke": "node --experimental-strip-types tests/smoke/run.ts",
    "test:live": "node scripts/with-env.mjs GSD_LIVE_TESTS=1 -- node --experimental-strip-types tests/live/run.ts",
    "test:live-workflow": "node --experimental-strip-types tests/live-workflow/run.ts",
    "test:browser-tools": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs src/resources/extensions/browser-tools/tests/browser-engine-selection.test.mjs src/resources/extensions/browser-tools/tests/managed-gsd-browser-tools.test.mjs src/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs",
    "test:native": "pnpm --filter @gsd/native run test",
    "test:secret-scan": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/secret-scan.test.ts",
    "secret-scan": "node scripts/secret-scan.mjs",
    "secret-scan:install-hook": "node scripts/install-hooks.mjs",
    "build:native": "node native/scripts/build.js",
    "build:native:dev": "node native/scripts/build.js --dev",
    "dev": "node scripts/dev.js",
    "gsd": "node scripts/dev-cli.js",
    "update:gsd-browser": "node scripts/update-gsd-browser-local.mjs",
    "postinstall": "node scripts/install.js",
    "pi:install-global": "node scripts/install-pi-global.js",
    "pi:uninstall-global": "node scripts/uninstall-pi-global.js",
    "sync-pkg-version": "node scripts/sync-pkg-version.cjs",
    "sync-platform-versions": "node native/scripts/sync-platform-versions.cjs",
    "verify:native-platform-packages": "node scripts/verify-native-platform-packages.mjs",
    "verify:npm-release": "node scripts/verify-npm-release.mjs",
    "verify:version-sync": "node scripts/verify-version-sync.cjs",
    "validate-pack": "node scripts/validate-pack.js",
    "prepack": "node scripts/prepack-resolve-workspace.cjs",
    "postpack": "node scripts/postpack-restore-workspace.cjs",
    "typecheck:extensions": "tsc --noEmit --project tsconfig.extensions.json",
    "audit:test-confidence": "node scripts/audit-test-confidence.mjs",
    "audit:test-gaps": "node scripts/audit-test-gaps.mjs",
    "audit:test-matrix": "node scripts/audit-test-matrix.mjs",
    "test:evaluation": "node scripts/run-test-evaluation.mjs",
    "test:coverage:unit": "cross-env NODE_OPTIONS=--max-old-space-size=8192 c8 --reporter=lcovonly --report-dir=coverage/unit --temp-directory=coverage/.tmp-unit --exclude=\"**/*.test.*\" --exclude=\"**/tests/**\" --exclude=\"**/test/**\" --all node --import ./scripts/dist-test-resolve.mjs --experimental-test-isolation=process --test \"dist-test/src/tests/*.test.js\" \"dist-test/src/resources/extensions/gsd/tests/*.test.js\" \"dist-test/src/resources/extensions/gsd/tests/*.test.mjs\" \"dist-test/src/resources/extensions/shared/tests/*.test.js\" \"dist-test/src/resources/extensions/subagent/tests/*.test.js\" \"dist-test/src/resources/extensions/claude-code-cli/tests/*.test.js\" \"dist-test/src/resources/extensions/cursor-cli/tests/*.test.js\" \"dist-test/src/resources/extensions/github-sync/tests/*.test.js\" \"dist-test/src/resources/extensions/universal-config/tests/*.test.js\" \"dist-test/src/resources/extensions/visual-brief/tests/*.test.js\" \"dist-test/src/resources/extensions/voice/tests/*.test.js\" \"dist-test/src/resources/extensions/mcp-client/tests/*.test.js\" \"dist-test/src/resources/extensions/remote-questions/tests/*.test.js\" \"dist-test/src/resources/extensions/forge/tests/context-doctrine.test.js\"",
    "test:coverage:integration": "pnpm exec playwright install chromium && cross-env NODE_OPTIONS=--max-old-space-size=8192 c8 --reporter=lcovonly --report-dir=coverage/integration --temp-directory=coverage/.tmp-integration --exclude=\"**/*.test.*\" --exclude=\"**/tests/**\" --all node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test --test-timeout=180000 \"src/tests/integration/*.test.ts\" \"src/resources/extensions/gsd/tests/integration/*.test.ts\" \"src/resources/extensions/async-jobs/*.test.ts\" \"src/resources/extensions/ollama/**/*.test.ts\" \"src/resources/extensions/ollama/*.test.ts\" \"src/resources/extensions/search-the-web/tests/*.test.ts\" \"src/resources/extensions/bg-shell/tests/*.test.ts\" \"src/resources/extensions/slash-commands/tests/*.test.ts\" \"src/resources/extensions/browser-tools/tests/*.test.mjs\" \"src/resources/extensions/mac-tools/tests/*.test.cjs\"",
    "test:coverage:packages": "node scripts/run-coverage-packages.mjs",
    "test:coverage:merge": "node scripts/merge-coverage-reports.mjs",
    "test:coverage:full": "pnpm run test:compile && pnpm run test:coverage:unit && pnpm run test:coverage:integration && pnpm run test:coverage:packages && pnpm run test:coverage:merge",
    "verify:extension-coverage": "node scripts/verify-extension-coverage.cjs",
    "verify:fast": "pnpm install --frozen-lockfile --ignore-scripts && bash scripts/ci-fast-gates.sh",
    "verify:pr": "pnpm run build:core && pnpm run typecheck:extensions && pnpm run test:unit",
    "verify:merge": "bash scripts/verify-merge.sh",
    "verify:full": "pnpm run verify:merge",
    "pipeline:version-stamp": "node scripts/version-stamp.mjs",
    "release:changelog": "node scripts/generate-changelog.mjs",
    "release:bump": "node scripts/bump-version.mjs",
    "release:update-readme-highlights": "node scripts/update-readme-release-highlights.mjs",
    "release:update-changelog": "node scripts/update-changelog.mjs",
    "docker:build-runtime": "docker build --target runtime -t ghcr.io/open-gsd/gsd-pi .",
    "docker:build-builder": "docker build --target builder -t ghcr.io/open-gsd/gsd-ci-builder .",
    "prepublishOnly": "pnpm run sync-pkg-version && pnpm run sync-platform-versions && pnpm run verify:version-sync && pnpm run verify:native-platform-packages && node scripts/prepublish-check.mjs && pnpm run build && pnpm run typecheck:extensions && pnpm run validate-pack",
    "test:live-regression": "node --experimental-strip-types tests/live-regression/run.ts",
    "test:e2e": "node --experimental-strip-types --test --test-concurrency=1 \"tests/e2e/*.e2e.test.ts\"",
    "test:e2e:forge": "node --import ./tests/e2e/_shared/resolve-src-ts.mjs --experimental-strip-types --test --test-concurrency=1 tests/e2e/forge-loop.e2e.test.ts tests/e2e/forge-realpath-loop.e2e.test.ts tests/e2e/forge-milestone.e2e.test.ts tests/e2e/forge-resilience.e2e.test.ts",
    "test:e2e:windows-smoke": "node --experimental-strip-types --test tests/e2e/sanity.e2e.test.ts tests/e2e/migration.e2e.test.ts tests/e2e/native-abi.e2e.test.ts",
    "test:e2e:docker": "node --experimental-strip-types --test \"tests/e2e/docker/**/*.e2e.test.ts\"",
    "test:ci": "node --experimental-strip-types --test --test-concurrency=1 tests/e2e/conversation-smoke.e2e.test.ts tests/e2e/agent-loop.e2e.test.ts tests/e2e/agent-loop-multiturn.e2e.test.ts tests/e2e/sanity.e2e.test.ts tests/e2e/forge-milestone.e2e.test.ts tests/e2e/forge-resilience.e2e.test.ts",
    "verify:no-deleted-imports": "node scripts/verify-no-deleted-imports.cjs",
    "prepare": "node scripts/link-workspace-packages.cjs || true"
  },
  "dependencies": {
    "@anthropic-ai/claude-agent-sdk": "0.2.83",
    "@anthropic-ai/sdk": "^0.91.1",
    "@anthropic-ai/vertex-sdk": "^0.14.4",
    "@aws-sdk/client-bedrock-runtime": "^3.983.0",
    "@clack/prompts": "^1.1.0",
    "@google/genai": "^1.40.0",
    "@mariozechner/jiti": "^2.6.2",
    "@mistralai/mistralai": "2.2.1",
    "@modelcontextprotocol/sdk": "^1.27.1",
    "@opengsd/gsd-browser": "0.2.2",
    "@silvia-odwyer/photon-node": "^0.3.4",
    "@sinclair/typebox": "^0.34.41",
    "@smithy/node-http-handler": "^4.7.3",
    "ajv": "^8.17.1",
    "balanced-match": "^4.0.2",
    "brace-expansion": "^5.0.5",
    "chalk": "^5.6.2",
    "chokidar": "^5.0.0",
    "cross-spawn": "^7.0.6",
    "diff": "^8.0.2",
    "extract-zip": "^2.0.1",
    "file-type": "^21.1.1",
    "get-east-asian-width": "^1.6.0",
    "glob": "^13.0.1",
    "graceful-fs": "^4.2.4",
    "highlight.js": "^10.7.3",
    "hosted-git-info": "^9.0.2",
    "http-proxy-agent": "^7.0.2",
    "https-proxy-agent": "^7.0.6",
    "ignore": "^7.0.5",
    "marked": "^15.0.12",
    "minimatch": "^10.2.3",
    "openai": "^6.26.0",
    "partial-json": "^0.1.7",
    "picomatch": "^4.0.3",
    "playwright": "^1.58.2",
    "proper-lockfile": "^4.1.2",
    "proxy-agent": "^6.5.0",
    "retry": "^0.12.0",
    "sharp": "^0.34.5",
    "signal-exit": "^3.0.2",
    "sql.js": "^1.14.1",
    "strip-ansi": "^7.1.0",
    "typebox": "1.1.38",
    "undici": "^7.26.0",
    "ws": "^8.21.0",
    "yaml": "^2.8.2",
    "zod": "^4.0.0"
  },
  "devDependencies": {
    "@types/node": "^24.12.0",
    "@types/picomatch": "^4.0.2",
    "@types/proper-lockfile": "^4.1.4",
    "ajv-formats": "^3.0.1",
    "c8": "^11.0.0",
    "cross-env": "^7.0.3",
    "esbuild": "^0.28.1",
    "jiti": "^2.7.0",
    "typescript": "^5.9.3"
  },
  "optionalDependencies": {
    "@mariozechner/clipboard": "0.3.6",
    "@opengsd/engine-darwin-arm64": "1.8.1",
    "@opengsd/engine-darwin-x64": "1.8.1",
    "@opengsd/engine-linux-arm64-gnu": "1.8.1",
    "@opengsd/engine-linux-x64-gnu": "1.8.1",
    "@opengsd/engine-win32-x64-msvc": "1.8.1",
    "fsevents": "~2.3.3",
    "koffi": "^2.9.0"
  },
  "overrides": {
    "uuid": "^11.1.1",
    "postcss": "^8.5.10",
    "@mistralai/mistralai": "2.2.1",
    "gaxios": "7.1.4",
    "c8": {
      "yargs": "^18.0.0"
    }
  },
  "engineVersion": "1.8.1"
}
