Conversation
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
MultiArg without changing 0/1-arg wire format
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Deploying waveterm with
|
| Latest commit: |
bd973b6
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f35d3962.waveterm.pages.dev |
| Branch Preview URL: | https://copilot-support-multiple-arg.waveterm.pages.dev |
MultiArg without changing 0/1-arg wire formatTestMultiArgCommand through server, generated clients, and CLI
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Other Observations (not in diff)Issues found in unchanged code that cannot receive inline comments:
Files Reviewed (10 files)
Review NotesThis PR adds support for RPC commands with multiple typed arguments (2+) while maintaining backward compatibility with existing 0-arg and 1-arg commands. The implementation is solid: ✅ Well-structured approach: Uses The only issue found is in pre-existing code (not part of this PR) and should be addressed separately. |
This PR extends WSH RPC command signatures to support
ctx + 2+ typed argswhile preserving existingctxandctx + 1 argbehavior. It also adds a concreteTestMultiArgCommandend-to-end so the generated Go/TS client surfaces can be inspected and exercised from CLI.RPC wire + dispatch model
wshrpc.MultiArg(args []any) as the over-the-wire envelope for 2+ arg commands.CommandDataTypes) and exposed a helper for normalized access.MultiArgfor 2+ arg commands,MultiArgpath.Code generation (Go + TS)
wshrpc.MultiArg.{ args: [...] }.Concrete command added for validation
WshRpcInterface:TestMultiArgCommand(ctx context.Context, arg1 string, arg2 int, arg3 bool) (string, error)wshserverwith deterministic formatted return output including source + all args.wsh testcommand to callTestMultiArgCommandand print the returned string.Focused coverage
testmultiarg.Example generated call shape:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.