85 lines
2.8 KiB
Bash
Executable File
85 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check OpenAI SDK versions for Responses API compatibility
|
|
# Minimum version: openai@5.19.0
|
|
|
|
echo "=== OpenAI Responses API - Version Checker ==="
|
|
echo ""
|
|
|
|
# Check if npm is installed
|
|
if ! command -v npm &> /dev/null; then
|
|
echo "❌ npm not found. Please install Node.js and npm."
|
|
exit 1
|
|
fi
|
|
|
|
# Check latest version
|
|
echo "Checking latest openai package version..."
|
|
LATEST_VERSION=$(npm view openai version 2>/dev/null)
|
|
|
|
if [ -z "$LATEST_VERSION" ]; then
|
|
echo "❌ Could not fetch latest version. Check internet connection."
|
|
exit 1
|
|
fi
|
|
|
|
echo "📦 Latest version: $LATEST_VERSION"
|
|
echo ""
|
|
|
|
# Check if package.json exists
|
|
if [ -f "package.json" ]; then
|
|
echo "Checking installed version..."
|
|
INSTALLED_VERSION=$(node -p "require('./package.json').dependencies?.openai || require('./package.json').devDependencies?.openai" 2>/dev/null)
|
|
|
|
if [ ! -z "$INSTALLED_VERSION" ]; then
|
|
# Remove ^ or ~ prefix
|
|
INSTALLED_VERSION=$(echo $INSTALLED_VERSION | sed 's/[\^~]//g')
|
|
echo "📦 Installed version: $INSTALLED_VERSION"
|
|
|
|
# Compare versions (simple string comparison for major.minor.patch)
|
|
REQUIRED_VERSION="5.19.0"
|
|
|
|
# Extract major.minor.patch
|
|
INSTALLED_MAJOR=$(echo $INSTALLED_VERSION | cut -d. -f1)
|
|
INSTALLED_MINOR=$(echo $INSTALLED_VERSION | cut -d. -f2)
|
|
INSTALLED_PATCH=$(echo $INSTALLED_VERSION | cut -d. -f3)
|
|
|
|
REQUIRED_MAJOR=$(echo $REQUIRED_VERSION | cut -d. -f1)
|
|
REQUIRED_MINOR=$(echo $REQUIRED_VERSION | cut -d. -f2)
|
|
REQUIRED_PATCH=$(echo $REQUIRED_VERSION | cut -d. -f3)
|
|
|
|
# Check compatibility
|
|
if [ "$INSTALLED_MAJOR" -gt "$REQUIRED_MAJOR" ] || \
|
|
([ "$INSTALLED_MAJOR" -eq "$REQUIRED_MAJOR" ] && [ "$INSTALLED_MINOR" -gt "$REQUIRED_MINOR" ]) || \
|
|
([ "$INSTALLED_MAJOR" -eq "$REQUIRED_MAJOR" ] && [ "$INSTALLED_MINOR" -eq "$REQUIRED_MINOR" ] && [ "$INSTALLED_PATCH" -ge "$REQUIRED_PATCH" ]); then
|
|
echo "✅ Version is compatible with Responses API (>= $REQUIRED_VERSION)"
|
|
else
|
|
echo "❌ Version is too old for Responses API"
|
|
echo " Required: >= $REQUIRED_VERSION"
|
|
echo " Installed: $INSTALLED_VERSION"
|
|
echo ""
|
|
echo "To upgrade: npm install openai@latest"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "⚠️ openai package not found in dependencies"
|
|
echo ""
|
|
echo "To install: npm install openai"
|
|
fi
|
|
else
|
|
echo "⚠️ No package.json found"
|
|
echo ""
|
|
echo "To install: npm install openai"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Recommendations ==="
|
|
echo ""
|
|
echo "Minimum version for Responses API: openai@5.19.0"
|
|
echo "Latest stable version: openai@$LATEST_VERSION"
|
|
echo ""
|
|
echo "To install/upgrade:"
|
|
echo " npm install openai@latest"
|
|
echo ""
|
|
echo "For Cloudflare Workers (no SDK needed):"
|
|
echo " Use native fetch API"
|
|
echo ""
|