#!/bin/bash

set -e

# Parse command line arguments
DEV_MODE=false
for arg in "$@"; do
    if [ "$arg" = "--dev" ]; then
        DEV_MODE=true
    fi
done

echo "Starting opencode server on port 4096..."
bun run ./packages/opencode/src/index.ts serve --port 4096 &
SERVER_PID=$!

echo "Waiting for server to start..."
sleep 3

echo "Fetching OpenAPI spec from http://127.0.0.1:4096/doc..."
curl -s http://127.0.0.1:4096/doc > openapi.json

echo "Stopping server..."
kill $SERVER_PID

echo "Running stl builds create..."
stl builds create --branch dev --pull --allow-empty --targets go 

echo "Cleaning up..."
rm -rf packages/tui/sdk
mv opencode-go/ packages/tui/sdk/
rm -rf packages/tui/sdk/.git

# Only run production build if not in dev mode
if [ "$DEV_MODE" = false ]; then
    echo "Kicking off production build..."
    stl builds create --branch main --wait=false
else
    echo "Skipping production build (--dev flag detected)"
fi

echo "Done!"

