Files
log/scpt/run.zsh
2025-08-09 18:37:58 +09:00

144 lines
3.0 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/zsh
function _env() {
d=${0:a:h}
ailog=$d/target/release/ailog
oauth=$d/oauth
myblog=$d/my-blog
pds=$d/pds
port=4173
#source $oauth/.env.production
case $OSTYPE in
darwin*)
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
;;
esac
}
function _deploy_ailog() {
}
function _sync_versions() {
# Get version from Cargo.toml
local version=$(grep '^version = ' "$d/Cargo.toml" | cut -d'"' -f2)
if [[ -z "$version" ]]; then
echo "⚠️ Could not find version in Cargo.toml"
return 1
fi
echo " Syncing versions to $version"
# Update oauth/package.json
if [[ -f "$d/oauth/package.json" ]]; then
if command -v jq >/dev/null 2>&1; then
local temp_file=$(mktemp)
jq --arg version "$version" '.version = $version' "$d/oauth/package.json" > "$temp_file"
mv "$temp_file" "$d/oauth/package.json"
echo "✅ Updated oauth/package.json to $version"
else
sed -i.bak "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$version\"/" "$d/oauth/package.json"
rm -f "$d/oauth/package.json.bak"
echo "✅ Updated oauth/package.json to $version (sed)"
fi
fi
# Update pds/package.json
if [[ -f "$d/pds/package.json" ]]; then
if command -v jq >/dev/null 2>&1; then
local temp_file=$(mktemp)
jq --arg version "$version" '.version = $version' "$d/pds/package.json" > "$temp_file"
mv "$temp_file" "$d/pds/package.json"
echo "✅ Updated pds/package.json to $version"
else
sed -i.bak "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$version\"/" "$d/pds/package.json"
rm -f "$d/pds/package.json.bak"
echo "✅ Updated pds/package.json to $version (sed)"
fi
fi
}
function _server() {
lsof -ti:$port | xargs kill -9 2>/dev/null || true
cd $d/my-blog
_sync_versions
cargo build --release
cp -rf $ailog $CARGO_HOME/bin/
$ailog build
$ailog serve --port $port
}
function _server_public() {
cloudflared tunnel --config $d/cloudflared-config.yml run
}
function _oauth_build() {
cd $oauth
nvm use 21
npm i
npm run build
rm -rf $myblog/static/assets
cp -rf dist/* $myblog/static/
cp $oauth/dist/index.html $myblog/templates/oauth-assets.html
#npm run preview
}
function _pds_build() {
cd $pds
nvm use 21
npm i
npm run build
rm -rf $myblog/static/pds
cp -rf dist $myblog/static/pds
}
function _pds_server() {
cd $pds
nvm use 21
npm run preview
}
function _server_comment() {
cargo build --release
cp -rf $ailog $CARGO_HOME/bin/
AILOG_DEBUG_ALL=1 $ailog stream start my-blog
}
function _server_ollama(){
lsof -ti:11434 | xargs kill -9 2>/dev/null || true
brew services stop ollama
OLLAMA_ORIGINS="https://log.syui.ai" ollama serve
}
_env
case "${1:-serve}" in
tunnel|c)
_server_public
;;
oauth|o)
_oauth_build
;;
pds|p)
_pds_build
;;
pds-server|ps)
_pds_server
;;
n)
oauth=$d/oauth_old
_oauth_build
;;
comment|co)
_server_comment
;;
ollama|ol)
_server_ollama
;;
serve|s|*)
_server
;;
esac