更新日志
这个页面按 alpha 版本线汇总用户可见变化。更细的工程记录和每日进度见仓库中的 docs/progress.md。
v0.3.0 — tRPC 数据源适配器
@bridgent/source-trpc@0.3.0 通过现有的显式 server-file 模型,把 tRPC v10/v11 router 暴露为 MCP 工具。
新增
fromTrpc({ router, createContext?, toolPrefix?, procedureFilter?, allow? })。- Query procedure 默认变成只读工具。
- Procedure 路径
user.getById会变成工具名trpc_user_getById。 toolPrefix可以替换默认的trpc前缀。- Zod object 输入会复用为 MCP input schema。
- 没有输入的 procedure 会得到空的 strict object schema。
- 新增
examples/06-trpc-router,演示默认 query 暴露和显式 mutating 变体。
护栏
- Mutation 默认隐藏,除非同时设置
allow.mutating: true并在allow.tools中列出最终生成的 mutation 工具名。 - Subscription 不会暴露,因为 MCP tool call 是 request/response。
- 不支持的 opaque input parser shape 会在工具生成阶段失败,不会退回到宽泛的
any。
v0.2.4 — Prisma 关系写入输入
@bridgent/source-prisma@0.2.4 为带审计的 Prisma 写工具补充了受限的关系输入支持。
新增
- 一层 relation
connect/ nestedcreate输入,覆盖:create.dataupdate.dataupsert.createupsert.update
- 列表关系字段的
connect和create支持单个值或数组。 - nested create 使用目标 model 的浅层 scalar-only schema,并省略 Prisma 会从父 relation 自动填充的反向外键 scalar 字段。
护栏
createMany与updateMany仍保持 scalar-only,因为 Prisma 不支持这两类 nested relation writes。- nested relation writes 仍必须经过现有写入控制:显式工具 allowlist、audit sink、dry-run preview token 与 commit 护栏。
- relation read 的
include仍不在这个版本范围内。
v0.2.3 — Prisma 写操作加固
@bridgent/source-prisma@0.2.3 加固了 0.2.2 新增的审计写操作链路。
新增
- 内置
createJsonlAuditSink({ path }),用于本地 JSONL 审计文件。- 自动创建父目录。
- 每行追加一个
PrismaAuditEvent。
- 可选
idempotencyKey写入控制,提升宿主重试安全性。- 同进程内正在执行的相同 commit 会按
(toolName, idempotencyKey, argsHash)去重。 - 成功提交结果会进入短期 replay 缓存。
- 该 replay cache 是内存缓存,不是跨进程或持久幂等存储。
- 同进程内正在执行的相同 commit 会按
v0.2.2 — Prisma 写操作增量
@bridgent/source-prisma@0.2.2 支持显式开启的带审计写工具。这个版本没有新增第四种数据源路径;Drizzle 已在 @bridgent/source-drizzle@0.2.0 发布。
新增
- Prisma 写方法:
createcreateManyupdateupdateManyupsertdeletedeleteMany
- 必需写入控制:
allow: { mutating: true }- 非空
writes.allowTools writes.audit.write
- 两步写入协议:
- 先传
dryRun: true - 拿到
preview和previewToken - 再用相同写参数加
previewToken提交
- 先传
- 内存一次性 preview token,带 TTL 和参数 hash 绑定。
- 大影响写入通过
confirmLargeImpact: true二次确认。 - commit audit fail-closed:如果 commit-attempt 审计事件失败,数据库写入不会执行。
- 新增
examples/03b-prisma-writes,演示 SQLite + Prisma 写操作。
护栏
updateMany和deleteMany拒绝空where。update、upsert、delete要求 unique-onlywhere。create输入会识别 Prisma default/generated 字段,不会错误强制要求它们。update输入默认排除 id、唯一字段、generated 字段和@updatedAt字段。- Raw SQL 仍永久不可用。
v0.2.1 — 版本线同步
v0.2.1 是一次不改变行为的 patch release,用于把当时所有可发布包追齐到同一条 alpha 版本线。
变更
@bridgent/core与@bridgent/source-prisma升到0.2.1。@bridgent/cli、@bridgent/source-openapi、@bridgent/source-drizzle也发布了 no-op patch。- 这个版本没有改变 runtime 行为、API surface、source adapter 行为或文档站路由。
v0.2.0 — Onboarding、鉴权与 Drizzle
v0.2.0 改善首次使用体验,并扩展已发布的数据源适配器,但不改变核心 runtime 模型。
新增
bridgent init [file] [--force]- 生成可编辑的 starter server 文件
- 默认保护已有文件
- 支持自定义输出路径
- OpenAPI API-key 鉴权:
- header
- query parameter
- cookie
@bridgent/source-drizzle@0.2.0- 只读
findMany工具 - limit/defaultLimit 护栏
- table 过滤
- 不暴露 raw SQL,不生成写工具
- 只读
- Prisma 写侧设计,后续已在
@bridgent/source-prisma@0.2.2实现。
继续延后
bridgent expose- tRPC 数据源适配器
- GraphQL 数据源适配器
- Bridgent 自定义 Inspector UI
- 托管控制平面
v0.1 — 首个公开 Alpha
v0.1 建立了 runtime 和包结构基础。
数据源
- 通过
@bridgent/core暴露手写 Zod 工具。 - 通过
@bridgent/source-openapi暴露 OpenAPI 3.x 工具。 - 通过
@bridgent/source-prisma暴露 Prisma 6.x 只读工具。
传输层
- 通过
createStdioServer使用 stdio。 - 通过
createHttpServer使用 Streamable HTTP。 - 通过
createWebHandler使用 Web Standard fetch handler。
CLI
bridgent dev <file>bridgent serve <file>bridgent inspect <file>
兼容性与安全
- Node
>= 22.18。 - ESM-only packages。
- 针对 MCP 1.x 客户端的协议层 host harness。
- Prisma 只读护栏:
- 行数上限
- 软查询超时
Bytes字段剥离- raw SQL 禁用
- OpenAPI 默认只读,以 Bearer auth 作为 baseline。
当前路线图
下一阶段重点可能包括:
- tRPC 数据源适配器。
- GraphQL 数据源适配器。
- 改进 Inspector 体验。
- 托管控制平面。