chore: revalidate against hero_rpc#123 (typed _find emission) #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "hero-rpc-123-revalidation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Revalidates hero_service against hero_rpc#127 (closes hero_rpc#123), squash-merged as
e62d4485.Summary
hero_rpc_osis,hero_rpc2,hero_rpc_derive,hero_rpc_generator,hero_rpc_openrpc,hero_rpc_oschema,hero_lifecycle) fromb4b76231->e62d4485viacargo update.@index-> typed_findcodegen end-to-end. Regenerated SDK + per-domainopenrpc.jsonnow expose one<root>_find(params)method per rootobject that has at least one@indexfield, plus a typed<Root>FindParamsstruct in the types module.hero_rpc2 = { default-features = false }tohero_service's lib deps. The new codegen nameshero_rpc2::find::{StrFilter, NumFilter, EnumFilter, BoolFilter}via absolute paths from the wasm-safetypes.rslayer (thefindmodule is pure serde enums, so transport features stay off). Fix applied on the hero_service side per hero_rpc#127's consumer-import contract._findemission (verified)Bench schema rootobjects:
IndexedSingle(title: str @index) ->indexed_single_find+IndexedSingleFindParams->indexedsingle.findin OpenRPCIndexedMulti(title @index,category @index) ->indexed_multi_find+IndexedMultiFindParams->indexedmulti.findIndexedNonStr(priority: u32 @index) ->indexed_non_str_find+IndexedNonStrFindParams->indexednonstr.findIndexedNone(no@index) -> no_findmethod (expected, baseline rootobject for full-scan comparisons)Catalog schema also emits
service_definition_find/ServiceDefinitionFindParams(thename: str @indexfield).Test plan
cargo build --workspace-> cleancargo test --workspace-> all 5 generated E2E suites pass (indexed_multi, indexed_non_str, indexed_none, indexed_single, service_definition)sdk/rust/src/generated/bench.rsfor the four<root>_findmethod signatures + their typed params structsdocs/bench/openrpc.json/docs/catalog/openrpc.jsonfor the four<root>.findmethod namesCodegen for the new @index → typed _find emission now names hero_rpc2::find::{StrFilter,NumFilter,EnumFilter,BoolFilter} from the generated <Root>FindParams structs and their to_indexer_query helpers. Add hero_rpc2 as a default-features-off dep of hero_service so those absolute paths resolve in the wasm-safe types.rs layer (the find module is pure serde enums, no transport). Verified by grepping the regenerated SDK + per-domain openrpc.json: - indexed_single_find / IndexedSingleFindParams - indexed_multi_find / IndexedMultiFindParams - indexed_non_str_find / IndexedNonStrFindParams - service_definition_find / ServiceDefinitionFindParams (catalog) IndexedNone (no @index) correctly emits no _find method. cargo build --workspace + cargo test --workspace both green.