11 Commits
Author SHA1 Message Date
max bittkerandClaude Opus 5.5 df3d8888ae feat(sdk,mcp): cancellable execute_code, bot.mineRock, bounded walkTo
execute_code
- Cancellation now reaches inside the SDK via an AsyncLocalStorage scope:
  timeout, MCP cancel, or a newer call rejects pending waits and blocks
  further action packets, including those inside walkTo().
- One execution per bot: a new call supersedes the running one and starts
  once it has unwound; disconnect_bot does the same.
- Cancelled user code parks on bot/sdk calls instead of throwing, so a
  catch-all loop can't spin and starve the server.
- Console capture is routed per execution, so concurrent bots no longer
  clobber each other's output; leftover logs go to stderr.
- Stale world state warns and still runs, so a stale client can be diagnosed.
- Credentials are redacted from logs, results and launch messages.

SDK
- bot.mineRock() waits for ore plus Mining XP; interactLoc docs note that
  success can mean the action only started.
- walkTo() takes options.timeout (default 120s), refuses stale state, and
  reports the real last position.
- runScript uses the same cancellation scope for timeouts and signals.

Docs trimmed of duplicated or stale execute_code text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:30:19 -04:00
max bittker 69d5b709c8 feat: ship Grand Exchange with durable Fly market storage 2026-09-07 23:28:51 -04:00
max bittker 160ffcbb50 combat improvements 2026-07-26 15:16:37 -04:00
max bittker 448ff85b21 a 2026-07-25 14:46:55 -04:00
max bittkerandClaude Opus 5 11424fa84d feat(sdk): add a bug-report CLI and a write-only endpoint to collect them
Agents hit SDK papercuts constantly - a method returns success:true and
nothing happened, a dialog option isn't where the docs say it is - and
there was nowhere to put that. Filing one is now a single command:

  bun sdk/bug-report.ts "walkTo returns success at closed gates"

The SDK's git commit is stamped on every report, so a report points at the
code that produced it.

Server side, POST /bug-report appends JSONL to the mounted volume
(BUG_REPORTS_FILE in fly.toml, so reports survive deploys). The endpoint is
deliberately write-only: nothing is served back over HTTP, and reports are
read off the machine with

  fly ssh console -C "cat /opt/server/data/bug-reports.jsonl"

Reports always go to rs-sdk-demo.fly.dev, never to whatever SERVER a bot is
playing on - a bug found against a local server is still a bug in the SDK.
Telemetry is on by default; TELEMETRY=false in bot.env or the environment
turns it off.

Also renames claude.md -> CLAUDE.md and agents.md -> AGENTS.md. Those names
only resolved on macOS: the filesystem is case-insensitive here, so git had
recorded lowercase names that no tool would find on a case-sensitive
checkout. Verified on a case-sensitive volume - before the rename, lookups
for CLAUDE.md and AGENTS.md both missed; after, all three resolve to the one
real file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 14:43:49 -04:00
max bittkerandClaude Fable 5 faebf16f70 MCP: fold sub-package into root and serve live API docs
- @modelcontextprotocol/sdk moves to the root package.json; mcp/ no longer
  carries its own package.json/bun.lock/node_modules (23MB install layer
  and second lockfile gone). Smoke-tested: initialize handshake +
  resources/read both work off root node_modules.
- The two hand-maintained MCP resources (mcp/api/{bot,sdk}.ts) had
  drifted stale (missing the Jul 6 chat APIs) — deleted, and the resource
  now points at the auto-generated sdk/API.md.
- Fixed connect_bot references (tool doesn't exist; bots auto-connect),
  the pre-rename server path in the manual-setup snippet, and install
  instructions in mcp/README.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 19:12:15 -04:00
max bittker 3ef2897049 docs fixed 2026-04-03 14:04:52 -04:00
max bittker c7fcd63866 bring back mcp 2026-03-10 12:25:53 -04:00
max bittkerandClaude Opus 4.6 411092d0e6 Remove MCP server and related config
The MCP approach is being replaced by the CLI daemon for bot control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:32:55 -05:00
max bittker 669d937ec5 cleanup 2026-02-26 10:47:34 -05:00
max bittker 0e2eed2146 janky mcp 2026-01-29 17:55:32 -05:00