fabro/lib/packages/fabro-api-client
Bryan Helmkamp 0820252bcf
Add the Petri run store endpoints to the API
The worker shape of the integration plan (F1.3) needs a run's worker to
reach the run's Petri records over the server's API. This adds the
contract: six worker-scoped endpoints under `/api/v1/runs/{id}/petri/`
(open, release, list and append records of one log, write and read a
blob), their request and response schemas, and the generated Rust and
TypeScript clients.

A store error needs more than a code: `petri_run_leased` names the
holding owner and `petri_record_conflict` names the refused position.
`ErrorResponseEntry` gains an optional `meta` object for such
code-specific members, `ApiError` can carry it, and the client's
`ApiFailure` parses it beside the code so a caller can act on it.

Records travel as `{seq, recorded_at, record}`, the store's own unit,
with `seq` and `recorded_at` as `uint64`. The log path segment is the
log id's text (`coordinator`, `resources`, `execution <n>`), which the
generated client percent-encodes. The blob write reuses
`WriteBlobResponse`, since Petri's digest is Fabro's blob hash.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 20:12:20 -04:00
..
scripts fix(timing): simplify live timing projections 2026-07-28 14:20:59 -04:00
src Add the Petri run store endpoints to the API 2026-09-17 20:12:20 -04:00
tests fix(reasoning): align stream and client invariants 2026-07-24 17:42:44 -04:00
openapitools.json Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
package.json Fold context-window data into agent.message, remove snapshot event (#390) 2026-05-24 15:48:21 -04:00
tsconfig.json Fix run principal attribution gaps 2026-05-02 09:14:02 -04:00