{
  "name": "node-llama-cpp",
  "version": "3.15.1",
  "description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level",
  "main": "./dist/index.js",
  "type": "module",
  "types": "./dist/index.d.ts",
  "bin": {
    "node-llama-cpp": "dist/cli/cli.js",
    "nlc": "dist/cli/cli.js"
  },
  "files": [
    "dist/",
    "templates/packed/",
    "llama/",
    "bins/",
    "package.json",
    "README.md",
    "LICENSE"
  ],
  "exports": {
    ".": {
      "import": "./dist/index.js",
      "node": "./dist/index.js",
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./commands": {
      "import": "./dist/commands.js",
      "node": "./dist/commands.js",
      "types": "./dist/commands.d.ts",
      "default": "./dist/commands.js"
    },
    "./commands.js": {
      "import": "./dist/commands.js",
      "node": "./dist/commands.js",
      "types": "./dist/commands.d.ts",
      "default": "./dist/commands.js"
    }
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "scripts": {
    "prepare": "node --experimental-require-module -e \"process.env.CI !== 'true' && console.log(require('husky').default())\"",
    "postinstall": "node ./dist/cli/cli.js postinstall",
    "postversion": "vite-node scripts/postVersion.ts",
    "prebuild": "rimraf ./dist ./tsconfig.tsbuildinfo",
    "build": "tsc --build tsconfig.json --force && npm run build:packTemplates",
    "build:packTemplates": "vite-node scripts/packTemplates.ts",
    "addPostinstallScript": "npm pkg set scripts.postinstall=\"node ./dist/cli/cli.js postinstall\"",
    "prewatch": "rimraf ./dist ./tsconfig.tsbuildinfo",
    "watch": "tsc --build tsconfig.json --watch --force",
    "cmake-js-llama": "cd llama && cmake-js",
    "test": "npm run test:typescript && npm run lint:eslint && npm run test:vitest",
    "test:vitest": "vitest run ./test",
    "test:standalone": "vitest run ./test/standalone",
    "test:standalone:interactive": "vitest watch ./test/standalone",
    "test:modelDependent": "vitest run ./test/modelDependent",
    "test:modelDependent:interactive": "vitest watch ./test/modelDependent",
    "test:typescript": "tsc --noEmit --project tsconfig.json",
    "lint": "npm run lint:eslint",
    "lint:eslint": "eslint --report-unused-disable-directives .",
    "format": "npm run lint:eslint -- --fix",
    "dev:setup:downloadAllTestModels": "vite-node test/utils/scripts/downloadAllTestModels.ts",
    "dev:setup": "npm run build && node ./dist/cli/cli.js source download --noUsageExample && npm run docs:generateTypedoc && npm run dev:setup:downloadAllTestModels",
    "dev:build": "npm run build && node ./dist/cli/cli.js source build --noUsageExample",
    "clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo ./test/.models ./docs/api ./docs/api-overrides ./templates/packed",
    "docs:generateTypedoc": "typedoc && rimraf ./docs/api/index.md ./docs/api/globals.md ./docs/api/functions/LlamaText.md",
    "docs:dev": "npm run docs:generateTypedoc && vitepress dev --cors",
    "docs:build": "npm run docs:generateTypedoc && vitepress build",
    "docs:preview": "npm run docs:generateTypedoc && vitepress preview"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/withcatai/node-llama-cpp.git"
  },
  "keywords": [
    "llama",
    "llama-cpp",
    "llama.cpp",
    "bindings",
    "ai",
    "cmake",
    "cmake-js",
    "prebuilt-binaries",
    "llm",
    "gguf",
    "metal",
    "cuda",
    "vulkan",
    "grammar",
    "embedding",
    "rerank",
    "reranking",
    "json-grammar",
    "json-schema-grammar",
    "functions",
    "function-calling",
    "token-prediction",
    "speculative-decoding",
    "temperature",
    "minP",
    "topK",
    "topP",
    "seed",
    "json-schema",
    "raspberry-pi",
    "self-hosted",
    "local",
    "catai",
    "mistral",
    "deepseek",
    "qwen",
    "qwq",
    "gpt",
    "gpt-oss",
    "typescript",
    "lora",
    "batching",
    "gpu"
  ],
  "author": {
    "name": "Gilad S.",
    "url": "https://github.com/giladgd"
  },
  "license": "MIT",
  "preferUnplugged": true,
  "bugs": {
    "url": "https://github.com/withcatai/node-llama-cpp/issues"
  },
  "funding": {
    "type": "github",
    "url": "https://github.com/sponsors/giladgd"
  },
  "homepage": "https://node-llama-cpp.withcat.ai",
  "devDependencies": {
    "@commitlint/cli": "^19.8.1",
    "@commitlint/config-conventional": "^19.8.1",
    "@eslint/compat": "^1.2.9",
    "@fontsource/inter": "^5.2.5",
    "@nolebase/vitepress-plugin-git-changelog": "^2.17.0",
    "@nolebase/vitepress-plugin-og-image": "^2.17.0",
    "@resvg/resvg-js": "^2.6.2",
    "@semantic-release/exec": "^7.1.0",
    "@semantic-release/github": "^12.0.2",
    "@semantic-release/npm": "^13.1.2",
    "@shikijs/vitepress-twoslash": "^3.4.0",
    "@stylistic/eslint-plugin": "^4.2.0",
    "@types/async-retry": "^1.4.9",
    "@types/bytes": "^3.1.5",
    "@types/cross-spawn": "^6.0.6",
    "@types/fs-extra": "^11.0.4",
    "@types/node": "^20.17.50",
    "@types/proper-lockfile": "^4.1.4",
    "@types/semver": "^7.7.0",
    "@types/validate-npm-package-name": "^4.0.2",
    "@types/which": "^3.0.4",
    "@types/yargs": "^17.0.33",
    "@vitest/coverage-v8": "^3.2.4",
    "@vitest/ui": "^3.2.4",
    "electron": "^37.2.4",
    "eslint": "^9.26.0",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsdoc": "^50.6.14",
    "eslint-plugin-n": "^17.18.0",
    "feed": "^5.0.0",
    "husky": "^9.1.7",
    "rehype": "^13.0.2",
    "rimraf": "^6.0.1",
    "semantic-release": "^25.0.2",
    "sharp": "^0.34.1",
    "tslib": "^2.8.1",
    "typedoc": "^0.28.9",
    "typedoc-plugin-markdown": "^4.8.0",
    "typedoc-plugin-mdn-links": "^5.0.7",
    "typedoc-vitepress-theme": "^1.1.2",
    "typescript": "^5.9.2",
    "typescript-eslint": "^8.39.0",
    "vite-node": "^3.2.4",
    "vitepress": "^1.6.3",
    "vitepress-plugin-llms": "^1.7.2",
    "vitest": "^3.2.4",
    "zx": "^8.5.4"
  },
  "dependencies": {
    "@huggingface/jinja": "^0.5.3",
    "async-retry": "^1.3.3",
    "bytes": "^3.1.2",
    "chalk": "^5.4.1",
    "chmodrp": "^1.0.2",
    "cmake-js": "^7.4.0",
    "cross-spawn": "^7.0.6",
    "env-var": "^7.5.0",
    "filenamify": "^6.0.0",
    "fs-extra": "^11.3.0",
    "ignore": "^7.0.4",
    "ipull": "^3.9.2",
    "is-unicode-supported": "^2.1.0",
    "lifecycle-utils": "^3.0.1",
    "log-symbols": "^7.0.0",
    "nanoid": "^5.1.5",
    "node-addon-api": "^8.3.1",
    "octokit": "^5.0.3",
    "ora": "^8.2.0",
    "pretty-ms": "^9.2.0",
    "proper-lockfile": "^4.1.2",
    "semver": "^7.7.1",
    "simple-git": "^3.27.0",
    "slice-ansi": "^7.1.0",
    "stdout-update": "^4.0.1",
    "strip-ansi": "^7.1.0",
    "validate-npm-package-name": "^6.0.0",
    "which": "^5.0.0",
    "yargs": "^17.7.2"
  },
  "peerDependencies": {
    "typescript": ">=5.0.0"
  },
  "peerDependenciesMeta": {
    "typescript": {
      "optional": true
    }
  },
  "optionalDependencies": {
    "@node-llama-cpp/linux-arm64": "3.15.1",
    "@node-llama-cpp/linux-armv7l": "3.15.1",
    "@node-llama-cpp/linux-x64": "3.15.1",
    "@node-llama-cpp/linux-x64-cuda": "3.15.1",
    "@node-llama-cpp/linux-x64-cuda-ext": "3.15.1",
    "@node-llama-cpp/linux-x64-vulkan": "3.15.1",
    "@node-llama-cpp/mac-arm64-metal": "3.15.1",
    "@node-llama-cpp/mac-x64": "3.15.1",
    "@node-llama-cpp/win-arm64": "3.15.1",
    "@node-llama-cpp/win-x64": "3.15.1",
    "@node-llama-cpp/win-x64-cuda": "3.15.1",
    "@node-llama-cpp/win-x64-cuda-ext": "3.15.1",
    "@node-llama-cpp/win-x64-vulkan": "3.15.1"
  }
}