package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "mogplex",
"version": "0.2.1",
"description": "Open-source platform for agent-native software development: coding agents plan, build, test, review, and ship in isolated sandboxes",
"private": true,
"license": "Apache-2.0",
"packageManager": "pnpm@10.12.4",
"engines": {
"node": ">=22.23.4 <23"
},
"homepage": "https://github.com/Mogplex/mogplex#readme",
"bugs": {
"url": "https://github.com/Mogplex/mogplex/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/Mogplex/mogplex.git"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"build:self-host-scripts": "esbuild scripts/apply-neon-migrations.ts scripts/doctor.ts --bundle --platform=node --target=node22 --format=cjs --external:pg-native --log-level=warning --outdir=.next/self-host --out-extension:.js=.cjs",
"start": "next start",
"lint": "node --max-old-space-size=6144 ./node_modules/eslint/bin/eslint.js --cache --cache-location node_modules/.cache/eslint/ --cache-strategy content --concurrency auto .",
"lint:fix": "node --max-old-space-size=6144 ./node_modules/eslint/bin/eslint.js --cache --cache-location node_modules/.cache/eslint/ --cache-strategy content --concurrency auto --fix .",
"typecheck": "tsc --noEmit",
"setup:doctor": "tsx scripts/doctor.ts",
"test": "vitest run",
"harness:check": "node scripts/sync-harness-configs.mjs --check",
"harness:sync": "node scripts/sync-harness-configs.mjs --write",
"harness:smoke": "tsx scripts/harness-smoke-test.ts",
"mcp:smoke": "tsx scripts/smoke-mogplex-mcp.ts",
"quality:pr-review": "tsx scripts/run-pr-review-candidate.ts",
"git:cleanup": "pnpm exec tsx scripts/post-merge-cleanup.ts",
"billing:capacity-catalog": "pnpm exec tsx scripts/seed-capacity-stripe-catalog.ts",
"billing:capacity-test-clock": "pnpm exec tsx scripts/run-capacity-stripe-test-clock.ts",
"trigger:dev": "pnpm exec tsx scripts/trigger-cli.ts dev",
"trigger:deploy": "pnpm exec tsx scripts/trigger-cli.ts deploy",
"email:dev": "email dev --dir emails --port 3030",
"test:unit": "tsx --require ./tests/support/bundler-shims.cjs --test tests/unit/*.test.ts",
"test:db": "vitest run -c vitest-db.config.ts",
"test:all": "pnpm test && pnpm test:unit && pnpm test:db",
"test:e2e": "playwright test",
"prepare": "husky",
"test:schema-compatibility": "node scripts/check-schema-compatibility.mjs"
},
"lint-staged": {
"*.{ts,tsx}": [
"pnpm exec eslint --fix",
"bash -c 'pnpm exec tsc --noEmit --pretty false'"
]
},
"pnpm": {
"overrides": {
"@babel/core": "7.29.6",
"@opentelemetry/core": "2.8.0",
"@trigger.dev/core>nanoid": "3.3.18",
"ansi-to-react>linkify-it": "5.0.2",
"brace-expansion": "5.0.9",
"minimatch@9>brace-expansion": "2.1.4",
"cookie": "0.7.0",
"defu": "6.1.5",
"devalue": "5.8.1",
"effect": "3.20.0",
"engine.io": "6.6.7",
"esbuild": "0.28.1",
"fast-xml-parser": "5.7.0",
"fast-xml-builder": "1.1.7",
"fast-uri": "3.1.5",
"flatted": "3.4.2",
"file-type": "21.3.3",
"js-yaml": "4.3.1",
"lodash": "4.18.0",
"lodash-es": "4.18.0",
"next": "16.4.1",
"picomatch": "4.0.4",
"postcss": "8.5.23",
"protobufjs": "7.6.5",
"sharp": "0.35.0",
"smol-toml": "1.6.1",
"valibot": "1.4.2",
"svelte": "5.55.7",
"systeminformation": "5.31.7",
"typed-rest-client>qs": "6.15.2",
"undici": "7.30.1",
"uuid": "11.1.1",
"vite": "7.3.5",
"ws": "8.21.0",
"yaml": "2.8.3",
"dompurify": "3.4.14",
"postcss>nanoid": "3.3.18",
"deepmerge-ts": "8.0.0"
}
},
"dependencies": {
"@ai-sdk/anthropic": "^4.0.57",
"@ai-sdk/mcp": "^2.0.53",
"@ai-sdk/openai": "^4.0.70",
"@ai-sdk/react": "^4.0.109",
"@better-auth/infra": "^0.3.7",
"@better-auth/oauth-provider": "1.7.7",
"@better-auth/sso": "^1.7.7",
"@c15t/nextjs": "^2.1.0",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/utilities": "^3.2.2",
"@floating-ui/dom": "^1.7.5",
"@hookform/resolvers": "^3.9.1",
"@monaco-editor/react": "^4.7.0",
"@openrouter/ai-sdk-provider": "^3.0.0",
"@pierre/diffs": "^1.1.2",
"@pierre/trees": "1.0.0-beta.3",
"@radix-ui/react-accordion": "1.2.12",
"@radix-ui/react-alert-dialog": "1.1.15",
"@radix-ui/react-aspect-ratio": "1.1.8",
"@radix-ui/react-avatar": "1.1.11",
"@radix-ui/react-checkbox": "1.3.3",
"@radix-ui/react-collapsible": "1.1.12",
"@radix-ui/react-context-menu": "2.2.16",
"@radix-ui/react-dialog": "1.1.15",
"@radix-ui/react-dropdown-menu": "2.1.16",
"@radix-ui/react-hover-card": "1.1.15",
"@radix-ui/react-label": "2.1.8",
"@radix-ui/react-menubar": "1.1.16",
"@radix-ui/react-navigation-menu": "1.2.14",
"@radix-ui/react-popover": "1.1.15",
"@radix-ui/react-progress": "1.1.8",
"@radix-ui/react-radio-group": "1.3.8",
"@radix-ui/react-scroll-area": "1.2.10",
"@radix-ui/react-select": "2.2.6",
"@radix-ui/react-separator": "1.1.8",
"@radix-ui/react-slider": "1.3.6",
"@radix-ui/react-slot": "1.2.4",
"@radix-ui/react-switch": "1.2.6",
"@radix-ui/react-tabs": "1.1.13",
"@radix-ui/react-toast": "1.2.15",
"@radix-ui/react-toggle": "1.1.10",
"@radix-ui/react-toggle-group": "1.1.11",
"@radix-ui/react-tooltip": "1.2.8",
"@radix-ui/react-use-controllable-state": "^1.2.6",
"@react-email/components": "^1.0.12",
"@rive-app/react-webgl2": "^4.31.0",
"@sentry/nextjs": "^10.75.2",
"@streamdown/cjk": "^1.0.3",
"@streamdown/code": "^1.1.1",
"@streamdown/math": "^1.0.2",
"@streamdown/mermaid": "^1.0.2",
"@supabase/supabase-js": "^2.99.1",
"@tanstack/react-table": "^8.21.3",
"@trigger.dev/sdk": "4.8.3",
"@trigger.dev/slack": "4.8.3",
"@vercel/analytics": "1.6.1",
"@vercel/sandbox": "2.0.0-beta.19",
"@vercel/speed-insights": "2.0.0",
"@wterm/core": "0.3.2",
"@wterm/dom": "0.3.2",
"@wterm/react": "0.3.2",
"@xyflow/react": "^12.10.2",
"ai": "^7.0.106",
"ansi-to-react": "^6.2.6",
"autoprefixer": "^10.4.20",
"better-auth": "^1.7.7",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "1.1.1",
"date-fns": "4.1.0",
"diff": "^9.0.0",
"embla-carousel-react": "8.6.0",
"geist": "^1.7.0",
"iconoir-react": "^7.11.0",
"input-otp": "1.4.2",
"jose": "^6.2.3",
"json5": "2.2.3",
"just-bash": "^2.13.1",
"libsodium-wrappers": "^0.8.2",
"lucide-react": "^1.30.0",
"media-chrome": "^4.19.2",
"monaco-editor": "^0.56.0",
"motion": "^13.0.0",
"nanoid": "^6.0.1",
"next": "16.4.1",
"next-themes": "^0.4.6",
"pg": "^8.22.0",
"picomatch": "4.0.4",
"radix-ui": "^1.6.7",
"react": "19.2.4",
"react-day-picker": "9.13.2",
"react-dom": "19.2.4",
"react-email": "^6.1.4",
"react-hook-form": "^7.54.1",
"react-jsx-parser": "^2.4.1",
"react-resizable-panels": "^2.1.7",
"react-xtermjs": "^1.0.10",
"recharts": "2.15.0",
"semver": "^7.8.5",
"server-only": "^0.0.1",
"shiki": "^3.23.0",
"sonner": "^1.7.1",
"streamdown": "^2.5.0",
"stripe": "^22.4.0",
"swr": "^2.4.1",
"tailwind-merge": "^3.3.1",
"tokenlens": "^1.3.1",
"undici": "7.30.1",
"use-stick-to-bottom": "^1.1.6",
"vaul": "^1.1.2",
"yaml": "2.8.3",
"zod": "^4.6.6",
"zustand": "^5.0.0"
},
"devDependencies": {
"@axe-core/playwright": "^4.13.0",
"@electric-sql/pglite": "^0.4.5",
"@eslint/compat": "^2.1.0",
"@eslint/js": "^10.0.1",
"@next/eslint-plugin-next": "16.3.8",
"@playwright/test": "^1.58.2",
"@react-email/ui": "^6.1.4",
"@stryker-mutator/core": "9.6.1",
"@stryker-mutator/vitest-runner": "9.6.1",
"@tailwindcss/postcss": "^4.2.0",
"@tanstack/eslint-plugin-query": "^5.96.2",
"@testing-library/react": "^16.3.2",
"@trigger.dev/build": "4.8.3",
"@types/jsdom": "^28.0.3",
"@types/libsodium-wrappers": "^0.8.2",
"@types/node": "^22",
"@types/pg": "^8.20.3",
"@types/picomatch": "^4.0.3",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"@types/semver": "^7.8.0",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"@vitest/coverage-v8": "^4.1.11",
"esbuild": "0.28.1",
"eslint": "^10.2.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-compat": "^7.0.1",
"eslint-plugin-cypress": "^6.2.2",
"eslint-plugin-github": "^6.0.0",
"eslint-plugin-html": "^8.1.4",
"eslint-plugin-import-x": "^4.16.2",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-n": "^17.24.0",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.5.2",
"eslint-plugin-sonarjs": "^4.0.2",
"eslint-plugin-storybook": "^10.3.4",
"eslint-plugin-unicorn": "^64.0.0",
"eslint-plugin-unused-imports": "^4.4.1",
"globals": "^17.4.0",
"husky": "^9.1.7",
"jsdom": "^29.1.1",
"kysely": "0.29.7",
"lint-staged": "^16.4.0",
"postcss": "^8.5",
"prettier": "^3.8.1",
"prettier-plugin-svelte": "^3.5.1",
"prettier-plugin-tailwindcss": "^0.7.2",
"stylelint": "^17.6.0",
"stylelint-config-idiomatic-order": "^10.0.0",
"stylelint-config-standard": "^40.0.0",
"stylelint-prettier": "^5.0.3",
"svelte": "5.55.7",
"tailwindcss": "^4.2.0",
"tsx": "^4.23.1",
"tw-animate-css": "1.3.3",
"typescript": "5.7.3",
"ultracite": "^7.4.3",
"vitest": "^4.1.11"
}
}