Skip to content

process-wrap v8.2.1, which uses the TokioCommandWrap struct. However, process-wrap v9.0.0 has renamed this to CommandWrap #578

@Linuxdazhao

Description

@Linuxdazhao

Describe the bug

The rmcp crate depends on process-wrap v8.2.1, which uses the TokioCommandWrap struct. However, process-wrap v9.0.0 has
renamed this to CommandWrap. This causes dependency conflicts when users need to use process-wrap v9.0.0 directly in
their projects alongside rmcp.

To Reproduce

  1. Add rmcp v0.11.0 to your Cargo.toml with transport features:
    rmcp = { version = "0.11.0", features = ["client", "transport-child-process"] }
  2. Add process-wrap v9.0.0 directly to use its API:
    process-wrap = { version = "9.0.0", features = ["tokio1"] }
  3. Try to use TokioCommandWrap from process-wrap:
    use process_wrap::tokio::TokioCommandWrap;
  4. Run cargo check

Expected behavior

rmcp should depend on process-wrap v9.0.0 so that:

  • There is only one version of process-wrap in the dependency tree
  • Users can use the current process-wrap API (CommandWrap) without version conflicts
  • Type compatibility is maintained when passing wrapped commands to rmcp's transport layer

Logs

error[E0432]: unresolved import process_wrap::tokio::TokioCommandWrap
--> src/tools/mcp/transport.rs:6:5
|
6 | use process_wrap::tokio::TokioCommandWrap;
| ^^^^^^^^^^^^^^^^^^^^^----------------
| | |
| | help: a similar name exists in the module: CommandWrap
| no TokioCommandWrap in tokio

Dependency tree shows two versions:
process-wrap v8.2.1
└── rmcp v0.11.0
└── my-project

process-wrap v9.0.0
└── my-project

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions