MCPcopy Create free account
hub / github.com/GongShichen/LuminaCode / HandlePermissionEvent

Method HandlePermissionEvent

ui/runtime.go:366–401  ·  view source on GitHub ↗
(event UiEvent)

Source from the content-addressed store, hash-verified

364}
365
366func (r *UiRuntime) HandlePermissionEvent(event UiEvent) string {
367 r.Frame.ActiveModal = "permission_request"
368 r.Frame.InputEnabled = true
369 r.Frame.InputMode = "permission_modal"
370 r.Frame.InputPlaceholder = "Answer with y/n/a/d and press Enter."
371 r.Frame.ModalState = r.BuildPermissionModalState(event)
372 r.markDirty()
373 if r.UI != nil {
374 r.UI.ShowModal(r.Frame.ModalState)
375 }
376 answer := "deny"
377 if r.UI != nil {
378 if truthy(event.Metadata["sandbox_unavailable"]) {
379 answer = r.UI.AskPermission(permissionPromptFromEvent(event), true)
380 } else if _, _, ok := skillShellRequestParts(event.Metadata["skill_shell_request"]); ok {
381 answer = r.UI.AskPermission(permissionPromptFromEvent(event), true)
382 } else if _, ok := normalizeMCPTrustRequest(event.Metadata["mcp_trust_request"]); ok {
383 answer = r.UI.AskPermission(permissionPromptFromEvent(event), true)
384 } else if _, ok := normalizeSandboxSetupRequest(event.Metadata["sandbox_setup_request"]); ok {
385 answer = r.UI.AskPermission(permissionPromptFromEvent(event), true)
386 } else if tc := event.Metadata["tool_call"]; tc != nil {
387 answer = r.UI.AskPermission(tc, truthy(event.Metadata["dangerous"]) || stringFromAny(event.Metadata["risk"]) == "high")
388 } else {
389 answer = r.UI.AskPermission(permissionPromptFromEvent(event), true)
390 }
391 }
392 r.resolvePermissionEvent(event, answer)
393 r.RecordPermissionAudit(event, answer)
394 r.Frame.ActiveModal = "none"
395 r.Frame.InputEnabled = false
396 r.Frame.InputMode = "normal"
397 r.Frame.InputPlaceholder = "Agent is responding..."
398 r.Frame.ModalState = map[string]any{}
399 r.markDirty()
400 if r.UI != nil {
401 r.UI.ClearModal()
402 }
403 r.Flush(true)
404 return answer

Calls 13

markDirtyMethod · 0.95
RecordPermissionAuditMethod · 0.95
FlushMethod · 0.95
skillShellRequestPartsFunction · 0.85
normalizeMCPTrustRequestFunction · 0.85
truthyFunction · 0.70
stringFromAnyFunction · 0.70
ShowModalMethod · 0.65
AskPermissionMethod · 0.65