#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-only
# SPDX-FileCopyrightText: 2026 OpenVox MCP Server Contributors
#
# Wrapper script for openvox-mcp-server (HTTP transport)
# Installed to /opt/openvox-mcp/bin/openvox-mcp-server
# Sets up the embedded Ruby environment and execs the real entry point.

set -euo pipefail

OPENVOX_MCP_ROOT=/opt/openvox-mcp

export LD_LIBRARY_PATH="$OPENVOX_MCP_ROOT/ruby/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export GEM_HOME="$OPENVOX_MCP_ROOT/vendor/ruby/3.3.0"
export GEM_PATH="$GEM_HOME"
export PATH="$OPENVOX_MCP_ROOT/ruby/bin:$PATH"

# Bundler env vars — explicit per ci_hygiene rule_046.
# Never rely on .bundle/config surviving fpm packaging (hidden directories
# may not survive rsync/fpm/dpkg copy operations).
# BUNDLE_PATH points at $OPENVOX_MCP_ROOT/vendor so Bundler resolves
# vendored gems at $OPENVOX_MCP_ROOT/vendor/ruby/3.3.0/gems/<gem> — the
# same layout produced by build.sh's `gem install --install-dir`.
export BUNDLE_GEMFILE="$OPENVOX_MCP_ROOT/app/Gemfile"
export BUNDLE_PATH="$OPENVOX_MCP_ROOT/vendor"
export BUNDLE_DEPLOYMENT="true"
export BUNDLE_WITHOUT="development:test"

# Load user configuration if present
if [[ -f /etc/openvox-mcp/openvox-mcp.yml ]]; then
  export OPENVOX_MCP_CONFIG=/etc/openvox-mcp/openvox-mcp.yml
fi

exec "$OPENVOX_MCP_ROOT/ruby/bin/ruby" \
  "$OPENVOX_MCP_ROOT/app/bin/openvox-mcp-server" "$@"
