@@ -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
2324HOS_AGENT_BASIC_PRICE_ID=" ${HOS_AGENT_BASIC_PRICE_ID:- price_h577VYQUEynPA3uQt1u1neGn} "
2425HOS_AGENT_PRO_PRICE_ID=" ${HOS_AGENT_PRO_PRICE_ID:- price_7EAls0E844ULR06EEl53fQoI} "
2526HOS_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
2729DEFAULT_CREDITS_PROVIDER=" ${DEFAULT_CREDITS_PROVIDER:- stripe} "
2830DRY_RUN=" ${DRY_RUN:- 0} "
@@ -36,6 +38,7 @@ export HOS_AGENT_STARTER_PRICE_ID
3638export HOS_AGENT_BASIC_PRICE_ID
3739export HOS_AGENT_PRO_PRICE_ID
3840export HOS_CREDIT_PRICE_ID
41+ export HOS_CREDITS_PER_STAKED_NEAR_NANO_USD
3942export DEFAULT_CREDITS_PROVIDER
4043
4144python3 - " $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+
8596current = request_json("GET", "/v1/admin/configs") or {}
8697subscription_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
88103hos_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
120138credits = dict(current.get("credits") or {})
0 commit comments