{
  "name": "@xemahq/api-client-generator",
  "version": "1.0.2",
  "description": "Layer 1 — the single, central OpenAPI + ORVAL client generator for every Xema NestJS service. Replaces the per-service orval.config.ts / scripts/extract-openapi.ts / scripts/build-client-index.js trio with two bins (xema-openapi, xema-client-generate). Extracts one OpenAPI document per ApiSurface (public/internal/operator) using the @XemaApiSurface decorator metadata, generates one ORVAL client package per non-empty surface (every surface of a service landing on ONE derived version — the highest its clients already carry, advanced a patch when the generated output changes), and stamps deterministic `xema` provenance metadata into each generated client package.json. No heuristics: a route ships in a surface only if it (or its controller) is explicitly classified, and no client version is ever typed by hand.",
  "keywords": [
    "xema",
    "openapi",
    "orval",
    "nestjs",
    "api-client",
    "codegen"
  ],
  "license": "Apache-2.0",
  "author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
  "homepage": "https://xema.dev",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/xema-dev/xema-kernel-sdk.git",
    "directory": "packages/sdks/api-client-generator"
  },
  "bugs": "https://github.com/xema-dev/xema-kernel-sdk/issues",
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "xema-openapi": "dist/bin/xema-openapi.js",
    "xema-client-generate": "dist/bin/xema-client-generate.js"
  },
  "files": [
    "dist"
  ],
  "peerDependencies": {
    "@nestjs/common": "^10 || ^11",
    "@nestjs/core": "^10 || ^11",
    "@nestjs/swagger": "^7 || ^8 || ^11",
    "@nestjs/testing": "^10 || ^11",
    "@xemahq/xema-decorators": ">=0.18.0",
    "orval": "^8",
    "reflect-metadata": "^0.2",
    "ts-node": "^10",
    "tsconfig-paths": "^4",
    "typescript": "^5"
  },
  "peerDependenciesMeta": {
    "ts-node": {
      "optional": true
    },
    "tsconfig-paths": {
      "optional": true
    }
  },
  "devDependencies": {
    "@nestjs/common": "11.1.18",
    "@nestjs/core": "11.1.18",
    "@nestjs/swagger": "11.2.6",
    "@nestjs/testing": "11.1.18",
    "@types/node": "25.2.3",
    "eslint": "^9.39.4",
    "prettier": "3.6.2",
    "reflect-metadata": "0.2.2",
    "typescript": "5.9.3",
    "@xemahq/eslint-config": "0.7.0",
    "@xemahq/xema-decorators": "0.19.0"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "xema-source": "./src/index.ts",
      "default": "./dist/index.js"
    }
  },
  "scripts": {
    "clean": "rm -rf dist",
    "build": "pnpm run clean && tsc -p tsconfig.build.json && node scripts/write-dist-source-stamp.mjs",
    "format": "prettier --write \"src/**/*.ts\"",
    "lint": "eslint .",
    "test": "node --test \"tests/**/*.test.cjs\"",
    "typecheck": "tsc -p tsconfig.json --noEmit"
  }
}