{
  "name": "singularity-forge",
  "version": "2.75.0",
  "description": "Singularity Forge runtime core",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/singularity-ng/singularity-foundry.git"
  },
  "homepage": "https://github.com/singularity-ng/singularity-foundry#readme",
  "bugs": {
    "url": "https://github.com/singularity-ng/singularity-foundry/issues"
  },
  "type": "module",
  "workspaces": [
    "packages/*",
    "studio"
  ],
  "bin": {
    "sf": "dist/loader.js",
    "sf-cli": "dist/loader.js"
  },
  "files": [
    "dist",
    "dist/web",
    "packages",
    "pkg",
    "src/resources",
    "scripts/postinstall.js",
    "scripts/link-workspace-packages.cjs",
    "scripts/ensure-workspace-builds.cjs",
    "package.json",
    "README.md"
  ],
  "piConfig": {
    "name": "sf",
    "configDir": ".sf"
  },
  "engines": {
    "node": ">=22.0.0"
  },
  "packageManager": "npm@10.9.3",
  "scripts": {
    "build:pi-tui": "bun run --filter @singularity-forge/pi-tui build",
    "build:pi-ai": "bun run --filter @singularity-forge/pi-ai build",
    "build:pi-agent-core": "bun run --filter @singularity-forge/pi-agent-core build",
    "build:pi-coding-agent": "bun run --filter @singularity-forge/pi-coding-agent build",
    "build:native-pkg": "bun run --filter @singularity-forge/native build",
    "build:rpc-client": "bun run --filter @singularity-forge/rpc-client build",
    "build:pi": "npm run build:native-pkg && npm run build:pi-tui && npm run build:pi-ai && npm run build:pi-agent-core && npm run build:pi-coding-agent",
    "build:mcp-server": "bun run --filter @singularity-forge/mcp-server build",
    "build:core": "npm run build:pi && npm run build:rpc-client && npm run build:mcp-server && tsc && npm run copy-resources && npm run copy-themes && npm run copy-export-html",
    "build": "npm run build:core && node scripts/build-web-if-stale.cjs",
    "stage:web-host": "node scripts/stage-web-standalone.cjs",
    "build:web-host": "npm --prefix web run build && npm run stage:web-host",
    "docs:features": "node scripts/generate-features-inventory.mjs",
    "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",
    "test:unit": "npm run test:compile && node --import ./scripts/dist-test-resolve.mjs --experimental-test-isolation=process --test-timeout=30000 --test-reporter=./scripts/test-reporter-compact.mjs --test \"dist-test/src/tests/*.test.js\" \"dist-test/src/resources/extensions/sf/tests/*.test.js\" \"dist-test/src/resources/extensions/sf/tests/*.test.mjs\" \"dist-test/src/resources/extensions/shared/tests/*.test.js\" \"dist-test/src/resources/extensions/claude-code-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/voice/tests/*.test.js\" \"dist-test/src/resources/extensions/mcp-client/tests/*.test.js\"",
    "test:packages": "node --test packages/pi-coding-agent/dist/core/*.test.js packages/pi-coding-agent/dist/core/tools/spawn-shell-windows.test.js",
    "test:marketplace": "node scripts/with-env.mjs SF_TEST_CLONE_MARKETPLACES=1 -- node --import ./src/resources/extensions/sf/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/sf/tests/claude-import-tui.test.ts src/resources/extensions/sf/tests/plugin-importer-live.test.ts src/tests/marketplace-discovery.test.ts",
    "test:coverage": "c8 --reporter=text --reporter=lcov --exclude=\"src/resources/extensions/sf/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/sf/tests/resolve-ts.mjs --experimental-strip-types --experimental-test-isolation=process --test src/resources/extensions/sf/tests/*.test.ts src/resources/extensions/sf/tests/*.test.mjs src/tests/*.test.ts src/resources/extensions/shared/tests/*.test.ts",
    "test:integration": "node --import ./src/resources/extensions/sf/tests/resolve-ts.mjs --experimental-strip-types --test \"src/tests/integration/*.test.ts\" \"src/resources/extensions/sf/tests/integration/*.test.ts\" \"src/resources/extensions/async-jobs/*.test.ts\" \"src/resources/extensions/browser-tools/tests/*.test.mjs\"",
    "pretest": "npm run typecheck:extensions",
    "test": "npm run test:unit && npm run test:integration",
    "test:smoke": "node --experimental-strip-types tests/smoke/run.ts",
    "test:fixtures": "node --experimental-strip-types tests/fixtures/run.ts",
    "test:fixtures:record": "node scripts/with-env.mjs SF_FIXTURE_MODE=record -- node --experimental-strip-types tests/fixtures/record.ts",
    "test:live": "node scripts/with-env.mjs SF_LIVE_TESTS=1 -- node --experimental-strip-types tests/live/run.ts",
    "test:browser-tools": "node --test src/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs src/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs",
    "test:native": "node --test packages/native/src/__tests__/grep.test.mjs",
    "test:secret-scan": "node --import ./src/resources/extensions/sf/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",
    "sf": "node scripts/dev-cli.js",
    "sf:web": "npm run build:pi && npm run copy-resources && node scripts/build-web-if-stale.cjs && node scripts/dev-cli.js --web",
    "sf:web:stop": "node scripts/dev-cli.js web stop",
    "sf:web:stop:all": "node scripts/dev-cli.js web stop all",
    "postinstall": "node scripts/link-workspace-packages.cjs && node scripts/ensure-workspace-builds.cjs && node scripts/postinstall.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",
    "validate-pack": "node scripts/validate-pack.js",
    "typecheck:extensions": "tsc --noEmit --project tsconfig.extensions.json",
    "pipeline:version-stamp": "node scripts/version-stamp.mjs",
    "release:changelog": "node scripts/generate-changelog.mjs",
    "release:bump": "node scripts/bump-version.mjs",
    "release:update-changelog": "node scripts/update-changelog.mjs",
    "docker:build-runtime": "docker build --target runtime -t ghcr.io/singularity-forge/sf-run .",
    "docker:build-builder": "docker build --target builder -t ghcr.io/singularity-forge/sf-ci-builder .",
    "prepublishOnly": "npm run sync-pkg-version && npm run sync-platform-versions && node scripts/prepublish-check.mjs && npm run build && npm run typecheck:extensions && npm run validate-pack",
    "test:live-regression": "node --experimental-strip-types tests/live-regression/run.ts"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.73.0",
    "@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": "^1.14.1",
    "@modelcontextprotocol/sdk": "^1.27.1",
    "@octokit/rest": "^22.0.1",
    "@silvia-odwyer/photon-node": "^0.3.4",
    "@sinclair/typebox": "^0.34.41",
    "@types/mime-types": "^2.1.4",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "chalk": "^5.6.2",
    "chokidar": "^5.0.0",
    "diff": "^8.0.2",
    "extract-zip": "^2.0.1",
    "file-type": "^21.1.1",
    "get-east-asian-width": "^1.3.0",
    "glob": "^13.0.1",
    "hosted-git-info": "^9.0.2",
    "ignore": "^7.0.5",
    "marked": "^15.0.12",
    "mime-types": "^3.0.1",
    "minimatch": "^10.2.3",
    "openai": "^6.26.0",
    "picomatch": "^4.0.3",
    "playwright": "^1.58.2",
    "proper-lockfile": "^4.1.2",
    "proxy-agent": "^6.5.0",
    "sharp": "^0.34.5",
    "shell-quote": "^1.8.3",
    "sql.js": "^1.14.1",
    "strip-ansi": "^7.1.0",
    "undici": "^7.24.2",
    "yaml": "^2.8.2",
    "zod-to-json-schema": "^3.24.6"
  },
  "devDependencies": {
    "@types/node": "^24.12.0",
    "@types/picomatch": "^4.0.2",
    "@types/shell-quote": "^1.7.5",
    "c8": "^11.0.0",
    "esbuild": "^0.25.12",
    "jiti": "^2.6.1",
    "typescript": "^5.4.0"
  },
  "optionalDependencies": {
    "@anthropic-ai/claude-agent-sdk": "^0.2.83",
    "@singularity-forge/engine-darwin-arm64": ">=2.10.2",
    "@singularity-forge/engine-darwin-x64": ">=2.10.2",
    "@singularity-forge/engine-linux-arm64-gnu": ">=2.10.2",
    "@singularity-forge/engine-linux-x64-gnu": ">=2.10.2",
    "@singularity-forge/engine-win32-x64-msvc": ">=2.10.2",
    "fsevents": "~2.3.3",
    "koffi": "^2.9.0"
  },
  "overrides": {
    "gaxios": "^6.7.1"
  }
}
