{
  "name": "@gryt/voice",
  "version": "0.8.13",
  "description": "Gryt's voice engine: signalling, ICE, tracks and audio, with web and React Native adapters.",
  "license": "AGPL-3.0-only",
  "repository": {
    "type": "git",
    "url": "https://github.com/Gryt-chat/voice.git"
  },
  "type": "module",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./native": {
      "types": "./dist/native.d.ts",
      "default": "./dist/native.js"
    }
  },
  "files": [
    "dist",
    "GrytVoice.podspec",
    "expo-module.config.json",
    "ios",
    "native/core",
    "native/tools/voice_helper.c",
    "native/tools/build-helper.mjs",
    "native/vendor",
    "native/build/opus-src",
    "codec/opus/shim.c"
  ],
  "scripts": {
    "build": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && node scripts/add-esm-extensions.ts && node -e \"fs.cpSync('src/codec/opus.wasm','dist/codec/opus.wasm')\" && node scripts/build-worklet-source.ts && sh native/opus/source.sh",
    "typecheck": "tsc -p tsconfig.json --noEmit",
    "typecheck:scripts": "tsc -p scripts",
    "lint": "eslint --flag unstable_native_nodejs_ts_config .",
    "test:comment-length": "node scripts/check-comment-length.ts",
    "prepublishOnly": "npm run build && npm run check-surface && npm run check-native-entry && npm run check-type-names",
    "check-surface": "node scripts/check-public-surface.ts",
    "check-native-entry": "node scripts/check-native-entry.ts",
    "check-type-names": "node scripts/check-type-names.ts",
    "check-room-joined": "node scripts/check-room-joined.ts",
    "check-face-framing": "node scripts/check-face-framing.ts",
    "check-track-replace": "node scripts/check-track-replace.ts",
    "check-connection-settles": "node scripts/check-connection-settles.ts",
    "check-native-audio-ends": "node scripts/check-native-audio-ends.ts",
    "check-early-candidates": "node scripts/check-early-candidates.ts",
    "check-ice-failure-report": "node scripts/check-ice-failure-report.ts",
    "check-active-call-target": "node scripts/check-active-call-target.ts",
    "check-mic-request-race": "node scripts/check-mic-request-race.ts",
    "check-video-stats": "node scripts/check-video-stats.ts",
    "check-camera-sender": "node scripts/check-camera-sender.ts",
    "check-sfu-slots": "node scripts/check-sfu-slots.ts",
    "check-mic-bitrate": "node scripts/check-mic-bitrate.ts",
    "check-camera-resync": "node scripts/check-camera-resync.ts",
    "check-voice-latency": "node scripts/check-voice-latency.ts",
    "check-opus-wasm": "node scripts/check-opus-wasm.ts",
    "check-transport-packet": "node scripts/check-transport-packet.ts",
    "check-jitter-buffer": "node scripts/check-jitter-buffer.ts",
    "check-transport-worklets": "node scripts/check-transport-worklets.ts",
    "check-voice-effects": "node scripts/check-voice-effects.ts",
    "check-fresh-send-track": "node scripts/check-fresh-send-track.ts",
    "check-esports-pipeline": "node scripts/check-esports-pipeline.ts",
    "check-going-away": "node scripts/check-going-away.ts",
    "check-recovery-disconnect": "node scripts/check-recovery-disconnect.ts",
    "check-failed-repick": "node scripts/check-failed-repick.ts",
    "check-video-demand": "node scripts/check-video-demand.ts",
    "check-video-budget": "node scripts/check-video-budget.ts",
    "check-room-refusals": "node scripts/check-room-refusals.ts",
    "check-native-ptt": "node scripts/check-native-ptt.ts",
    "check-native-core": "node scripts/check-native-core.ts",
    "check-native-jitter": "node scripts/check-native-jitter.ts",
    "check-native-effects": "node scripts/check-native-effects.ts",
    "check-native-opus": "node scripts/check-native-opus.ts",
    "check-native-engine": "node scripts/check-native-engine.ts",
    "check-native-device": "node scripts/check-native-device.ts",
    "check-native-net": "node scripts/check-native-net.ts",
    "check-voice-helper": "node scripts/check-voice-helper.ts"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.5",
    "@mediapipe/tasks-vision": "^1.0.1",
    "@shiguredo/rnnoise-wasm": "^2025.1.5",
    "@types/node": "^20.19.33",
    "@types/react": "^19",
    "eslint": "^9.39.5",
    "eslint-plugin-react-hooks": "^7.1.1",
    "react-native-webrtc": "^124.0.8",
    "react-test-renderer": "^19.2.8",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.71.2"
  },
  "publishConfig": {
    "access": "public"
  },
  "peerDependencies": {
    "react": ">=18",
    "react-native-webrtc": ">=124"
  },
  "peerDependenciesMeta": {
    "react-native-webrtc": {
      "optional": true
    }
  }
}
