62 lines
2.0 KiB
Bash
Executable File
62 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script to check if swiftopenai-cli is installed and install/update if needed
|
|
|
|
set -e
|
|
|
|
REQUIRED_VERSION="1.4.4"
|
|
PACKAGE_NAME="swiftopenai-cli"
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo "🔍 Checking SwiftOpenAI-CLI installation..."
|
|
|
|
# Check if swiftopenai command exists
|
|
if ! command -v swiftopenai &> /dev/null; then
|
|
echo -e "${YELLOW}SwiftOpenAI-CLI is not installed.${NC}"
|
|
echo "📦 Installing swiftopenai-cli via npm..."
|
|
npm install -g swiftopenai-cli
|
|
echo -e "${GREEN}✅ SwiftOpenAI-CLI installed successfully!${NC}"
|
|
swiftopenai --version
|
|
exit 0
|
|
fi
|
|
|
|
# Get current version
|
|
CURRENT_VERSION=$(swiftopenai --version 2>&1 | tr -d '\n')
|
|
|
|
echo "📌 Current version: $CURRENT_VERSION"
|
|
echo "📌 Latest known version: $REQUIRED_VERSION"
|
|
|
|
# Function to compare versions
|
|
version_ge() {
|
|
# Returns 0 if $1 >= $2
|
|
printf '%s\n%s\n' "$2" "$1" | sort -V -C
|
|
}
|
|
|
|
# Check if update is available
|
|
echo "🔍 Checking for updates..."
|
|
LATEST_VERSION=$(npm view swiftopenai-cli version 2>/dev/null || echo "$REQUIRED_VERSION")
|
|
|
|
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
|
|
echo -e "${GREEN}✅ SwiftOpenAI-CLI is up to date (v$CURRENT_VERSION)${NC}"
|
|
elif version_ge "$CURRENT_VERSION" "$REQUIRED_VERSION"; then
|
|
echo -e "${GREEN}✅ SwiftOpenAI-CLI version is acceptable (v$CURRENT_VERSION >= v$REQUIRED_VERSION)${NC}"
|
|
echo -e "${YELLOW}⚠️ A newer version (v$LATEST_VERSION) is available. Consider updating with:${NC}"
|
|
echo " npm update -g swiftopenai-cli"
|
|
else
|
|
echo -e "${YELLOW}⚠️ SwiftOpenAI-CLI is outdated (v$CURRENT_VERSION < v$REQUIRED_VERSION)${NC}"
|
|
echo "🔄 Updating to latest version..."
|
|
npm update -g swiftopenai-cli
|
|
NEW_VERSION=$(swiftopenai --version 2>&1 | tr -d '\n')
|
|
echo -e "${GREEN}✅ Updated to version $NEW_VERSION${NC}"
|
|
fi
|
|
|
|
# Verify installation
|
|
echo ""
|
|
echo "🔧 SwiftOpenAI-CLI is ready to use!"
|
|
echo " Location: $(which swiftopenai)"
|
|
echo " Version: $(swiftopenai --version 2>&1)"
|