Gap
USER_EVENT (a server→client runspace-pool event, e.g. from Register-EngineEvent / New-Event forwarding) is not handled — message-type ID only. Both pypsrp/psrpcore and native C# consume it.
Current state
- Enum ID only in
crates/ironposh-psrp/src/cores.rs; no message struct, not dispatched in the runspace-pool incoming handler.
Required
- Parse the
USER_EVENT PSRP message (PSEventArgs: event identifier, source id, source args, message data, time, computer, runspace id).
- Surface it as a client-core
UserEvent-style output so consumers can observe forwarded events.
Acceptance
- Test: a script that fires a forwarded engine event produces a parsed user-event on the client stream.
References
- psrpcore
src/psrpcore/_psrp.py (USER_EVENT, send_event), pypsrp powershell.py _process_user_event.
- Native C#
EncodeAndDecode.cs (PSEventArgs, 0x00021008).
Gap
USER_EVENT(a server→client runspace-pool event, e.g. fromRegister-EngineEvent/New-Eventforwarding) is not handled — message-type ID only. Both pypsrp/psrpcore and native C# consume it.Current state
crates/ironposh-psrp/src/cores.rs; no message struct, not dispatched in the runspace-pool incoming handler.Required
USER_EVENTPSRP message (PSEventArgs: event identifier, source id, source args, message data, time, computer, runspace id).UserEvent-style output so consumers can observe forwarded events.Acceptance
References
src/psrpcore/_psrp.py(USER_EVENT,send_event), pypsrppowershell.py_process_user_event.EncodeAndDecode.cs(PSEventArgs, 0x00021008).