MCPcopy
hub / github.com/anomalyco/opencode / permissionInfo

Function permissionInfo

packages/opencode/src/cli/cmd/run/permission.shared.ts:92–124  ·  view source on GitHub ↗
(request: PermissionRequest)

Source from the content-addressed store, hash-verified

90}
91
92export function permissionInfo(request: PermissionRequest): PermissionInfo {
93 const pats = patterns(request)
94 const input = data(request)
95 const info = toolPermissionInfo(request.permission, input, dict(request.metadata), pats)
96 if (info) {
97 return info
98 }
99
100 if (request.permission === "external_directory") {
101 const meta = dict(request.metadata)
102 const raw = text(meta.parentDir) || text(meta.filepath) || pats[0] || ""
103 const dir = raw.includes("*") ? raw.slice(0, raw.indexOf("*")).replace(/[\\/]+$/, "") : raw
104 return {
105 icon: "←",
106 title: `Access external directory ${toolPath(dir, { home: true })}`,
107 lines: pats.map((item) => `- ${item}`),
108 }
109 }
110
111 if (request.permission === "doom_loop") {
112 return {
113 icon: "⟳",
114 title: "Continue after repeated failures",
115 lines: ["This keeps the session running despite repeated failures."],
116 }
117 }
118
119 return {
120 icon: "⚙",
121 title: `Call tool ${request.permission}`,
122 lines: [`Tool: ${request.permission}`],
123 }
124}
125
126export function permissionAlwaysLines(request: PermissionRequest): string[] {
127 if (request.always.length === 1 && request.always[0] === "*") {

Callers 2

RunPermissionBodyFunction · 0.90

Calls 6

toolPermissionInfoFunction · 0.90
toolPathFunction · 0.90
patternsFunction · 0.85
dataFunction · 0.70
dictFunction · 0.70
textFunction · 0.70

Tested by

no test coverage detected