{ "name": "enbor", "version": "0.1.0", "private": true, "license": "Apache-2.0", "type": "module", "packageManager": "pnpm@10.30.2", "scripts": { "dev": "vite dev", "build": "pnpm run build:skills && vite build && pnpm run copy:skills", "build:staging": "pnpm run build:skills && CLOUDFLARE_ENV=staging vite build && pnpm run copy:skills", "build:skills": "node scripts/build-agent-skills.mjs", "copy:skills": "node scripts/copy-agent-skills-assets.mjs", "check:skills": "node scripts/build-agent-skills.mjs --check", "deploy": "pnpm run db:migrate:d1:prod && pnpm run build && wrangler deploy", "db:generate": "drizzle-kit generate", "db:migrate:d1": "wrangler d1 migrations apply DB --local", "db:migrate:d1:staging": "wrangler d1 migrations apply DB --remote --env staging", "db:migrate:d1:prod": "wrangler d1 migrations apply DB --remote", "typecheck": "tsc --noEmit -p packages/runtime-contracts/tsconfig.json && tsc --noEmit -p server/tsconfig.json && tsc --noEmit -p src/tsconfig.json && tsc --noEmit -p packages/runtime-bridge/tsconfig.json", "test": "vitest run", "test:coverage": "vitest run --project unit --project web --coverage", "e2e": "playwright test", "e2e:server": "wrangler d1 migrations apply DB --local --env e2e && CLOUDFLARE_ENV=e2e E2E_TEST_AUTH=true RUNTIME_MODE=test vite dev --host localhost --port ${E2E_PORT:-5173} --strictPort", "lint": "biome check .", "lint:fix": "biome check --write .", "lint:arch": "depcruise server/ shared/ --config .dependency-cruiser.cjs", "lint:spec": "tsx scripts/check-spec-coverage.ts", "lint:escapes": "tsx scripts/check-type-escapes.ts", "lint:types": "eslint .", "format": "biome format --write .", "bridge:build": "esbuild packages/runtime-bridge/src/main.ts --bundle --platform=node --format=esm --target=node24 --banner:js=\"import { createRequire as __enborCreateRequire } from 'node:module'; const require = __enborCreateRequire(import.meta.url);\" --outfile=cmd/enbor-runner/pkg/runtimebridge/bundle.mjs", "openapi:generate": "tsx scripts/generate-openapi-and-sdks.ts", "openapi:check": "tsx scripts/generate-openapi-and-sdks.ts --check", "contract:generate": "tsx scripts/generate-runtime-contracts.ts", "contract:check": "tsx scripts/generate-runtime-contracts.ts --check", "identity:migration:preflight": "node scripts/identity-migration-preflight.mjs", "smoke:mock": "pnpm run bridge:build && node scripts/smoke-runtime.mjs", "smoke:real": "node scripts/smoke-full.mjs", "events:rebuild": "tsx scripts/rebuild-session-events.ts" }, "engines": { "node": ">=24" }, "dependencies": { "@agentclientprotocol/sdk": "^0.19.2", "@anthropic-ai/claude-agent-sdk": "^0.2.141", "@cfworker/json-schema": "^4.1.1", "@cloudflare/sandbox": "^0.12.9", "@earendil-works/pi-agent-core": "^0.75.3", "@earendil-works/pi-ai": "^0.75.3", "@fontsource-variable/geist": "^5.2.8", "@github/copilot": "^1.0.60", "@github/copilot-sdk": "^0.2.2", "@hono/zod-openapi": "^1.4.0", "@hono/zod-validator": "^0.7.6", "@modelcontextprotocol/sdk": "^1.29.0", "@openai/codex-sdk": "^0.142.5", "@scalar/hono-api-reference": "^0.11.6", "@tanstack/react-query": "^5.100.9", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dayjs": "^1.11.20", "drizzle-orm": "^0.45.2", "hono": "^4.12.18", "jose": "^6.2.3", "liquidjs": "^10.27.1", "lucide-react": "^0.577.0", "next-themes": "^0.4.6", "oauth4webapi": "^3.8.7", "radix-ui": "^1.4.3", "react": "^19.2.5", "react-arborist": "^3.13.1", "react-dom": "^19.2.5", "react-markdown": "^10.1.0", "react-router": "^7.15.1", "remark-gfm": "^4.0.1", "shadcn": "^4.11.0", "sonner": "^2.0.7", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0", "uuid": "^14.0.2", "zod": "^4.4.3" }, "devDependencies": { "@biomejs/biome": "^2.4.10", "@cloudflare/vite-plugin": "^1.54.3", "@cloudflare/vitest-pool-workers": "^0.22.0", "@cloudflare/workers-types": "^5.20260902.1", "@playwright/test": "^1.60.0", "@tailwindcss/vite": "^4.2.2", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/node": "^25.8.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react-swc": "^4.3.0", "@vitest/coverage-v8": "^4.1.6", "dependency-cruiser": "^17.4.3", "drizzle-kit": "^0.31.10", "esbuild": "^0.28.0", "eslint": "^9.39.4", "jsdom": "^29.0.2", "msw": "^2.14.6", "tailwindcss": "^4.2.4", "tsx": "^4.0.0", "typescript": "^5.9.3", "typescript-eslint": "^8.61.0", "vite": "^7.3.2", "vitest": "^4.1.2", "wrangler": "^4.128.0", "ws": "^8.21.3" }, "volta": { "node": "24.14.1", "pnpm": "10.30.2" } }