(value any)
| 810 | return map[string]any{"name": "wsl-sandbox-setup", "input": map[string]any{ |
| 811 | "command": sandboxSetupTarget(req, event.Metadata["tool_call"]), |
| 812 | "distro": stringFromAny(req["distro"]), |
| 813 | "reason": stringFromAny(req["reason"]), |
| 814 | "can_install": truthy(req["can_install"]), |
| 815 | "allow_local_fallback": truthy(req["allow_local_fallback"]), |
| 816 | }} |
| 817 | } |
| 818 | return map[string]any{"name": event.Type, "input": event.Metadata} |
| 819 | } |
| 820 | |
| 821 | func firstNonEmpty(values ...string) string { |
| 822 | for _, value := range values { |
| 823 | if value != "" { |
| 824 | return value |
| 825 | } |
| 826 | } |
| 827 | return "" |
| 828 | } |
| 829 | |
| 830 | func stringFromAny(value any) string { |
| 831 | if s, ok := value.(string); ok { |
| 832 | return s |
| 833 | } |
| 834 | return "" |
| 835 | } |
| 836 | |
| 837 | func skillShellCommand(value any) (string, bool) { |
| 838 | _, command, ok := skillShellRequestParts(value) |
| 839 | return command, ok |
| 840 | } |
| 841 | |
| 842 | func skillShellRequestParts(value any) (string, string, bool) { |
no test coverage detected