agent improvement

This commit is contained in:
2026-04-09 14:58:15 -03:00
parent 64ecdca71e
commit e69fec5aea
5 changed files with 141 additions and 56 deletions

View File

@@ -21,6 +21,7 @@ class AgentInputPanel(Gtk.Frame):
"model-changed": (GObject.SignalFlags.RUN_FIRST, None, (str,)),
"lang-changed": (GObject.SignalFlags.RUN_FIRST, None, (str,)),
"history-toggled": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
"permission-changed": (GObject.SignalFlags.RUN_FIRST, None, (str,)),
}
def __init__(self, **kwargs):
@@ -68,6 +69,18 @@ class AgentInputPanel(Gtk.Frame):
history_toggle.connect("toggled", lambda b: self.emit("history-toggled", b.get_active()))
actions_box.append(history_toggle)
perm_label = Gtk.Label(label="Perms:")
perm_label.add_css_class("dim-label")
actions_box.append(perm_label)
self._perm_modes = ["default", "acceptEdits", "bypassPermissions", "dontAsk", "plan"]
self._perm_labels = ["Default", "Accept Edits", "Bypass All", "Don't Ask", "Plan Only"]
self._perm_dropdown = Gtk.DropDown.new_from_strings(self._perm_labels)
self._perm_dropdown.set_size_request(140, -1)
self._perm_dropdown.set_tooltip_text("Claude SDK permission mode")
self._perm_dropdown.connect("notify::selected", self._on_perm_changed)
actions_box.append(self._perm_dropdown)
outer.append(actions_box)
input_row = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=4)
@@ -123,3 +136,15 @@ class AgentInputPanel(Gtk.Frame):
if idx < len(self._lang_names):
lang_code = LANGUAGES[self._lang_names[idx]]
self.emit("lang-changed", lang_code or "")
def _on_perm_changed(self, dropdown, _pspec):
idx = dropdown.get_selected()
if idx < len(self._perm_modes):
self.emit("permission-changed", self._perm_modes[idx])
def set_permission_mode(self, mode: str) -> None:
try:
idx = self._perm_modes.index(mode)
self._perm_dropdown.set_selected(idx)
except ValueError:
pass