跳转至

Schema 参考

本版使用 JSON Schema Draft 2020-12。下载完整 Schema,可在离线验证器中使用。$id 是草案的标识,不是下载地址;内部 $ref 不依赖网络。

下面的表由同一 Schema 在构建时生成,只列无条件必填项。条件必填由 Schema 的 allOf / oneOf 和相应规范章节共同解释,不手工维护另一份字段定义。

Catalog

字段 类型 / 值 无条件必填 说明
spec_version "0.2.1" 是 精确的 AXI 表示版本
kind "catalog" 是 文档类型
provider_id string 是 提供方稳定标识
catalog_revision string 是 目录修订
capabilities array 是 有界能力摘要集合
next_cursor null / string 是 不透明继续游标;null 表示结束
extensions extensions 否 带命名空间的可选扩展

目录条目的引用与动作合同需要进一步交叉检查,见能力发现。

Action

字段 类型 / 值 无条件必填 说明
spec_version "0.2.1" 是 精确的 AXI 表示版本
kind "action" 是 文档类型
name string 是 命名空间内的动作名
purpose string 是 业务用途及选择条件
contract_revision string 是 精确动作合同修订
effect read, view, draft, submit, irreversible 是 领域副作用分类
required_context array 是 执行必需的输入上下文字段
input_schema object 是 业务输入的 Draft 2020-12 Schema
output_schema object 是 输出的 Draft 2020-12 Schema
authorization string 是 最终授权与前置检查说明
idempotency 组合类型 是 键、恢复入口与保留期合同
bindings array 是 现有载体及目标映射
extensions extensions 否 带命名空间的可选扩展

写动作的 idempotency.mode 必须是 required,包括键字段、恢复动作和正整数保留秒数。必要上下文与键必须确实出现在必填输入中。嵌入的业务 Schema 要再做元 Schema 检查,见执行。

Result

字段 类型 / 值 无条件必填 说明
spec_version "0.2.1" 是 精确的 AXI 表示版本
kind "result" 是 文档类型
action string 是 此次结果对应的原动作
contract_revision string 是 精确动作合同修订
status succeeded, pending, blocked, failed, partial, cancelled, unknown 是 证据支持的当前状态
context context 是 服务端验证的范围化上下文
operation operation 否 原操作引用与固定输入摘要
data object 否 领域结果与验证范围
error error 否 稳定代码、原因和解决方向
extensions extensions 否 带命名空间的可选扩展

blocked、failed、unknown 需要错误;succeeded、pending、partial、cancelled 需要业务数据;pending、unknown 需要原操作引用。unknown 固定使用 result_unknown 和恢复方向。写入其他非 blocked 状态也需要原操作引用,该条件依赖动作合同,由跨文档检查验证。

Context

字段 类型 / 值 无条件必填 说明
scope_id string 是 服务端验证的隔离范围引用
resource_id string 否 当前资源的完整标识
revision integer / string 否 对象版本;客户端按不透明条件使用

范围引用由服务端检查,不能从该字段推导权限。上下文规范定义切换、消歧与陈旧响应处理。

Operation

字段 类型 / 值 无条件必填 说明
id string 否 提供方操作标识
key string 是 原始幂等键
input_digest string 是 固定输入摘要;sha256 加 64 位小写十六进制
recover_action string 是 原操作只读恢复动作

input_digest 固定为 sha256: 加 64 位小写十六进制。具体输入规范化由动作提供方公布,示例向量见示例。

Page

字段 类型 / 值 无条件必填 说明
spec_version "0.2.1" 是 精确的 AXI 表示版本
kind "page" 是 文档类型
context context 是 服务端验证的范围化上下文
query_revision string 是 绑定游标的查询标识或修订
items array 是 本页可见的结果项
next_cursor null / string 是 不透明继续游标;null 表示结束
snapshot snapshot 是 一致性模式及可选快照修订
extensions extensions 否 带命名空间的可选扩展

非空游标的空页仍可继续;consistent 快照另需快照修订。见分页。

Batch

字段 类型 / 值 无条件必填 说明
spec_version "0.2.1" 是 精确的 AXI 表示版本
kind "batch" 是 文档类型
context context 是 服务端验证的范围化上下文
status succeeded, partial 是 证据支持的当前状态
results array 是 按唯一 item_id 返回的逐项回执
snapshot snapshot 是 一致性模式及可选快照修订
extensions extensions 否 带命名空间的可选扩展

唯一项标识、整体与逐项状态的一致性、只读白名单和获权范围需要行为及交叉验证,见批量读取。

验证器能力

uv run --no-project --with-requirements requirements-test.txt python scripts/validate-contracts.py

该命令固定校验本仓库的 Schema 与审批示例包,不是通用认证服务。它拒绝包外合同引用和联网解析;不会执行工具或访问生产资源。负例与事务测试见验证指南。