{
  "name": "@claudiolabs/claudin",
  "version": "0.6.12",
  "description": "Claudin — Claude Code opened to any LLM (OpenAI, Gemini, DeepSeek, Ollama, and 200+ models)",
  "type": "module",
  "bin": {
    "claudin": "./bin/claudin"
  },
  "files": [
    "bin/",
    "dist/",
    "scripts/v8cache-gc.mjs",
    "scripts/postinstall-warmup.mjs",
    "README.md"
  ],
  "scripts": {
    "build": "bun run scripts/build.ts",
    "postinstall": "node scripts/postinstall-warmup.mjs",
    "setup": "bun install && bun run build && bun link",
    "link": "bun link",
    "dev": "bun run build && node dist/cli.mjs",
    "start": "node dist/cli.mjs",
    "test": "bun test",
    "test:coverage": "bun test --coverage --coverage-reporter=lcov --coverage-dir=coverage --max-concurrency=1 && bun run scripts/render-coverage-heatmap.ts",
    "test:coverage:ui": "bun run scripts/render-coverage-heatmap.ts",
    "security:pr-scan": "bun run scripts/pr-intent-scan.ts",
    "typecheck": "tsc --noEmit",
    "smoke": "bun run build && node dist/cli.mjs --version && node dist/cli.mjs --help >/dev/null",
    "verify:privacy": "bun run scripts/verify-no-phone-home.ts",
    "build:verified": "bun run build && bun run verify:privacy",
    "build:extension": "mkdir -p dist && cd vscode-extension/claudin-vscode && bun install --frozen-lockfile && npx --yes @vscode/vsce@^3 package --out ../../dist/claudin-vscode.vsix",
    "build:release": "bun run build:extension && CLAUDIN_RELEASE_BUILD=1 bun run build",
    "test:provider": "bun test src/services/api/*.test.ts src/utils/context.test.ts",
    "profile": "bun run scripts/profile/run-all.ts",
    "profile:streaming": "bun run scripts/profile/streaming-bench.ts --compare",
    "profile:input": "bun run scripts/profile/input-bench.ts",
    "profile:cold-start": "bun run scripts/profile/cold-start-bench.ts",
    "profile:startup-phases": "bun run scripts/profile/startup-phases-bench.ts",
    "profile:memory": "bun run scripts/profile/memory-bench.ts",
    "profile:transcript": "bun run scripts/profile/transcript-bench.ts --with-code",
    "profile:long-session": "bun --expose-gc run scripts/profile/long-session-bench.ts",
    "profile:query-engine-mem": "bun --expose-gc run scripts/profile/query-engine-mem-bench.ts",
    "profile:streaming-shim": "bun --expose-gc run scripts/profile/streaming-shim-bench.ts",
    "profile:skills-plugin": "bun --expose-gc run scripts/profile/skills-plugin-bench.ts",
    "profile:file-read-cache-saturation": "bun --expose-gc run scripts/profile/file-read-cache-saturation-bench.ts",
    "profile:heap-snapshot-diff": "bun --expose-gc run scripts/profile/heap-snapshot-diff-bench.ts",
    "profile:code-outline": "bun run scripts/profile/code-outline-bench.ts",
    "profile:mem": "bun --expose-gc run scripts/profile/memory-turn-by-turn-bench.ts",
    "profile:mem:500": "bun --expose-gc run scripts/profile/memory-turn-by-turn-bench.ts --turns=500 --payload-kb=200 --payload-jitter=100 --with-compact --with-clear --compact-every=100 --clear-every=200 --inflection --output=scripts/profile/baselines/memory-turn-by-turn.json --csv=scripts/profile/baselines/memory-turn-by-turn.csv",
    "profile:mem:ci": "bun --expose-gc run scripts/profile/memory-turn-by-turn-bench.ts --turns=100 --payload-kb=50 --with-compact --with-clear --compact-every=25 --clear-every=50 --inflection --json",
    "prepack": "npm run build:release"
  },
  "dependencies": {
    "@alcalzone/ansi-tokenize": "0.3.0",
    "@anthropic-ai/bedrock-sdk": "^0.32.0",
    "@anthropic-ai/foundry-sdk": "0.4.0",
    "@anthropic-ai/sdk": "^0.109.0",
    "@anthropic-ai/vertex-sdk": "^0.19.0",
    "@commander-js/extra-typings": "15",
    "@mendable/firecrawl-js": "^4.28.1",
    "@modelcontextprotocol/sdk": "1.29.0",
    "ajv": "^8.20.0",
    "auto-bind": "5.0.1",
    "axios": "^1.18.0",
    "bidi-js": "1.0.3",
    "chalk": "5.6.2",
    "chokidar": "5.0.0",
    "cli-boxes": "4",
    "cli-highlight": "2.1.11",
    "code-excerpt": "4.0.0",
    "commander": "15",
    "cross-spawn": "7.0.6",
    "diff": "9.0.0",
    "duck-duck-scrape": "^2.2.7",
    "emoji-regex": "10.6.0",
    "env-paths": "4",
    "execa": "9.6.1",
    "fflate": "0.8.3",
    "figures": "6.1.0",
    "fuse.js": "^7.4.2",
    "get-east-asian-width": "^1.6.0",
    "google-auth-library": "^10.7.0",
    "https-proxy-agent": "9.1.0",
    "ignore": "7.0.5",
    "indent-string": "5.0.0",
    "jsonc-parser": "3.3.1",
    "lodash-es": "4.18.1",
    "lru-cache": "^11.5.1",
    "marked": "18.0.5",
    "p-map": "7.0.4",
    "picomatch": "4.0.4",
    "proper-lockfile": "4.1.2",
    "qrcode": "1.5.4",
    "react": "^19.2.7",
    "react-compiler-runtime": "1.0.0",
    "react-reconciler": "0.33.0",
    "semver": "^7.8.4",
    "sharp": "^0.35.1",
    "shell-quote": "1.8.4",
    "signal-exit": "4.1.0",
    "stack-utils": "2.0.6",
    "strip-ansi": "^7.2.0",
    "supports-hyperlinks": "4",
    "tree-kill": "1.2.2",
    "turndown": "^7.2.4",
    "type-fest": "^5.7.0",
    "undici": "8.5.0",
    "usehooks-ts": "3.1.1",
    "vscode-languageserver-protocol": "3.18.0",
    "wrap-ansi": "10",
    "ws": "^8.21.0",
    "xss": "1.0.15",
    "yaml": "^2.9.0",
    "zod": "4.4.3"
  },
  "devDependencies": {
    "@types/bun": "^1.3.14",
    "@types/node": "^25.9.3",
    "@types/react": "^19.2.17",
    "@types/ws": "^8.18.1",
    "tsx": "^4.22.4",
    "typescript": "6.0.3"
  },
  "engines": {
    "node": ">=22.12.0"
  },
  "keywords": [
    "claude-code",
    "openai",
    "llm",
    "cli",
    "agent",
    "deepseek",
    "ollama",
    "gemini"
  ],
  "license": "SEE LICENSE FILE",
  "publishConfig": {
    "access": "public"
  },
  "overrides": {
    "lodash-es": "4.18.1"
  }
}
