Method translators: OSchema → hero_rpc2 trait + Python dataclass methods (#60) #63
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_rpc!63
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "pr-60-method-translators"
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?
Closes #60.
Implements the §2 method translators left as follow-ups from #55:
crates/generator/src/build/emit/rust_rpc2.rs— OSchema →#[method(name=…)] async fn …(&self, ctx: Option<HeroRequestContext>, …) -> RpcResult<T>with inline WASM-style types;compile_error!stub removed.crates/generator/src/build/emit/python_sdk.rs— OSchema →@dataclass(kw_only=True)+ async client methods via a generatedUdsJsonRpcTransport(httpx-on-UDS);# TODOstub removed.crates/hero_rpc2/src/context.rs— addedSerialize/DeserializetoHeroRequestContextso the locked trait shape survives jsonrpsee'sParams::parse.example/recipe_sdk_rpc2/— new workspace crate that drives both emitters end-to-end and hosts the Python round-trip test.10 new emitter unit tests pass;
recipe_sdk_rpc2builds; Pythonsystem.pinground-trips over UDS.