diff --git a/CHANGELOG.md b/CHANGELOG.md index e1a7da8..7c6c154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and this project adheres to ## [Unreleased] +## [1.3.0] - 2026-09-07 + ### Added - Two skills that run as forked subagents on a cheaper model, so the @@ -956,7 +958,8 @@ First tagged release. installers (user, system-wide, and per-node fan-out), and a `bodhi-compute` Claude Code skill. -[Unreleased]: https://github.com/rnabioco/sinteractive/compare/v1.2.0...HEAD +[Unreleased]: https://github.com/rnabioco/sinteractive/compare/v1.3.0...HEAD +[1.3.0]: https://github.com/rnabioco/sinteractive/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/rnabioco/sinteractive/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/rnabioco/sinteractive/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/rnabioco/sinteractive/compare/v0.7.0...v1.0.0 diff --git a/Cargo.lock b/Cargo.lock index 8c526e0..50ac4ab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3688,7 +3688,7 @@ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] name = "sint" -version = "1.2.0" +version = "1.3.0" dependencies = [ "anyhow", "assert_cmd", @@ -3720,7 +3720,7 @@ dependencies = [ [[package]] name = "sint-core" -version = "1.2.0" +version = "1.3.0" dependencies = [ "anyhow", "libc", @@ -3738,7 +3738,7 @@ dependencies = [ [[package]] name = "sint-proto" -version = "1.2.0" +version = "1.3.0" dependencies = [ "serde", "serde_json", @@ -3746,7 +3746,7 @@ dependencies = [ [[package]] name = "sint-zellij" -version = "1.2.0" +version = "1.3.0" dependencies = [ "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 321409f..7ac2332 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ members = ["crates/sint", "crates/sint-core", "crates/sint-proto", "crates/sint- [workspace.package] # Single source of truth for the version. The release step bumps this line; # pixi.toml no longer carries a version. -version = "1.2.0" +version = "1.3.0" edition = "2021" rust-version = "1.85" license = "MIT" diff --git a/completions/sinteractive.bash b/completions/sinteractive.bash index 29e242b..cb57af9 100644 --- a/completions/sinteractive.bash +++ b/completions/sinteractive.bash @@ -142,6 +142,9 @@ _sinteractive() { sinteractive__subcmd__claude__subcmd__help,statusline) cmd="sinteractive__subcmd__claude__subcmd__help__subcmd__statusline" ;; + sinteractive__subcmd__claude__subcmd__help__subcmd__hook,agent-guard) + cmd="sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__claude__subcmd__help__subcmd__hook,prompt) cmd="sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__prompt" ;; @@ -154,6 +157,9 @@ _sinteractive() { sinteractive__subcmd__claude__subcmd__help__subcmd__hook,worktree-remove) cmd="sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__worktree__subcmd__remove" ;; + sinteractive__subcmd__claude__subcmd__hook,agent-guard) + cmd="sinteractive__subcmd__claude__subcmd__hook__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__claude__subcmd__hook,help) cmd="sinteractive__subcmd__claude__subcmd__hook__subcmd__help" ;; @@ -169,6 +175,9 @@ _sinteractive() { sinteractive__subcmd__claude__subcmd__hook,worktree-remove) cmd="sinteractive__subcmd__claude__subcmd__hook__subcmd__worktree__subcmd__remove" ;; + sinteractive__subcmd__claude__subcmd__hook__subcmd__help,agent-guard) + cmd="sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__claude__subcmd__hook__subcmd__help,help) cmd="sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__help" ;; @@ -313,6 +322,9 @@ _sinteractive() { sinteractive__subcmd__help__subcmd__claude,statusline) cmd="sinteractive__subcmd__help__subcmd__claude__subcmd__statusline" ;; + sinteractive__subcmd__help__subcmd__claude__subcmd__hook,agent-guard) + cmd="sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__help__subcmd__claude__subcmd__hook,prompt) cmd="sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__prompt" ;; @@ -334,6 +346,9 @@ _sinteractive() { sinteractive__subcmd__help__subcmd__gen,schema) cmd="sinteractive__subcmd__help__subcmd__gen__subcmd__schema" ;; + sinteractive__subcmd__help__subcmd__hook,agent-guard) + cmd="sinteractive__subcmd__help__subcmd__hook__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__help__subcmd__hook,prompt) cmd="sinteractive__subcmd__help__subcmd__hook__subcmd__prompt" ;; @@ -358,6 +373,9 @@ _sinteractive() { sinteractive__subcmd__help__subcmd__session,send) cmd="sinteractive__subcmd__help__subcmd__session__subcmd__send" ;; + sinteractive__subcmd__hook,agent-guard) + cmd="sinteractive__subcmd__hook__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__hook,help) cmd="sinteractive__subcmd__hook__subcmd__help" ;; @@ -373,6 +391,9 @@ _sinteractive() { sinteractive__subcmd__hook,worktree-remove) cmd="sinteractive__subcmd__hook__subcmd__worktree__subcmd__remove" ;; + sinteractive__subcmd__hook__subcmd__help,agent-guard) + cmd="sinteractive__subcmd__hook__subcmd__help__subcmd__agent__subcmd__guard" + ;; sinteractive__subcmd__hook__subcmd__help,help) cmd="sinteractive__subcmd__hook__subcmd__help__subcmd__help" ;; @@ -669,7 +690,7 @@ _sinteractive() { return 0 ;; sinteractive__subcmd__claude__subcmd__help__subcmd__hook) - opts="session-start prompt worktree-create worktree-remove" + opts="session-start prompt worktree-create worktree-remove agent-guard" if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -682,6 +703,20 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__agent__subcmd__guard) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__prompt) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then @@ -781,7 +816,7 @@ _sinteractive() { return 0 ;; sinteractive__subcmd__claude__subcmd__hook) - opts="-h --help session-start prompt worktree-create worktree-remove help" + opts="-h --help session-start prompt worktree-create worktree-remove agent-guard help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -794,8 +829,22 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__claude__subcmd__hook__subcmd__agent__subcmd__guard) + opts="-h --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__claude__subcmd__hook__subcmd__help) - opts="session-start prompt worktree-create worktree-remove help" + opts="session-start prompt worktree-create worktree-remove agent-guard help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -808,6 +857,20 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__agent__subcmd__guard) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__help) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then @@ -1333,7 +1396,7 @@ _sinteractive() { return 0 ;; sinteractive__subcmd__help__subcmd__claude__subcmd__hook) - opts="session-start prompt worktree-create worktree-remove" + opts="session-start prompt worktree-create worktree-remove agent-guard" if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -1346,6 +1409,20 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__agent__subcmd__guard) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__prompt) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then @@ -1571,7 +1648,7 @@ _sinteractive() { return 0 ;; sinteractive__subcmd__help__subcmd__hook) - opts="session-start prompt worktree-create worktree-remove" + opts="session-start prompt worktree-create worktree-remove agent-guard" if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -1584,6 +1661,20 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__help__subcmd__hook__subcmd__agent__subcmd__guard) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__help__subcmd__hook__subcmd__prompt) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then @@ -1921,7 +2012,7 @@ _sinteractive() { return 0 ;; sinteractive__subcmd__hook) - opts="-h --help session-start prompt worktree-create worktree-remove help" + opts="-h --help session-start prompt worktree-create worktree-remove agent-guard help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -1934,8 +2025,22 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__hook__subcmd__agent__subcmd__guard) + opts="-h --help" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__hook__subcmd__help) - opts="session-start prompt worktree-create worktree-remove help" + opts="session-start prompt worktree-create worktree-remove agent-guard help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 @@ -1948,6 +2053,20 @@ _sinteractive() { COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; + sinteractive__subcmd__hook__subcmd__help__subcmd__agent__subcmd__guard) + opts="" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + fi + case "${prev}" in + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) + return 0 + ;; sinteractive__subcmd__hook__subcmd__help__subcmd__help) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then diff --git a/completions/sinteractive.fish b/completions/sinteractive.fish index ba3c7b5..d6974ae 100644 --- a/completions/sinteractive.fish +++ b/completions/sinteractive.fish @@ -152,6 +152,7 @@ complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __ complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from hook" -f -a "prompt" -d 'UserPromptSubmit: warn when walltime is short' complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from hook" -f -a "worktree-create" -d 'WorktreeCreate: make the worktree on the cluster\'s scratch filesystem' complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from hook" -f -a "worktree-remove" -d 'WorktreeRemove: remove a worktree the create hook made' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from hook" -f -a "agent-guard" -d 'PreToolUse (Agent): require confirmation before a Fable subagent' complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from hook" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from statusline" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand claude; and __fish_seen_subcommand_from mcp" -s h -l help -d 'Print help' @@ -197,20 +198,23 @@ complete -c sinteractive -n "__fish_sinteractive_using_subcommand snapshot" -l j complete -c sinteractive -n "__fish_sinteractive_using_subcommand snapshot" -l json -d 'Machine-readable JSON output' complete -c sinteractive -n "__fish_sinteractive_using_subcommand snapshot" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand agent-context" -s h -l help -d 'Print help' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -s h -l help -d 'Print help' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -f -a "session-start" -d 'SessionStart: print the agent briefing' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -f -a "prompt" -d 'UserPromptSubmit: warn when walltime is short' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -f -a "worktree-create" -d 'WorktreeCreate: make the worktree on the cluster\'s scratch filesystem' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -f -a "worktree-remove" -d 'WorktreeRemove: remove a worktree the create hook made' -complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -s h -l help -d 'Print help' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "session-start" -d 'SessionStart: print the agent briefing' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "prompt" -d 'UserPromptSubmit: warn when walltime is short' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "worktree-create" -d 'WorktreeCreate: make the worktree on the cluster\'s scratch filesystem' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "worktree-remove" -d 'WorktreeRemove: remove a worktree the create hook made' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "agent-guard" -d 'PreToolUse (Agent): require confirmation before a Fable subagent' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and not __fish_seen_subcommand_from session-start prompt worktree-create worktree-remove agent-guard help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from session-start" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from prompt" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from worktree-create" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from worktree-remove" -s h -l help -d 'Print help' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from agent-guard" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "session-start" -d 'SessionStart: print the agent briefing' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "prompt" -d 'UserPromptSubmit: warn when walltime is short' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "worktree-create" -d 'WorktreeCreate: make the worktree on the cluster\'s scratch filesystem' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "worktree-remove" -d 'WorktreeRemove: remove a worktree the create hook made' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "agent-guard" -d 'PreToolUse (Agent): require confirmation before a Fable subagent' complete -c sinteractive -n "__fish_sinteractive_using_subcommand hook; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' complete -c sinteractive -n "__fish_sinteractive_using_subcommand statusline" -s h -l help -d 'Print help' complete -c sinteractive -n "__fish_sinteractive_using_subcommand mcp" -s h -l help -d 'Print help' @@ -270,3 +274,4 @@ complete -c sinteractive -n "__fish_sinteractive_using_subcommand help; and __fi complete -c sinteractive -n "__fish_sinteractive_using_subcommand help; and __fish_seen_subcommand_from hook" -f -a "prompt" -d 'UserPromptSubmit: warn when walltime is short' complete -c sinteractive -n "__fish_sinteractive_using_subcommand help; and __fish_seen_subcommand_from hook" -f -a "worktree-create" -d 'WorktreeCreate: make the worktree on the cluster\'s scratch filesystem' complete -c sinteractive -n "__fish_sinteractive_using_subcommand help; and __fish_seen_subcommand_from hook" -f -a "worktree-remove" -d 'WorktreeRemove: remove a worktree the create hook made' +complete -c sinteractive -n "__fish_sinteractive_using_subcommand help; and __fish_seen_subcommand_from hook" -f -a "agent-guard" -d 'PreToolUse (Agent): require confirmation before a Fable subagent' diff --git a/completions/sinteractive.zsh b/completions/sinteractive.zsh index 38e92fb..0aa9cf0 100644 --- a/completions/sinteractive.zsh +++ b/completions/sinteractive.zsh @@ -309,6 +309,12 @@ _arguments "${_arguments_options[@]}" : \ '--help[Print help]' \ && ret=0 ;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; (help) _arguments "${_arguments_options[@]}" : \ ":: :_sinteractive__subcmd__claude__subcmd__hook__subcmd__help_commands" \ @@ -337,6 +343,10 @@ _arguments "${_arguments_options[@]}" : \ _arguments "${_arguments_options[@]}" : \ && ret=0 ;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; (help) _arguments "${_arguments_options[@]}" : \ && ret=0 @@ -408,6 +418,10 @@ _arguments "${_arguments_options[@]}" : \ (worktree-remove) _arguments "${_arguments_options[@]}" : \ && ret=0 +;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 ;; esac ;; @@ -611,6 +625,12 @@ _arguments "${_arguments_options[@]}" : \ '--help[Print help]' \ && ret=0 ;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +'-h[Print help]' \ +'--help[Print help]' \ +&& ret=0 +;; (help) _arguments "${_arguments_options[@]}" : \ ":: :_sinteractive__subcmd__hook__subcmd__help_commands" \ @@ -639,6 +659,10 @@ _arguments "${_arguments_options[@]}" : \ _arguments "${_arguments_options[@]}" : \ && ret=0 ;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 +;; (help) _arguments "${_arguments_options[@]}" : \ && ret=0 @@ -839,6 +863,10 @@ _arguments "${_arguments_options[@]}" : \ (worktree-remove) _arguments "${_arguments_options[@]}" : \ && ret=0 +;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 ;; esac ;; @@ -939,6 +967,10 @@ _arguments "${_arguments_options[@]}" : \ (worktree-remove) _arguments "${_arguments_options[@]}" : \ && ret=0 +;; +(agent-guard) +_arguments "${_arguments_options[@]}" : \ +&& ret=0 ;; esac ;; @@ -1105,9 +1137,15 @@ _sinteractive__subcmd__claude__subcmd__help__subcmd__hook_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ ) _describe -t commands 'sinteractive claude help hook commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive claude help hook agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__prompt_commands] )) || _sinteractive__subcmd__claude__subcmd__help__subcmd__hook__subcmd__prompt_commands() { local commands; commands=() @@ -1150,10 +1188,16 @@ _sinteractive__subcmd__claude__subcmd__hook_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ 'help:Print this message or the help of the given subcommand(s)' \ ) _describe -t commands 'sinteractive claude hook commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__claude__subcmd__hook__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__claude__subcmd__hook__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive claude hook agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__claude__subcmd__hook__subcmd__help_commands] )) || _sinteractive__subcmd__claude__subcmd__hook__subcmd__help_commands() { local commands; commands=( @@ -1161,10 +1205,16 @@ _sinteractive__subcmd__claude__subcmd__hook__subcmd__help_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ 'help:Print this message or the help of the given subcommand(s)' \ ) _describe -t commands 'sinteractive claude hook help commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive claude hook help agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__help_commands] )) || _sinteractive__subcmd__claude__subcmd__hook__subcmd__help__subcmd__help_commands() { local commands; commands=() @@ -1389,9 +1439,15 @@ _sinteractive__subcmd__help__subcmd__claude__subcmd__hook_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ ) _describe -t commands 'sinteractive help claude hook commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive help claude hook agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__prompt_commands] )) || _sinteractive__subcmd__help__subcmd__claude__subcmd__hook__subcmd__prompt_commands() { local commands; commands=() @@ -1483,9 +1539,15 @@ _sinteractive__subcmd__help__subcmd__hook_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ ) _describe -t commands 'sinteractive help hook commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__help__subcmd__hook__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__help__subcmd__hook__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive help hook agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__help__subcmd__hook__subcmd__prompt_commands] )) || _sinteractive__subcmd__help__subcmd__hook__subcmd__prompt_commands() { local commands; commands=() @@ -1618,10 +1680,16 @@ _sinteractive__subcmd__hook_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ 'help:Print this message or the help of the given subcommand(s)' \ ) _describe -t commands 'sinteractive hook commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__hook__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__hook__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive hook agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__hook__subcmd__help_commands] )) || _sinteractive__subcmd__hook__subcmd__help_commands() { local commands; commands=( @@ -1629,10 +1697,16 @@ _sinteractive__subcmd__hook__subcmd__help_commands() { 'prompt:UserPromptSubmit\: warn when walltime is short' \ 'worktree-create:WorktreeCreate\: make the worktree on the cluster'\''s scratch filesystem' \ 'worktree-remove:WorktreeRemove\: remove a worktree the create hook made' \ +'agent-guard:PreToolUse (Agent)\: require confirmation before a Fable subagent' \ 'help:Print this message or the help of the given subcommand(s)' \ ) _describe -t commands 'sinteractive hook help commands' commands "$@" } +(( $+functions[_sinteractive__subcmd__hook__subcmd__help__subcmd__agent-guard_commands] )) || +_sinteractive__subcmd__hook__subcmd__help__subcmd__agent-guard_commands() { + local commands; commands=() + _describe -t commands 'sinteractive hook help agent-guard commands' commands "$@" +} (( $+functions[_sinteractive__subcmd__hook__subcmd__help__subcmd__help_commands] )) || _sinteractive__subcmd__hook__subcmd__help__subcmd__help_commands() { local commands; commands=() diff --git a/docs/deploy.md b/docs/deploy.md index f176a6b..c4a3871 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -92,7 +92,7 @@ Then check it: ```bash sinteractive doctor -# ✓ binary /home/me/.local/bin/sinteractive 1.2.0 (zellij 0.45.1) +# ✓ binary /home/me/.local/bin/sinteractive 1.3.0 (zellij 0.45.1) # ✓ plugin status plugin embedded # ✓ bundle extracted to /home/me/.cache/sinteractive/bin/1a14af25b66b # ✓ cache /home/me/.cache/sinteractive writable on nfs (2.0 GB) diff --git a/man/sinteractive.1 b/man/sinteractive.1 index 88b6e76..c2fba0c 100644 --- a/man/sinteractive.1 +++ b/man/sinteractive.1 @@ -1,6 +1,6 @@ .ie \n(.g .ds Aq \(aq .el .ds Aq ' -.TH sinteractive 1 "sinteractive 1.2.0" +.TH sinteractive 1 "sinteractive 1.3.0" .SH NAME sinteractive \- Persistent interactive sessions on Slurm compute nodes .SH SYNOPSIS @@ -85,4 +85,4 @@ Generated output: completions, man page, JSON schemas sinteractive\-help(1) Print this message or the help of the given subcommand(s) .SH VERSION -v1.2.0 +v1.3.0