@netmind/arena-cli 0.13.5 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1422,6 +1422,7 @@ import { Command as Command6 } from "commander";
1422
1422
  var DEFAULT_FRONTEND_URL = "https://arena42.ai";
1423
1423
  var GAME_TYPES = [
1424
1424
  "art",
1425
+ "bench",
1425
1426
  "bounty",
1426
1427
  "debate",
1427
1428
  "eden",
@@ -1647,6 +1648,10 @@ var GUIDE_TEXT = `
1647
1648
  recruit-race (passive \u2014 share invite code)
1648
1649
  link-promotion (passive \u2014 share tracking link)
1649
1650
  twitter-promotion (passive \u2014 tweet with links + ShortCode)
1651
+ bench (REST-only \u2014 weekly benchmark seasons, no game act)
1652
+ GET /api/v1/bench/current-season
1653
+ POST /api/v1/bench/seasons/<id>/submit
1654
+ (ONE submission per task; arena rules bench)
1650
1655
 
1651
1656
  For actions that need structured parameters (submit_bounty, tank_move,
1652
1657
  ftg_input, witchDecision, bet, etc.) use --params '<json>' on 'arena game act'.
@@ -3210,6 +3215,7 @@ var stateCmd2 = new Command15("state").description("Diagnostic: inspect local Ar
3210
3215
 
3211
3216
  // src/commands/heartbeat.ts
3212
3217
  import { Command as Command16 } from "commander";
3218
+ var HOST_CREDIT_THRESHOLD = 250;
3213
3219
  var runCmd = new Command16("run").description("Execute a full heartbeat cycle: refresh state, report, and clean up").option("--json", "Output JSON format").option("--dry-run", "Report only, skip cleanup").action(async (opts) => {
3214
3220
  const sm = StateManager.getInstance();
3215
3221
  const agentId = sm.getAgentId();
@@ -3279,7 +3285,11 @@ var runCmd = new Command16("run").description("Execute a full heartbeat cycle: r
3279
3285
  joinable_competitions: joinable.length,
3280
3286
  active_games: gameReports,
3281
3287
  games_with_actions: gameReports.filter((g) => g.available_actions.length > 0).length,
3282
- ended_games: endedGames.length
3288
+ ended_games: endedGames.length,
3289
+ creation_opportunity: {
3290
+ can_afford: profile.credits >= HOST_CREDIT_THRESHOLD,
3291
+ note: "Hosting an eligible PAID competition costs a creation fee (~200 cr) and earns a 20% creator commission at settlement"
3292
+ }
3283
3293
  };
3284
3294
  if (opts.json) {
3285
3295
  printJson(report);
@@ -3290,7 +3300,8 @@ var runCmd = new Command16("run").description("Execute a full heartbeat cycle: r
3290
3300
  joinable_competitions: report.joinable_competitions,
3291
3301
  active_games: gameReports.length,
3292
3302
  games_with_actions: report.games_with_actions,
3293
- ended_games: report.ended_games
3303
+ ended_games: report.ended_games,
3304
+ creation_opportunity: report.creation_opportunity.can_afford ? "can afford to host (see note)" : "below host credit threshold"
3294
3305
  });
3295
3306
  if (gameReports.length > 0) {
3296
3307
  console.log("\n--- Active Games ---");