类型 API
符号级参考是从源码生成的,不是手写的。请在类型 API中浏览,或从顶部导航进入。
它覆盖什么
每个公开入口点都由其声明生成文档,每个入口点一页:
因为它是生成的,所以它始终与已交付的类型一致:签名、联合类型、默认值,以及各表面可能抛出的错误类。 当本参考章节与生成页面不一致时,以生成页面为准。
页面如何组织
/zh/api/ 列出了所有模块。每个模块页以入口点的源路径命名,去掉 .ts 与末尾的
/index(agent-bundle/routes 由 routes/authoring.ts 编译而来,因此其页面是 routes/authoring;
agent-bundle/app 由 app/index.ts 编译而来,页面是 app;根导出 agent-bundle 是 index,位于
/zh/api/index-1,因为 /zh/api/ 本身就是模块索引),并把成员归入 Classes、Interfaces、
Type Aliases、Variables 与 Functions 之下。一个入口点从另一个入口点重新导出的名称会列在
References 下,并链接到实际记录它的页面,index 页上的 runEvals 指向
api 页上的 runEvals。
每个成员都是一个标题,因此都有自己的 URL:/api/<module>#<member>(中文站点下为
/zh/api/<module>#<member>),片段是小写后的成员名,函数名去掉 (),
/zh/api/eval#defineevalsuite 记录的是 defineEvalSuite。id 在页面内
唯一:当同样的文本已在更靠前的位置出现过,比如名为 build 的属性,或与 agentEventPayloadFields
并存的 AgentEventPayloadFields,靠后的标题会加上后缀,因此 agent-bundle/api 中的 build 是
#build-2。每个标题旁边的 # 链接带有它的确切 id。
生成页面与语言无关
站点在两个语言下都镜像了这份生成式参考,因此/api/与/zh/api/对两种语言的读者都能 解析。但其内容未被翻译:中文副本就是英文 Markdown,只在每页标题下加了一条说明这一点的提示, 符号文档保持在其被编写时所用的语言。
这是刻意的。生成输出的翻译副本会在第一次重构时就与源码脱节,而一份类型是最新的、散文却已过期的符号参考, 比一份诚实地只用一种语言的参考更糟。手写页面,指南以及本参考的其余部分,则是完整翻译。
从哪里开始
- 从脚本中编译:
agent-bundle/api中的build与validate。 - 在 MCP App 中调用带类型的工具:
agent-bundle/app中的createAppClient,详见 带类型的 App 客户端。 - 编写测试:
agent-bundle/test中的renderRoute、expectDocument与那些矩阵,在测试中介绍。 - 编写 eval:
agent-bundle/eval中的defineEvalSuite与那些断言,在评测中介绍。