Zum Hauptinhalt springen

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​

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

Int32

Constructors​

ExecutePipelineCaller()​

public ExecutePipelineCaller()