Skip to main content

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 ("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​

String

TenantId​

Tenant id claim of the invoker, if present.

public string TenantId { get; set; }

Property Value​

String

Email​

E-mail claim of the invoker, if present.

public string Email { get; set; }

Property Value​

String

Name​

Display-name claim of the invoker, if present.

public string Name { get; set; }

Property Value​

String

Roles​

Role claims of the invoker.

public IReadOnlyList<string> Roles { get; set; }

Property Value​

IReadOnlyList<String>

TrustLevel​

Effective trust of the invoker as a None=0 / Weak=1 / Strong=2 value. 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​

Int32

Constructors​

ExecutePipelineCaller()​

public ExecutePipelineCaller()