AFPS JSON 斯克马斯
机能可读表示AFPS规格. 规格文本( E)光谱md)是规范来源.
npm 软件包
此目录作为 @afps-spec/schema 时间npm。 执行可以导入Zod计划并扩展其:
import { agentManifestSchema } from "@afps-spec/schema";
const myAgentSchema = agentManifestSchema.extend({
// Extensions go under `_meta`, keyed by a reverse-DNS namespace (spec §10).
_meta: z.record(z.string(), z.record(z.string(), z.unknown())).optional(),
});
JSON Schema 代号
从 AFPS Zod 计划生成 JSON Schema 文件时, 使用导出的文件 afpsJsonSchemaOverride 确保 input.schema 财务报告和审定财务报表 output.schema 字段参考官方 JSON Schema 2020-12 meta-schema:
import { toJSONSchema } from "zod/v4/core";
import { agentManifestSchema, afpsJsonSchemaOverride } from "@afps-spec/schema";
const jsonSchema = toJSONSchema(agentManifestSchema, {
target: "draft-2020-12",
override: afpsJsonSchemaOverride,
});
没有覆盖, 这些字段序列化为不透明 {} 对象,因为 AJV meta-schema 验证不能被 Zod 代表 toJSONSchema() 一个人.
版本计划
Schemas按主要版本排列:
schema/
├── v0/ ← AFPS v0.x schemas
│ ├── agent.schema.json
│ ├── skill.schema.json
│ ├── mcp-server.schema.json
│ └── integration.schema.json
├── src/
│ ├── schemas.ts ← Zod source (generates v0/)
│ ├── generate.ts ← Generation script
│ └── index.ts ← npm entry point
└── package.json ← @afps-spec/schema
URL 遵循模式 https://schemas.afps.dev/v0/<type>.schema.json。 。 。 .
这个 mcp-server.schema.json 验证 MCP Bundle (MCPB) 显示一个已建 mcp-server 包件嵌入; 不同FPS的数据在MCPB下载入 _meta 对象.
Schema 验证
AFPS 计划领域(input.schema, (中文(简体) ), output.schema)接受任何有效的JSON Schema 2020-12文件,并带有两个AFPS特定的限制:
- 词根
type必须"object" - 根有一条
properties键
运行时间验证由AJV针对官方JSON Schema 2020-12 meta-schema进行. 生成的 .schema.json 文件通过 allOf 合并a $ref 以亚足联的限制为主.
重新生成
修改 Zod 源码后 src/schemas.ts数字 :
cd schema && bun install && bun run generate
清单中的用法
使用 $schema 用于编辑器验证 :
{
"$schema": "https://schemas.afps.dev/v0/agent.schema.json",
"schema_version": "0.3",
"name": "@scope/my-agent",
"version": "1.0.0",
"type": "agent"
}
实施方案可能会扩大这些计划,在《公约》之下增加一些领域 _meta 反 DNS 命名空间公约(参见 spec §10).