ExecutePipelineCaller
Namespace: Meshmakers.Octo.Communication.Contracts.MessageObjects
The invoker of a manual ExecutePipelineRequest, carried from the communication
controller to the adapter so a FromExecutePipelineCommand pipeline runs as the user who
invoked it rather than anonymously (AB#5126, "carry the invoker through onto the execution
context"). A serialisable, transport-level mirror of the SDK's VerifiedPrincipal: this
contract assembly is lower than the pipeline SDK and cannot reference that type, so the node
maps this DTO onto a VerifiedPrincipal on arrival.
public record ExecutePipelineCaller : IEquatable<ExecutePipelineCaller>
Inheritance Object → ExecutePipelineCaller
Implements IEquatable<ExecutePipelineCaller>
Remarks:
🟢 Additive & back-compatible. Every member is optional; a message published by an older controller carries none of them and the pipeline runs anonymously exactly as before.
🔴 Token-free. Like VerifiedPrincipal, this record carries no credential —
the invoker's raw token, when a node needs it for delegation, travels on the separate
ExecutePipelineRequest.CallerAccessToken field, never here, because the
principal is projected into the pipeline data root which is persisted and echoed.
Properties
SubjectId
Subject id ("sub" claim) of the invoker, or null for a client-credentials token.
public string SubjectId { get; set; }
Property Value
TenantId
Tenant id claim of the invoker, if present.
public string TenantId { get; set; }
Property Value
Email
E-mail claim of the invoker, if present.
public string Email { get; set; }
Property Value
Name
Display-name claim of the invoker, if present.
public string Name { get; set; }
Property Value
Roles
Role claims of the invoker.
public IReadOnlyList<string> Roles { get; set; }
Property Value
TrustLevel
Effective trust of the invoker as a None=0 / Weak=1 / Strong=2 value (AB#5126). A
manually invoked pipeline is triggered with an authenticated bearer token, so a resolved
invoker is Strong (2).
public int TrustLevel { get; set; }
Property Value
Constructors
ExecutePipelineCaller()
public ExecutePipelineCaller()