{
  "name": "@indigoai-us/hq-cloud",
  "version": "6.16.74",
  "description": "HQ by Indigo cloud sync engine — bidirectional S3 sync for mobile access",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "//exports": "The root entry pulls in the AWS SDK, chokidar, and pino. `./outposts` is deliberately free of those and of every Node built-in, so a Next.js server action can import the Outpost control-plane client without dragging the sync engine into its module graph. `./outposts/node` and `./outposts/cli` are the Node-only and terminal-only halves. `./package.json` stays exported because hq-cli's dependency-parity tests read the version from it.",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./outposts": {
      "types": "./dist/outposts/index.d.ts",
      "default": "./dist/outposts/index.js"
    },
    "./outposts/node": {
      "types": "./dist/outposts/node.d.ts",
      "default": "./dist/outposts/node.js"
    },
    "./outposts/cli": {
      "types": "./dist/outposts/cli.d.ts",
      "default": "./dist/outposts/cli.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "package.json"
  ],
  "bin": {
    "hq-cloud": "dist/bin/sync-mutation.js",
    "hq-sync-runner": "dist/bin/sync-runner.js",
    "hq-journal-repair": "dist/bin/journal-repair.js",
    "hq-rescue": "dist/bin/rescue-runner.js",
    "hq-backup-prune": "dist/bin/backup-prune-runner.js",
    "hq-area-ledger-migration": "dist/bin/area-ledger-migration.js",
    "hq-layout-compatibility": "dist/bin/layout-compatibility.js"
  },
  "scripts": {
    "build": "tsc && node scripts/fix-bin-modes.mjs",
    "prepack": "node scripts/fix-bin-modes.mjs",
    "build:realtime-runner-child": "tsc -p test/e2e/sync/tsconfig.runner-child.json && cp package.json test/.artifacts/realtime-runner-child/package.json && node -e \"const crypto=require('node:crypto'),fs=require('node:fs'),path=require('node:path'),cp=require('node:child_process');const root='test/.artifacts/realtime-runner-child',manifest=path.join(root,'realtime-runner-child.manifest.json'),walk=d=>fs.readdirSync(d,{withFileTypes:true}).flatMap(e=>e.isDirectory()?walk(path.join(d,e.name)):e.isFile()?[path.join(d,e.name)]:[]),files=walk(root).filter(f=>f!==manifest).map(f=>({path:path.relative(root,f).split(path.sep).join('/'),sha256:'sha256:'+crypto.createHash('sha256').update(fs.readFileSync(f)).digest('hex')})).sort((a,b)=>a.path.localeCompare(b.path)),commit=cp.execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();fs.writeFileSync(manifest,JSON.stringify({commit,files})+'\\n')\"",
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "test": "vitest run src/",
    "bench:manifest": "vitest run --config vitest.bench.config.ts",
    "bench:pull-plan": "vitest run --config vitest.pull-plan.bench.config.ts",
    "coverage": "vitest run src/ --coverage --coverage.reporter=text-summary --coverage.reporter=json-summary",
    "test:e2e": "HQ_TEST_ALLOW_NETWORK=1 tsc && HQ_TEST_ALLOW_NETWORK=1 vitest run test/",
    "test:e2e:laptop-mini": "HQ_TEST_ALLOW_NETWORK=1 vitest run test/share-sync.integration.test.ts",
    "test:watch": "vitest",
    "clean": "rm -rf dist",
    "prepare": "husky || true"
  },
  "dependencies": {
    "@aws-sdk/client-cloudwatch": "^3.1051.0",
    "@aws-sdk/client-cognito-identity": "^3.700.0",
    "@aws-sdk/client-iot-data-plane": "^3.1096.0",
    "@aws-sdk/client-s3": "^3.700.0",
    "@aws-sdk/client-sqs": "^3.1051.0",
    "@aws-sdk/credential-providers": "^3.700.0",
    "@indigoai-us/hq-flags-client": "^0.1.2",
    "chalk": "^5.3.0",
    "chokidar": "^4.0.0",
    "commander": "^12.1.0",
    "ignore": "^6.0.0",
    "js-yaml": "^4.1.0",
    "open": "^10.1.0",
    "pino": "^10.3.1",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/js-yaml": "^4.0.9",
    "@types/node": "^22.0.0",
    "eslint": "^10.5.0",
    "husky": "^9.1.7",
    "lint-staged": "^15.5.2",
    "aws-sdk-client-mock": "^4.1.0",
    "@vitest/coverage-v8": "4.1.11",
    "typescript-eslint": "^8.61.1",
    "typescript": "^5.7.0",
    "vitest": "4.1.11"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/indigoai-us/hq.git",
    "directory": "packages/hq-cloud"
  },
  "keywords": [
    "hq",
    "sync",
    "s3",
    "cloud"
  ],
  "license": "MIT",
  "type": "module",
  "//pnpm": "Adding @aws-sdk/client-iot-data-plane pulled a newer @smithy/types than the other AWS clients resolve, so two copies coexisted. @smithy/types is types-only, and aws-sdk-client-mock structurally compares a client against ITS copy — with two in the tree, `mockClient(IoTDataPlaneClient)` stops typechecking even though it works at runtime. Dedupe to one version so the mock's structural comparison has a single definition to compare against.",
  "pnpm": {
    "overrides": {
      "@smithy/types": "4.17.2"
    }
  },
  "lint-staged": {
    "*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}": "eslint --cache --no-error-on-unmatched-pattern"
  }
}
