Chronicle
chronicleRetrieve the fort's report stream as cursor-addressable events with stable IDs for incremental updates. Filter by category and collapse battle spam.
Instructions
The fort's announcement/report stream (combat, deaths, moods, artifacts, sieges, migrants, ...) as triaged, cursor-addressable events. Reads the rolling, front-pruned report window. Each event carries a stable id (monotonic and save/load-stable); pass the returned top-level cursor back as since to fetch only newer events (id > since). Omitting since returns the most recent limit events (default 50, max 200), oldest-to-newest. If since predates the retained window the response sets pruned:true (earlier events are gone — not silently omitted). Events are triaged into categories (death, birth, marriage, battle, siege, mood, artifact, migrants, diplomacy, cave-in, megabeast, other); filter with categories. Combat spam is tamed: repeat_count is honored, wrapped continuation lines fold into their event, and long consecutive battle runs collapse into a single marker (collapsed:true with collapsed_count) so one siege cannot flood the window — see battle_collapsed. Facts only: unit refs appear only when a report names a speaker (speaker_id != -1); combat reports carry no reliable unit, so they get a pos tile anchor instead. Returns {"error":"no fort loaded"} if no fort is active.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return (default 50, capped at 200); newest are kept. | |
| since | No | Cursor: return only events with id greater than this (from a prior `cursor`). | |
| categories | No | Optional subset of categories to return: death, birth, marriage, battle, siege, mood, artifact, migrants, diplomacy, cave-in, megabeast, other. |