decisionReasonToOTelSource function
Map a PermissionDecisionReason to the OTel source label.
Implementation
String decisionReasonToOTelSource(
PermissionDecisionReason? reason,
PermissionBehavior behavior,
) {
if (reason == null) return 'config';
switch (reason.type) {
case 'permissionPromptTool':
return behavior == PermissionBehavior.allow
? 'user_temporary'
: 'user_reject';
case 'rule':
if (reason.rule != null) {
return ruleSourceToOTelSource(reason.rule!.source, behavior);
}
return 'config';
case 'hook':
return 'hook';
default:
return 'config';
}
}