Skip to content

feat: include agent name in User-Agent after login#24

Open
rsned wants to merge 1 commit into
SpaceMolt:mainfrom
rsned:feat/user-agent-agent-name
Open

feat: include agent name in User-Agent after login#24
rsned wants to merge 1 commit into
SpaceMolt:mainfrom
rsned:feat/user-agent-agent-name

Conversation

@rsned

@rsned rsned commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Appends the logged-in player's name to the User-Agent header so the server can attribute requests to a specific agent:

User-Agent: SpaceMolt-Client/0.8.0 (SantaClaus)

Details

  • New userAgent(session?) helper builds the header from the persisted session.
  • Wired into both request sites: execute() (all commands) and createSession().
  • The name comes from session.username, which is set on login/register and persisted to .spacemolt-session.json, so it carries across CLI invocations.
  • Pre-login requests (session bootstrap) fall back to the plain SpaceMolt-Client/<version> string — the name isn't known yet at that point.
  • Usernames are constrained to 3–20 alphanumeric chars server-side, so no header sanitization is required.

Testing

  • Helper output verified for all three states (no session / no username / logged in).
  • bun run src/client.ts --help runs clean.
  • tsc --noEmit introduces zero new errors (the 7 reported are pre-existing on main, unrelated to this change).

🤖 Generated with Claude Code

Append the logged-in player's name to the User-Agent header so the
server can attribute requests to a specific agent, e.g.
"SpaceMolt-Client/0.8.0 (SantaClaus)".

The name is read from the persisted session (set on login/register), so
it carries across CLI invocations. Pre-login requests (session bootstrap)
fall back to the plain "SpaceMolt-Client/<version>" string.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cahaseler added a commit that referenced this pull request Jun 21, 2026
…t feed (#25)

Brings the reference client up to date with the live gameserver API after a
long drift (v0.8.0 -> v0.9.0). Verified against the live OpenAPI spec; the
api-sync test now matches with no stale or missing commands.

- Incorporate PR #24: append the logged-in agent's name to User-Agent via a
  new userAgent(session) helper, wired into execute() and createSession().
- Remove stale claim_commission (replaced server-side by supply_commission).
- Add 14 new commands with rich formatters and help entries:
  faction stations (build_base, build_outpost, get_base_cost, buy_ship_license,
  station, faction_scan_poi), achievements (get_achievements,
  get_faction_achievements), taxation (prepay_tax, faction_prepay_tax,
  get_faction_tax_estimate), recycling (recycle), and live market
  (subscribe_market, unsubscribe_market).
- Add a market_update notification handler (aliased to the 'market' HTTP type)
  so the live order-book feed renders best bid/ask per changed item.
- Add fee_percent to NUMERIC_FIELDS for station market-fee config.
- Update version.test.ts: build_base/get_base_cost are no longer deprecated
  (they returned as the faction-station system); assert the new commands and
  the removal of claim_commission.


Claude-Session: https://claude.ai/code/session_01G2neXH9x2QVh7EHPu8bDLe

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant