commit f55b6d65023e475bf71faee8b7261965d7c5dee9
parent bba373365eadd4cbc4ef1e509f84200b00f5393d
Author: triesap <tyson@radroots.org>
Date: Wed, 24 Jun 2026 08:51:45 +0000
types: render bindings from dto registry
- replace the types binding model dependency with dto registry roots
- describe generic result envelopes with explicit DTO descriptors
- route the types package through xtask DTO registry rendering
- verify cargo, xtask generation, and package TypeScript checks
Diffstat:
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/tools/sdk_xtask_import/src/dto_roots.rs b/tools/sdk_xtask_import/src/dto_roots.rs
@@ -49,6 +49,10 @@ pub const DTO_PACKAGE_ROOTS: &[DtoPackageRootSet] = &[
package_key: "trade",
roots: trade_roots,
},
+ DtoPackageRootSet {
+ package_key: "types",
+ roots: types_roots,
+ },
];
pub const MANUAL_DESCRIPTOR_FAMILIES: &[ManualDescriptorFamily] = &[
@@ -170,6 +174,11 @@ pub fn trade_types_module() -> Result<DtoTypesModule, String> {
)
}
+pub fn types_types_module() -> Result<DtoTypesModule, String> {
+ let root_set = package_root_set("types").ok_or_else(|| "missing types DTO roots".to_owned())?;
+ render_registry_types(&root_set.registry(), &DtoRegistryRenderOptions::default())
+}
+
fn core_roots() -> Vec<RootDescriptor> {
radroots_core::dto::dto_roots().into_iter().collect()
}
@@ -188,6 +197,10 @@ fn trade_roots() -> Vec<RootDescriptor> {
radroots_trade_bindings::dto_roots()
}
+fn types_roots() -> Vec<RootDescriptor> {
+ radroots_types_bindings::dto_roots()
+}
+
fn core_import_options(
registry: &Registry,
mut options: DtoRegistryRenderOptions,
@@ -484,6 +497,7 @@ mod tests {
assert!(package_root_set("events").is_some());
assert!(package_root_set("events_indexed").is_some());
assert!(package_root_set("trade").is_some());
+ assert!(package_root_set("types").is_some());
}
#[test]
diff --git a/tools/sdk_xtask_import/src/output.rs b/tools/sdk_xtask_import/src/output.rs
@@ -130,7 +130,7 @@ pub fn package_outputs() -> Result<Vec<PackageOutput>, String> {
},
PackageOutput {
spec: spec_by_key("types"),
- types_ts: Some(TsSource::Module(radroots_types_bindings::types_module())),
+ types_ts: Some(TsSource::DtoRegistry(dto_roots::types_types_module()?)),
types_imports_ts: None,
constants_ts: None,
kinds_ts: None,