@@ -210,6 +210,7 @@ public function publicContext(): array
210210 {
211211 $ workflow = $ this ->commandContext ()['workflow ' ] ?? null ;
212212 $ intake = $ this ->commandContext ()['intake ' ] ?? null ;
213+ $ principal = $ this ->commandContext ()['principal ' ] ?? null ;
213214
214215 $ publicWorkflow = is_array ($ workflow )
215216 ? array_filter ([
@@ -239,12 +240,54 @@ public function publicContext(): array
239240 ], static fn (mixed $ value ): bool => $ value !== null && $ value !== '' )
240241 : [];
241242
243+ $ publicPrincipal = is_array ($ principal )
244+ ? array_filter ([
245+ 'type ' => is_string ($ principal ['type ' ] ?? null )
246+ ? $ principal ['type ' ]
247+ : null ,
248+ 'id ' => is_string ($ principal ['id ' ] ?? null )
249+ ? $ principal ['id ' ]
250+ : null ,
251+ 'label ' => is_string ($ principal ['label ' ] ?? null )
252+ ? $ principal ['label ' ]
253+ : null ,
254+ ], static fn (mixed $ value ): bool => $ value !== null && $ value !== '' )
255+ : [];
256+
242257 return array_filter ([
243258 'workflow ' => $ publicWorkflow === [] ? null : $ publicWorkflow ,
244259 'intake ' => $ publicIntake === [] ? null : $ publicIntake ,
260+ 'principal ' => $ publicPrincipal === [] ? null : $ publicPrincipal ,
245261 ], static fn (mixed $ value ): bool => $ value !== null );
246262 }
247263
264+ public function principalType (): ?string
265+ {
266+ $ principal = $ this ->commandContext ()['principal ' ] ?? null ;
267+
268+ return is_array ($ principal ) && is_string ($ principal ['type ' ] ?? null )
269+ ? $ principal ['type ' ]
270+ : null ;
271+ }
272+
273+ public function principalId (): ?string
274+ {
275+ $ principal = $ this ->commandContext ()['principal ' ] ?? null ;
276+
277+ return is_array ($ principal ) && is_string ($ principal ['id ' ] ?? null )
278+ ? $ principal ['id ' ]
279+ : null ;
280+ }
281+
282+ public function principalLabel (): ?string
283+ {
284+ $ principal = $ this ->commandContext ()['principal ' ] ?? null ;
285+
286+ return is_array ($ principal ) && is_string ($ principal ['label ' ] ?? null )
287+ ? $ principal ['label ' ]
288+ : null ;
289+ }
290+
248291 public function callerLabel (): ?string
249292 {
250293 $ caller = $ this ->commandContext ()['caller ' ] ?? null ;
0 commit comments