UNPKG

pyb-ts

Version:

PYB-CLI - Minimal AI Agent with multi-model support and CLI interface

83 lines (82 loc) 1.83 kB
const MODE_CONFIGS = { default: { name: "default", label: "DEFAULT", icon: "\u{1F512}", color: "blue", description: "Standard permission checking", allowedTools: ["*"], restrictions: { readOnly: false, requireConfirmation: true, bypassValidation: false } }, acceptEdits: { name: "acceptEdits", label: "ACCEPT EDITS", icon: "\u2705", color: "green", description: "Auto-approve edit operations", allowedTools: ["*"], restrictions: { readOnly: false, requireConfirmation: false, bypassValidation: false } }, plan: { name: "plan", label: "PLAN MODE", icon: "\u{1F4DD}", color: "yellow", description: "Research and planning - read-only tools only", allowedTools: [ "Read", "Grep", "Glob", "LS", "WebSearch", "WebFetch", "NotebookRead", "exit_plan_mode" ], restrictions: { readOnly: true, requireConfirmation: true, bypassValidation: false } }, bypassPermissions: { name: "bypassPermissions", label: "BYPASS PERMISSIONS", icon: "\u{1F513}", color: "red", description: "All permissions bypassed", allowedTools: ["*"], restrictions: { readOnly: false, requireConfirmation: false, bypassValidation: true } } }; function getNextPermissionMode(currentMode, isBypassAvailable = true) { switch (currentMode) { case "default": return "acceptEdits"; case "acceptEdits": return "plan"; case "plan": return isBypassAvailable ? "bypassPermissions" : "default"; case "bypassPermissions": return "default"; default: return "default"; } } export { MODE_CONFIGS, getNextPermissionMode }; //# sourceMappingURL=PermissionMode.js.map