(force bool)
| 474 | |
| 475 | func FormatMCPTrustTarget(request []map[string]any) string { |
| 476 | var parts []string |
| 477 | for _, item := range request { |
| 478 | name := stringFromAny(item["name"]) |
| 479 | command := firstNonEmpty(stringFromAny(item["command"]), stringFromAny(item["url"])) |
| 480 | argText := joinAnySlice(item["args"]) |
| 481 | parts = append(parts, strings.TrimSpace(fmt.Sprintf("%s: %s %s", name, command, argText))) |
| 482 | } |
| 483 | return strings.Join(parts, "; ") |
| 484 | } |
| 485 | |
| 486 | func (r *UiRuntime) RecordPermissionAudit(event UiEvent, answer string) { |
| 487 | state := r.Frame.ModalState |
| 488 | r.Frame.PermissionAudit = append(r.Frame.PermissionAudit, map[string]any{ |
| 489 | "tool_name": state["tool_name"], |
no test coverage detected