{
  "name": "kompensa",
  "version": "0.3.1",
  "description": "Saga pattern workflow library for Node.js, browser and React Native. Typed builder with idempotency keys, retry with exponential backoff, compensation on failure, distributed locking (Postgres/Redis) and crash recovery. Zero runtime dependencies.",
  "keywords": [
    "saga",
    "saga-pattern",
    "workflow",
    "workflow-engine",
    "orchestration",
    "orchestrator",
    "idempotency",
    "idempotent",
    "retry",
    "exponential-backoff",
    "backoff",
    "compensation",
    "distributed-transactions",
    "resilience",
    "resilient",
    "fault-tolerant",
    "reliability",
    "crash-recovery",
    "durable",
    "state-machine",
    "process-manager",
    "microservices",
    "typescript",
    "nodejs",
    "react-native",
    "offline-first",
    "postgres",
    "redis",
    "temporal-alternative",
    "bullmq",
    "webhooks"
  ],
  "license": "MIT",
  "author": {
    "name": "sirelves",
    "email": "elvesdev@proton.me",
    "url": "https://github.com/sirelves"
  },
  "funding": {
    "type": "github",
    "url": "https://github.com/sponsors/sirelves"
  },
  "homepage": "https://github.com/sirelves/kompensa#readme",
  "bugs": {
    "url": "https://github.com/sirelves/kompensa/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/sirelves/kompensa.git"
  },
  "type": "module",
  "main": "./dist/index.cjs",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    },
    "./storage/memory": {
      "types": "./dist/storage/memory.d.ts",
      "import": "./dist/storage/memory.js",
      "require": "./dist/storage/memory.cjs"
    },
    "./storage/postgres": {
      "types": "./dist/storage/postgres.d.ts",
      "import": "./dist/storage/postgres.js",
      "require": "./dist/storage/postgres.cjs"
    },
    "./storage/redis": {
      "types": "./dist/storage/redis.d.ts",
      "import": "./dist/storage/redis.js",
      "require": "./dist/storage/redis.cjs"
    },
    "./observability/otel": {
      "types": "./dist/observability/otel.d.ts",
      "import": "./dist/observability/otel.js",
      "require": "./dist/observability/otel.cjs"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "sideEffects": false,
  "engines": {
    "node": ">=18"
  },
  "scripts": {
    "build": "tsup",
    "dev": "tsup --watch",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:unit": "vitest run",
    "test:integration": "RUN_INTEGRATION=1 vitest run test/integration/",
    "test:all": "RUN_INTEGRATION=1 vitest run",
    "test:cov": "vitest run --coverage",
    "test:services:up": "docker run -d --rm --name kompensa-test-postgres -e POSTGRES_USER=kompensa -e POSTGRES_PASSWORD=kompensa -e POSTGRES_DB=kompensa_test -p 5434:5432 --tmpfs /var/lib/postgresql/data postgres:17-alpine && docker run -d --rm --name kompensa-test-redis -p 6381:6379 --tmpfs /data redis:7-alpine",
    "test:services:down": "docker rm -f kompensa-test-postgres kompensa-test-redis 2>/dev/null || true",
    "typecheck": "tsc --noEmit",
    "prepublishOnly": "npm run typecheck && npm run test && npm run build",
    "release:patch": "npm version patch -m \"chore(release): v%s\" && git push --follow-tags",
    "release:minor": "npm version minor -m \"chore(release): v%s\" && git push --follow-tags",
    "release:major": "npm version major -m \"chore(release): v%s\" && git push --follow-tags"
  },
  "peerDependencies": {
    "@opentelemetry/api": "^1.0.0",
    "ioredis": "^5.0.0",
    "pg": "^8.0.0"
  },
  "peerDependenciesMeta": {
    "@opentelemetry/api": {
      "optional": true
    },
    "ioredis": {
      "optional": true
    },
    "pg": {
      "optional": true
    }
  },
  "devDependencies": {
    "@opentelemetry/api": "^1.9.0",
    "@types/node": "^20.11.0",
    "@types/pg": "^8.11.0",
    "@vitest/coverage-v8": "^1.3.0",
    "ioredis": "^5.4.0",
    "pg": "^8.11.0",
    "tsup": "^8.0.0",
    "typescript": "^5.4.0",
    "vitest": "^1.3.0"
  }
}
