Gap
We cannot stream input into a running remote pipeline. PIPELINE_INPUT is a stub (serialization commented out) and END_OF_PIPELINE_INPUT is enum-only. This blocks cmdlets/native exes that read from the pipeline ($input, Write-Output | remote-cmd, interactive stdin-style flows).
Current state
crates/ironposh-psrp/src/messages/pipeline_input.rs — struct present, impl is a commented-out block.
END_OF_PIPELINE_INPUT — message-type ID only (crates/ironposh-psrp/src/cores.rs:51), no message struct.
Required
- Implement
PIPELINE_INPUT serialization (a CLIXML-serialized object per input item) and END_OF_PIPELINE_INPUT.
- Plumb a way to feed input objects to a created pipeline through client-core (and surface it in the tokio client; consider the web client too).
- The pipeline must be created with input enabled (
NoInput=false in CREATE_PIPELINE) when input will be sent.
Acceptance
- An e2e test that pipes input into a remote command that consumes
$input and asserts the expected output.
References
- psrpcore
src/psrpcore/_psrp.py (PIPELINE_INPUT / END_OF_PIPELINE_INPUT), pypsrp powershell.py.
- Native C#
EncodeAndDecode.cs (PowerShellInput / PowerShellInputEnd).
Gap
We cannot stream input into a running remote pipeline.
PIPELINE_INPUTis a stub (serialization commented out) andEND_OF_PIPELINE_INPUTis enum-only. This blocks cmdlets/native exes that read from the pipeline ($input,Write-Output | remote-cmd, interactive stdin-style flows).Current state
crates/ironposh-psrp/src/messages/pipeline_input.rs— struct present,implis a commented-out block.END_OF_PIPELINE_INPUT— message-type ID only (crates/ironposh-psrp/src/cores.rs:51), no message struct.Required
PIPELINE_INPUTserialization (a CLIXML-serialized object per input item) andEND_OF_PIPELINE_INPUT.NoInput=falsein CREATE_PIPELINE) when input will be sent.Acceptance
$inputand asserts the expected output.References
src/psrpcore/_psrp.py(PIPELINE_INPUT / END_OF_PIPELINE_INPUT), pypsrppowershell.py.EncodeAndDecode.cs(PowerShellInput/PowerShellInputEnd).