Bieber db4c029a55
[sync] fix: show ai model icon T1693 (#1055) (#2443)
Synced from teableio/teable-ee@dc4cd9c

Co-authored-by: teable-bot <bot@teable.io>
2026-01-16 16:06:55 +08:00

251 lines
8.4 KiB
JSON

{
"name": "@teable/backend",
"version": "1.10.0",
"license": "AGPL-3.0",
"private": true,
"main": "dist/index.js",
"exports": {
".": "./dist"
},
"homepage": "https://github.com/teableio/teable",
"repository": {
"type": "git",
"url": "https://github.com/teableio/teable",
"directory": "apps/nestjs-backend"
},
"author": {
"name": "tea artist",
"url": "https://github.com/tea-artist"
},
"browserslist": {
"production": [
">0.3%",
"not ie 11",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"scripts": {
"build": "nest build",
"clean": "rimraf ./out ./coverage ./main ./dist ./tsconfig.tsbuildinfo ./node_modules/.cache .webpack-cache",
"dev": "nest start --webpackPath ./webpack.dev.js -w",
"dev:swc": "nest start --webpackPath ./webpack.swc.js -w",
"start": "nest start",
"check-dist": "es-check -v",
"start-debug": "nest start --webpackPath ./webpack.dev.js --debug -w",
"check-size": "size-limit --highlight-less",
"test": "run-s test-unit test-e2e",
"test-unit:watch": "vitest --watch",
"test-unit": "vitest run --silent --bail 1",
"test-unit-cover": "pnpm test-unit --coverage ${VITEST_SHARD:+--shard=$VITEST_SHARD}",
"pre-test-e2e": "cross-env NODE_ENV=test pnpm -F @teable/db-main-prisma prisma-db-seed -- --e2e",
"test-e2e": "pnpm pre-test-e2e && vitest run --config ./vitest-e2e.config.ts --silent",
"test-e2e-cover": "pnpm test-e2e --coverage --bail 1 ${VITEST_SHARD:+--shard=$VITEST_SHARD}",
"typecheck": "tsc --project ./tsconfig.json --noEmit",
"lint": "eslint . --ext .ts,.js,.cjs,.mjs,.mdx --cache --cache-location ../../.cache/eslint/nestjs-backend.eslintcache",
"fix-all-files": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs,.mdx --fix",
"flamegraph-home": "npx 0x --output-dir './.debug/flamegraph/{pid}.0x' --on-port 'autocannon http://localhost:$PORT --duration 20' -- node ../../node_modules/.bin/next start",
"merge-cover": "istanbul-merge --out ./coverage/nestjs-backend/coverage-final.json ./coverage/e2e/coverage-final.json ./coverage/unit/coverage-final.json",
"generate-cover": "nyc report --report-dir=coverage/nestjs-backend --temp-dir=coverage/nestjs-backend -r text -r html -r clover"
},
"devDependencies": {
"@faker-js/faker": "8.4.1",
"@nestjs/cli": "10.3.2",
"@nestjs/testing": "10.3.5",
"@teable/eslint-config-bases": "workspace:^",
"@types/archiver": "6.0.3",
"@types/bcrypt": "5.0.2",
"@types/cookie": "0.6.0",
"@types/cookie-parser": "1.4.7",
"@types/cors": "2.8.17",
"@types/express": "4.17.21",
"@types/express-session": "1.18.0",
"@types/fs-extra": "11.0.4",
"@types/lodash": "4.17.0",
"@types/markdown-it": "13.0.7",
"@types/mime-types": "2.1.4",
"@types/ms": "0.7.34",
"@types/multer": "1.4.11",
"@types/node": "22.18.0",
"@types/node-fetch": "2.6.11",
"@types/nodemailer": "6.4.14",
"@types/oauth2orize": "1.11.5",
"@types/papaparse": "5.3.14",
"@types/passport": "1.0.16",
"@types/passport-github2": "1.2.9",
"@types/passport-google-oauth20": "2.0.14",
"@types/passport-jwt": "4.0.1",
"@types/passport-local": "1.0.38",
"@types/passport-oauth2-client-password": "0.1.5",
"@types/passport-openidconnect": "0.1.3",
"@types/pause": "0.1.3",
"@types/sharedb": "3.3.10",
"@types/sockjs": "0.3.36",
"@types/sockjs-client": "1.5.4",
"sockjs-client": "1.6.1",
"@types/stream-json": "1.7.8",
"@types/through2": "2.0.41",
"@types/unzipper": "0.10.11",
"@vitest/coverage-v8": "4.0.17",
"copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3",
"dotenv-flow": "4.1.0",
"dotenv-flow-cli": "1.1.1",
"es-check": "7.1.1",
"eslint": "8.57.0",
"eslint-config-next": "14.2.14",
"get-tsconfig": "4.7.3",
"istanbul-merge": "2.0.0",
"npm-run-all2": "6.1.2",
"nyc": "15.1.0",
"pg-mem": "3.0.5",
"prettier": "3.2.5",
"rimraf": "5.0.5",
"sql-formatter": "^15.3.1",
"swc-loader": "0.2.6",
"symlink-dir": "5.2.1",
"sync-directory": "6.0.5",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
"typescript": "5.4.3",
"unplugin-swc": "1.4.4",
"vite-tsconfig-paths": "4.3.2",
"vitest": "4.0.17",
"vitest-mock-extended": "2.0.2",
"webpack": "5.91.0"
},
"dependencies": {
"@ai-sdk/amazon-bedrock": "4.0.9",
"@ai-sdk/anthropic": "3.0.12",
"@ai-sdk/azure": "3.0.7",
"@ai-sdk/cohere": "3.0.4",
"@ai-sdk/deepseek": "2.0.4",
"@ai-sdk/google": "3.0.5",
"@ai-sdk/mistral": "3.0.5",
"@ai-sdk/openai": "3.0.7",
"@ai-sdk/openai-compatible": "2.0.4",
"@ai-sdk/togetherai": "2.0.4",
"@ai-sdk/xai": "3.0.10",
"@aws-sdk/client-s3": "3.609.0",
"@aws-sdk/lib-storage": "3.609.0",
"@aws-sdk/s3-request-presigner": "3.609.0",
"@keyv/redis": "2.8.4",
"@keyv/sqlite": "3.6.7",
"@nestjs-modules/mailer": "1.11.2",
"@nestjs/axios": "3.0.2",
"@nestjs/bullmq": "10.2.1",
"@nestjs/common": "10.3.5",
"@nestjs/config": "3.2.1",
"@nestjs/core": "10.3.5",
"@nestjs/event-emitter": "2.0.4",
"@nestjs/jwt": "10.2.0",
"@nestjs/passport": "10.0.3",
"@nestjs/platform-express": "10.3.5",
"@nestjs/platform-ws": "10.3.5",
"@nestjs/swagger": "7.3.0",
"@nestjs/terminus": "10.2.3",
"@nestjs/websockets": "10.3.5",
"@openrouter/ai-sdk-provider": "1.2.3",
"@opentelemetry/api": "1.9.0",
"@opentelemetry/exporter-logs-otlp-http": "0.201.1",
"@opentelemetry/exporter-metrics-otlp-http": "0.201.1",
"@opentelemetry/exporter-trace-otlp-http": "0.201.1",
"@opentelemetry/instrumentation-express": "0.50.0",
"@opentelemetry/instrumentation-http": "0.201.1",
"@opentelemetry/instrumentation-nestjs-core": "0.49.0",
"@opentelemetry/instrumentation-pino": "0.49.0",
"@opentelemetry/resources": "2.0.1",
"@opentelemetry/sdk-node": "0.201.1",
"@opentelemetry/sdk-trace-base": "2.0.1",
"@opentelemetry/semantic-conventions": "1.34.0",
"@prisma/client": "6.2.1",
"@prisma/instrumentation": "6.2.1",
"@sentry/nestjs": "10.22.0",
"@sentry/profiling-node": "10.22.0",
"@smithy/node-http-handler": "^3.1.1",
"@teable/common-i18n": "workspace:^",
"@teable/core": "workspace:^",
"@teable/db-main-prisma": "workspace:^",
"@teable/openapi": "workspace:^",
"@an-epiphany/websocket-json-stream": "1.2.0",
"@valibot/to-json-schema": "1.3.0",
"ai": "6.0.14",
"ajv": "8.12.0",
"archiver": "7.0.1",
"axios": "1.7.7",
"bcrypt": "5.1.1",
"bullmq": "5.21.2",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"cookie": "0.6.0",
"cookie-parser": "1.4.6",
"cors": "2.8.5",
"csv-parser": "3.2.0",
"csv-stringify": "6.5.2",
"date-fns-tz": "3.2.0",
"dayjs": "1.11.10",
"effect": "3.19.1",
"esbuild": "0.23.0",
"express": "4.21.1",
"express-session": "1.18.0",
"fs-extra": "11.2.0",
"handlebars": "4.7.8",
"helmet": "7.1.0",
"http-proxy-middleware": "3.0.3",
"ioredis": "5.4.1",
"is-port-reachable": "3.1.0",
"joi": "17.12.2",
"keyv": "4.5.4",
"knex": "3.1.0",
"lodash": "4.17.21",
"mime-types": "2.1.35",
"minio": "7.1.3",
"ms": "2.1.3",
"multer": "1.4.5-lts.1",
"nanoid": "3.3.7",
"nest-knexjs": "0.0.22",
"nestjs-cls": "4.3.0",
"nestjs-i18n": "10.5.1",
"nestjs-pino": "4.4.1",
"nestjs-redoc": "2.2.2",
"next": "14.2.35",
"node-fetch": "2.7.0",
"node-sql-parser": "5.3.8",
"nodemailer": "6.9.13",
"oauth2orize": "1.12.0",
"object-sizeof": "2.6.4",
"ollama-ai-provider-v2": "1.5.2",
"papaparse": "5.4.1",
"passport": "0.7.0",
"passport-github2": "0.1.12",
"passport-google-oauth20": "2.0.0",
"passport-jwt": "4.0.1",
"passport-local": "1.0.0",
"passport-oauth2-client-password": "0.1.2",
"passport-openidconnect": "0.1.2",
"pause": "0.1.0",
"pg": "8.11.5",
"pino-http": "10.5.0",
"pino-pretty": "11.0.0",
"redlock": "5.0.0-beta.2",
"reflect-metadata": "0.2.1",
"rxjs": "7.8.1",
"sharedb": "4.1.2",
"sockjs": "0.3.24",
"sharp": "0.33.3",
"stream-json": "1.9.1",
"through2": "4.0.2",
"transliteration": "2.3.5",
"ts-pattern": "5.0.8",
"unzipper": "0.12.3",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
"zod": "4.1.8",
"zod-validation-error": "4.0.2"
}
}