{
  "name": "grix-connector",
  "version": "3.33.2",
  "description": "Connect local AI coding agents (Claude, Codex, Gemini, Qwen, DeepSeek, Cursor, OpenCode, Pi, OpenHuman, Reasonix) to the Grix scheduling platform. Also serves as an OpenClaw plugin for Grix channel transport.",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "grix-connector": "dist/grix.js"
  },
  "files": [
    "NOTICE",
    "LICENSE",
    "dist",
    "!dist/**/*.map",
    "!dist/**/*.d.ts",
    "!dist/**/*.ts",
    "openclaw-plugin",
    "scripts/install-guardian.mjs",
    "scripts/analyze-audit-replays.mjs",
    "scripts/install-guardian.sh",
    "scripts/upgrade-guardian.sh",
    "openclaw.plugin.json"
  ],
  "scripts": {
    "postinstall": "node scripts/install-guardian.mjs",
    "prepublishOnly": "npm run build:all",
    "build": "npm run check:isolation && node -e \"const fs=require('fs'); for(const dir of ['dist/default-skills','dist/kimi-plugins']) fs.rmSync(dir,{recursive:true,force:true})\" && tsc && node -e \"const fs=require('fs'); for(const dir of ['default-skills','kimi-plugins']) fs.cpSync('src/'+dir,'dist/'+dir,{recursive:true,filter:s=>!s.endsWith('.ts')}); fs.cpSync('src/adapter/deepseek-harness/grix-jsonrpc.cordis.yml','dist/adapter/deepseek-harness/grix-jsonrpc.cordis.yml')\" && node scripts/build-dsh-bridge.mjs && node -e \"require('fs').cpSync('src/core/proxy/hermes-profile-relay.py','dist/core/proxy/hermes-profile-relay.py')\"",
    "check:isolation": "node scripts/check-adapter-isolation.mjs",
    "build:plugin": "node scripts/build-plugin.mjs",
    "build:all": "npm run build && node scripts/minify-dist.mjs && npm run build:plugin",
    "dev": "npm run build && node dist/grix.js",
    "test": "node --experimental-vm-modules node_modules/vitest/vitest.mjs run",
    "test:watch": "node --experimental-vm-modules node_modules/vitest/vitest.mjs",
    "test:e2e": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e",
    "test:e2e:smoke": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/smoke.test.ts",
    "test:e2e:direct-relay": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/direct-relay-live.test.ts",
    "test:e2e:codex-developer-instructions": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/codex-developer-instructions-protocol.test.ts",
    "test:e2e:claude-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/claude-audit-replay.test.ts",
    "test:e2e:codex-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/codex-audit-replay.test.ts",
    "test:e2e:native-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/native-event-audit-replay.test.ts",
    "test:e2e:kimi-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/native-event-audit-replay.test.ts -t \"kimi:\"",
    "test:e2e:kimi-question": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/kimi-acp-features.test.ts -t \"问答卡文本回执\"",
    "test:e2e:pi-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/pi-audit-replay.test.ts",
    "test:e2e:reasonix-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/reasonix-audit-replay.test.ts",
    "test:e2e:codewhale-audit": "RUN_REAL_AGENT_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/codewhale-audit-replay.test.ts",
    "test:e2e:dsh-profile-bridge": "RUN_DSH_PROFILE_BRIDGE_LIVE_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/deepseek-harness-profile-bridge-live.test.ts",
    "test:e2e:dsh-multi-profile": "node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/deepseek-harness-multi-profile-startup.test.ts",
    "test:e2e:dsh-multi-profile-live": "RUN_DSH_PROFILE_BRIDGE_LIVE_E2E=1 node --experimental-vm-modules node_modules/vitest/vitest.mjs run tests/e2e/deepseek-harness-multi-profile-startup.test.ts",
    "audit:analyze": "node scripts/analyze-audit-replays.mjs",
    "lint": "npm run check:isolation && tsc --noEmit",
    "start": "node dist/grix.js start",
    "stop": "node dist/grix.js stop",
    "restart": "node dist/grix.js restart",
    "status": "node dist/grix.js status"
  },
  "keywords": [
    "grix",
    "aibot",
    "agent-connector",
    "claude",
    "codex",
    "gemini",
    "qwen",
    "deepseek",
    "cursor",
    "opencode",
    "pi",
    "openhuman",
    "reasonix",
    "acp",
    "agent-client-protocol",
    "mcp",
    "openclaw",
    "openclaw-plugin"
  ],
  "author": "askie",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/askie/grix-connector.git"
  },
  "homepage": "https://github.com/askie/grix-connector#readme",
  "bugs": {
    "url": "https://github.com/askie/grix-connector/issues"
  },
  "license": "Apache-2.0",
  "devDependencies": {
    "@types/node": "^25.6.0",
    "@types/node-forge": "^1.3.14",
    "@types/ws": "^8.18.1",
    "esbuild": "^0.28.2",
    "fast-check": "^4.8.0",
    "typescript": "^5.7.0",
    "vitest": "^3.0.0"
  },
  "peerDependencies": {
    "openclaw": ">=2026.4.8"
  },
  "peerDependenciesMeta": {
    "openclaw": {
      "optional": true
    }
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "dependencies": {
    "@modelcontextprotocol/client": "^2.0.0",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@modelcontextprotocol/server": "^2.0.0",
    "@sentry/node": "^10.57.0",
    "fflate": "^0.8.3",
    "node-forge": "^1.4.0",
    "proxy-agent": "^6.5.0",
    "socket.io-client": "^4.8.3",
    "ws": "^8.20.0",
    "yaml": "^2.9.0",
    "zod": "^4.4.3"
  },
  "optionalDependencies": {
    "node-pty": "^1.1.0"
  },
  "openclaw": {
    "extensions": [
      "./openclaw-plugin/index.js"
    ],
    "channel": {
      "id": "grix",
      "label": "Grix",
      "selectionLabel": "Grix",
      "docsPath": "/channels/grix",
      "blurb": "Connect OpenClaw to a Grix deployment for website management with mobile PWA support.",
      "aliases": [
        "gr"
      ],
      "order": 90
    },
    "install": {
      "npmSpec": "grix-connector",
      "localPath": ".",
      "defaultChoice": "npm"
    }
  }
}
