{
  "name": "trellis",
  "version": "3.4.1",
  "description": "Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications",
  "type": "module",
  "main": "./dist/index.js",
  "author": "Trent Brew <tbrew@turtle.tech>",
  "license": "AGPL-3.0-or-later",
  "repository": {
    "type": "git",
    "url": "https://github.com/trentbrew/trellis.git"
  },
  "homepage": "https://github.com/trentbrew/trellis#readme",
  "keywords": [
    "vcs",
    "version-control",
    "graph",
    "eav",
    "semantic",
    "ast",
    "wiki-links",
    "embeddings",
    "knowledge-graph",
    "decision-traces",
    "collaboration",
    "sync",
    "causal"
  ],
  "engines": {
    "node": ">=20.0.0"
  },
  "bin": {
    "trellis": "./bin/trellis.mjs"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "bun": "./dist/index.js",
      "browser": "./dist/browser/index.js",
      "import": "./dist/index.js"
    },
    "./core": {
      "types": "./dist/core/index.d.ts",
      "bun": "./dist/core/index.js",
      "import": "./dist/core/index.js"
    },
    "./vcs": {
      "types": "./dist/vcs/index.d.ts",
      "bun": "./dist/vcs/index.js",
      "import": "./dist/vcs/index.js"
    },
    "./sync": {
      "types": "./dist/sync/index.d.ts",
      "bun": "./dist/sync/index.js",
      "import": "./dist/sync/index.js"
    },
    "./realtime": {
      "types": "./dist/realtime/index.d.ts",
      "svelte": "./dist/realtime/index.js",
      "browser": "./dist/realtime/index.js",
      "bun": "./dist/realtime/index.js",
      "import": "./dist/realtime/index.js",
      "default": "./dist/realtime/index.js"
    },
    "./ai": {
      "types": "./dist/embeddings/index.d.ts",
      "bun": "./dist/embeddings/index.js",
      "import": "./dist/embeddings/index.js"
    },
    "./links": {
      "types": "./dist/links/index.d.ts",
      "bun": "./dist/links/index.js",
      "import": "./dist/links/index.js"
    },
    "./cms": {
      "types": "./dist/cms/index.d.ts",
      "bun": "./dist/cms/index.js",
      "import": "./dist/cms/index.js"
    },
    "./decisions": {
      "types": "./dist/decisions/index.d.ts",
      "bun": "./dist/decisions/index.js",
      "import": "./dist/decisions/index.js"
    },
    "./server": {
      "types": "./dist/server/index.d.ts",
      "bun": "./dist/server/index.js",
      "import": "./dist/server/index.js"
    },
    "./client": {
      "types": "./dist/client/index.d.ts",
      "svelte": "./dist/client/index.browser.js",
      "browser": "./dist/client/index.browser.js",
      "bun": "./dist/client/index.js",
      "import": "./dist/client/index.js",
      "default": "./dist/client/index.js"
    },
    "./client/sdk": {
      "types": "./dist/client/sdk.d.ts",
      "svelte": "./dist/client/sdk.browser.js",
      "browser": "./dist/client/sdk.browser.js",
      "import": "./dist/client/sdk.js",
      "default": "./dist/client/sdk.js"
    },
    "./browser": {
      "types": "./dist/browser/index.d.ts",
      "svelte": "./dist/browser/index.js",
      "browser": "./dist/browser/index.js",
      "import": "./dist/browser/index.js",
      "default": "./dist/browser/index.js"
    },
    "./schema": {
      "types": "./dist/schema/index.d.ts",
      "svelte": "./dist/schema/index.js",
      "browser": "./dist/schema/index.js",
      "bun": "./dist/schema/index.js",
      "import": "./dist/schema/index.js",
      "default": "./dist/schema/index.js"
    },
    "./react": {
      "types": "./dist/react/index.d.ts",
      "svelte": "./dist/react/index.js",
      "browser": "./dist/react/index.js",
      "import": "./dist/react/index.js",
      "default": "./dist/react/index.js"
    },
    "./react/realtime": {
      "types": "./dist/react/realtime.d.ts",
      "svelte": "./dist/react/realtime.js",
      "browser": "./dist/react/realtime.js",
      "import": "./dist/react/realtime.js",
      "default": "./dist/react/realtime.js"
    },
    "./react/typed": {
      "types": "./dist/react/schema-hooks.d.ts",
      "svelte": "./dist/react/schema-hooks.js",
      "browser": "./dist/react/schema-hooks.js",
      "import": "./dist/react/schema-hooks.js",
      "default": "./dist/react/schema-hooks.js"
    },
    "./vue": {
      "types": "./dist/vue/index.d.ts",
      "svelte": "./dist/vue/index.js",
      "browser": "./dist/vue/index.js",
      "import": "./dist/vue/index.js",
      "default": "./dist/vue/index.js"
    },
    "./vue/typed": {
      "types": "./dist/vue/schema-hooks.d.ts",
      "svelte": "./dist/vue/schema-hooks.js",
      "browser": "./dist/vue/schema-hooks.js",
      "import": "./dist/vue/schema-hooks.js",
      "default": "./dist/vue/schema-hooks.js"
    },
    "./svelte": {
      "types": "./dist/svelte/index.d.ts",
      "svelte": "./dist/svelte/index.js",
      "browser": "./dist/svelte/index.js",
      "import": "./dist/svelte/index.js",
      "default": "./dist/svelte/index.js"
    },
    "./svelte/typed": {
      "types": "./dist/svelte/schema-hooks.d.ts",
      "svelte": "./dist/svelte/schema-hooks.js",
      "browser": "./dist/svelte/schema-hooks.js",
      "import": "./dist/svelte/schema-hooks.js",
      "default": "./dist/svelte/schema-hooks.js"
    },
    "./db": {
      "types": "./dist/db/index.d.ts",
      "bun": "./dist/db/index.js",
      "import": "./dist/db/index.js"
    },
    "./persist/better-sqlite": {
      "types": "./dist/persist/better-sqlite-backend.d.ts",
      "import": "./dist/persist/better-sqlite-backend.js"
    },
    "./persist/sqljs": {
      "types": "./dist/persist/sqljs-backend.d.ts",
      "import": "./dist/persist/sqljs-backend.js"
    },
    "./persist/factory": {
      "types": "./dist/persist/factory.d.ts",
      "import": "./dist/persist/factory.js"
    },
    "./plugins/plan-approval": {
      "types": "./dist/plugins/plan-approval/index.d.ts",
      "import": "./dist/plugins/plan-approval/index.js"
    },
    "./plugins/proactive-watcher": {
      "types": "./dist/plugins/proactive-watcher/index.d.ts",
      "import": "./dist/plugins/proactive-watcher/index.js"
    },
    "./plugins/idea-garden": {
      "types": "./dist/plugins/idea-garden/index.d.ts",
      "import": "./dist/plugins/idea-garden/index.js"
    },
    "./plugins/agent-memory": {
      "types": "./dist/plugins/agent-memory/index.d.ts",
      "import": "./dist/plugins/agent-memory/index.js"
    },
    "./plugins/cron": {
      "types": "./dist/plugins/cron/index.d.ts",
      "import": "./dist/plugins/cron/index.js"
    }
  },
  "files": [
    "dist",
    "bin",
    "logo.png",
    "logo.svg",
    "LICENSE",
    "CHANGELOG.md",
    "README.md"
  ],
  "scripts": {
    "dev": "tsx src/index.ts",
    "cli": "tsx src/cli/index.ts",
    "mcp": "tsx src/mcp/index.ts",
    "mcp:docs": "tsx src/mcp/docs.ts",
    "build": "rm -rf dist && esbuild src/index.ts src/browser/index.ts src/core/index.ts src/vcs/index.ts src/sync/index.ts src/realtime/index.ts src/embeddings/index.ts src/links/index.ts src/decisions/index.ts src/server/index.ts src/server/deploy.ts src/mcp/gateway-serve.ts src/client/index.ts src/client/index.browser.ts src/client/sdk.ts src/client/sdk.browser.ts src/schema/index.ts src/react/index.ts src/react/realtime.ts src/react/schema-hooks.ts src/vue/index.ts src/vue/schema-hooks.ts src/svelte/index.ts src/svelte/schema-hooks.ts src/db/index.ts src/cli/index.ts src/cli/deploy-cli.ts src/cms/index.ts src/core/persist/sqljs-backend.ts src/core/persist/factory.ts src/server/node-adapter.ts src/plugins/plan-approval/index.ts src/plugins/proactive-watcher/index.ts src/plugins/idea-garden/index.ts src/plugins/agent-memory/index.ts src/plugins/cron/index.ts --bundle --outdir=dist --outbase=src --format=esm --splitting --platform=node --external:@xenova/transformers --external:@huggingface/transformers --external:react --external:vue --external:sql.js --external:ws --external:better-sqlite3 --external:bun:sqlite --external:commander --external:chalk --external:@inquirer/prompts --external:zod --external:uqr && npm run build:realtime-bundle && mkdir -p dist/ui && cp src/ui/client.html dist/ui/client.html && cp src/ui/lanes.html dist/ui/lanes.html && cp src/ui/admin.html dist/ui/admin.html && cp src/ui/admin-datatable.css dist/ui/admin-datatable.css && cp src/ui/logo.png dist/ui/logo.png && mkdir -p dist/ui/theme && cp src/ui/theme/runtime-theme.css dist/ui/theme/runtime-theme.css && cp src/ui/tml-lanes.html dist/ui/tml-lanes.html && tsc -p tsconfig.build.json --emitDeclarationOnly --noEmit false --noEmitOnError false && npm run build:inspector",
    "build:realtime-bundle": "esbuild src/realtime/index.ts --bundle --format=esm --platform=browser --outfile=dist/realtime.bundle.js && esbuild src/realtime/relay-persistence.ts --bundle --format=esm --platform=node --outfile=dist/realtime/relay-persistence.js",
    "build:state-demo-bundle": "esbuild demo/state-demo/entry.ts --bundle --format=esm --platform=browser --outfile=dist/state-demo.bundle.js",
    "build:inspector": "vite build --config vite.inspector.config.ts",
    "check": "tsc -p tsconfig.build.json --noEmit --pretty false",
    "test": "vitest run test/core test/cms test/vcs test/git test/p2 test/p3 test/p4 test/p5 test/p6 test/p7 test/client test/realtime test/schema test/server test/cloud test/engine.test.ts test/cli test/ui",
    "test:e2e": "playwright test",
    "test:ship": "vitest run test/vcs/init-config-defaults.test.ts test/vcs/phase2-coordination.test.ts test/git/git-sync.test.ts test/ui/lanes-snapshot.test.ts test/engine.test.ts",
    "test:all": "vitest run",
    "test:wc": "node test/webcontainer/server.mjs",
    "prepublishOnly": "npm run test && npm run build"
  },
  "dependencies": {
    "@inquirer/prompts": "^8.2.2",
    "@modelcontextprotocol/sdk": "^1.6.0",
    "chalk": "^5.4.1",
    "commander": "^13.1.0",
    "opencode-ai": "^1.3.5",
    "turtlecode": "^0.3.59",
    "uqr": "^0.1.3",
    "zod": "^3.23.0"
  },
  "optionalDependencies": {
    "@huggingface/transformers": "^3.0.0",
    "@xenova/transformers": "^2.17.2",
    "sql.js": "^1.14.1",
    "ws": "^8.20.1"
  },
  "peerDependencies": {
    "better-sqlite3": "^11.0.0",
    "react": ">=18",
    "vue": ">=3.3",
    "zod": "^3.23.0"
  },
  "peerDependenciesMeta": {
    "better-sqlite3": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "vue": {
      "optional": true
    },
    "zod": {
      "optional": true
    }
  },
  "devDependencies": {
    "@playwright/test": "^1.60.0",
    "@types/node": "^20.0.0",
    "@types/react": "^19.1.2",
    "@types/sql.js": "^1.4.11",
    "@types/ws": "^8.18.1",
    "@vitejs/plugin-vue": "^5.2.3",
    "esbuild": "^0.24.0",
    "fake-indexeddb": "^6.2.5",
    "react": "^19.1.0",
    "tsx": "^4.19.0",
    "typescript": "^5",
    "vite": "^6.3.1",
    "vitest": "^2.0.0",
    "vue": "^3.5.13"
  }
}
