Multi-domain openrpc.json: aggregate + per-domain (#82) #84
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!84
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-82-multidomain-openrpc"
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 #82.
Summary
<workspace>/docs/<domain>/openrpc.jsonin addition to the aggregate<workspace>/docs/openrpc.json(kept from #73).write_aggregate_openrpc_json— fixes the pre-#82 "last domain wins" behaviour for multi-domain services.info.title="<service>:<domain>"(e.g.RecipeService:recipes); aggregate keeps the unqualified service name. Comment on the choice lives incrates/generator/src/generate/openrpc.rs.openrpc.discoverpayload now points at the per-domain file viainclude_str!; admin scaffold still loads the aggregate.example/recipe_serverregenerated under the new layout.Test plan
cargo build --workspaceon hero_rpc clean.cargo test -p hero_rpc_generator --lib— 125 passed.cargo build --workspaceonexample/recipe_serverclean.docs/openrpc.json(aggregate, title=RecipeService) anddocs/recipes/openrpc.json(per-domain, title=RecipeService:recipes) both present with same 3 methods + matching schema set.osis_server_generated.rsembedsdocs/recipes/openrpc.json; adminmain.rsembedsdocs/openrpc.json.Follow-up
🤖 Generated with Claude Code
docs/openrpc.json+ per-domain atdocs/<domain>/openrpc.json#82