#compdef pebrel

autoload -U is-at-least

_pebrel() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'--embed=[X11 window ID to embed Pebrel within (decimal or hexadecimal with "0x" prefix)]:EMBED:_default' \
'--config-file=[Specify an alternative configuration file.]:CONFIG_FILE:_files' \
'--socket=[Path for IPC socket creation]:SOCKET:_files' \
'--working-directory=[Start the shell in the specified working directory]:WORKING_DIRECTORY:_files' \
'*-e+[Command and args to execute (must be last argument)]:COMMAND:_default' \
'*--command=[Command and args to execute (must be last argument)]:COMMAND:_default' \
'-T+[Defines the window title \[default\: Pebrel\]]:TITLE:_default' \
'--title=[Defines the window title \[default\: Pebrel\]]:TITLE:_default' \
'--class=[Defines window class/app_id on X11/Wayland \[default\: Pebrel\]]:general> | <general>,<instance:_default' \
'*-o+[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION:_default' \
'*--option=[Override configuration file options \[example\: '\''cursor.style="Beam"'\''\]]:OPTION:_default' \
'--print-events[Print all events to STDOUT]' \
'(--daemon)--ref-test[Generates ref test]' \
'--gpui[Launch the GPUI UI shell as the main window]' \
'(-v)*-q[Reduces the level of verbosity (the min level is -qq)]' \
'(-q)*-v[Increases the level of verbosity (the max level is -vvv)]' \
'--daemon[Do not spawn an initial window]' \
'--hold[Remain open after child process exit]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_pebrel_commands" \
"*::: :->Pebrel" \
&& ret=0
    case $state in
    (Pebrel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-command-$line[1]:"
        case $line[1] in
            (ctl)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__ctl_commands" \
"*::: :->ctl" \
&& ret=0

    case $state in
    (ctl)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-ctl-command-$line[1]:"
        case $line[1] in
            (describe)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(orchestrate)
_arguments "${_arguments_options[@]}" : \
'(--file)--spec=[Inline UTF-8 JSON object containing steps and on_error]:SPEC:_default' \
'(--spec)--file=[Read the UTF-8 workflow JSON object from a file]:FILE:_files' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-start)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--name=[]:NAME:_default' \
'--kind=[]:KIND:_default' \
'--cwd=[]:CWD:_files' \
'--resume-session-id=[]:RESUME_SESSION_ID:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-fork)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--source-pane=[]:SOURCE_PANE:_default' \
'--source-cwd=[]:SOURCE_CWD:_files' \
'--name=[]:NAME:_default' \
'--kind=[]:KIND:_default' \
'--resume-session-id=[]:RESUME_SESSION_ID:_default' \
'--branch=[]:BRANCH:_default' \
'--base=[]:BASE:_default' \
'--path=[]:PATH:_files' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--allow-dirty-source[]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-get)
_arguments "${_arguments_options[@]}" : \
'--agent=[]:AGENT:_default' \
'--generation=[]:GENERATION:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-prompt)
_arguments "${_arguments_options[@]}" : \
'--agent=[]:AGENT:_default' \
'--generation=[]:GENERATION:_default' \
'--text=[]:TEXT:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--no-submit[]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-paste)
_arguments "${_arguments_options[@]}" : \
'--agent=[]:AGENT:_default' \
'--generation=[]:GENERATION:_default' \
'--text=[]:TEXT:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--no-submit[]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-read)
_arguments "${_arguments_options[@]}" : \
'--agent=[]:AGENT:_default' \
'--generation=[]:GENERATION:_default' \
'--lines=[]:LINES:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agent-wait)
_arguments "${_arguments_options[@]}" : \
'--agent=[]:AGENT:_default' \
'--generation=[]:GENERATION:_default' \
'--state=[]:STATE:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--after-seq=[]:AFTER_SEQ:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(subscribe)
_arguments "${_arguments_options[@]}" : \
'--since=[Resume after this revision; the current snapshot is sent when newer]:SINCE:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(new-window)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(close-window)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(focus)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(new-tab)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(close-tab)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--tab=[]:TAB_INDEX:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(rename-tab)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--tab=[]:TAB_INDEX:_default' \
'--name=[]:NAME:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(move-tab)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--tab=[]:TAB_INDEX:_default' \
'--to=[]:TO_INDEX:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[Split this pane instead of the currently focused pane]:PANE:_default' \
'--direction=[]:DIRECTION:((right\:"Create the new pane to the right of the focused pane"
down\:"Create the new pane below the focused pane"))' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(close-pane)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(zoom-pane)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--zoomed=[]:ZOOMED:(true false)' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(resize-pane)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--ratio=[]:RATIO:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(prompt)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--text=[]:TEXT:_default' \
'--wait=[After sending, wait until the pane reaches this task state]:WAIT:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--no-submit[Write the text without appending Enter]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--text=[]:TEXT:_default' \
'--wait=[After submitting, wait until the pane reaches this task state]:WAIT:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--no-submit[Paste the block without appending Enter]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--lines=[Number of logical terminal rows to read from the buffer tail]:LINES:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(procs)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(send-key)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--key=[Named key\: escape, enter, arrows, navigation, f1-f12, or a-z with --control]:KEY:_default' \
'--repeat=[]:REPEAT:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--shift[]' \
'--alt[]' \
'--control[]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--command=[]:COMMAND:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--no-wait[Submit the command and return its run id without waiting for completion]' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(exec-pane)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--max-output-bytes=[Maximum bytes retained from each stream. Both streams are always fully drained]:MAX_OUTPUT_BYTES:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help]' \
'--help[Print help]' \
'*::argv -- Program and arguments. `--` is required so child flags remain untouched:_default' \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--pane=[]:PANE:_default' \
'--state=[]:STATE:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--after-seq=[Require the pane'\''s state_change_seq to advance past this value. Pass the value observed before sending work so an already-settled pane does not satisfy the wait immediately]:AFTER_SEQ:_default' \
'--timeout-ms=[Maximum time to wait for a command response]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print one-shot JSON responses. Streaming subscriptions stay JSON Lines]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__ctl__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-ctl-help-command-$line[1]:"
        case $line[1] in
            (describe)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(orchestrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-fork)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-prompt)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(subscribe)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-window)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-window)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(focus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(zoom-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resize-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(prompt)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(procs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send-key)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(exec-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(env)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[Maximum time to wait for the runtime probe. The environment half of the answer is reported regardless]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(window)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__window_commands" \
"*::: :->window" \
&& ret=0

    case $state in
    (window)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-window-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':window -- Window id from `pebrel pane list`:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__window__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-window-help-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(tab)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__tab_commands" \
"*::: :->tab" \
&& ret=0

    case $state in
    (tab)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-tab-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
'--window=[Window containing the tab]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':tab -- Zero-based tab index from the runtime snapshot:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--window=[Window containing the tab]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':tab -- Zero-based tab index from the runtime snapshot:_default' \
':name -- New custom name. An empty string restores the generated title:_default' \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
'--window=[Window containing the tab]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':tab -- Current zero-based tab index:_default' \
':to -- Destination zero-based tab index in the same window:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__tab__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-tab-help-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(pane)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__pane_commands" \
"*::: :->pane" \
&& ret=0

    case $state in
    (pane)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-pane-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--window=[Restrict the listing to one window]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
'--lines=[Logical terminal rows to read from the buffer tail]:LINES:_default' \
'--window=[Disambiguate the pane when several windows are open]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
'--wait-timeout-ms=[Ceiling for \`--wait\`]:WAIT_TIMEOUT_MS:_default' \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--no-submit[Write the text without pressing Enter]' \
'(--no-submit)--wait[After submitting, block until the pane settles again. The baseline comes from the submission response, so a pane that was already idle cannot satisfy the wait immediately. Meaningless without submission, so it conflicts with \`--no-submit\` rather than silently doing nothing]' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
'*::text -- The line to write. Several words are joined with single spaces, so both `send 17 "cargo test"` and `send 17 cargo test` work:_default' \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
'--from-file=[Read the paste payload from a UTF-8 file]:FROM_FILE:_files' \
'--wait-timeout-ms=[Ceiling for \`--wait\`]:WAIT_TIMEOUT_MS:_default' \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'(--from-file)--stdin[Read the paste payload from standard input]' \
'--no-submit[Paste the block without pressing Enter]' \
'(--no-submit)--wait[After submitting, block until the pane settles again]' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
'*::text -- Literal text. Multiple words are joined with single spaces:_default' \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
'--state=[The state to wait for. \`settled\` covers finished, failed, and waiting-input, which is what "the work is over" usually means]:STATE:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--after-seq=[Require the pane'\''s \`state_change_seq\` to advance past this value. Pass the counter observed *before* dispatching work, otherwise a pane that is already settled satisfies the wait immediately]:AFTER_SEQ:_default' \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':pane -- Pane id from `pebrel pane list`:_default' \
&& ret=0
;;
(exec)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--max-output-bytes=[Maximum bytes retained from each stream. Both streams are always fully drained]:MAX_OUTPUT_BYTES:_default' \
'--timeout-ms=[Child-process timeout]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`; its current cwd and local environment are reused:_default' \
'*::argv -- Program and arguments. `--` is required so child flags cannot be parsed by Pebrel:_default' \
&& ret=0
;;
(close)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
&& ret=0
;;
(zoom)
_arguments "${_arguments_options[@]}" : \
'--zoomed=[Desired zoom state. Requiring the value keeps the command idempotent]:ZOOMED:(true false)' \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
&& ret=0
;;
(resize)
_arguments "${_arguments_options[@]}" : \
'--window=[]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':pane -- Pane id from `pebrel pane list`:_default' \
':ratio -- Desired share of the pane'\''s direct parent split, from 0.05 through 0.95:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__pane__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-pane-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(exec)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(zoom)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resize)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(agent)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__agent_commands" \
"*::: :->agent" \
&& ret=0

    case $state in
    (agent)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-agent-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--window=[Restrict the listing to one window]:WINDOW:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
'--wait-timeout-ms=[Ceiling for \`--wait\`]:WAIT_TIMEOUT_MS:_default' \
'--generation=[Refuse the send unless the agent is still this generation]:GENERATION:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--no-submit[Write the task without submitting it]' \
'(--no-submit)--wait[After submitting, block until the turn ends. The baseline comes from the submission response, so an idle agent cannot satisfy the wait immediately. Conflicts with \`--no-submit\`, which never starts a turn]' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':agent -- Agent name or stable id from `pebrel agent list`:_default' \
'*::text -- The task itself. Several words are joined with single spaces, so both `send codex "fix login"` and `send codex fix login` work:_default' \
&& ret=0
;;
(delegate)
_arguments "${_arguments_options[@]}" : \
'--generation=[Refuse the delegation unless the target is still this generation]:GENERATION:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':agent -- Agent name or stable id from `pebrel agent list`:_default' \
'*::text -- The delegated task. Several words are joined with single spaces:_default' \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
'--from-file=[Read the paste payload from a UTF-8 file]:FROM_FILE:_files' \
'--wait-timeout-ms=[Ceiling for \`--wait\`]:WAIT_TIMEOUT_MS:_default' \
'--generation=[Refuse the paste unless the agent is still this generation]:GENERATION:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'(--from-file)--stdin[Read the paste payload from standard input]' \
'--no-submit[Paste the block without submitting it]' \
'(--no-submit)--wait[After submitting, block until the turn ends]' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':agent -- Agent name or stable id from `pebrel agent list`:_default' \
'*::text -- Literal text. Multiple words are joined with single spaces:_default' \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
'--lines=[Logical terminal rows to read from the buffer tail]:LINES:_default' \
'--generation=[]:GENERATION:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help]' \
'--help[Print help]' \
':agent -- Agent name or stable id from `pebrel agent list`:_default' \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
'--state=[The state to wait for]:STATE:((idle\:""
running\:""
waiting-input\:""
attention\:""
finished\:""
failed\:""
settled\:"Any non-running terminal state"))' \
'--after-seq=[Require the agent'\''s \`state_change_seq\` to advance past this value. Pass the counter observed *before* dispatching work, otherwise an agent that is already idle satisfies the wait immediately]:AFTER_SEQ:_default' \
'--generation=[Pin the wait to one generation. Without it, the currently active generation is resolved first, so a session that was replaced in the meantime fails loudly instead of being waited on by mistake]:GENERATION:_default' \
'--timeout-ms=[]:TIMEOUT_MS:_default' \
'--pretty[Pretty-print the JSON response. Output is JSON either way]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':agent -- Agent name or stable id from `pebrel agent list`:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__agent__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-agent-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delegate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to the configuration file]:CONFIG_FILE:_files' \
'--config-file=[Path to the configuration file]:CONFIG_FILE:_files' \
'-d[Only output TOML config to STDOUT]' \
'--dry-run[Only output TOML config to STDOUT]' \
'-i[Do not recurse over imports]' \
'--skip-imports[Do not recurse over imports]' \
'--skip-renames[Do not move renamed fields to their new location]' \
'-s[Do not output to STDOUT]' \
'--silent[Do not output to STDOUT]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_pebrel__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-config-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
'--config-file=[Configuration file to validate; otherwise use normal discovery]:CONFIG_FILE:_files' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'--config-file=[Lua configuration path; otherwise use the platform user config directory]:CONFIG_FILE:_files' \
'--language=[Comment language for the generated template]:LANGUAGE:(system zh-CN en-US)' \
'--force[Back up and replace an existing configuration]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-config-help-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-command-$line[1]:"
        case $line[1] in
            (ctl)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__ctl_commands" \
"*::: :->ctl" \
&& ret=0

    case $state in
    (ctl)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-ctl-command-$line[1]:"
        case $line[1] in
            (describe)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(orchestrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-fork)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-prompt)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agent-wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(subscribe)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-window)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-window)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(focus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move-tab)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(zoom-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resize-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(prompt)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(procs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send-key)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(exec-pane)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(env)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(window)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__window_commands" \
"*::: :->window" \
&& ret=0

    case $state in
    (window)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-window-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(tab)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__tab_commands" \
"*::: :->tab" \
&& ret=0

    case $state in
    (tab)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-tab-command-$line[1]:"
        case $line[1] in
            (close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(pane)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__pane_commands" \
"*::: :->pane" \
&& ret=0

    case $state in
    (pane)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-pane-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(exec)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(close)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(zoom)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resize)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(agent)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__agent_commands" \
"*::: :->agent" \
&& ret=0

    case $state in
    (agent)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-agent-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delegate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(read)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
":: :_pebrel__help__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:pebrel-help-config-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_pebrel_commands] )) ||
_pebrel_commands() {
    local commands; commands=(
'ctl:Agent-oriented terminal control\: split panes, run commands, start Codex/Claude, send prompts, wait for state changes, and read verified terminal output' \
'env:Report this pane'\''s terminal identity, the control-plane path, and every command available to it. Answers even with no runtime reachable, so an agent can always discover what it has instead of guessing' \
'window:Control terminal windows' \
'tab:Control tabs within one terminal window' \
'pane:Inspect and drive terminal panes\: list, read, send, paste, wait, and change layout' \
'agent:Inspect and drive the AI agents running in panes\: list, send, read, wait' \
'migrate:Migrate the configuration file' \
'config:Validate or create the Pebrel configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel commands' commands "$@"
}
(( $+functions[_pebrel__agent_commands] )) ||
_pebrel__agent_commands() {
    local commands; commands=(
'list:List the panes running an AI CLI, with session identity and generation' \
'send:Hand one task to an agent and submit it' \
'delegate:Delegate one task and route the Agent'\''s final answer back to this Agent pane' \
'paste:Paste bounded UTF-8 text into an agent as one bracketed block' \
'read:Read the tail of what an agent printed' \
'wait:Block until an agent'\''s turn ends' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel agent commands' commands "$@"
}
(( $+functions[_pebrel__agent__delegate_commands] )) ||
_pebrel__agent__delegate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent delegate commands' commands "$@"
}
(( $+functions[_pebrel__agent__help_commands] )) ||
_pebrel__agent__help_commands() {
    local commands; commands=(
'list:List the panes running an AI CLI, with session identity and generation' \
'send:Hand one task to an agent and submit it' \
'delegate:Delegate one task and route the Agent'\''s final answer back to this Agent pane' \
'paste:Paste bounded UTF-8 text into an agent as one bracketed block' \
'read:Read the tail of what an agent printed' \
'wait:Block until an agent'\''s turn ends' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel agent help commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__delegate_commands] )) ||
_pebrel__agent__help__delegate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help delegate commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__help_commands] )) ||
_pebrel__agent__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help help commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__list_commands] )) ||
_pebrel__agent__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help list commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__paste_commands] )) ||
_pebrel__agent__help__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help paste commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__read_commands] )) ||
_pebrel__agent__help__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help read commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__send_commands] )) ||
_pebrel__agent__help__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help send commands' commands "$@"
}
(( $+functions[_pebrel__agent__help__wait_commands] )) ||
_pebrel__agent__help__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent help wait commands' commands "$@"
}
(( $+functions[_pebrel__agent__list_commands] )) ||
_pebrel__agent__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent list commands' commands "$@"
}
(( $+functions[_pebrel__agent__paste_commands] )) ||
_pebrel__agent__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent paste commands' commands "$@"
}
(( $+functions[_pebrel__agent__read_commands] )) ||
_pebrel__agent__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent read commands' commands "$@"
}
(( $+functions[_pebrel__agent__send_commands] )) ||
_pebrel__agent__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent send commands' commands "$@"
}
(( $+functions[_pebrel__agent__wait_commands] )) ||
_pebrel__agent__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel agent wait commands' commands "$@"
}
(( $+functions[_pebrel__config_commands] )) ||
_pebrel__config_commands() {
    local commands; commands=(
'check:Validate a Lua, TOML, or YAML configuration without opening the GUI' \
'init:Create an annotated Lua configuration template' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel config commands' commands "$@"
}
(( $+functions[_pebrel__config__check_commands] )) ||
_pebrel__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel config check commands' commands "$@"
}
(( $+functions[_pebrel__config__help_commands] )) ||
_pebrel__config__help_commands() {
    local commands; commands=(
'check:Validate a Lua, TOML, or YAML configuration without opening the GUI' \
'init:Create an annotated Lua configuration template' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel config help commands' commands "$@"
}
(( $+functions[_pebrel__config__help__check_commands] )) ||
_pebrel__config__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel config help check commands' commands "$@"
}
(( $+functions[_pebrel__config__help__help_commands] )) ||
_pebrel__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel config help help commands' commands "$@"
}
(( $+functions[_pebrel__config__help__init_commands] )) ||
_pebrel__config__help__init_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel config help init commands' commands "$@"
}
(( $+functions[_pebrel__config__init_commands] )) ||
_pebrel__config__init_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel config init commands' commands "$@"
}
(( $+functions[_pebrel__ctl_commands] )) ||
_pebrel__ctl_commands() {
    local commands; commands=(
'describe:Describe the protocol version, runtime version, and available capabilities' \
'snapshot:Read the authoritative window, tab, pane, and task-state projection' \
'orchestrate:Execute one typed multi-step terminal workflow in a single Runtime request' \
'agents:List only panes Pebrel recognizes as AI agents, with semantic state and session identity' \
'agent-start:Start a verified AI CLI in a new terminal tab and assign a stable name' \
'agent-fork:Create an isolated Git worktree, then start a named AI CLI in that checkout' \
'agent-get:Resolve one managed agent by stable id or active name' \
'agent-prompt:Send one plain-text prompt to a managed agent' \
'agent-paste:Paste one bounded UTF-8 block into a managed agent' \
'agent-read:Read the terminal-buffer tail owned by a managed agent' \
'agent-wait:Wait for the same managed-agent generation to reach a semantic state' \
'subscribe:Stream state snapshots whenever their semantic content changes' \
'new-window:Create and focus a new terminal window' \
'close-window:Close an idle window. Omitting --window targets the uniquely resolved window' \
'focus:Focus a window or one of its panes' \
'new-tab:Create a default-shell tab in the target window' \
'close-tab:Close an idle tab by its zero-based index' \
'rename-tab:Set a tab'\''s custom name. An empty value restores the generated title' \
'move-tab:Move a tab to another index in the same window' \
'split:Split the focused pane in the target window' \
'close-pane:Close an idle pane' \
'zoom-pane:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize-pane:Set this pane'\''s share of its direct parent split' \
'prompt:Send one plain-text prompt to a pane, optionally submitting it with Enter' \
'paste:Paste one bounded UTF-8 block into a pane using bracketed-paste mode' \
'read:Read the latest logical lines from a pane'\''s real terminal buffer' \
'procs:List the real local process tree rooted at a pane'\''s PTY shell' \
'send-key:Send a restricted named control key using the pane'\''s active terminal mode' \
'run:Run one shell command and return its real OSC 133 exit status' \
'exec-pane:Execute argv as an independent non-TTY child and capture stdout/stderr separately' \
'wait:Wait until a pane reaches a semantic task state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel ctl commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-fork_commands] )) ||
_pebrel__ctl__agent-fork_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-fork commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-get_commands] )) ||
_pebrel__ctl__agent-get_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-get commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-paste_commands] )) ||
_pebrel__ctl__agent-paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-paste commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-prompt_commands] )) ||
_pebrel__ctl__agent-prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-prompt commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-read_commands] )) ||
_pebrel__ctl__agent-read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-read commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-start_commands] )) ||
_pebrel__ctl__agent-start_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-start commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agent-wait_commands] )) ||
_pebrel__ctl__agent-wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agent-wait commands' commands "$@"
}
(( $+functions[_pebrel__ctl__agents_commands] )) ||
_pebrel__ctl__agents_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl agents commands' commands "$@"
}
(( $+functions[_pebrel__ctl__close-pane_commands] )) ||
_pebrel__ctl__close-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl close-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__close-tab_commands] )) ||
_pebrel__ctl__close-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl close-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__close-window_commands] )) ||
_pebrel__ctl__close-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl close-window commands' commands "$@"
}
(( $+functions[_pebrel__ctl__describe_commands] )) ||
_pebrel__ctl__describe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl describe commands' commands "$@"
}
(( $+functions[_pebrel__ctl__exec-pane_commands] )) ||
_pebrel__ctl__exec-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl exec-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__focus_commands] )) ||
_pebrel__ctl__focus_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl focus commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help_commands] )) ||
_pebrel__ctl__help_commands() {
    local commands; commands=(
'describe:Describe the protocol version, runtime version, and available capabilities' \
'snapshot:Read the authoritative window, tab, pane, and task-state projection' \
'orchestrate:Execute one typed multi-step terminal workflow in a single Runtime request' \
'agents:List only panes Pebrel recognizes as AI agents, with semantic state and session identity' \
'agent-start:Start a verified AI CLI in a new terminal tab and assign a stable name' \
'agent-fork:Create an isolated Git worktree, then start a named AI CLI in that checkout' \
'agent-get:Resolve one managed agent by stable id or active name' \
'agent-prompt:Send one plain-text prompt to a managed agent' \
'agent-paste:Paste one bounded UTF-8 block into a managed agent' \
'agent-read:Read the terminal-buffer tail owned by a managed agent' \
'agent-wait:Wait for the same managed-agent generation to reach a semantic state' \
'subscribe:Stream state snapshots whenever their semantic content changes' \
'new-window:Create and focus a new terminal window' \
'close-window:Close an idle window. Omitting --window targets the uniquely resolved window' \
'focus:Focus a window or one of its panes' \
'new-tab:Create a default-shell tab in the target window' \
'close-tab:Close an idle tab by its zero-based index' \
'rename-tab:Set a tab'\''s custom name. An empty value restores the generated title' \
'move-tab:Move a tab to another index in the same window' \
'split:Split the focused pane in the target window' \
'close-pane:Close an idle pane' \
'zoom-pane:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize-pane:Set this pane'\''s share of its direct parent split' \
'prompt:Send one plain-text prompt to a pane, optionally submitting it with Enter' \
'paste:Paste one bounded UTF-8 block into a pane using bracketed-paste mode' \
'read:Read the latest logical lines from a pane'\''s real terminal buffer' \
'procs:List the real local process tree rooted at a pane'\''s PTY shell' \
'send-key:Send a restricted named control key using the pane'\''s active terminal mode' \
'run:Run one shell command and return its real OSC 133 exit status' \
'exec-pane:Execute argv as an independent non-TTY child and capture stdout/stderr separately' \
'wait:Wait until a pane reaches a semantic task state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel ctl help commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-fork_commands] )) ||
_pebrel__ctl__help__agent-fork_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-fork commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-get_commands] )) ||
_pebrel__ctl__help__agent-get_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-get commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-paste_commands] )) ||
_pebrel__ctl__help__agent-paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-paste commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-prompt_commands] )) ||
_pebrel__ctl__help__agent-prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-prompt commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-read_commands] )) ||
_pebrel__ctl__help__agent-read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-read commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-start_commands] )) ||
_pebrel__ctl__help__agent-start_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-start commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agent-wait_commands] )) ||
_pebrel__ctl__help__agent-wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agent-wait commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__agents_commands] )) ||
_pebrel__ctl__help__agents_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help agents commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__close-pane_commands] )) ||
_pebrel__ctl__help__close-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help close-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__close-tab_commands] )) ||
_pebrel__ctl__help__close-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help close-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__close-window_commands] )) ||
_pebrel__ctl__help__close-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help close-window commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__describe_commands] )) ||
_pebrel__ctl__help__describe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help describe commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__exec-pane_commands] )) ||
_pebrel__ctl__help__exec-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help exec-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__focus_commands] )) ||
_pebrel__ctl__help__focus_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help focus commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__help_commands] )) ||
_pebrel__ctl__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help help commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__move-tab_commands] )) ||
_pebrel__ctl__help__move-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help move-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__new-tab_commands] )) ||
_pebrel__ctl__help__new-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help new-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__new-window_commands] )) ||
_pebrel__ctl__help__new-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help new-window commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__orchestrate_commands] )) ||
_pebrel__ctl__help__orchestrate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help orchestrate commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__paste_commands] )) ||
_pebrel__ctl__help__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help paste commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__procs_commands] )) ||
_pebrel__ctl__help__procs_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help procs commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__prompt_commands] )) ||
_pebrel__ctl__help__prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help prompt commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__read_commands] )) ||
_pebrel__ctl__help__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help read commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__rename-tab_commands] )) ||
_pebrel__ctl__help__rename-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help rename-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__resize-pane_commands] )) ||
_pebrel__ctl__help__resize-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help resize-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__run_commands] )) ||
_pebrel__ctl__help__run_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help run commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__send-key_commands] )) ||
_pebrel__ctl__help__send-key_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help send-key commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__snapshot_commands] )) ||
_pebrel__ctl__help__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help snapshot commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__split_commands] )) ||
_pebrel__ctl__help__split_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help split commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__subscribe_commands] )) ||
_pebrel__ctl__help__subscribe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help subscribe commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__wait_commands] )) ||
_pebrel__ctl__help__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help wait commands' commands "$@"
}
(( $+functions[_pebrel__ctl__help__zoom-pane_commands] )) ||
_pebrel__ctl__help__zoom-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl help zoom-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__move-tab_commands] )) ||
_pebrel__ctl__move-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl move-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__new-tab_commands] )) ||
_pebrel__ctl__new-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl new-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__new-window_commands] )) ||
_pebrel__ctl__new-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl new-window commands' commands "$@"
}
(( $+functions[_pebrel__ctl__orchestrate_commands] )) ||
_pebrel__ctl__orchestrate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl orchestrate commands' commands "$@"
}
(( $+functions[_pebrel__ctl__paste_commands] )) ||
_pebrel__ctl__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl paste commands' commands "$@"
}
(( $+functions[_pebrel__ctl__procs_commands] )) ||
_pebrel__ctl__procs_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl procs commands' commands "$@"
}
(( $+functions[_pebrel__ctl__prompt_commands] )) ||
_pebrel__ctl__prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl prompt commands' commands "$@"
}
(( $+functions[_pebrel__ctl__read_commands] )) ||
_pebrel__ctl__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl read commands' commands "$@"
}
(( $+functions[_pebrel__ctl__rename-tab_commands] )) ||
_pebrel__ctl__rename-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl rename-tab commands' commands "$@"
}
(( $+functions[_pebrel__ctl__resize-pane_commands] )) ||
_pebrel__ctl__resize-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl resize-pane commands' commands "$@"
}
(( $+functions[_pebrel__ctl__run_commands] )) ||
_pebrel__ctl__run_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl run commands' commands "$@"
}
(( $+functions[_pebrel__ctl__send-key_commands] )) ||
_pebrel__ctl__send-key_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl send-key commands' commands "$@"
}
(( $+functions[_pebrel__ctl__snapshot_commands] )) ||
_pebrel__ctl__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl snapshot commands' commands "$@"
}
(( $+functions[_pebrel__ctl__split_commands] )) ||
_pebrel__ctl__split_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl split commands' commands "$@"
}
(( $+functions[_pebrel__ctl__subscribe_commands] )) ||
_pebrel__ctl__subscribe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl subscribe commands' commands "$@"
}
(( $+functions[_pebrel__ctl__wait_commands] )) ||
_pebrel__ctl__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl wait commands' commands "$@"
}
(( $+functions[_pebrel__ctl__zoom-pane_commands] )) ||
_pebrel__ctl__zoom-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel ctl zoom-pane commands' commands "$@"
}
(( $+functions[_pebrel__env_commands] )) ||
_pebrel__env_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel env commands' commands "$@"
}
(( $+functions[_pebrel__help_commands] )) ||
_pebrel__help_commands() {
    local commands; commands=(
'ctl:Agent-oriented terminal control\: split panes, run commands, start Codex/Claude, send prompts, wait for state changes, and read verified terminal output' \
'env:Report this pane'\''s terminal identity, the control-plane path, and every command available to it. Answers even with no runtime reachable, so an agent can always discover what it has instead of guessing' \
'window:Control terminal windows' \
'tab:Control tabs within one terminal window' \
'pane:Inspect and drive terminal panes\: list, read, send, paste, wait, and change layout' \
'agent:Inspect and drive the AI agents running in panes\: list, send, read, wait' \
'migrate:Migrate the configuration file' \
'config:Validate or create the Pebrel configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel help commands' commands "$@"
}
(( $+functions[_pebrel__help__agent_commands] )) ||
_pebrel__help__agent_commands() {
    local commands; commands=(
'list:List the panes running an AI CLI, with session identity and generation' \
'send:Hand one task to an agent and submit it' \
'delegate:Delegate one task and route the Agent'\''s final answer back to this Agent pane' \
'paste:Paste bounded UTF-8 text into an agent as one bracketed block' \
'read:Read the tail of what an agent printed' \
'wait:Block until an agent'\''s turn ends' \
    )
    _describe -t commands 'pebrel help agent commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__delegate_commands] )) ||
_pebrel__help__agent__delegate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent delegate commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__list_commands] )) ||
_pebrel__help__agent__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent list commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__paste_commands] )) ||
_pebrel__help__agent__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent paste commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__read_commands] )) ||
_pebrel__help__agent__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent read commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__send_commands] )) ||
_pebrel__help__agent__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent send commands' commands "$@"
}
(( $+functions[_pebrel__help__agent__wait_commands] )) ||
_pebrel__help__agent__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help agent wait commands' commands "$@"
}
(( $+functions[_pebrel__help__config_commands] )) ||
_pebrel__help__config_commands() {
    local commands; commands=(
'check:Validate a Lua, TOML, or YAML configuration without opening the GUI' \
'init:Create an annotated Lua configuration template' \
    )
    _describe -t commands 'pebrel help config commands' commands "$@"
}
(( $+functions[_pebrel__help__config__check_commands] )) ||
_pebrel__help__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help config check commands' commands "$@"
}
(( $+functions[_pebrel__help__config__init_commands] )) ||
_pebrel__help__config__init_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help config init commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl_commands] )) ||
_pebrel__help__ctl_commands() {
    local commands; commands=(
'describe:Describe the protocol version, runtime version, and available capabilities' \
'snapshot:Read the authoritative window, tab, pane, and task-state projection' \
'orchestrate:Execute one typed multi-step terminal workflow in a single Runtime request' \
'agents:List only panes Pebrel recognizes as AI agents, with semantic state and session identity' \
'agent-start:Start a verified AI CLI in a new terminal tab and assign a stable name' \
'agent-fork:Create an isolated Git worktree, then start a named AI CLI in that checkout' \
'agent-get:Resolve one managed agent by stable id or active name' \
'agent-prompt:Send one plain-text prompt to a managed agent' \
'agent-paste:Paste one bounded UTF-8 block into a managed agent' \
'agent-read:Read the terminal-buffer tail owned by a managed agent' \
'agent-wait:Wait for the same managed-agent generation to reach a semantic state' \
'subscribe:Stream state snapshots whenever their semantic content changes' \
'new-window:Create and focus a new terminal window' \
'close-window:Close an idle window. Omitting --window targets the uniquely resolved window' \
'focus:Focus a window or one of its panes' \
'new-tab:Create a default-shell tab in the target window' \
'close-tab:Close an idle tab by its zero-based index' \
'rename-tab:Set a tab'\''s custom name. An empty value restores the generated title' \
'move-tab:Move a tab to another index in the same window' \
'split:Split the focused pane in the target window' \
'close-pane:Close an idle pane' \
'zoom-pane:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize-pane:Set this pane'\''s share of its direct parent split' \
'prompt:Send one plain-text prompt to a pane, optionally submitting it with Enter' \
'paste:Paste one bounded UTF-8 block into a pane using bracketed-paste mode' \
'read:Read the latest logical lines from a pane'\''s real terminal buffer' \
'procs:List the real local process tree rooted at a pane'\''s PTY shell' \
'send-key:Send a restricted named control key using the pane'\''s active terminal mode' \
'run:Run one shell command and return its real OSC 133 exit status' \
'exec-pane:Execute argv as an independent non-TTY child and capture stdout/stderr separately' \
'wait:Wait until a pane reaches a semantic task state' \
    )
    _describe -t commands 'pebrel help ctl commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-fork_commands] )) ||
_pebrel__help__ctl__agent-fork_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-fork commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-get_commands] )) ||
_pebrel__help__ctl__agent-get_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-get commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-paste_commands] )) ||
_pebrel__help__ctl__agent-paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-paste commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-prompt_commands] )) ||
_pebrel__help__ctl__agent-prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-prompt commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-read_commands] )) ||
_pebrel__help__ctl__agent-read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-read commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-start_commands] )) ||
_pebrel__help__ctl__agent-start_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-start commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agent-wait_commands] )) ||
_pebrel__help__ctl__agent-wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agent-wait commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__agents_commands] )) ||
_pebrel__help__ctl__agents_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl agents commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__close-pane_commands] )) ||
_pebrel__help__ctl__close-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl close-pane commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__close-tab_commands] )) ||
_pebrel__help__ctl__close-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl close-tab commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__close-window_commands] )) ||
_pebrel__help__ctl__close-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl close-window commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__describe_commands] )) ||
_pebrel__help__ctl__describe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl describe commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__exec-pane_commands] )) ||
_pebrel__help__ctl__exec-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl exec-pane commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__focus_commands] )) ||
_pebrel__help__ctl__focus_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl focus commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__move-tab_commands] )) ||
_pebrel__help__ctl__move-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl move-tab commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__new-tab_commands] )) ||
_pebrel__help__ctl__new-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl new-tab commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__new-window_commands] )) ||
_pebrel__help__ctl__new-window_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl new-window commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__orchestrate_commands] )) ||
_pebrel__help__ctl__orchestrate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl orchestrate commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__paste_commands] )) ||
_pebrel__help__ctl__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl paste commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__procs_commands] )) ||
_pebrel__help__ctl__procs_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl procs commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__prompt_commands] )) ||
_pebrel__help__ctl__prompt_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl prompt commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__read_commands] )) ||
_pebrel__help__ctl__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl read commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__rename-tab_commands] )) ||
_pebrel__help__ctl__rename-tab_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl rename-tab commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__resize-pane_commands] )) ||
_pebrel__help__ctl__resize-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl resize-pane commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__run_commands] )) ||
_pebrel__help__ctl__run_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl run commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__send-key_commands] )) ||
_pebrel__help__ctl__send-key_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl send-key commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__snapshot_commands] )) ||
_pebrel__help__ctl__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl snapshot commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__split_commands] )) ||
_pebrel__help__ctl__split_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl split commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__subscribe_commands] )) ||
_pebrel__help__ctl__subscribe_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl subscribe commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__wait_commands] )) ||
_pebrel__help__ctl__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl wait commands' commands "$@"
}
(( $+functions[_pebrel__help__ctl__zoom-pane_commands] )) ||
_pebrel__help__ctl__zoom-pane_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help ctl zoom-pane commands' commands "$@"
}
(( $+functions[_pebrel__help__env_commands] )) ||
_pebrel__help__env_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help env commands' commands "$@"
}
(( $+functions[_pebrel__help__help_commands] )) ||
_pebrel__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help help commands' commands "$@"
}
(( $+functions[_pebrel__help__migrate_commands] )) ||
_pebrel__help__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help migrate commands' commands "$@"
}
(( $+functions[_pebrel__help__pane_commands] )) ||
_pebrel__help__pane_commands() {
    local commands; commands=(
'list:List every pane with its id, task state, cwd, and Git branch' \
'read:Read the tail of a pane'\''s real terminal buffer' \
'send:Write one line into a pane, submitting it with Enter by default' \
'paste:Paste bounded UTF-8 text as one bracketed block' \
'wait:Block until a pane reaches a semantic task state' \
'exec:Execute an argv vector as an independent non-TTY child and capture both streams' \
'close:Close an idle pane' \
'zoom:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize:Set this pane'\''s share of its direct parent split' \
    )
    _describe -t commands 'pebrel help pane commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__close_commands] )) ||
_pebrel__help__pane__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane close commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__exec_commands] )) ||
_pebrel__help__pane__exec_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane exec commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__list_commands] )) ||
_pebrel__help__pane__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane list commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__paste_commands] )) ||
_pebrel__help__pane__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane paste commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__read_commands] )) ||
_pebrel__help__pane__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane read commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__resize_commands] )) ||
_pebrel__help__pane__resize_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane resize commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__send_commands] )) ||
_pebrel__help__pane__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane send commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__wait_commands] )) ||
_pebrel__help__pane__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane wait commands' commands "$@"
}
(( $+functions[_pebrel__help__pane__zoom_commands] )) ||
_pebrel__help__pane__zoom_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help pane zoom commands' commands "$@"
}
(( $+functions[_pebrel__help__tab_commands] )) ||
_pebrel__help__tab_commands() {
    local commands; commands=(
'close:Close an idle tab' \
'rename:Set a tab'\''s custom name. Pass an empty name to restore the generated title' \
'move:Move a tab to another index in the same window' \
    )
    _describe -t commands 'pebrel help tab commands' commands "$@"
}
(( $+functions[_pebrel__help__tab__close_commands] )) ||
_pebrel__help__tab__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help tab close commands' commands "$@"
}
(( $+functions[_pebrel__help__tab__move_commands] )) ||
_pebrel__help__tab__move_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help tab move commands' commands "$@"
}
(( $+functions[_pebrel__help__tab__rename_commands] )) ||
_pebrel__help__tab__rename_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help tab rename commands' commands "$@"
}
(( $+functions[_pebrel__help__window_commands] )) ||
_pebrel__help__window_commands() {
    local commands; commands=(
'close:Close an idle window. Busy panes require confirmation in the GUI instead' \
    )
    _describe -t commands 'pebrel help window commands' commands "$@"
}
(( $+functions[_pebrel__help__window__close_commands] )) ||
_pebrel__help__window__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel help window close commands' commands "$@"
}
(( $+functions[_pebrel__migrate_commands] )) ||
_pebrel__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel migrate commands' commands "$@"
}
(( $+functions[_pebrel__pane_commands] )) ||
_pebrel__pane_commands() {
    local commands; commands=(
'list:List every pane with its id, task state, cwd, and Git branch' \
'read:Read the tail of a pane'\''s real terminal buffer' \
'send:Write one line into a pane, submitting it with Enter by default' \
'paste:Paste bounded UTF-8 text as one bracketed block' \
'wait:Block until a pane reaches a semantic task state' \
'exec:Execute an argv vector as an independent non-TTY child and capture both streams' \
'close:Close an idle pane' \
'zoom:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize:Set this pane'\''s share of its direct parent split' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel pane commands' commands "$@"
}
(( $+functions[_pebrel__pane__close_commands] )) ||
_pebrel__pane__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane close commands' commands "$@"
}
(( $+functions[_pebrel__pane__exec_commands] )) ||
_pebrel__pane__exec_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane exec commands' commands "$@"
}
(( $+functions[_pebrel__pane__help_commands] )) ||
_pebrel__pane__help_commands() {
    local commands; commands=(
'list:List every pane with its id, task state, cwd, and Git branch' \
'read:Read the tail of a pane'\''s real terminal buffer' \
'send:Write one line into a pane, submitting it with Enter by default' \
'paste:Paste bounded UTF-8 text as one bracketed block' \
'wait:Block until a pane reaches a semantic task state' \
'exec:Execute an argv vector as an independent non-TTY child and capture both streams' \
'close:Close an idle pane' \
'zoom:Explicitly enable or disable focused-pane zoom for the pane'\''s tab' \
'resize:Set this pane'\''s share of its direct parent split' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel pane help commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__close_commands] )) ||
_pebrel__pane__help__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help close commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__exec_commands] )) ||
_pebrel__pane__help__exec_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help exec commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__help_commands] )) ||
_pebrel__pane__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help help commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__list_commands] )) ||
_pebrel__pane__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help list commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__paste_commands] )) ||
_pebrel__pane__help__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help paste commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__read_commands] )) ||
_pebrel__pane__help__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help read commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__resize_commands] )) ||
_pebrel__pane__help__resize_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help resize commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__send_commands] )) ||
_pebrel__pane__help__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help send commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__wait_commands] )) ||
_pebrel__pane__help__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help wait commands' commands "$@"
}
(( $+functions[_pebrel__pane__help__zoom_commands] )) ||
_pebrel__pane__help__zoom_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane help zoom commands' commands "$@"
}
(( $+functions[_pebrel__pane__list_commands] )) ||
_pebrel__pane__list_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane list commands' commands "$@"
}
(( $+functions[_pebrel__pane__paste_commands] )) ||
_pebrel__pane__paste_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane paste commands' commands "$@"
}
(( $+functions[_pebrel__pane__read_commands] )) ||
_pebrel__pane__read_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane read commands' commands "$@"
}
(( $+functions[_pebrel__pane__resize_commands] )) ||
_pebrel__pane__resize_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane resize commands' commands "$@"
}
(( $+functions[_pebrel__pane__send_commands] )) ||
_pebrel__pane__send_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane send commands' commands "$@"
}
(( $+functions[_pebrel__pane__wait_commands] )) ||
_pebrel__pane__wait_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane wait commands' commands "$@"
}
(( $+functions[_pebrel__pane__zoom_commands] )) ||
_pebrel__pane__zoom_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel pane zoom commands' commands "$@"
}
(( $+functions[_pebrel__tab_commands] )) ||
_pebrel__tab_commands() {
    local commands; commands=(
'close:Close an idle tab' \
'rename:Set a tab'\''s custom name. Pass an empty name to restore the generated title' \
'move:Move a tab to another index in the same window' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel tab commands' commands "$@"
}
(( $+functions[_pebrel__tab__close_commands] )) ||
_pebrel__tab__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab close commands' commands "$@"
}
(( $+functions[_pebrel__tab__help_commands] )) ||
_pebrel__tab__help_commands() {
    local commands; commands=(
'close:Close an idle tab' \
'rename:Set a tab'\''s custom name. Pass an empty name to restore the generated title' \
'move:Move a tab to another index in the same window' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel tab help commands' commands "$@"
}
(( $+functions[_pebrel__tab__help__close_commands] )) ||
_pebrel__tab__help__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab help close commands' commands "$@"
}
(( $+functions[_pebrel__tab__help__help_commands] )) ||
_pebrel__tab__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab help help commands' commands "$@"
}
(( $+functions[_pebrel__tab__help__move_commands] )) ||
_pebrel__tab__help__move_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab help move commands' commands "$@"
}
(( $+functions[_pebrel__tab__help__rename_commands] )) ||
_pebrel__tab__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab help rename commands' commands "$@"
}
(( $+functions[_pebrel__tab__move_commands] )) ||
_pebrel__tab__move_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab move commands' commands "$@"
}
(( $+functions[_pebrel__tab__rename_commands] )) ||
_pebrel__tab__rename_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel tab rename commands' commands "$@"
}
(( $+functions[_pebrel__window_commands] )) ||
_pebrel__window_commands() {
    local commands; commands=(
'close:Close an idle window. Busy panes require confirmation in the GUI instead' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel window commands' commands "$@"
}
(( $+functions[_pebrel__window__close_commands] )) ||
_pebrel__window__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel window close commands' commands "$@"
}
(( $+functions[_pebrel__window__help_commands] )) ||
_pebrel__window__help_commands() {
    local commands; commands=(
'close:Close an idle window. Busy panes require confirmation in the GUI instead' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'pebrel window help commands' commands "$@"
}
(( $+functions[_pebrel__window__help__close_commands] )) ||
_pebrel__window__help__close_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel window help close commands' commands "$@"
}
(( $+functions[_pebrel__window__help__help_commands] )) ||
_pebrel__window__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'pebrel window help help commands' commands "$@"
}

if [ "$funcstack[1]" = "_pebrel" ]; then
    _pebrel "$@"
else
    compdef _pebrel pebrel
fi
