Versions in this module Expand all Collapse all v0 v0.3.0 Jul 9, 2026 Changes in this version type FileTracker + func (tracker *FileTracker) CreatedFiles() []string + func (tracker *FileTracker) RecordCreated(absPath string) + func (tracker *FileTracker) RecordHash(absPath string, hash string, info os.FileInfo) v0.2.0 Jul 6, 2026 Changes in this version + func MsysProneCommandName(name string) bool type RunOptions + Diagnostics func(ctx context.Context, absPath string) string v0.1.0 Jul 2, 2026 Changes in this version + const ExecCommandToolName + const RequestPermissionsToolName + const SandboxDenialKeywordMeta + const SandboxDenialKindMeta + const SandboxDenialKindNetwork + const SandboxDenialKindSandbox + const SandboxDenialReasonMeta + const SandboxLikelyDeniedMeta + const ToolSearchToolName + const WriteStdinToolName + var ErrFileChangedOnDisk = errors.New("the file changed on disk since you last read it") + func AskUserNonInteractiveMessage() string + func BuildToolSearchDescription(deferred []Tool) string + func DeferredLine(t Tool) string + func DeferredSource(t Tool) string + func DeferredToolDiscoveryLine(t Tool) string + func FormatAskUserAnswers(questions []AskUserQuestion, answers []string) string + func HashContent(content []byte) string + func IsDeferralEligible(t Tool) bool + func IsDeferred(t Tool) bool + func MutationTargets(workspaceRoot string, name string, args map[string]any) []string + func NewAskUserTool() *askUserTool + func NewSkillTool(dir string) *skillTool + func NewUpdatePlanTool() *updatePlanTool + type ArgsPermissioner interface + PermissionForArgs func(args map[string]any) Permission + type AskUserQuestion struct + Header string + MultiSelect bool + OptionDescriptions []string + Options []string + Question string + Recommended string + func ParseAskUserQuestions(args map[string]any) ([]AskUserQuestion, error) + type Display struct + Kind string + Preview string + Summary string + type ExecSessionController interface + ExecSessions func() []ExecSessionSnapshot + StopAllExecSessions func() []int + StopExecSession func(id int) bool + type ExecSessionSnapshot struct + Command string + Cwd string + ExitCode *int + ID int + LastUsedAt time.Time + OutputTruncated bool + RecentOutput string + RelativeCwd string + StartedAt time.Time + Status string + TTY bool + type FileTracker struct + func NewFileTracker() *FileTracker + func (tracker *FileTracker) CheckConflict(absPath string, currentContent []byte) error + func (tracker *FileTracker) Forget(absPath string) + func (tracker *FileTracker) Record(absPath string, content []byte, info os.FileInfo) + func (tracker *FileTracker) Version(absPath string) (FileVersion, bool) + type FileVersion struct + Hash string + MTime time.Time + Size int64 + type LocalControlArtifactOptions struct + ArtifactsDir string + Browser localcontrol.BrowserOptions + Desktop localcontrol.DesktopOptions + Terminal localcontrol.TerminalOptions + type PathScope interface + Roots func() []string + type Permission string + const PermissionAllow + const PermissionDeny + const PermissionPrompt + type PlanItem struct + Content string + ID string + Notes string + Status string + type PrePermissionRejecter interface + RejectBeforePermission func(args map[string]any) (Result, bool) + type PropertySchema struct + Default any + Description string + Enum []string + Items *PropertySchema + Maximum *int + MinItems *int + MinLength *int + Minimum *int + Properties map[string]PropertySchema + Required []string + Type string + type Registry struct + func NewRegistry() *Registry + func (registry *Registry) All() []Tool + func (registry *Registry) Get(name string) (Tool, bool) + func (registry *Registry) Register(tool Tool) + func (registry *Registry) Run(ctx context.Context, name string, args map[string]any) Result + func (registry *Registry) RunWithOptions(ctx context.Context, name string, args map[string]any, options RunOptions) (result Result) + type Result struct + ChangedFiles []string + Display Display + Meta map[string]string + Output string + Redacted bool + SandboxDecision *sandbox.Decision + Status Status + Truncated bool + type RunOptions struct + Autonomy string + Cwd string + Depth int + DisabledTools []string + EnabledTools []string + FileTracker *FileTracker + Model string + PermissionGranted bool + PermissionMode string + Progress func(streamjson.Event) + ReasoningEffort string + Sandbox *sandbox.Engine + SessionID string + ToolCallID string + type Safety struct + AdvertiseInAuto bool + Permission Permission + Reason string + SideEffect SideEffect + type SandboxPermissionOverride string + const SandboxPermissionsRequireEscalated + const SandboxPermissionsUseDefault + const SandboxPermissionsWithAdditionalPermissions + type ScaffoldOptions struct + Description string + Dir string + Name string + Runtime ScaffoldRuntime + type ScaffoldResult struct + EntryPath string + ManifestPath string + Name string + PluginDir string + func Scaffold(options ScaffoldOptions) (ScaffoldResult, error) + type ScaffoldRuntime string + const RuntimeNode + const RuntimePython + const RuntimeShell + type Schema struct + AdditionalProperties bool + Properties map[string]PropertySchema + Required []string + Type string + type SideEffect string + const SideEffectLocalBrowser + const SideEffectLocalControl + const SideEffectLocalDesktop + const SideEffectLocalTerminal + const SideEffectNetwork + const SideEffectNone + const SideEffectOutOfWorkspace + const SideEffectRead + const SideEffectShell + const SideEffectWrite + type Status string + const StatusError + const StatusOK + type Tool interface + Description func() string + Name func() string + Parameters func() Schema + Run func(ctx context.Context, args map[string]any) Result + Safety func() Safety + func CoreNetworkTools() []Tool + func CoreReadOnlyTools(workspaceRoot string) []Tool + func CoreReadOnlyToolsScoped(workspaceRoot string, scope PathScope) []Tool + func CoreShellTools(workspaceRoot string) []Tool + func CoreShellToolsScoped(workspaceRoot string, scope PathScope) []Tool + func CoreTools(workspaceRoot string) []Tool + func CoreToolsScoped(workspaceRoot string, scope PathScope) []Tool + func CoreWriteTools(workspaceRoot string) []Tool + func CoreWriteToolsScoped(workspaceRoot string, scope PathScope) []Tool + func NewApplyPatchTool(workspaceRoot string) Tool + func NewBashTool(workspaceRoot string) Tool + func NewEditFileTool(workspaceRoot string) Tool + func NewEscalateModelTool() Tool + func NewExecCommandTool(workspaceRoot string, manager *execSessionManager) Tool + func NewGlobTool(workspaceRoot string) Tool + func NewGrepTool(workspaceRoot string) Tool + func NewLSPNavigateTool(workspaceRoot string) Tool + func NewListDirectoryTool(workspaceRoot string) Tool + func NewLocalBrowserTools(options localcontrol.BrowserOptions) []Tool + func NewLocalControlArtifactTools(options LocalControlArtifactOptions) []Tool + func NewLocalDesktopTools(options localcontrol.DesktopOptions) []Tool + func NewLocalTerminalTools(options localcontrol.TerminalOptions) []Tool + func NewReadFileTool(workspaceRoot string) Tool + func NewReadMinifiedFileTool(workspaceRoot string) Tool + func NewRequestPermissionsTool() Tool + func NewScopedApplyPatchTool(workspaceRoot string, scope PathScope) Tool + func NewScopedBashTool(workspaceRoot string, scope PathScope) Tool + func NewScopedEditFileTool(workspaceRoot string, scope PathScope) Tool + func NewScopedExecCommandTool(workspaceRoot string, scope PathScope, manager *execSessionManager) Tool + func NewScopedGlobTool(workspaceRoot string, scope PathScope) Tool + func NewScopedGrepTool(workspaceRoot string, scope PathScope) Tool + func NewScopedLSPNavigateTool(workspaceRoot string, scope PathScope) Tool + func NewScopedListDirectoryTool(workspaceRoot string, scope PathScope) Tool + func NewScopedReadFileTool(workspaceRoot string, scope PathScope) Tool + func NewScopedReadMinifiedFileTool(workspaceRoot string, scope PathScope) Tool + func NewScopedWriteFileTool(workspaceRoot string, scope PathScope) Tool + func NewToolSearchTool(registry *Registry) Tool + func NewWebFetchTool() Tool + func NewWebSearchTool() Tool + func NewWriteFileTool(workspaceRoot string) Tool + func NewWriteStdinTool(manager *execSessionManager) Tool