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 helper \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}\nfunction muxlog\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 \"Unknown log target \'$target\'. Check $AGENTMUX_LOG_DIR for current-*.path files.\" >&2\n return 1\n end\n set -l ptr_content (cat \"$ptr\")\n # Pointer content may be a basename (legacy: resolve under\n # AGENTMUX_LOG_DIR) or an absolute path (post-2026-05 host fix:\n # global pointer writes the absolute path so discovery works\n # from outside the instance dir).\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";