Documentation
¶
Overview ¶
Package permission provides permission handling types for the Codex CLI.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Callback ¶
type Callback func( ctx context.Context, toolName string, input map[string]any, permCtx *Context, ) (Result, error)
Callback is called before each tool use for permission checking.
type Context ¶
type Context struct {
Suggestions []*Update // Permission update suggestions from CLI
}
Context provides context for tool permission callbacks.
type Mode ¶
type Mode string
Mode represents different permission handling modes.
const ( // ModeDefault uses standard permission prompts. ModeDefault Mode = "default" // ModeAcceptEdits automatically accepts file edits. ModeAcceptEdits Mode = "acceptEdits" // ModePlan enables plan mode for implementation planning. ModePlan Mode = "plan" // ModeBypassPermissions bypasses all permission checks. ModeBypassPermissions Mode = "bypassPermissions" )
type Result ¶
type Result interface {
GetBehavior() string
}
Result is the interface for permission decision results.
type ResultAllow ¶
type ResultAllow struct {
Behavior string // "allow"
UpdatedInput map[string]any // Modified input parameters
UpdatedPermissions []*Update // Permission updates to apply
}
ResultAllow represents an allow decision.
func (*ResultAllow) GetBehavior ¶
func (p *ResultAllow) GetBehavior() string
GetBehavior implements Result.
type ResultDeny ¶
type ResultDeny struct {
Behavior string // "deny"
Message string // Reason for denial
Interrupt bool // Whether to interrupt the session
}
ResultDeny represents a deny decision.
func (*ResultDeny) GetBehavior ¶
func (p *ResultDeny) GetBehavior() string
GetBehavior implements Result.
type Update ¶
type Update struct {
Type UpdateType
Rules []*RuleValue
Behavior *Behavior
Mode *Mode
Directories []string
Destination *UpdateDestination
}
Update represents a permission update request.
type UpdateDestination ¶
type UpdateDestination string
UpdateDestination represents where permission updates are stored.
const ( // UpdateDestUserSettings stores in user-level settings. UpdateDestUserSettings UpdateDestination = "userSettings" // UpdateDestProjectSettings stores in project-level settings. UpdateDestProjectSettings UpdateDestination = "projectSettings" // UpdateDestLocalSettings stores in local-level settings. UpdateDestLocalSettings UpdateDestination = "localSettings" // UpdateDestSession stores in the current session only. UpdateDestSession UpdateDestination = "session" )
type UpdateType ¶
type UpdateType string
UpdateType represents the type of permission update.
const ( // UpdateTypeAddRules adds new permission rules. UpdateTypeAddRules UpdateType = "addRules" // UpdateTypeReplaceRules replaces existing permission rules. UpdateTypeReplaceRules UpdateType = "replaceRules" // UpdateTypeRemoveRules removes permission rules. UpdateTypeRemoveRules UpdateType = "removeRules" // UpdateTypeSetMode sets the permission mode. UpdateTypeSetMode UpdateType = "setMode" // UpdateTypeAddDirectories adds accessible directories. UpdateTypeAddDirectories UpdateType = "addDirectories" // UpdateTypeRemoveDirectories removes accessible directories. UpdateTypeRemoveDirectories UpdateType = "removeDirectories" )
Click to show internal directories.
Click to hide internal directories.