package.json208 lines · main
1{
2 "name": "studio",
3 "version": "0.0.9",
4 "private": true,
5 "type": "module",
6 "scripts": {
7 "preinstall": "npx only-allow pnpm",
8 "predev": "node scripts/clean-turbopack-cache.mjs",
9 "dev": "next dev -p ${STUDIO_PORT:-8082}",
10 "build": "next build && if [ \"$SKIP_ASSET_UPLOAD\" != \"1\" ]; then ./../../scripts/upload-static-assets.sh; fi",
11 "start": "next start -p 8082",
12 "lint": "eslint .",
13 "lint:ratchet": "tsx scripts/ratchet-eslint-rules.ts --rule react-hooks/exhaustive-deps --rule import/no-anonymous-default-export --rule @tanstack/query/exhaustive-deps --rule @typescript-eslint/no-explicit-any --rule no-restricted-imports --rule no-restricted-exports --rule react/no-unstable-nested-components",
14 "clean": "rimraf node_modules tsconfig.tsbuildinfo .next .turbo",
15 "test": "vitest --run --coverage",
16 "test:watch": "vitest watch",
17 "test:ui": "vitest --ui",
18 "test:update": "vitest --run --update",
19 "test:ci": "vitest --run --coverage",
20 "test:report": "open coverage/lcov-report/index.html",
21 "deploy:staging": "VERCEL_ORG_ID=team_E6KJ1W561hMTjon1QSwOh0WO VERCEL_PROJECT_ID=QmcmhbiAtCMFTAHCuGgQscNbke4TzgWULECctNcKmxWCoT vercel --prod -A .vercel/staging.json",
22 "pretypecheck": "next typegen",
23 "typecheck": "tsc --noEmit",
24 "build:deno-types": "tsx scripts/deno-types.ts",
25 "build:graphql-types": "tsx scripts/download-graphql-schema.mts && pnpm graphql-codegen --config scripts/codegen.ts",
26 "build:graphql-types:watch": "pnpm graphql-codegen --config scripts/codegen.ts --watch",
27 "evals:setup": "cp node_modules/libpg-query/wasm/libpg-query.wasm evals/libpg-query.wasm",
28 "evals:run": "braintrust eval --no-send-logs evals/assistant.eval.ts",
29 "evals:upload": "braintrust eval evals/assistant.eval.ts",
30 "scorers:deploy": "IS_BRAINTRUST_PUSH=true braintrust push evals/scorer-online.ts"
31 },
32 "dependencies": {
33 "@ai-sdk/amazon-bedrock": "^4.0.81",
34 "@ai-sdk/mcp": "^1.0.25",
35 "@ai-sdk/openai": "^3.0.41",
36 "@ai-sdk/provider": "^3.0.8",
37 "@ai-sdk/provider-utils": "^4.0.19",
38 "@ai-sdk/react": "^3.0.118",
39 "@aws-sdk/credential-providers": "^3.1041.0",
40 "@dagrejs/dagre": "^1.0.4",
41 "@dnd-kit/core": "^6.1.0",
42 "@dnd-kit/modifiers": "^9.0.0",
43 "@dnd-kit/sortable": "^8.0.0",
44 "@dnd-kit/utilities": "^3.2.2",
45 "@electric-sql/pglite": "0.4.5",
46 "@electric-sql/pglite-tools": "^0.3.4",
47 "@graphiql/react": "^0.37.3",
48 "@graphiql/toolkit": "^0.11.3",
49 "@hcaptcha/react-hcaptcha": "^1.12.0",
50 "@heroicons/react": "^2.1.3",
51 "@hookform/resolvers": "^3.1.1",
52 "@mjackson/multipart-parser": "^0.10.1",
53 "@modelcontextprotocol/sdk": "^1.29.0",
54 "@monaco-editor/react": "^4.6.0",
55 "@next/bundle-analyzer": "16.2.3",
56 "@number-flow/react": "^0.3.2",
57 "@sentry/nextjs": "catalog:",
58 "@std/path": "npm:@jsr/std__path@^1.0.8",
59 "@stripe/react-stripe-js": "6.1.0",
60 "@stripe/stripe-js": "9.1.0",
61 "@supabase/auth-js": "catalog:",
62 "@supabase/mcp-server-supabase": "^0.7.0",
63 "@supabase/pg-meta": "workspace:*",
64 "@supabase/realtime-js": "catalog:",
65 "@supabase/shared-types": "0.1.88",
66 "@supabase/sql-to-rest": "^0.1.6",
67 "@supabase/supabase-js": "catalog:",
68 "@tanstack/react-hotkeys": "^0.9.1",
69 "@tanstack/react-query": "^5.0.0",
70 "@tanstack/react-query-devtools": "^5.0.0",
71 "@tanstack/react-table": "^8.21.3",
72 "@tanstack/react-virtual": "^3.13.12",
73 "@types/d3-geo": "^3.1.0",
74 "@uidotdev/usehooks": "^2.4.1",
75 "@vercel/functions": "^2.1.0",
76 "@xyflow/react": "^12.10.1",
77 "@zip.js/zip.js": "^2.7.29",
78 "ai": "^6.0.174",
79 "ai-commands": "workspace:*",
80 "awesome-debounce-promise": "^2.1.0",
81 "common": "workspace:*",
82 "common-tags": "^1.8.2",
83 "config": "workspace:*",
84 "cron-parser": "^4.9.0",
85 "cronstrue": "^2.50.0",
86 "crypto-js": "^4.2.0",
87 "d3-geo": "^3.1.1",
88 "dayjs": "^1.11.10",
89 "dev-tools": "workspace:*",
90 "file-saver": "^2.0.5",
91 "framer-motion": "^11.18.2",
92 "generate-password-browser": "^1.1.0",
93 "graphiql": "^5.2.2",
94 "html-to-image": "^1.11.13",
95 "http-status": "^2.1.0",
96 "icons": "workspace:*",
97 "idb": "^8.0.2",
98 "immutability-helper": "^3.1.1",
99 "ip-num": "^1.5.1",
100 "json-logic-js": "^2.0.2",
101 "lodash": "catalog:",
102 "lucide-react": "^0.436.0",
103 "markdown-table": "^3.0.3",
104 "memoize-one": "^5.0.1",
105 "mime-db": "^1.53.0",
106 "monaco-editor": "0.52.2",
107 "next": "catalog:",
108 "next-themes": "catalog:",
109 "nuqs": "2.7.1",
110 "openai": "^4.104.0",
111 "openapi-fetch": "0.12.4",
112 "papaparse": "^5.3.1",
113 "path-to-regexp": "^8.0.0",
114 "pg-minify": "^1.6.3",
115 "radix-ui": "catalog:",
116 "randombytes": "^2.1.0",
117 "react": "catalog:",
118 "react-data-grid": "7.0.0-beta.47",
119 "react-day-picker": "^9.11.1",
120 "react-dom": "catalog:",
121 "react-error-boundary": "^4.0.13",
122 "react-grid-layout": "^1.4.2",
123 "react-hook-form": "^7.71.2",
124 "react-inlinesvg": "^4.0.4",
125 "react-intersection-observer": "^9.5.3",
126 "react-markdown": "^10.1.0",
127 "react-resizable": "3.0.5",
128 "react-simple-maps": "4.0.0-beta.6",
129 "react-use": "^17.5.0",
130 "recharts": "catalog:",
131 "remark-gfm": "^4.0.0",
132 "shared-data": "workspace:*",
133 "sonner": "^1.5.0",
134 "sql-formatter": "^15.0.0",
135 "sqlstring": "^2.3.2",
136 "streamdown": "^1.3.0",
137 "stripe-experiment-sync": "1.0.31",
138 "tus-js-client": "^4.1.0",
139 "ui": "workspace:*",
140 "ui-patterns": "workspace:*",
141 "use-debounce": "^7.0.1",
142 "use-stick-to-bottom": "^1.1.1",
143 "uuid": "^14.0.0",
144 "valtio": "catalog:",
145 "zod": "catalog:",
146 "zxcvbn": "^4.4.2"
147 },
148 "devDependencies": {
149 "@babel/core": "*",
150 "@faker-js/faker": "^9.9.0",
151 "@graphql-codegen/cli": "5.0.5",
152 "@graphql-typed-document-node/core": "^3.2.0",
153 "@radix-ui/react-use-escape-keydown": "^1.1.1",
154 "@smithy/property-provider": "^4.0.4",
155 "@testing-library/dom": "^10.0.0",
156 "@testing-library/jest-dom": "^6.6.0",
157 "@testing-library/react": "^16.0.0",
158 "@testing-library/user-event": "^14.0.0",
159 "@types/common-tags": "^1.8.1",
160 "@types/crypto-js": "^4.2.2",
161 "@types/file-saver": "^2.0.2",
162 "@types/json-logic-js": "^1.2.1",
163 "@types/lodash": "^4.14.172",
164 "@types/markdown-table": "^3.0.0",
165 "@types/mime-db": "^1.43.5",
166 "@types/node": "catalog:",
167 "@types/papaparse": "^5.3.1",
168 "@types/randombytes": "^2.0.3",
169 "@types/react": "catalog:",
170 "@types/react-beautiful-dnd": "^13.1.2",
171 "@types/react-datepicker": "^4.3.4",
172 "@types/react-dom": "catalog:",
173 "@types/react-grid-layout": "^1.3.0",
174 "@types/react-simple-maps": "^3.0.1",
175 "@types/recharts": "^1.8.23",
176 "@types/sqlstring": "^2.3.0",
177 "@types/zxcvbn": "^4.4.1",
178 "@vitejs/plugin-react": "catalog:",
179 "@vitest/coverage-v8": "catalog:",
180 "@vitest/ui": "catalog:",
181 "api-types": "workspace:*",
182 "autoevals": "^0.0.132",
183 "braintrust": "^3.9.0",
184 "common": "workspace:*",
185 "config": "workspace:*",
186 "date-fns": "^2.30.0",
187 "eslint-config-briven": "workspace:*",
188 "eslint-plugin-barrel-files": "^2.0.7",
189 "eslint-plugin-jsx-a11y": "^6.10.2",
190 "graphql-ws": "5.14.1",
191 "import-in-the-middle": "^2.0.0",
192 "jsdom-testing-mocks": "^1.13.1",
193 "libpg-query": "17.6.0",
194 "msw": "^2.3.0",
195 "next-router-mock": "^0.9.13",
196 "node-mocks-http": "^1.17.2",
197 "postcss": "catalog:",
198 "raw-loader": "^4.0.2",
199 "require-in-the-middle": "^8.0.0",
200 "tailwindcss": "catalog:",
201 "tsconfig": "workspace:*",
202 "tsx": "catalog:",
203 "typescript": "catalog:",
204 "vite": "catalog:",
205 "vite-tsconfig-paths": "catalog:",
206 "vitest": "catalog:"
207 }
208}