Documentation
¶
Overview ¶
Package tooltest provides repository-internal helpers for unit-testing local tool handlers without exposing a production authority bypass from package tools.
Index ¶
- Variables
- func Dispatcher(approver Approver) tools.EffectDispatcher
- func Run(ctx context.Context, registry *tools.Registry, call tools.ToolCall, ...) tools.Result
- func RunBatch(ctx context.Context, registry *tools.Registry, calls []tools.ToolCall, ...) []tools.Result
- type ApprovalRequest
- type Approver
- type PermissionDecision
- type PermissionDecisionState
Constants ¶
This section is empty.
Variables ¶
View Source
var ( PermissionDecisionAllow = PermissionDecision{State: PermissionDecisionStateAllow} PermissionDecisionDeny = PermissionDecision{State: PermissionDecisionStateDeny} )
Functions ¶
func Dispatcher ¶
func Dispatcher(approver Approver) tools.EffectDispatcher
Dispatcher returns an in-memory authorization adapter for repository tests. It must not be used by production packages.
Types ¶
type ApprovalRequest ¶
type ApprovalRequest struct {
ApprovalID string
ID string
Name string
Args string
ArgsHash string
ValidatedArgs any
Activity *tools.ActivityPresentation
RunID string
ThreadID string
TurnID string
PromptScopeID string
Step int
BatchIndex int
BatchSize int
Resources []tools.ResourceRef
Effects []tools.Effect
Labels map[string]string
HostContext map[string]string
ReadOnly bool
Destructive bool
OpenWorld bool
}
type Approver ¶
type Approver func(context.Context, ApprovalRequest) (PermissionDecision, error)
type PermissionDecision ¶
type PermissionDecision struct {
State PermissionDecisionState
Reason string
}
func PermissionDecisionDenied ¶
func PermissionDecisionDenied(reason string) PermissionDecision
func (PermissionDecision) Allowed ¶
func (d PermissionDecision) Allowed() bool
func (PermissionDecision) RejectionReason ¶
func (d PermissionDecision) RejectionReason() string
type PermissionDecisionState ¶
type PermissionDecisionState string
const ( PermissionDecisionStateAllow PermissionDecisionState = "allow" PermissionDecisionStateDeny PermissionDecisionState = "deny" )
Click to show internal directories.
Click to hide internal directories.