mirror of
https://github.com/Colton-z/AstraBox.git
synced 2026-09-28 06:02:56 +08:00
The open-source, self-hosted alternative to Claude Managed Agents: run Claude Code, Codex, Hermes, DeepSeek Harness and Pi as managed Agents on your own infrastructure, with conversations that start and resume in seconds.
92 lines
3.2 KiB
JSON
92 lines
3.2 KiB
JSON
{
|
|
"name": "astrabox-frontend",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"license": "Apache-2.0",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "26.8.1"
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"//gen:api": "The generator does not live here. openapi-typescript prints its output through the TypeScript COMPILER API (ts.factory), and this project is on typescript@7 — the Go port, whose npm package exports no compiler API at all, so `ts.factory` is undefined and the tool dies on import. Its peer bound of ^5.x is live, not stale. npm will not nest a conflicting PEER under the dependent, and turning peer resolution off tree-wide (legacy-peer-deps) would silence every future conflict too, so the generator is its own hermetic package on its own typescript@5: scripts/api-codegen. `make check-api-client` regenerates through it and fails on a byte of difference.",
|
|
"gen:api": "npm --prefix ../scripts/api-codegen run gen",
|
|
"e2e": "playwright test -c ../e2e/playwright.config.ts"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/react": "^4.0.94",
|
|
"@base-ui/react": "^1.7.0",
|
|
"@fontsource-variable/geist": "^5.3.0",
|
|
"@fontsource-variable/geist-mono": "^5.3.0",
|
|
"@radix-ui/react-use-controllable-state": "^1.2.6",
|
|
"@rive-app/react-webgl2": "^4.33.1",
|
|
"@shadcn/react": "^0.3.1",
|
|
"@streamdown/cjk": "^1.0.3",
|
|
"@streamdown/code": "^1.1.1",
|
|
"@streamdown/math": "^1.0.2",
|
|
"@streamdown/mermaid": "^1.0.2",
|
|
"@xyflow/react": "^12.11.6",
|
|
"ai": "^7.0.91",
|
|
"ansi-to-react": "^6.2.6",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"date-fns": "^4.4.0",
|
|
"diff": "^9.0.0",
|
|
"embla-carousel-react": "^8.6.0",
|
|
"highlight.js": "^11.12.0",
|
|
"i18next": "^26.4.1",
|
|
"i18next-browser-languagedetector": "^8.2.1",
|
|
"lucide-react": "^1.40.0",
|
|
"media-chrome": "^4.19.2",
|
|
"motion": "^13.2.0",
|
|
"nanoid": "^6.0.1",
|
|
"next-themes": "^0.4.6",
|
|
"openapi-fetch": "^0.17.0",
|
|
"react": "^19.3.0",
|
|
"react-day-picker": "^10.0.1",
|
|
"react-dom": "^19.3.0",
|
|
"react-i18next": "^17.0.13",
|
|
"react-jsx-parser": "^2.4.1",
|
|
"react-markdown": "^10.1.0",
|
|
"react-resizable-panels": "^4.12.3",
|
|
"react-router-dom": "^7.18.3",
|
|
"react-virtuoso": "^4.18.13",
|
|
"rehype-highlight": "^7.0.2",
|
|
"remark-gfm": "^4.0.1",
|
|
"shadcn": "^4.20.1",
|
|
"shiki": "^4.4.3",
|
|
"sonner": "^2.0.8",
|
|
"streamdown": "^2.6.0",
|
|
"swr": "^2.5.1",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tokenlens": "^1.3.1",
|
|
"tw-animate-css": "^1.4.0",
|
|
"use-stick-to-bottom": "^1.1.6",
|
|
"xstate": "^5.32.6"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.63.0",
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/react": "^16.3.3",
|
|
"@testing-library/user-event": "^14.6.7",
|
|
"@types/react": "^19.3.0",
|
|
"@types/react-dom": "^19.3.0",
|
|
"@vitejs/plugin-react": "^6.1.1",
|
|
"jsdom": "^30.0.1",
|
|
"tailwindcss": "^4.3.3",
|
|
"typescript": "^7.0.2",
|
|
"vite": "^8.2.2",
|
|
"vitest": "^5.0.0"
|
|
},
|
|
"overrides": {
|
|
"ansi-to-react": {
|
|
"linkify-it": "^5.0.2"
|
|
}
|
|
}
|
|
}
|