FISH_SCRIPT

Constant FISH_SCRIPT 

Source
const FISH_SCRIPT: &str = "# AgentMux shell integration for fish\n# Deployed to: ~/.agentmux/shell/fish/wave.fish\n# Loaded via: fish -C \"source <this-file>\"\n\n# wsh has been retired \u{2014} AGENTMUX is now a plain \"1\" sentinel.\n# See specs/SPEC_RETIRE_WSH_2026_04_12.md.\n\n# \u{2500}\u{2500}\u{2500} Shell Integration \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\n\nfunction _agentmux_si_blocked\n    test -n \"$TMUX\"; or test -n \"$STY\"\nend\n\nfunction _agentmux_si_osc7\n    _agentmux_si_blocked; and return\n    set -l encoded (string escape --style url -- $PWD)\n    printf \'\\033]7;file://%s%s\\007\' (hostname) \"$encoded\"\nend\n\nfunction _agentmux_si_json_escape\n    set -l s $argv[1]\n    set s (string replace -a \'\\\\\' \'\\\\\\\\\' -- $s)\n    set s (string replace -a \'\"\' \'\\\\\"\' -- $s)\n    printf \'%s\' $s\nend\n\nset -g _AGENTMUX_SI_LAST_AGENT \"\"\n\n# Send AGENTMUX_AGENT_ID via OSC 16162;E on every prompt (only when changed)\nfunction _agentmux_si_agent_env\n    _agentmux_si_blocked; and return\n    set -l current_agent \"\"\n    if set -q AGENTMUX_AGENT_ID; and test -n \"$AGENTMUX_AGENT_ID\"\n        set current_agent \"AGENTMUX_AGENT_ID:$AGENTMUX_AGENT_ID:COLOR:$AGENTMUX_AGENT_COLOR\"\n    end\n    if test \"$current_agent\" != \"$_AGENTMUX_SI_LAST_AGENT\"\n        set -g _AGENTMUX_SI_LAST_AGENT \"$current_agent\"\n        if set -q AGENTMUX_AGENT_ID; and test -n \"$AGENTMUX_AGENT_ID\"\n            set -l escaped (_agentmux_si_json_escape \"$AGENTMUX_AGENT_ID\")\n            set -l payload \"{\\\"AGENTMUX_AGENT_ID\\\":\\\"$escaped\\\"\"\n            if set -q AGENTMUX_AGENT_COLOR; and test -n \"$AGENTMUX_AGENT_COLOR\"\n                set -l color_escaped (_agentmux_si_json_escape \"$AGENTMUX_AGENT_COLOR\")\n                set payload \"$payload,\\\"AGENTMUX_AGENT_COLOR\\\":\\\"$color_escaped\\\"\"\n            end\n            set payload \"$payload}\"\n            printf \'\\033]16162;E;%s\\007\' \"$payload\"\n        else\n            printf \'\\033]16162;E;{}\\007\'\n        end\n    end\nend\n\n# \u{2500}\u{2500}\u{2500} muxlog \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\n# Discover, render & follow AgentMux logs across every running instance.\n# Delegates to the shared Node core (muxlog.mjs). `muxlog help` for usage,\n# `muxlog ls` to list every instance\'s logs.\nset -g _agentmux_muxlog_js (dirname (status -f))/../muxlog.mjs\nfunction muxlog\n    if command -q node; and test -f \"$_agentmux_muxlog_js\"\n        node \"$_agentmux_muxlog_js\" $argv\n        return\n    end\n    # Fallback (no node / core missing): legacy pointer-based tail.\n    set -l target (test (count $argv) -ge 1; and echo $argv[1]; or echo \"host\")\n    set -l action (test (count $argv) -ge 2; and echo $argv[2]; or echo \"tail\")\n    if not set -q AGENTMUX_LOG_DIR\n        echo \"AGENTMUX_LOG_DIR not set \u{2014} run inside an AgentMux terminal\" >&2\n        return 1\n    end\n    set -l ptr \"$AGENTMUX_LOG_DIR/current-$target-v$AGENTMUX_VERSION.path\"\n    if not test -f \"$ptr\"\n        echo \"muxlog: Node core unavailable and no pointer for \'$target\'\" >&2\n        return 1\n    end\n    set -l ptr_content (cat \"$ptr\")\n    set -l logfile\n    if string match -q \'/*\' \"$ptr_content\"; or string match -q \'?:[/\\\\]*\' \"$ptr_content\"\n        set logfile \"$ptr_content\"\n    else\n        set logfile \"$AGENTMUX_LOG_DIR/$ptr_content\"\n    end\n    switch $action\n        case tail\n            tail -f \"$logfile\"\n        case cat\n            cat \"$logfile\"\n        case \'*\'\n            grep \"$action\" \"$logfile\"\n    end\nend\n\nfunction _agentmux_si_prompt --on-event fish_prompt\n    _agentmux_si_osc7\n    _agentmux_si_agent_env\nend\n";