#!/bin/sh
# Pinned shell entry point for teleclaude-managed tmux sessions.
#
# Installed as $SHELL inside tmux sessions so any agent CLI that respects
# $SHELL lands here first. The wrapper exports TeleClaude's environment
# pins, then execs the resolved host shell from TELECLAUDE_HOST_SHELL.
#
# Resolves the teleclaude runtime root via $TELECLAUDE_HOME (matching
# teleclaude.paths.TELECLAUDE_HOME), falling back to ~/.teleclaude when
# the override is absent. Tests and ops that point TELECLAUDE_HOME at a
# tmp tree get a self-consistent shell environment in that tree.
TC_HOME="${TELECLAUDE_HOME:-$HOME/.teleclaude}"
case ":$PATH:" in
  ":$TC_HOME/bin:"*) ;;
  *) PATH="$TC_HOME/bin:$PATH" ;;
esac
ZDOTDIR="$TC_HOME/shell"
BASH_ENV="$TC_HOME/shell/.bashenv"
ENV="$TC_HOME/shell/.profile"
export PATH ZDOTDIR BASH_ENV ENV

if [ -n "${TELECLAUDE_HOST_SHELL:-}" ] && command -v "$TELECLAUDE_HOST_SHELL" >/dev/null 2>&1; then
  exec "$TELECLAUDE_HOST_SHELL" "$@"
fi

exec sh "$@"
