sdk

Radroots SDK and bindings
git clone https://radroots.dev/git/sdk.git
Log | Files | Refs | README

commit 9ec93888cc620eb304249745c114b2395d82a97f
parent 270964c32ea6cf9ba330d77e2714a0caaf2c3da2
Author: triesap <tyson@radroots.org>
Date:   Wed, 24 Jun 2026 07:45:01 +0000

bindings: source constants and kinds

- Render events constants and kinds from radroots_events source constants.

- Render identity username constants from radroots_identity source constants.

- Add raw TypeScript body support for non-DTO source-generated files.

- Remove binding_model dependencies from migrated events and identity constants crates.

Diffstat:
MCargo.lock | 2--
Mcrates/events_bindings/Cargo.toml | 1-
Mcrates/events_bindings/src/lib.rs | 13+++++++++----
Mcrates/events_bindings/src/model.rs | 331+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
Mcrates/identity_bindings/Cargo.toml | 1-
Mcrates/identity_bindings/src/lib.rs | 28+++++++++++++++-------------
Mtools/xtask/src/output.rs | 13++++++-------
7 files changed, 251 insertions(+), 138 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -1755,7 +1755,6 @@ name = "radroots_events_bindings" version = "0.1.0" dependencies = [ "radroots_events", - "radroots_sdk_binding_model", ] [[package]] @@ -1814,7 +1813,6 @@ name = "radroots_identity_bindings" version = "0.1.0" dependencies = [ "radroots_identity", - "radroots_sdk_binding_model", ] [[package]] diff --git a/crates/events_bindings/Cargo.toml b/crates/events_bindings/Cargo.toml @@ -9,5 +9,4 @@ homepage.workspace = true publish = false [dependencies] -radroots_sdk_binding_model = { path = "../binding_model" } radroots_events = { workspace = true } diff --git a/crates/events_bindings/src/lib.rs b/crates/events_bindings/src/lib.rs @@ -6,14 +6,19 @@ pub use model::{constants_module, kinds_module}; #[cfg(test)] mod tests { + use radroots_events::{kinds, listing::RADROOTS_LISTING_PRODUCT_TAG_KEYS}; + use super::{constants_module, kinds_module}; #[test] fn preserves_event_constant_exports() { - let constants = constants_module().render(); - let kinds = kinds_module().render(); + let constants = constants_module(); + let kinds_ts = kinds_module(); assert!(constants.contains("RADROOTS_LISTING_PRODUCT_TAG_KEYS")); - assert!(kinds.contains("KIND_LISTING")); - assert!(kinds.contains("KIND_TRADE_LISTING_ORDER_REQ")); + assert!(constants.contains(RADROOTS_LISTING_PRODUCT_TAG_KEYS[0])); + assert!(kinds_ts.contains("KIND_LISTING")); + assert!(kinds_ts.contains(&kinds::KIND_LISTING.to_string())); + assert!(kinds_ts.contains("KIND_TRADE_LISTING_ORDER_REQ")); + assert!(kinds_ts.contains(&kinds::KIND_TRADE_LISTING_ORDER_REQ.to_string())); } } diff --git a/crates/events_bindings/src/model.rs b/crates/events_bindings/src/model.rs @@ -1,114 +1,225 @@ -use radroots_sdk_binding_model::{self as ts, TsValue}; +use radroots_events::{kinds, listing::RADROOTS_LISTING_PRODUCT_TAG_KEYS}; -pub fn constants_module() -> ts::TsModule { - ts::module(vec![ - ts::import_type(&["RadrootsListingProductTagKeys"], "./types.js"), - ts::const_decl( - "RADROOTS_LISTING_PRODUCT_TAG_KEYS", - Some(ts::reference("RadrootsListingProductTagKeys")), - TsValue::Array(vec![ - TsValue::String("key".to_owned()), - TsValue::String("title".to_owned()), - TsValue::String("category".to_owned()), - TsValue::String("summary".to_owned()), - TsValue::String("process".to_owned()), - TsValue::String("lot".to_owned()), - TsValue::String("location".to_owned()), - TsValue::String("profile".to_owned()), - TsValue::String("year".to_owned()), - ]), - ), - ]) +pub fn constants_module() -> String { + format!( + "import type {{ RadrootsListingProductTagKeys }} from \"./types.js\";\n\nexport const RADROOTS_LISTING_PRODUCT_TAG_KEYS: RadrootsListingProductTagKeys = {};", + render_string_array(&RADROOTS_LISTING_PRODUCT_TAG_KEYS) + ) } -pub fn kinds_module() -> ts::TsModule { - ts::module(vec![ - ts::const_number("KIND_PROFILE", 0), - ts::const_number("KIND_POST", 1), - ts::const_number("KIND_FOLLOW", 3), - ts::const_number("KIND_REACTION", 7), - ts::const_number("KIND_SEAL", 13), - ts::const_number("KIND_MESSAGE", 14), - ts::const_number("KIND_MESSAGE_FILE", 15), - ts::const_number("KIND_GIFT_WRAP", 1059), - ts::const_number("KIND_COMMENT", 1111), - ts::const_number("KIND_GEOCHAT", 20000), - ts::const_number("KIND_LIST_MUTE", 10000), - ts::const_number("KIND_LIST_PINNED_NOTES", 10001), - ts::const_number("KIND_LIST_READ_WRITE_RELAYS", 10002), - ts::const_number("KIND_LIST_BOOKMARKS", 10003), - ts::const_number("KIND_LIST_COMMUNITIES", 10004), - ts::const_number("KIND_LIST_PUBLIC_CHATS", 10005), - ts::const_number("KIND_LIST_BLOCKED_RELAYS", 10006), - ts::const_number("KIND_LIST_SEARCH_RELAYS", 10007), - ts::const_number("KIND_LIST_SIMPLE_GROUPS", 10009), - ts::const_number("KIND_LIST_RELAY_FEEDS", 10012), - ts::const_number("KIND_LIST_INTERESTS", 10015), - ts::const_number("KIND_LIST_MEDIA_FOLLOWS", 10020), - ts::const_number("KIND_LIST_EMOJIS", 10030), - ts::const_number("KIND_LIST_DM_RELAYS", 10050), - ts::const_number("KIND_LIST_GOOD_WIKI_AUTHORS", 10101), - ts::const_number("KIND_LIST_GOOD_WIKI_RELAYS", 10102), - ts::const_number("KIND_LIST_SET_FOLLOW", 30000), - ts::const_number("KIND_LIST_SET_GENERIC", 30001), - ts::const_number("KIND_LIST_SET_RELAY", 30002), - ts::const_number("KIND_LIST_SET_BOOKMARK", 30003), - ts::const_number("KIND_LIST_SET_CURATION", 30004), - ts::const_number("KIND_LIST_SET_VIDEO", 30005), - ts::const_number("KIND_LIST_SET_PICTURE", 30006), - ts::const_number("KIND_LIST_SET_KIND_MUTE", 30007), - ts::const_number("KIND_LIST_SET_INTEREST", 30015), - ts::const_number("KIND_LIST_SET_EMOJI", 30030), - ts::const_number("KIND_LIST_SET_RELEASE_ARTIFACT", 30063), - ts::const_number("KIND_LIST_SET_APP_CURATION", 30267), - ts::const_number("KIND_LIST_SET_CALENDAR", 31924), - ts::const_number("KIND_LIST_SET_STARTER_PACK", 39089), - ts::const_number("KIND_LIST_SET_MEDIA_STARTER_PACK", 39092), - ts::const_number("KIND_FARM", 30340), - ts::const_number("KIND_PLOT", 30350), - ts::const_number("KIND_COOP", 30360), - ts::const_number("KIND_DOCUMENT", 30361), - ts::const_number("KIND_RESOURCE_AREA", 30370), - ts::const_number("KIND_RESOURCE_HARVEST_CAP", 30371), - ts::const_number("KIND_ACCOUNT_CLAIM", 30380), - ts::const_number("KIND_APP_DATA", 30078), - ts::const_number("KIND_LISTING", 30402), - ts::const_number("KIND_APPLICATION_HANDLER", 31990), - ts::const_number("KIND_TRADE_LISTING_VALIDATE_REQ", 5321), - ts::const_number("KIND_TRADE_LISTING_VALIDATE_RES", 6321), - ts::const_number("KIND_WORKER_TRADE_TRANSITION_PROOF_REQ", 5322), - ts::const_number("KIND_WORKER_TRADE_TRANSITION_PROOF_RES", 6322), - ts::const_number("KIND_TRADE_ORDER_REQUEST", 3422), - ts::const_number("KIND_TRADE_ORDER_RESPONSE", 3423), - ts::const_number("KIND_TRADE_ORDER_DECISION", 3423), - ts::const_number("KIND_TRADE_ORDER_REVISION", 3424), - ts::const_number("KIND_TRADE_ORDER_REVISION_RESPONSE", 3425), - ts::const_number("KIND_TRADE_QUESTION", 3426), - ts::const_number("KIND_TRADE_ANSWER", 3427), - ts::const_number("KIND_TRADE_DISCOUNT_REQUEST", 3428), - ts::const_number("KIND_TRADE_DISCOUNT_OFFER", 3429), - ts::const_number("KIND_TRADE_DISCOUNT_ACCEPT", 3430), - ts::const_number("KIND_TRADE_FORBIDDEN_3431", 3431), - ts::const_number("KIND_TRADE_CANCEL", 3432), - ts::const_number("KIND_TRADE_FULFILLMENT_UPDATE", 3433), - ts::const_number("KIND_TRADE_RECEIPT", 3434), - ts::const_number("KIND_TRADE_VALIDATION_RECEIPT", 3440), - ts::const_number("KIND_TRADE_LISTING_ORDER_REQ", 3422), - ts::const_number("KIND_TRADE_LISTING_ORDER_RES", 3423), - ts::const_number("KIND_TRADE_LISTING_ORDER_REVISION_REQ", 3424), - ts::const_number("KIND_TRADE_LISTING_ORDER_REVISION_RES", 3425), - ts::const_number("KIND_TRADE_LISTING_QUESTION_REQ", 3426), - ts::const_number("KIND_TRADE_LISTING_ANSWER_RES", 3427), - ts::const_number("KIND_TRADE_LISTING_DISCOUNT_REQ", 3428), - ts::const_number("KIND_TRADE_LISTING_DISCOUNT_OFFER_RES", 3429), - ts::const_number("KIND_TRADE_LISTING_DISCOUNT_ACCEPT_REQ", 3430), - ts::const_number("KIND_TRADE_LISTING_CANCEL_REQ", 3432), - ts::const_number("KIND_TRADE_LISTING_FULFILLMENT_UPDATE_REQ", 3433), - ts::const_number("KIND_TRADE_LISTING_RECEIPT_REQ", 3434), - ts::const_number("KIND_JOB_REQUEST_MIN", 5000), - ts::const_number("KIND_JOB_REQUEST_MAX", 5999), - ts::const_number("KIND_JOB_RESULT_MIN", 6000), - ts::const_number("KIND_JOB_RESULT_MAX", 6999), - ts::const_number("KIND_JOB_FEEDBACK", 7000), - ]) +pub fn kinds_module() -> String { + render_number_constants(EVENT_KIND_EXPORTS) +} + +const EVENT_KIND_EXPORTS: &[(&str, u32)] = &[ + ("KIND_PROFILE", kinds::KIND_PROFILE), + ("KIND_POST", kinds::KIND_POST), + ("KIND_FOLLOW", kinds::KIND_FOLLOW), + ("KIND_REACTION", kinds::KIND_REACTION), + ("KIND_SEAL", kinds::KIND_SEAL), + ("KIND_MESSAGE", kinds::KIND_MESSAGE), + ("KIND_MESSAGE_FILE", kinds::KIND_MESSAGE_FILE), + ("KIND_GIFT_WRAP", kinds::KIND_GIFT_WRAP), + ("KIND_COMMENT", kinds::KIND_COMMENT), + ("KIND_GEOCHAT", kinds::KIND_GEOCHAT), + ("KIND_LIST_MUTE", kinds::KIND_LIST_MUTE), + ("KIND_LIST_PINNED_NOTES", kinds::KIND_LIST_PINNED_NOTES), + ( + "KIND_LIST_READ_WRITE_RELAYS", + kinds::KIND_LIST_READ_WRITE_RELAYS, + ), + ("KIND_LIST_BOOKMARKS", kinds::KIND_LIST_BOOKMARKS), + ("KIND_LIST_COMMUNITIES", kinds::KIND_LIST_COMMUNITIES), + ("KIND_LIST_PUBLIC_CHATS", kinds::KIND_LIST_PUBLIC_CHATS), + ("KIND_LIST_BLOCKED_RELAYS", kinds::KIND_LIST_BLOCKED_RELAYS), + ("KIND_LIST_SEARCH_RELAYS", kinds::KIND_LIST_SEARCH_RELAYS), + ("KIND_LIST_SIMPLE_GROUPS", kinds::KIND_LIST_SIMPLE_GROUPS), + ("KIND_LIST_RELAY_FEEDS", kinds::KIND_LIST_RELAY_FEEDS), + ("KIND_LIST_INTERESTS", kinds::KIND_LIST_INTERESTS), + ("KIND_LIST_MEDIA_FOLLOWS", kinds::KIND_LIST_MEDIA_FOLLOWS), + ("KIND_LIST_EMOJIS", kinds::KIND_LIST_EMOJIS), + ("KIND_LIST_DM_RELAYS", kinds::KIND_LIST_DM_RELAYS), + ( + "KIND_LIST_GOOD_WIKI_AUTHORS", + kinds::KIND_LIST_GOOD_WIKI_AUTHORS, + ), + ( + "KIND_LIST_GOOD_WIKI_RELAYS", + kinds::KIND_LIST_GOOD_WIKI_RELAYS, + ), + ("KIND_LIST_SET_FOLLOW", kinds::KIND_LIST_SET_FOLLOW), + ("KIND_LIST_SET_GENERIC", kinds::KIND_LIST_SET_GENERIC), + ("KIND_LIST_SET_RELAY", kinds::KIND_LIST_SET_RELAY), + ("KIND_LIST_SET_BOOKMARK", kinds::KIND_LIST_SET_BOOKMARK), + ("KIND_LIST_SET_CURATION", kinds::KIND_LIST_SET_CURATION), + ("KIND_LIST_SET_VIDEO", kinds::KIND_LIST_SET_VIDEO), + ("KIND_LIST_SET_PICTURE", kinds::KIND_LIST_SET_PICTURE), + ("KIND_LIST_SET_KIND_MUTE", kinds::KIND_LIST_SET_KIND_MUTE), + ("KIND_LIST_SET_INTEREST", kinds::KIND_LIST_SET_INTEREST), + ("KIND_LIST_SET_EMOJI", kinds::KIND_LIST_SET_EMOJI), + ( + "KIND_LIST_SET_RELEASE_ARTIFACT", + kinds::KIND_LIST_SET_RELEASE_ARTIFACT, + ), + ( + "KIND_LIST_SET_APP_CURATION", + kinds::KIND_LIST_SET_APP_CURATION, + ), + ("KIND_LIST_SET_CALENDAR", kinds::KIND_LIST_SET_CALENDAR), + ( + "KIND_LIST_SET_STARTER_PACK", + kinds::KIND_LIST_SET_STARTER_PACK, + ), + ( + "KIND_LIST_SET_MEDIA_STARTER_PACK", + kinds::KIND_LIST_SET_MEDIA_STARTER_PACK, + ), + ("KIND_FARM", kinds::KIND_FARM), + ("KIND_PLOT", kinds::KIND_PLOT), + ("KIND_COOP", kinds::KIND_COOP), + ("KIND_DOCUMENT", kinds::KIND_DOCUMENT), + ("KIND_RESOURCE_AREA", kinds::KIND_RESOURCE_AREA), + ( + "KIND_RESOURCE_HARVEST_CAP", + kinds::KIND_RESOURCE_HARVEST_CAP, + ), + ("KIND_ACCOUNT_CLAIM", kinds::KIND_ACCOUNT_CLAIM), + ("KIND_APP_DATA", kinds::KIND_APP_DATA), + ("KIND_LISTING", kinds::KIND_LISTING), + ("KIND_APPLICATION_HANDLER", kinds::KIND_APPLICATION_HANDLER), + ( + "KIND_TRADE_LISTING_VALIDATE_REQ", + kinds::KIND_TRADE_LISTING_VALIDATE_REQ, + ), + ( + "KIND_TRADE_LISTING_VALIDATE_RES", + kinds::KIND_TRADE_LISTING_VALIDATE_RES, + ), + ( + "KIND_WORKER_TRADE_TRANSITION_PROOF_REQ", + kinds::KIND_WORKER_TRADE_TRANSITION_PROOF_REQ, + ), + ( + "KIND_WORKER_TRADE_TRANSITION_PROOF_RES", + kinds::KIND_WORKER_TRADE_TRANSITION_PROOF_RES, + ), + ("KIND_TRADE_ORDER_REQUEST", kinds::KIND_TRADE_ORDER_REQUEST), + ( + "KIND_TRADE_ORDER_RESPONSE", + kinds::KIND_TRADE_ORDER_RESPONSE, + ), + ( + "KIND_TRADE_ORDER_DECISION", + kinds::KIND_TRADE_ORDER_DECISION, + ), + ( + "KIND_TRADE_ORDER_REVISION", + kinds::KIND_TRADE_ORDER_REVISION, + ), + ( + "KIND_TRADE_ORDER_REVISION_RESPONSE", + kinds::KIND_TRADE_ORDER_REVISION_RESPONSE, + ), + ("KIND_TRADE_QUESTION", kinds::KIND_TRADE_QUESTION), + ("KIND_TRADE_ANSWER", kinds::KIND_TRADE_ANSWER), + ( + "KIND_TRADE_DISCOUNT_REQUEST", + kinds::KIND_TRADE_DISCOUNT_REQUEST, + ), + ( + "KIND_TRADE_DISCOUNT_OFFER", + kinds::KIND_TRADE_DISCOUNT_OFFER, + ), + ( + "KIND_TRADE_DISCOUNT_ACCEPT", + kinds::KIND_TRADE_DISCOUNT_ACCEPT, + ), + ( + "KIND_TRADE_FORBIDDEN_3431", + kinds::KIND_TRADE_FORBIDDEN_3431, + ), + ("KIND_TRADE_CANCEL", kinds::KIND_TRADE_CANCEL), + ( + "KIND_TRADE_FULFILLMENT_UPDATE", + kinds::KIND_TRADE_FULFILLMENT_UPDATE, + ), + ("KIND_TRADE_RECEIPT", kinds::KIND_TRADE_RECEIPT), + ( + "KIND_TRADE_VALIDATION_RECEIPT", + kinds::KIND_TRADE_VALIDATION_RECEIPT, + ), + ( + "KIND_TRADE_LISTING_ORDER_REQ", + kinds::KIND_TRADE_LISTING_ORDER_REQ, + ), + ( + "KIND_TRADE_LISTING_ORDER_RES", + kinds::KIND_TRADE_LISTING_ORDER_RES, + ), + ( + "KIND_TRADE_LISTING_ORDER_REVISION_REQ", + kinds::KIND_TRADE_LISTING_ORDER_REVISION_REQ, + ), + ( + "KIND_TRADE_LISTING_ORDER_REVISION_RES", + kinds::KIND_TRADE_LISTING_ORDER_REVISION_RES, + ), + ( + "KIND_TRADE_LISTING_QUESTION_REQ", + kinds::KIND_TRADE_LISTING_QUESTION_REQ, + ), + ( + "KIND_TRADE_LISTING_ANSWER_RES", + kinds::KIND_TRADE_LISTING_ANSWER_RES, + ), + ( + "KIND_TRADE_LISTING_DISCOUNT_REQ", + kinds::KIND_TRADE_LISTING_DISCOUNT_REQ, + ), + ( + "KIND_TRADE_LISTING_DISCOUNT_OFFER_RES", + kinds::KIND_TRADE_LISTING_DISCOUNT_OFFER_RES, + ), + ( + "KIND_TRADE_LISTING_DISCOUNT_ACCEPT_REQ", + kinds::KIND_TRADE_LISTING_DISCOUNT_ACCEPT_REQ, + ), + ( + "KIND_TRADE_LISTING_CANCEL_REQ", + kinds::KIND_TRADE_LISTING_CANCEL_REQ, + ), + ( + "KIND_TRADE_LISTING_FULFILLMENT_UPDATE_REQ", + kinds::KIND_TRADE_LISTING_FULFILLMENT_UPDATE_REQ, + ), + ( + "KIND_TRADE_LISTING_RECEIPT_REQ", + kinds::KIND_TRADE_LISTING_RECEIPT_REQ, + ), + ("KIND_JOB_REQUEST_MIN", kinds::KIND_JOB_REQUEST_MIN), + ("KIND_JOB_REQUEST_MAX", kinds::KIND_JOB_REQUEST_MAX), + ("KIND_JOB_RESULT_MIN", kinds::KIND_JOB_RESULT_MIN), + ("KIND_JOB_RESULT_MAX", kinds::KIND_JOB_RESULT_MAX), + ("KIND_JOB_FEEDBACK", kinds::KIND_JOB_FEEDBACK), +]; + +fn render_number_constants(exports: &[(&str, u32)]) -> String { + let mut rendered = String::new(); + for (name, value) in exports { + rendered.push_str("export const "); + rendered.push_str(name); + rendered.push_str(" = "); + rendered.push_str(&value.to_string()); + rendered.push_str(";\n"); + } + rendered +} + +fn render_string_array(values: &[&str]) -> String { + let items = values + .iter() + .map(|value| format!("{value:?}")) + .collect::<Vec<_>>() + .join(", "); + format!("[{items}]") } diff --git a/crates/identity_bindings/Cargo.toml b/crates/identity_bindings/Cargo.toml @@ -9,5 +9,4 @@ homepage.workspace = true publish = false [dependencies] -radroots_sdk_binding_model = { path = "../binding_model" } radroots_identity = { workspace = true } diff --git a/crates/identity_bindings/src/lib.rs b/crates/identity_bindings/src/lib.rs @@ -1,28 +1,30 @@ pub use radroots_identity as upstream; -use radroots_sdk_binding_model::{self as ts, TsValue}; +use radroots_identity::{ + RADROOTS_USERNAME_MAX_LEN, RADROOTS_USERNAME_MIN_LEN, RADROOTS_USERNAME_REGEX, +}; -pub fn constants_module() -> ts::TsModule { - ts::module(vec![ - ts::const_number("RADROOTS_USERNAME_MIN_LEN", 3), - ts::const_number("RADROOTS_USERNAME_MAX_LEN", 30), - ts::const_decl( - "RADROOTS_USERNAME_REGEX", - None, - TsValue::String(r#"^(?!.*\.\.)(?!\.)(?!.*\.$)[a-z0-9._-]{3,30}$"#.to_owned()), - ), - ]) +pub fn constants_module() -> String { + format!( + "export const RADROOTS_USERNAME_MIN_LEN = {RADROOTS_USERNAME_MIN_LEN};\nexport const RADROOTS_USERNAME_MAX_LEN = {RADROOTS_USERNAME_MAX_LEN};\nexport const RADROOTS_USERNAME_REGEX = {RADROOTS_USERNAME_REGEX:?};" + ) } #[cfg(test)] mod tests { - use super::constants_module; + use super::{ + RADROOTS_USERNAME_MAX_LEN, RADROOTS_USERNAME_MIN_LEN, RADROOTS_USERNAME_REGEX, + constants_module, + }; #[test] fn preserves_username_constant_exports() { - let rendered = constants_module().render(); + let rendered = constants_module(); assert!(rendered.contains("RADROOTS_USERNAME_MIN_LEN")); + assert!(rendered.contains(&RADROOTS_USERNAME_MIN_LEN.to_string())); assert!(rendered.contains("RADROOTS_USERNAME_MAX_LEN")); + assert!(rendered.contains(&RADROOTS_USERNAME_MAX_LEN.to_string())); assert!(rendered.contains("RADROOTS_USERNAME_REGEX")); + assert!(rendered.contains(&format!("{RADROOTS_USERNAME_REGEX:?}"))); } } diff --git a/tools/xtask/src/output.rs b/tools/xtask/src/output.rs @@ -25,6 +25,7 @@ pub struct GeneratedFile { pub enum TsSource { DtoRegistry(DtoTypesModule), Module(TsModule), + Raw(String), } impl TsSource { @@ -32,6 +33,7 @@ impl TsSource { match self { Self::DtoRegistry(module) => module.body_ts().to_owned(), Self::Module(module) => module.render(), + Self::Raw(body) => body.clone(), } } @@ -39,6 +41,7 @@ impl TsSource { match self { Self::DtoRegistry(module) => module.imports_ts(), Self::Module(_) => None, + Self::Raw(_) => None, } } } @@ -90,10 +93,8 @@ pub fn package_outputs() -> Result<Vec<PackageOutput>, String> { spec: spec_by_key("events"), types_ts: Some(TsSource::DtoRegistry(dto_roots::events_types_module()?)), types_imports_ts: None, - constants_ts: Some(TsSource::Module( - radroots_events_bindings::constants_module(), - )), - kinds_ts: Some(TsSource::Module(radroots_events_bindings::kinds_module())), + constants_ts: Some(TsSource::Raw(radroots_events_bindings::constants_module())), + kinds_ts: Some(TsSource::Raw(radroots_events_bindings::kinds_module())), }, PackageOutput { spec: spec_by_key("events_indexed"), @@ -108,9 +109,7 @@ pub fn package_outputs() -> Result<Vec<PackageOutput>, String> { spec: spec_by_key("identity"), types_ts: None, types_imports_ts: None, - constants_ts: Some(TsSource::Module( - radroots_identity_bindings::constants_module(), - )), + constants_ts: Some(TsSource::Raw(radroots_identity_bindings::constants_module())), kinds_ts: None, }, PackageOutput {