toolDecisionPayload exposes policy outcomes without sharing mutable registry state.
(decision toolspkg.EffectiveToolDecision)
| 377 | |
| 378 | // toolDecisionPayload exposes policy outcomes without sharing mutable registry state. |
| 379 | func toolDecisionPayload(decision toolspkg.EffectiveToolDecision) contract.ToolPolicyDecisionPayload { |
| 380 | return contract.ToolPolicyDecisionPayload{ |
| 381 | VisibleToOperator: decision.VisibleToOperator, |
| 382 | VisibleToSession: decision.VisibleToSession, |
| 383 | Callable: decision.Callable, |
| 384 | ApprovalRequired: decision.ApprovalRequired, |
| 385 | SystemPermissionMode: decision.SystemPermissionMode, |
| 386 | SessionPolicyResult: decision.SessionPolicyResult, |
| 387 | AgentPolicyResult: decision.AgentPolicyResult, |
| 388 | RegistryPolicyResult: decision.RegistryPolicyResult, |
| 389 | SourcePolicyResult: decision.SourcePolicyResult, |
| 390 | AvailabilityResult: decision.AvailabilityResult, |
| 391 | HookResult: decision.HookResult, |
| 392 | ReasonCodes: append([]toolspkg.ReasonCode(nil), decision.ReasonCodes...), |
| 393 | } |
| 394 | } |
| 395 | |
| 396 | // bindToolSearch normalizes malformed search input into the shared tool error contract. |
| 397 | func (h *BaseHandlers) bindToolSearch(c *gin.Context) (contract.ToolSearchRequest, bool) { |
no test coverage detected