pyb-ts
Version:
PYB-CLI - Minimal AI Agent with multi-model support and CLI interface
83 lines (82 loc) • 1.83 kB
JavaScript
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