permission

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package permission provides a mechanism for authorizing tool executions based on user-defined policies.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mode

type Mode string

Mode is the effective policy decision for a tool call.

const (
	// ModeAsk requires explicit user approval before each tool execution.
	ModeAsk Mode = "ask"
	// ModeAllow permits tool execution without further prompts.
	ModeAllow Mode = "allow"
	// ModeDeny blocks tool execution unconditionally.
	ModeDeny Mode = "deny"
)

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver returns effective permission mode for tools.

func NewResolver

func NewResolver(defaultMode string, byTool map[string]string) *Resolver

NewResolver builds a resolver from config values. Invalid values are normalized to ask as a safe fallback.

func (*Resolver) Resolve

func (r *Resolver) Resolve(toolName string) Mode

Resolve returns the effective permission mode for a specific tool.

func (*Resolver) ShouldAsk

func (r *Resolver) ShouldAsk(toolName string) bool

ShouldAsk reports whether the given tool requires explicit approval.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL