Skip to content

Commit 97aeebd

Browse files
fix: configure HoS stake credit rate
1 parent bf9d869 commit 97aeebd

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

scripts/configure_chat_api_hos_system_configs.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ set -euo pipefail
99
# Optional:
1010
# CHAT_API_URL=http://localhost:8080
1111
# DRY_RUN=1
12+
# HOS_CREDITS_PER_STAKED_NEAR_NANO_USD=2500000000 # 0.4 NEAR per $1 credit
1213
#
1314
# Optional Stripe preservation/addition:
1415
# STRIPE_STARTER_PRICE_ID=price_...
@@ -23,6 +24,7 @@ HOS_AGENT_STARTER_PRICE_ID="${HOS_AGENT_STARTER_PRICE_ID:-price_RjiajH4KEZ43w68D
2324
HOS_AGENT_BASIC_PRICE_ID="${HOS_AGENT_BASIC_PRICE_ID:-price_h577VYQUEynPA3uQt1u1neGn}"
2425
HOS_AGENT_PRO_PRICE_ID="${HOS_AGENT_PRO_PRICE_ID:-price_7EAls0E844ULR06EEl53fQoI}"
2526
HOS_CREDIT_PRICE_ID="${HOS_CREDIT_PRICE_ID:-price_z2EbTifr7Nyqwt6v5kFqSiUb}"
27+
HOS_CREDITS_PER_STAKED_NEAR_NANO_USD="${HOS_CREDITS_PER_STAKED_NEAR_NANO_USD:-2500000000}"
2628

2729
DEFAULT_CREDITS_PROVIDER="${DEFAULT_CREDITS_PROVIDER:-stripe}"
2830
DRY_RUN="${DRY_RUN:-0}"
@@ -36,6 +38,7 @@ export HOS_AGENT_STARTER_PRICE_ID
3638
export HOS_AGENT_BASIC_PRICE_ID
3739
export HOS_AGENT_PRO_PRICE_ID
3840
export HOS_CREDIT_PRICE_ID
41+
export HOS_CREDITS_PER_STAKED_NEAR_NANO_USD
3942
export DEFAULT_CREDITS_PROVIDER
4043

4144
python3 - "$CHAT_API_URL" "$ADMIN_SESSION_TOKEN" "$DRY_RUN" <<'PY'
@@ -82,8 +85,20 @@ def env(name, default=None):
8285
return value.strip() if isinstance(value, str) else value
8386
8487
88+
def int_env(name, default=None):
89+
value = env(name, default)
90+
try:
91+
return int(value)
92+
except (TypeError, ValueError) as error:
93+
raise SystemExit(f"{name} must be an integer, got {value!r}") from error
94+
95+
8596
current = request_json("GET", "/v1/admin/configs") or {}
8697
subscription_plans = current.get("subscription_plans") or {}
98+
hos_credits_per_staked_near_nano_usd = int_env(
99+
"HOS_CREDITS_PER_STAKED_NEAR_NANO_USD",
100+
"2500000000",
101+
)
87102
88103
hos_plans = {
89104
"starter": {
@@ -115,6 +130,9 @@ for plan_name, hos_config in hos_plans.items():
115130
providers["stripe"] = {"price_id": stripe_price_id}
116131
plan["providers"] = providers
117132
plan["agent_instances"] = hos_config["agent_instances"]
133+
plan["stake_based_monthly_credits"] = {
134+
"credits_per_staked_near_nano_usd": hos_credits_per_staked_near_nano_usd,
135+
}
118136
subscription_plans[plan_name] = plan
119137
120138
credits = dict(current.get("credits") or {})

0 commit comments

Comments
 (0)