gravityyy-proxyyy / scripts /export-config-env.sh
bardd's picture
Fix gemini-3.1-pro-high by routing to pro-low with thinkingLevel high.
4badc3b
Raw
History Blame Contribute Delete
2.58 kB
#!/usr/bin/env bash
# Export accounts.json β†’ Hugging Face CONFIG_ENV secret format.
#
# Usage:
# ./scripts/export-config-env.sh
# ./scripts/export-config-env.sh /path/to/accounts.json
# ./scripts/export-config-env.sh /path/to/accounts.json /path/to/output.txt
#
# Default output: <repo>/hf-config-env.txt (gitignored)
# Paste that file into HF Space Settings β†’ Secrets β†’ CONFIG_ENV.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
ACCOUNTS_FILE="${1:-${HOME}/.config/antigravity-proxy/accounts.json}"
OUTPUT_FILE="${2:-${REPO_ROOT}/hf-config-env.txt}"
if [[ ! -f "${ACCOUNTS_FILE}" ]]; then
echo "Error: accounts file not found: ${ACCOUNTS_FILE}" >&2
echo "Usage: $0 [path/to/accounts.json] [path/to/output.txt]" >&2
exit 1
fi
node --input-type=module - "${ACCOUNTS_FILE}" <<'EOF' > "${OUTPUT_FILE}"
import { readFileSync } from 'fs';
const accountsPath = process.argv[2];
let data;
try {
data = JSON.parse(readFileSync(accountsPath, 'utf8'));
} catch (error) {
console.error(`Error: failed to read ${accountsPath}: ${error.message}`);
process.exit(1);
}
const accounts = data.accounts;
if (!Array.isArray(accounts) || accounts.length === 0) {
console.error('Error: no accounts found in file');
process.exit(1);
}
const lines = [];
for (let i = 0; i < accounts.length; i += 1) {
const acc = accounts[i];
const n = i + 1;
const email = String(acc.email || '').trim();
const refreshToken = String(acc.refreshToken || '').trim();
if (!email || !refreshToken) {
console.error(`Error: account ${n} is missing email or refreshToken`);
process.exit(1);
}
const parts = refreshToken.split('|');
const projectId = String(
acc.subscription?.projectId || parts[1] || parts[2] || ''
).trim();
let tier = String(acc.subscription?.tier || '').trim().toLowerCase();
if (!tier || tier === 'unknown') {
tier = 'pro';
}
lines.push(`ANTIGRAVITY_${n}_EMAIL=${email}`);
lines.push(`ANTIGRAVITY_${n}_REFRESH_TOKEN=${refreshToken}`);
if (projectId) {
lines.push(`ANTIGRAVITY_${n}_PROJECT_ID=${projectId}`);
}
lines.push(`ANTIGRAVITY_${n}_TIER=${tier}`);
lines.push('');
}
process.stdout.write(lines.join('\n'));
EOF
chmod 600 "${OUTPUT_FILE}"
account_count="$(grep -c '^ANTIGRAVITY_[0-9]\+_EMAIL=' "${OUTPUT_FILE}" || true)"
echo "Wrote ${account_count} account(s) to: ${OUTPUT_FILE}"
echo "Paste that file into Hugging Face β†’ Space Settings β†’ Secrets β†’ CONFIG_ENV"
echo "Do not commit this file (listed in .gitignore)."