{
  "name": "@neuronetiq/contracts",
  "version": "0.19.1",
  "description": "Domain-separated TypeScript contracts for trading system - Portfolio, Market, ML, Trading schemas with SSOT compliance",
  "keywords": [
    "trading",
    "contracts",
    "supabase",
    "schema",
    "ssot",
    "typescript",
    "zod",
    "domain-separation",
    "ml-signals",
    "portfolio"
  ],
  "license": "MIT",
  "repository": "github:trader/trader-contracts",
  "homepage": "https://github.com/trader/trader-contracts#readme",
  "bugs": {
    "url": "https://github.com/trader/trader-contracts/issues"
  },
  "type": "module",
  "main": "./dist/index.js",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    }
  },
  "sideEffects": false,
  "peerDependencies": {
    "zod": "^4.0.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist",
    "src"
  ],
  "scripts": {
    "build": "pnpm contracts:fingerprint && tsup && node scripts/generate-json-schemas.mjs",
    "dev": "tsup --watch",
    "test": "doppler run --project trader-contracts --config dev -- vitest run",
    "test:watch": "doppler run --project trader-contracts --config dev -- vitest",
    "test:ui": "doppler run --project trader-contracts --config dev -- vitest --ui",
    "typecheck": "tsc --noEmit",
    "preflight:dev": "node -e \"console.log('✅ Contracts preflight: No runtime secrets required')\"",
    "clean": "rm -rf dist",
    "prepack": "pnpm build",
    "test:drift-guards": "doppler run --project trader-contracts --config dev -- vitest run test/drift-guards/",
    "test:all": "pnpm test && pnpm test:drift-guards",
    "prepublishOnly": "pnpm contracts:fingerprint && pnpm build && pnpm typecheck && echo '✅ v0.18.5 ready for publication'",
    "contracts:fingerprint": "node scripts/generate-fingerprint.mjs",
    "contracts:validate": "node scripts/validate-schemas.mjs",
    "contracts:generate-types": "tsx scripts/generate-types.ts",
    "guardian:types": "pnpm contracts:generate-types && pnpm typecheck",
    "drift:check": "node scripts/drift-check.mjs",
    "preflight": "node scripts/ban-dotenv.mjs && pnpm test:ssot && pnpm test:routes && pnpm test:env",
    "test:ssot": "node scripts/test-ssot.mjs",
    "test:routes": "node scripts/test-routes.mjs",
    "test:env": "node scripts/test-env.mjs",
    "test:provider": "node scripts/test-provider.mjs",
    "test:consumer": "node scripts/test-consumer.mjs",
    "smoke:e2e": "node scripts/smoke-e2e.mjs",
    "all:verify": "pnpm preflight && pnpm test && pnpm smoke:e2e",
    "codemod": "node scripts/codemod-migrate-routes.mjs",
    "drift:guard": "node scripts/drift-guard.mjs",
    "routes:validate": "node scripts/route-catalog-test.mjs",
    "ssot:audit": "pnpm drift:guard && pnpm routes:validate",
    "ci:guardrails": "node scripts/ci-guardrails.mjs",
    "drift:weekly": "node scripts/weekly-drift-check.mjs",
    "version:enforce": "node scripts/version-enforcement.mjs",
    "version:guard": "node scripts/version-drift-guard.mjs",
    "contracts:test:ig-health": "curl -s http://localhost:3010/api/ig/health | node -e \"const z=require('@neuronetiq/contracts');const r=JSON.parse(require('fs').readFileSync(0));console.log(z.IgHealthResponse.safeParse(r.data).success?'✅ IG HEALTH OK':'❌ IG HEALTH FAIL',JSON.stringify(r,null,2))\"",
    "contracts:test:portfolio-health": "curl -s http://localhost:3010/api/portfolio/health | node -e \"const z=require('@neuronetiq/contracts');const r=JSON.parse(require('fs').readFileSync(0));console.log(z.PortfolioHealthResponse.safeParse(r.data).success?'✅ PORTFOLIO HEALTH OK':'❌ PORTFOLIO HEALTH FAIL',JSON.stringify(r,null,2))\"",
    "contracts:test:market-prices": "curl -s 'http://localhost:3010/api/market/prices?symbol=AAPL&timeframe=1d' | node -e \"const r=JSON.parse(require('fs').readFileSync(0));console.log(Array.isArray(r.data)&&r.data.every(b=>b.provenance)?'✅ MARKET PRICES OK':'❌ MARKET PRICES FAIL',JSON.stringify(r,null,2))\"",
    "contracts:test:ml-consensus": "curl -s 'http://localhost:3003/api/ml/consensus?symbol=EURUSD' | node -e \"const z=require('@neuronetiq/contracts');const r=JSON.parse(require('fs').readFileSync(0));console.log(z.MlConsensusDecisionSchema.safeParse(r.data).success?'✅ ML CONSENSUS OK':'❌ ML CONSENSUS FAIL',JSON.stringify(r,null,2))\"",
    "contracts:test:production": "node scripts/contracts-test-kit.mjs",
    "contracts:validate:infra": "bash scripts/validate-infra.sh",
    "contracts:freeze": "echo '🔒 v0.17.0 FROZEN - No publishes until Infrastructure validation complete'",
    "guardian:validate": "pnpm exec guardian --contracts",
    "guardian:check": "pnpm exec tsx scripts/guardian-check.ts",
    "guardian:detect-semver": "pnpm exec tsx scripts/detect-semver.ts",
    "guardian:request-approval": "pnpm exec tsx scripts/request-approval.ts",
    "guardian:release-gate": "pnpm guardian:check && pnpm guardian:detect-semver && pnpm exec tsx scripts/release-gate.ts",
    "changelog": "auto-changelog -p --template compact",
    "docs:generate": "tsx scripts/generate-docs.ts",
    "docs:sync": "tsx scripts/sync-docs.ts --targets ../frontend ../infra ../ml",
    "docs:update-readme": "tsx scripts/update-readme.ts",
    "docs:summarize-tests": "tsx scripts/summarize-tests.ts",
    "release": "pnpm run build && node scripts/release.js"
  },
  "author": "Trader Team",
  "devDependencies": {
    "@types/node": "^20.0.0",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "auto-changelog": "^2.4.0",
    "glob": "^11.0.3",
    "ts-morph": "^27.0.0",
    "tsup": "^8.0.0",
    "tsx": "^4.20.6",
    "typedoc": "^0.28.14",
    "typescript": "^5.0.0",
    "vitest": "^1.0.0",
    "zod": "^3.22.0",
    "zod-to-json-schema": "^3.24.6"
  },
  "engines": {
    "node": ">=20.0.0",
    "pnpm": ">=8.0.0"
  },
  "bin": {
    "contracts-codemod": "./scripts/codemod-migrate-routes.mjs"
  },
  "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748",
  "dependencies": {
    "commander": "^14.0.1"
  }
}
