Skip to content

feat: add copy as grpcurl for gRPC requests#46

Open
lucasAguiar11 wants to merge 4 commits into
voleeo:mainfrom
lucasAguiar11:feat/copy-as-grpcurl
Open

feat: add copy as grpcurl for gRPC requests#46
lucasAguiar11 wants to merge 4 commits into
voleeo:mainfrom
lucasAguiar11:feat/copy-as-grpcurl

Conversation

@lucasAguiar11

Copy link
Copy Markdown
Contributor

What & why

HTTP requests already support Copy as … (cURL, HTTPie, fetch). gRPC had no equivalent export for the terminal.

This PR adds Copy as grpcurl for gRPC tree nodes:

  • Plugin API: GrpcRequestActionContribution + grpcRequestActions (typed, not cast from HTTP)
  • First-party plugin @voleeo/grpcurl — serializes target, TLS/plaintext, proto files/reflection, message (-d), metadata and auth as -H
  • Host inheritance for folder/workspace headers + Inherit auth (same idea as HTTP withInheritedData)
  • Context menu: Copy as … → grpcurl on kind === "grpc"

Auth schemes match send-time gRPC resolution (apply_to_grpc): bearer, basic, api_key; HTTP-only schemes are omitted.

Closes #45

How to test

  1. Open a gRPC request with target, service, and method set
  2. Right-click the node in the tree → Copy as … → grpcurl
  3. Paste into a terminal; flags should match the request (plaintext/TLS, protos if files, body, headers)
  4. Incomplete request (missing service/method) should not show a broken copy action
  5. HTTP Copy as … still works unchanged

Out of scope (v1)

  • mTLS flags, streaming multi-message, paste reverse, ⌘C on gRPC, MCP export

Checklist

  • bun run typecheck, bun run lint, and the cargo checks pass (see CONTRIBUTING.md)
    • typecheck / lint / frontend tests + bun test plugins/grpcurl run locally; no Rust changes
  • New Tauri commands are registered in collect_commands! and bun run codegen was run
    • N/A — no new Tauri commands / codegen
  • Follows the rules in AGENTS.md (file-size limits, render-loop rules, no migration shims)

lucasAguiar11 and others added 4 commits July 16, 2026 14:07
Expõe GrpcRequestActionContribution e o campo grpcRequestActions no
VoleeoPlugin, espelhando requestActions de HTTP.
Serializa GrpcRequest em comando grpcurl com plaintext/TLS, protos,
metadata, auth e testes unitários.
Registra o plugin, resolve herança de auth/metadata e expõe Copy as
no menu de contexto de nós gRPC.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Copy as grpcurl for gRPC requests

1 participant