返回 DeepSeek-Reasonix
write_access.go
根目录 / internal / sandbox / write_access.go
1 package sandbox
2
3 // ApprovalScope is the lifetime of a write-access grant.
4 type ApprovalScope string
5
6 const (
7 ApprovalScopeOnce ApprovalScope = "once"
8 ApprovalScopeSession ApprovalScope = "session"
9 ApprovalScopeProject ApprovalScope = "project"
10 )
11
12 // WriteAccessRequest is the host-normalized expansion request shown to the user.
13 type WriteAccessRequest struct {
14 Directories []string
15 DisplayDirectories []string
16 Justification string
17 BroadHomeAccess bool
18 OrdinaryPermissionNeeded bool
19 }
20
21 // WriteAccessGrant is the user's decision after a write-access prompt.
22 type WriteAccessGrant struct {
23 Scope ApprovalScope
24 Directories []string
25 }
26
27 // ParseApprovalScope maps a wire/API string to a scope. Unknown values are once.
28 func ParseApprovalScope(s string) ApprovalScope {
29 switch ApprovalScope(s) {
30 case ApprovalScopeSession, ApprovalScopeProject, ApprovalScopeOnce:
31 return ApprovalScope(s)
32 default:
33 return ApprovalScopeOnce
34 }
35 }
36
36 lines GO