fabro/apps/fabro-web/app
Bryan Helmkamp bc31b8d23a
Serve the run stream as the only run event API
Step 4 of the legacy executor deletion, third commit: the legacy event
API and every reader of it go, so that the next commits can delete the
event log, its reducer and the types beneath them.

The API:
- `GET /runs/{id}/events` pages the run stream only
  (`PaginatedRunStreamList` by `after`); the legacy `since_seq`,
  `before_seq` and `order` cursors, the `oneOf` envelope, the legacy
  `EventEnvelope`, `PaginatedEventList`, `RunEvent`, `EventSeq`,
  `AppendEventResponse` and `RunEventDetailResponse` schemas,
  `POST /runs/{id}/events`, `GET /runs/{id}/events/{seq}` and
  `GET /runs/{id}/stages/{stageId}/events` are deleted. `GET
  /runs/{id}/attach` and `GET /attach` frame `RunStreamItem`s only.
- The Rust and TypeScript clients regenerate; the removed models leave
  the TypeScript package.

The readers:
- `fabro-client` drops the legacy run event listing, tail and attach
  methods and `RunEventStream`; `list_run_stream_until` bounds a stream
  read.
- `fabro-tool`'s `fabro_run_events` lists, searches and details the run
  stream: `after` is the exclusive `stream_seq` cursor, `event_id` the
  item's id, filters match the item's name and `recorded_at`.
- `fabro-dump` writes the stream to `events.jsonl`; `fabro dump` reads
  it.
- The CLI's progress renderer keeps only what the run stream drives:
  the legacy event conversion, the sandbox and setup displays and their
  styles go. `fabro system events` prints stream items.
- The server's demo mode folds its agent fixture straight into the
  session projection and answers the attach stub with a stream item;
  the demo stage events endpoint is gone.
- The web app: every run is a Petri run. The legacy event hooks,
  renderer props, stage popover summary, run phases derivation and
  live-event payload handling are deleted or ported to `RunStreamItem`;
  toasts and board refreshes read the stream's platform records.
- Tests: the legacy API round trips and pagination tests are deleted;
  the CLI's MCP, attach and system event mocks serve stream pages; the
  CLI test helpers read stream items.

Still failing until the later commits: the CLI tests seeded through
`POST /runs/{id}/events`, the server tests over the legacy store, and
the legacy type tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 13:36:00 -04:00
..
components Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
data Read Usage in the web app and rename the Billing tab to Usage 2026-09-14 12:40:04 -06:00
hooks Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
layouts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
lib Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
routes Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
test-fixtures/petri Merge branch 'petri-integration-api' into petri-integration 2026-09-18 01:39:53 -04:00
app.css fix: tighten Ask Fabro sidebar markdown spacing 2026-05-22 13:47:31 -04:00
entry.tsx fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
install-api.test.ts feat(web): migrate to generated API client 2026-05-08 07:44:33 -07:00
install-api.ts feat(web): migrate to generated API client 2026-05-08 07:44:33 -07:00
install-app.test.tsx feat(install): enable only allowed sandbox providers 2026-06-02 18:39:31 -04:00
install-app.tsx feat(install): enable only allowed sandbox providers 2026-06-02 18:39:31 -04:00
install-config.test.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-config.ts feat(install): redesign web wizard and scope dev token to PAT installs 2026-04-19 16:11:02 -04:00
install-flow.test.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-flow.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-query.ts Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
install-router.test.tsx fix(install): mount wizard at root route 2026-04-24 12:59:16 -04:00
install-router.tsx fix(install): mount wizard at root route 2026-04-24 12:59:16 -04:00
mode.test.ts fix(install): harden web wizard against review findings 2026-04-19 12:43:00 -04:00
mode.ts fix(install): harden web wizard against review findings 2026-04-19 12:43:00 -04:00
root.tsx feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
router.test.tsx Remove obsolete playground browser route assertion 2026-09-04 10:13:16 -04:00
router.tsx Read Usage in the web app and rename the Billing tab to Usage 2026-09-14 12:40:04 -06:00