This repository has been archived on 2026-09-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
BPOS-TMP-REPO/apps/api/package.json
T
xcs cb143d6413 org adapter:jose 验签 —— RS256 写死、校 iss/aud、30s 容差、错误译人话(ADR-012;新依赖 jose,用户已批)
四项校验顺序即安全要点:algorithms 写死 RS256(绝不读 token header 的 alg,否则
alg:none 可绕过)、issuer、audience、clockTolerance 30 秒;jose 的错误经
explainJoseError 翻成人话后包成 TokenRejectedError,排错省时间。测试用
createLocalJWKSet 造本地 JWKS 当 Keycloak 替身,不联网,验签逻辑本身走同一个
jwtVerify。zod 的 .optional() 与本仓 exactOptionalPropertyTypes 有摩擦,
按 claims.ts::identityOf 已有的手法(undefined 就不带键)加了 toVerifiedClaims
做收窄,详见 task-3-report.md。
2026-08-25 16:21:17 +08:00

38 lines
945 B
JSON

{
"name": "@app/api",
"version": "0.0.0",
"private": true,
"type": "module",
"exports": {
".": "./src/app/main.ts"
},
"scripts": {
"dev": "tsup --watch --onSuccess \"node dist/main.js\"",
"build": "tsup",
"start": "node dist/main.js",
"seed": "node dist/seed.js",
"migrate": "node dist/migrate.js",
"set-password": "node dist/set-password.js",
"reset-runs": "node dist/reset-runs.js",
"install-activities": "node dist/install-activities.js"
},
"dependencies": {
"@ai-sdk/openai-compatible": "^3.0.14",
"@hono/node-server": "^2.0.12",
"@mastra/core": "^1.53.0",
"@mastra/observability": "^1.16.2",
"ai": "^7.0.37",
"ajv": "^8.20.0",
"ajv-formats": "^3.0.1",
"drizzle-orm": "^0.45.2",
"hono": "^4.12.32",
"jose": "^5.10.0",
"pg": "^8.22.0",
"pg-boss": "^12.26.3",
"zod": "^4.4.3"
},
"devDependencies": {
"@types/pg": "^8.20.0"
}
}