mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Bumps every version surface to 2.2.0, fixes a latent version-coupling bug in the OCR runtime tests, and stops an absent GPU runner from silently stalling a release. Version surfaces: scripts/sync-version.sh covers the 11 workspaces, APP_VERSION, and the docs release commands across all locales. Root package.json plus the three surfaces the script never reaches are done by hand: the DOCKERHUB.md banner and tag table, the docker-tags.md pinning table in 21 locales, and the example runtimeVersion in tools/image/ocr.md in 21 locales. The release-notes archive step is deliberately not pre-run, so the notes text stays editable until the release. Latent bug: runtime-state rejects any runtime whose compatibility.snapotterVersion is not exactly APP_VERSION, and five fixtures pinned the literal 2.1.0. Since semantic-release rewrites APP_VERSION on every release, the first PR after any bump would have gone red for a reason nobody would trace to the release. The fixtures now derive from APP_VERSION. GPU runner: sign-ocr-index needs verify-ocr-nvidia on self-hosted hardware, and the gated manifest job needs ai-bundles, so a missing runner queued instead of failing and produced no image tags. preflight-gpu-runner claims the same labels with no dependencies, so it is scheduled first and validates the GPU before the 90-minute build. An API preflight is impossible because listing self-hosted runners needs Administration:read, which GITHUB_TOKEN cannot hold, so RELEASE.md carries the maintainer-side check.
97 lines
3.0 KiB
JSON
97 lines
3.0 KiB
JSON
{
|
|
"name": "@snapotter/api",
|
|
"version": "2.2.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "PORT=13490 tsx watch --import ./src/tracing.ts --import ./src/instrument.ts src/index.ts",
|
|
"build": "tsc",
|
|
"start": "tsx --import ./src/tracing.ts --import ./src/instrument.ts src/index.ts",
|
|
"lint": "biome check src/",
|
|
"typecheck": "tsc --noEmit",
|
|
"clean": "rm -rf dist",
|
|
"migrate:sqlite": "tsx src/db/sqlite-import.ts"
|
|
},
|
|
"dependencies": {
|
|
"@fastify/busboy": "^3.2.0",
|
|
"@fastify/cookie": "^11.1.2",
|
|
"@fastify/cors": "^11.3.0",
|
|
"@fastify/multipart": "^9.0.0",
|
|
"@fastify/rate-limit": "^10.2.0",
|
|
"@fastify/static": "^10.1.2",
|
|
"@neplex/vectorizer": "^0.1.0",
|
|
"@node-saml/node-saml": "^5.1.0",
|
|
"@opentelemetry/api": "^1.9.1",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.220.0",
|
|
"@opentelemetry/instrumentation-aws-sdk": "^0.75.0",
|
|
"@opentelemetry/instrumentation-fastify": "^0.57.0",
|
|
"@opentelemetry/instrumentation-http": "^0.220.0",
|
|
"@opentelemetry/instrumentation-ioredis": "^0.68.0",
|
|
"@opentelemetry/instrumentation-pg": "^0.72.0",
|
|
"@opentelemetry/resources": "^2.9.0",
|
|
"@opentelemetry/sdk-node": "^0.220.0",
|
|
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
"@opentelemetry/semantic-conventions": "^1.43.0",
|
|
"@scalar/fastify-api-reference": "^1.62.9",
|
|
"@sentry/node": "^10.66.0",
|
|
"@snapotter/ai": "workspace:*",
|
|
"@snapotter/doc-engine": "workspace:*",
|
|
"@snapotter/enterprise": "workspace:*",
|
|
"@snapotter/image-engine": "workspace:*",
|
|
"@snapotter/media-engine": "workspace:*",
|
|
"@snapotter/shared": "workspace:*",
|
|
"archiver": "^7.0.1",
|
|
"better-sqlite3": "^11.7.0",
|
|
"bullmq": "^5.80.9",
|
|
"bwip-js": "^4.11.2",
|
|
"dotenv": "^16.4.0",
|
|
"drizzle-orm": "^0.45.2",
|
|
"exceljs": "^4.4.0",
|
|
"exif-reader": "^2.0.3",
|
|
"fast-xml-parser": "^5.10.1",
|
|
"fastify": "^5.10.0",
|
|
"fflate": "^0.8.3",
|
|
"ioredis": "^5.11.1",
|
|
"ipaddr.js": "^2.4.0",
|
|
"js-yaml": "^4.3.0",
|
|
"mupdf": "^1.28.0",
|
|
"openid-client": "^6.8.4",
|
|
"opentype.js": "^2.0.0",
|
|
"otpauth": "^9.5.1",
|
|
"p-queue": "^9.3.1",
|
|
"papaparse": "^5.5.4",
|
|
"pdfkit": "^0.19.1",
|
|
"pg": "^8.22.0",
|
|
"pino": "^10.3.1",
|
|
"pino-roll": "^4.0.0",
|
|
"playwright": "^1.61.1",
|
|
"posthog-node": "^5.45.2",
|
|
"potrace": "^2.1.8",
|
|
"prom-client": "^15.1.3",
|
|
"qrcode": "^1.5.4",
|
|
"sharp": "^0.35.3",
|
|
"tar": "^7.5.21",
|
|
"tsx": "^4.23.1",
|
|
"yauzl": "^3.4.0",
|
|
"zod": "^3.24.0",
|
|
"zxing-wasm": "^3.1.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/better-sqlite3": "^7.6.0",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^22.20.1",
|
|
"@types/opentype.js": "^1.3.10",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/pdfkit": "^0.17.6",
|
|
"@types/pg": "^8.20.0",
|
|
"@types/potrace": "^2.1.5",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/tar": "^7.0.87",
|
|
"@types/yauzl": "^3.4.0",
|
|
"drizzle-kit": "^0.31.0",
|
|
"typescript": "^5.7.0"
|
|
},
|
|
"license": "AGPL-3.0"
|
|
}
|