SuperAPI AI 工具集

prisma-composer

部署与运维

查看项目

更新于 10-16 03:48

技能介绍

用途:以 TypeScript 的模块树方式构建应用。叶子是服务(compute())与资源(rawPostgres() 等),根模块通过类型化端口把它们接线;代码只从服务节点获取一切:service.load() 得到依赖(类型化 RPC 客户端、数据库绑定),service.input() 得到经 schema 校验的输入(凭据为脱敏 SecretString),service.port() 得到保留端口(默认 3000),不使用 process.env。

主要能力:contract()/rpc() 定义契约并由 serve() 按端口名实现,服务间调用自动鉴权(每个消费者→提供者绑定生成独立 service key,未接线调用返回 401);调用带 Idempotency-Key 并安全重试;提供 rawPostgres 与 Prisma ORM 类型化的 postgres();bucket 为 S3 兼容对象存储;复用模块包括 cron、storage、streams;依赖两个包 @prisma/composer 与 @prisma/composer-prisma-cloud。

用法与限制:构建由你负责,框架只组装产物,部署前必须自行构建(如 bun build src/server.ts --target=bun --outfile dist/server.mjs),单文件需自包含(仅保留 bun/bun:/node: 运行时内置);多文件用 dir + entry,且树内不得有符号链接。部署为 replay-only,须先 prisma contract emit、prisma migration plan --name <slug> 并提交 migrations/,否则报 MIGRATION_PATH_NOT_FOUND。配置 prisma-composer.config.ts 仅被 deploy/destroy 读取。Next.js 需 output: 'standalone' 并在 extensions 加 nextjsBuild()。本地/测试不预置资源,serve() 放行所有调用。不要自建服务间鉴权,也不要用 curl 探测已部署的 /rpc 方法。其余细节暂未提供。