{
  "name": "@lostgradient/weft",
  "version": "0.25.0",
  "description": "A Bun-native durable execution engine with pluggable key-value storage.",
  "keywords": [
    "bun",
    "durable-execution",
    "workflow",
    "saga",
    "temporal",
    "storage",
    "key-value"
  ],
  "homepage": "https://github.com/stevekinney/weft#readme",
  "bugs": {
    "url": "https://github.com/stevekinney/weft/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/stevekinney/weft.git",
    "directory": "packages/weft"
  },
  "license": "MIT",
  "author": "Steve Kinney <hello@stevekinney.net>",
  "sideEffects": false,
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "bun": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      },
      "import": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./service-worker": {
      "types": "./dist/service-worker/index.d.ts",
      "import": "./dist/service-worker/index.js",
      "default": "./dist/service-worker/index.js"
    },
    "./testing": {
      "types": "./dist/testing/index.d.ts",
      "bun": "./dist/testing/index.js",
      "import": "./dist/testing/index.js",
      "default": "./dist/testing/index.js"
    },
    "./storage": {
      "types": "./dist/storage/index.d.ts",
      "bun": "./dist/storage/index.js",
      "import": "./dist/storage/index.js",
      "default": "./dist/storage/index.js"
    },
    "./storage/interface": {
      "types": "./dist/storage/interface.d.ts",
      "bun": "./dist/storage/interface.js",
      "import": "./dist/storage/interface.js",
      "default": "./dist/storage/interface.js"
    },
    "./storage/memory": {
      "types": "./dist/storage/memory.d.ts",
      "bun": "./dist/storage/memory.js",
      "import": "./dist/storage/memory.js",
      "default": "./dist/storage/memory.js"
    },
    "./storage/compressed": {
      "types": "./dist/storage/compressed-storage.d.ts",
      "bun": "./dist/storage/compressed-storage.js",
      "import": "./dist/storage/compressed-storage.js",
      "default": "./dist/storage/compressed-storage.js"
    },
    "./storage/text-value-store": {
      "types": "./dist/storage/text-value-store.d.ts",
      "bun": "./dist/storage/text-value-store.js",
      "import": "./dist/storage/text-value-store.js",
      "default": "./dist/storage/text-value-store.js"
    },
    "./storage/text-value-import": {
      "types": "./dist/storage/text-value-import.d.ts",
      "bun": "./dist/storage/text-value-import.js",
      "import": "./dist/storage/text-value-import.js",
      "default": "./dist/storage/text-value-import.js"
    },
    "./storage/testing": {
      "types": "./dist/storage/testing.d.ts",
      "bun": "./dist/storage/testing.js"
    },
    "./storage/sqlite": {
      "types": "./dist/storage/sqlite.d.ts",
      "bun": "./dist/storage/bun-sql.js",
      "node": "./dist/storage/node-sqlite.js",
      "import": "./dist/storage/node-sqlite.js",
      "default": "./dist/storage/node-sqlite.js"
    },
    "./storage/sqlite/bun": {
      "types": "./dist/storage/bun-sql.d.ts",
      "bun": "./dist/storage/bun-sql.js"
    },
    "./storage/sqlite/node": {
      "types": "./dist/storage/node-sqlite.d.ts",
      "node": "./dist/storage/node-sqlite.js"
    },
    "./storage/lmdb": {
      "types": "./dist/storage/lmdb.d.ts",
      "bun": "./dist/storage/lmdb.js",
      "import": "./dist/storage/lmdb.js",
      "default": "./dist/storage/lmdb.js"
    },
    "./storage/turso": {
      "types": "./dist/storage/turso.d.ts",
      "bun": "./dist/storage/turso.js",
      "import": "./dist/storage/turso.js",
      "default": "./dist/storage/turso.js"
    },
    "./storage/neon": {
      "types": "./dist/storage/neon.d.ts",
      "bun": "./dist/storage/neon.js",
      "import": "./dist/storage/neon.js",
      "default": "./dist/storage/neon.js"
    },
    "./storage/postgres": {
      "types": "./dist/storage/postgres.d.ts",
      "bun": "./dist/storage/postgres.js",
      "import": "./dist/storage/postgres.js",
      "default": "./dist/storage/postgres.js"
    },
    "./storage/cloudflare": {
      "types": "./dist/storage/cloudflare.d.ts",
      "import": "./dist/storage/cloudflare.js",
      "default": "./dist/storage/cloudflare.js"
    },
    "./storage/indexeddb": {
      "types": "./dist/storage/indexeddb.d.ts",
      "import": "./dist/storage/indexeddb.js",
      "default": "./dist/storage/indexeddb.js"
    },
    "./storage/web-extension": {
      "types": "./dist/storage/web-extension.d.ts",
      "import": "./dist/storage/web-extension.js",
      "default": "./dist/storage/web-extension.js"
    },
    "./storage/http": {
      "types": "./dist/storage/http.d.ts",
      "import": "./dist/storage/http.js",
      "default": "./dist/storage/http.js"
    },
    "./storage/resolve": {
      "types": "./dist/storage/resolve.d.ts",
      "import": "./dist/storage/resolve.js",
      "default": "./dist/storage/resolve.js"
    },
    "./storage/auto": {
      "types": "./dist/storage/auto.d.ts",
      "bun": "./dist/storage/auto.js",
      "import": "./dist/storage/auto.js",
      "default": "./dist/storage/auto.js"
    },
    "./server": {
      "types": "./dist/server/index.d.ts",
      "bun": "./dist/server/index.js",
      "import": "./dist/server/index.js",
      "default": "./dist/server/index.js"
    },
    "./server/handler": {
      "types": "./dist/server/handler.d.ts",
      "import": "./dist/server/handler.js",
      "default": "./dist/server/handler.js"
    },
    "./client": {
      "types": "./dist/client/index.d.ts",
      "import": "./dist/client/index.js",
      "default": "./dist/client/index.js"
    },
    "./mcp": {
      "types": "./dist/mcp/index.d.ts",
      "bun": "./dist/mcp/index.js",
      "import": "./dist/mcp/index.js",
      "default": "./dist/mcp/index.js"
    },
    "./client/local": {
      "types": "./dist/client/local.d.ts",
      "import": "./dist/client/local.js",
      "default": "./dist/client/local.js"
    },
    "./observability": {
      "types": "./dist/observability/index.d.ts",
      "bun": "./dist/observability/index.js",
      "import": "./dist/observability/index.js",
      "default": "./dist/observability/index.js"
    },
    "./json-schema": {
      "types": "./dist/json-schema.d.ts",
      "bun": "./dist/json-schema.js",
      "import": "./dist/json-schema.js",
      "default": "./dist/json-schema.js"
    },
    "./worker-protocol": {
      "types": "./dist/worker/protocol.d.ts",
      "bun": "./dist/worker/protocol.js",
      "import": "./dist/worker/protocol.js",
      "default": "./dist/worker/protocol.js"
    }
  },
  "main": "./dist/index.js",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "bin": {
    "weft": "dist/cli-main.js",
    "weft-mcp": "dist/mcp/cli.js"
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "bun run scripts/build.ts",
    "build:binary": "bun run scripts/build-binary-main.ts",
    "check:package-contents": "bun run scripts/check-package-contents.ts",
    "clean": "rm -rf dist coverage tsconfig.tsbuildinfo",
    "dev": "bun --watch run src/index.ts",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
    "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"",
    "lint": "oxlint --type-aware --tsconfig ./tsconfig.json --report-unused-disable-directives-severity=error && bun run scripts/check-lint-disables.ts && bun run scripts/check-implementation-file-sizes.ts && bun run scripts/check-import-cycles.ts && bun run scripts/check-internal-imports.ts && bun run scripts/check-engine-internals-field-access.ts && bun run scripts/check-revision-keyed-lookups.ts && bun run scripts/check-definition-vocabulary.ts && bun run scripts/check-catalog-completeness.ts && bun run scripts/check-catalog-drift.ts && bun run scripts/check-type-ergonomics.ts",
    "lint:fix": "oxlint --fix --type-aware --tsconfig ./tsconfig.json",
    "markdown-doctests:inventory": "bun run scripts/extract-markdown-doctests.ts inventory",
    "prepack": "bun run scripts/run-gates.ts prepack",
    "pr:title": "bun run scripts/pr-title.ts",
    "prepublishOnly": "bun run validate",
    "start": "bun run src/index.ts",
    "test": "bun test --timeout 15000 --path-ignore-patterns='src/benchmarks/**' --path-ignore-patterns='examples/checkout/**' --path-ignore-patterns='src/service-worker/service-worker-browser.test.ts' --path-ignore-patterns='src/storage/indexeddb-browser.test.ts' --path-ignore-patterns='src/storage/web-extension-browser.test.ts' --path-ignore-patterns='src/client/http-client-browser.test.ts'",
    "test:benchmarks": "bun test src/benchmarks --timeout 15000 --parallel=1",
    "test:browser-smoke": "WEFT_BROWSER_SMOKE=1 bun test --timeout 20000 src/service-worker/service-worker-browser.test.ts src/storage/indexeddb-browser.test.ts src/storage/web-extension-browser.test.ts src/client/http-client-browser.test.ts",
    "test:coverage": "bun run scripts/check-coverage.ts",
    "typecheck": "tsc --noEmit",
    "typecheck:package-root": "bun run build && tsc --noEmit -p tsconfig.package-test-d.json",
    "typecheck:tests": "tsc --noEmit -p tsconfig.test-d.json && bun run typecheck:package-root",
    "validate": "bun run scripts/run-gates.ts validate",
    "validate:package-consumers": "bun run scripts/validate-package-consumers.ts",
    "verify:documentation": "bun run scripts/verify-documentation.ts",
    "verify:exports": "bun run scripts/verify-tree-shaking.ts",
    "verify:jsdoc": "bun run scripts/audit-jsdoc-manifest.ts",
    "verify:jsdoc:declarations": "bun run scripts/check-declaration-jsdoc.ts --all",
    "verify:jsdoc:doctests": "bun run scripts/verify-jsdoc-doctests.ts",
    "verify:jsdoc:full": "bun run build && bun run verify:jsdoc && bun run verify:jsdoc:doctests && bun run verify:jsdoc:declarations && bun run verify:markdown-doctests",
    "verify:markdown-doctests": "bun run scripts/extract-markdown-doctests.ts verify",
    "verify:markdown-doctests:ratchet": "bun run scripts/extract-markdown-doctests.ts ratchet",
    "verify:no-test-sleeps": "bun run scripts/verify-no-test-sleeps.ts",
    "verify:portability": "bun run scripts/verify-portability.ts",
    "verify:public-api-jsdoc": "bun run build && bun run verify:jsdoc",
    "verify:release-version": "bun run scripts/verify-release-version.ts"
  },
  "lint-staged": {
    "src/**/*.{js,ts,tsx,jsx,mjs,cjs}": [
      "prettier --write"
    ],
    "scripts/**/*.{js,ts,tsx,jsx,mjs,cjs}": [
      "prettier --write"
    ],
    "**/*.{json,md,css,scss}": [
      "prettier --write"
    ],
    "package.json": [
      "sort-package-json"
    ]
  },
  "dependencies": {
    "@msgpack/msgpack": "^3.1.3",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@electric-sql/pglite": "^0.5.1",
    "@libsql/client": "^0.17.2",
    "@neondatabase/serverless": "^1.1.0",
    "@types/bun": "1.3.13",
    "@types/pg": "^8.11.0",
    "better-sqlite3": "^12.8.0",
    "chalk": "^5.6.2",
    "change-case": "^5.4.4",
    "fake-indexeddb": "^6.2.5",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "lmdb": "^3.5.2",
    "oxlint": "^1.79.0",
    "oxlint-tsgolint": "^7.0.2001",
    "pg": "^8.11.0",
    "playwright": "^1.60.0",
    "prettier": "^3.8.1",
    "prettier-plugin-organize-imports": "^4.3.0",
    "sort-package-json": "^3.6.1",
    "typescript": "5.8.3",
    "valibot": "^1.4.0"
  },
  "peerDependencies": {
    "@libsql/client": "^0.17.2",
    "@lostgradient/weft-ui": "^0.1.0",
    "@neondatabase/serverless": "^1.1.0",
    "@opentelemetry/api": "^1.0.0",
    "better-sqlite3": "^12.8.0",
    "lmdb": "^3.5.2",
    "pg": "^8.11.0"
  },
  "peerDependenciesMeta": {
    "@libsql/client": {
      "optional": true
    },
    "@lostgradient/weft-ui": {
      "optional": true
    },
    "@neondatabase/serverless": {
      "optional": true
    },
    "@opentelemetry/api": {
      "optional": true
    },
    "better-sqlite3": {
      "optional": true
    },
    "lmdb": {
      "optional": true
    },
    "pg": {
      "optional": true
    }
  },
  "optionalDependencies": {
    "@valibot/to-json-schema": "^1.7.0"
  },
  "engines": {
    "bun": ">=1.3.13"
  },
  "publishConfig": {
    "access": "public"
  }
}
