Tools
Tool reference
Laterbase gives agents 9 tools. This reference is generated from the server's own tool definitions, so the descriptions are exactly what your agent reads.
The tools
get_contextList every Laterbase workspace you're in, with its pin prefix, repos and areas.search_pinsFind pins in a workspace: the one with pins in `repo`, or the one you name.pins_nearList pins touching the code a task involves.get_pinGet everything about one pin, by its key: files, discovery, gotchas, repro, approach, done-when, links, sightings and history.create_pinPin out-of-scope work you find, or work the user puts off, as soon as it comes up and without asking, so it isn't lost when this session ends.add_sightingRecord that you hit an existing pin again.update_pinCorrect or enrich a pin: re-rate risk, payoff or scope, fix the summary, add files or links, refine the approach (set approach_stage when the user has worked it out with you).set_statusMove a pin through its lifecycle.update_areaRename an area, rewrite its description, or merge it into another.
Lists from your workspace
Some schemas are written for each caller: your workspaces, with their repos, and the areas you can file under appear as allowed values and in the descriptions. The reference shows them for two example workspaces, acme and acme-mobile; your agent sees your own.
Responses
Every result is one JSON text block: the workspace the call ran in, when it ran in one, and the result. Pins are named by key, areas and people by name.
Errors
A failed call is marked as an error and carries a code, a message, and whatever the agent needs to act on it without another round trip.
| Code | Meaning |
|---|---|
possible_duplicates | create_pin found likely duplicates and created nothing; `candidates` lists them. |
unknown_area | An area name isn't in the workspace's list; `areas` lists the ones that are. |
area_near_match | A proposed new area is close to an existing one; `areas` lists them, closest first. |
already_claimed | Someone else holds the claim; `claim` says who and since when. `force` takes it over. |
invalid_transition | The status change isn't allowed, e.g. resolving without a fix. |
invalid_path | A path was absolute or left the repo; the message says how to make it repo-relative. |
workspace_required | The call could mean more than one of your workspaces, or a write names a repo none of them has pins in yet; `workspaces` lists the choices. Pass `workspace`. |
not_found | No pin, area or workspace by that name or key. |
forbidden | Not allowed for you, e.g. an owner-only change, or a workspace you're not in. |
validation | The input didn't match the schema; `issues` lists each problem. |
internal | Something failed on the server. Nothing is leaked; try again. |