跳转至

GFBridgeContractReport

API Reference / Standard / 类索引

  • 路径:addons/gf/standard/foundation/validation/gf_bridge_contract_report.gd
  • 模块:Standard
  • 继承:RefCounted
  • API:public
  • 类别:运行时服务 (runtime_service)
  • 首次版本:7.0.0

外部桥接契约覆盖报告构建器。 用于比较“框架或工具期望存在的桥接契约”和“项目、SDK、GDExtension 或编辑器工具实际注册的适配器”。它只处理纯数据报告,不注册适配器、 不调用 handler,也不规定项目侧路由策略。

成员概览

类型 名称 签名
常量 KIND_CONTRACT_INVALID const KIND_CONTRACT_INVALID: StringName = &"bridge_contract_invalid"
常量 KIND_CONTRACT_DUPLICATE const KIND_CONTRACT_DUPLICATE: StringName = &"bridge_contract_duplicate"
常量 KIND_CONTRACT_MISSING const KIND_CONTRACT_MISSING: StringName = &"bridge_contract_missing"
常量 KIND_ADAPTER_INVALID const KIND_ADAPTER_INVALID: StringName = &"bridge_adapter_invalid"
常量 KIND_ADAPTER_EXTRA const KIND_ADAPTER_EXTRA: StringName = &"bridge_adapter_extra"
常量 KIND_ADAPTER_DISABLED const KIND_ADAPTER_DISABLED: StringName = &"bridge_adapter_disabled"
常量 KIND_ADAPTER_DUPLICATE const KIND_ADAPTER_DUPLICATE: StringName = &"bridge_adapter_duplicate"
常量 KIND_ADAPTER_SIGNATURE_MISMATCH const KIND_ADAPTER_SIGNATURE_MISMATCH: StringName = &"bridge_adapter_signature_mismatch"
常量 KIND_ADAPTER_VERSION_MISMATCH const KIND_ADAPTER_VERSION_MISMATCH: StringName = &"bridge_adapter_version_mismatch"
常量 KIND_ADAPTER_CAPABILITY_MISSING const KIND_ADAPTER_CAPABILITY_MISSING: StringName = &"bridge_adapter_capability_missing"
属性 subject var subject: String = _DEFAULT_SUBJECT
属性 contracts var contracts: Array[Dictionary] = []
属性 adapters var adapters: Array[Dictionary] = []
属性 metadata var metadata: Dictionary = {}
方法 configure func configure(p_subject: String = _DEFAULT_SUBJECT, p_metadata: Dictionary = {}) -> GFBridgeContractReport:
方法 clear func clear() -> void:
方法 add_contract func add_contract(contract_id: StringName, options: Dictionary = {}) -> Dictionary:
方法 add_contracts func add_contracts(entries: Array[Dictionary]) -> GFBridgeContractReport:
方法 add_adapter func add_adapter( adapter_id: StringName, contract_id: StringName = &"", options: Dictionary = {} ) -> Dictionary:
方法 add_adapters func add_adapters(entries: Array[Dictionary]) -> GFBridgeContractReport:
方法 get_report func get_report(options: Dictionary = {}) -> Dictionary:
方法 from_entries static func from_entries( contract_entries: Array[Dictionary], adapter_entries: Array[Dictionary], options: Dictionary = {} ) -> Dictionary:
方法 report_request_handlers static func report_request_handlers( required_request_types: PackedStringArray, registry: GFRequestHandlerRegistry, options: Dictionary = {} ) -> Dictionary:

常量

KIND_CONTRACT_INVALID

  • API:public
  • 首次版本:7.0.0
const KIND_CONTRACT_INVALID: StringName = &"bridge_contract_invalid"

契约条目缺少有效 contract_id。

KIND_CONTRACT_DUPLICATE

  • API:public
  • 首次版本:7.0.0
const KIND_CONTRACT_DUPLICATE: StringName = &"bridge_contract_duplicate"

同一 contract_id 被重复声明。

KIND_CONTRACT_MISSING

  • API:public
  • 首次版本:7.0.0
const KIND_CONTRACT_MISSING: StringName = &"bridge_contract_missing"

必需契约没有任何启用的适配器覆盖。

KIND_ADAPTER_INVALID

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_INVALID: StringName = &"bridge_adapter_invalid"

适配器条目缺少有效 adapter_id 或 contract_ids。

KIND_ADAPTER_EXTRA

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_EXTRA: StringName = &"bridge_adapter_extra"

适配器引用了未知契约。

KIND_ADAPTER_DISABLED

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_DISABLED: StringName = &"bridge_adapter_disabled"

适配器已声明但当前未启用。

KIND_ADAPTER_DUPLICATE

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_DUPLICATE: StringName = &"bridge_adapter_duplicate"

不允许多适配器的契约被多个启用适配器覆盖。

KIND_ADAPTER_SIGNATURE_MISMATCH

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_SIGNATURE_MISMATCH: StringName = &"bridge_adapter_signature_mismatch"

适配器签名不满足契约签名。

KIND_ADAPTER_VERSION_MISMATCH

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_VERSION_MISMATCH: StringName = &"bridge_adapter_version_mismatch"

适配器版本不满足契约版本。

KIND_ADAPTER_CAPABILITY_MISSING

  • API:public
  • 首次版本:7.0.0
const KIND_ADAPTER_CAPABILITY_MISSING: StringName = &"bridge_adapter_capability_missing"

适配器缺少契约要求的能力。

属性

subject

  • API:public
  • 首次版本:7.0.0
var subject: String = _DEFAULT_SUBJECT

报告主题。

contracts

  • API:public
  • 首次版本:7.0.0
var contracts: Array[Dictionary] = []

期望存在的桥接契约条目。

结构:

  • contracts: Array[Dictionary],每项可包含 contract_id/id、kind、signature、version、required、allow_multiple、capabilities 和 metadata。

adapters

  • API:public
  • 首次版本:7.0.0
var adapters: Array[Dictionary] = []

实际注册或发现的适配器条目。

结构:

  • adapters: Array[Dictionary],每项可包含 adapter_id/id、contract_id、contract_ids、kind、signature、version、enabled、capabilities 和 metadata。

metadata

  • API:public
  • 首次版本:7.0.0
var metadata: Dictionary = {}

调用方自定义元数据。

结构:

  • metadata: Dictionary caller-defined report metadata.

方法

configure

  • API:public
  • 首次版本:7.0.0
func configure(p_subject: String = _DEFAULT_SUBJECT, p_metadata: Dictionary = {}) -> GFBridgeContractReport:

配置报告构建器。

参数:

名称 说明
p_subject 报告主题。
p_metadata 调用方元数据。

返回:当前构建器。

结构:

  • p_metadata: Dictionary caller-defined report metadata.

clear

  • API:public
  • 首次版本:7.0.0
func clear() -> void:

清空契约、适配器和元数据。

add_contract

  • API:public
  • 首次版本:7.0.0
func add_contract(contract_id: StringName, options: Dictionary = {}) -> Dictionary:

添加一个期望桥接契约。

参数:

名称 说明
contract_id 稳定契约 ID。
options 契约选项,支持 kind、signature、version、required、allow_multiple、capabilities 和 metadata。

返回:添加后的契约条目副本。

结构:

  • options: Dictionary bridge contract metadata.
  • return: Dictionary normalized bridge contract entry.

add_contracts

  • API:public
  • 首次版本:7.0.0
func add_contracts(entries: Array[Dictionary]) -> GFBridgeContractReport:

批量添加期望桥接契约。

参数:

名称 说明
entries 契约条目数组。

返回:当前构建器。

结构:

  • entries: Array[Dictionary] bridge contract entries.

add_adapter

  • API:public
  • 首次版本:7.0.0
func add_adapter( adapter_id: StringName, contract_id: StringName = &"", options: Dictionary = {} ) -> Dictionary:

添加一个实际桥接适配器。

参数:

名称 说明
adapter_id 稳定适配器 ID。
contract_id 适配器覆盖的主要契约 ID;为空时可通过 options.contract_ids 提供。
options 适配器选项,支持 contract_ids、kind、signature、version、enabled、capabilities 和 metadata。

返回:添加后的适配器条目副本。

结构:

  • options: Dictionary bridge adapter metadata.
  • return: Dictionary normalized bridge adapter entry.

add_adapters

  • API:public
  • 首次版本:7.0.0
func add_adapters(entries: Array[Dictionary]) -> GFBridgeContractReport:

批量添加实际桥接适配器。

参数:

名称 说明
entries 适配器条目数组。

返回:当前构建器。

结构:

  • entries: Array[Dictionary] bridge adapter entries.

get_report

  • API:public
  • 首次版本:7.0.0
func get_report(options: Dictionary = {}) -> Dictionary:

构建桥接契约覆盖报告。

参数:

名称 说明
options 报告选项,支持 default_allow_multiple、missing_severity、extra_severity、duplicate_severity、disabled_severity、mismatch_severity、warnings_as_errors、fallback_action 和 no_action。

返回:GFValidationReportDictionary 兼容报告。

结构:

  • options: Dictionary report options.
  • return: Dictionary with ok、healthy、contracts、adapters、coverage counts、issues、summary and next_action.

from_entries

  • API:public
  • 首次版本:7.0.0
static func from_entries( contract_entries: Array[Dictionary], adapter_entries: Array[Dictionary], options: Dictionary = {} ) -> Dictionary:

从契约和适配器数组直接创建覆盖报告。

参数:

名称 说明
contract_entries 契约条目数组。
adapter_entries 适配器条目数组。
options 构建器与报告选项,支持 subject、metadata 以及 get_report() 选项。

返回:GFValidationReportDictionary 兼容报告。

结构:

  • contract_entries: Array[Dictionary] bridge contract entries.
  • adapter_entries: Array[Dictionary] bridge adapter entries.
  • options: Dictionary builder and report options.
  • return: Dictionary bridge contract coverage report.

report_request_handlers

  • API:public
  • 首次版本:7.0.0
static func report_request_handlers( required_request_types: PackedStringArray, registry: GFRequestHandlerRegistry, options: Dictionary = {} ) -> Dictionary:

为 GFRequestHandlerRegistry 生成请求 handler 覆盖报告。

参数:

名称 说明
required_request_types 必需请求类型列表。
registry 请求 handler 注册表。
options 构建器与报告选项,支持 subject、metadata、kind、signature、adapter_kind 以及 get_report() 选项。

返回:GFValidationReportDictionary 兼容报告。

结构:

  • options: Dictionary builder and report options.
  • return: Dictionary request handler bridge coverage report.