fabro/apps/fabro-web/app/lib
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
..
api-client.test.ts feat: download latest artifacts as zip 2026-07-31 13:23:35 -04:00
api-client.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
ask-fabro-runtime.test.ts Give Ask Fabro sessions their own event log 2026-09-18 12:47:43 -04:00
ask-fabro-runtime.ts Give Ask Fabro sessions their own event log 2026-09-18 12:47:43 -04:00
automation.ts Align remote workflow selectors with run targets 2026-08-31 17:13:20 -04:00
board-cache.ts feat(web): upgrade Children sub-tab to use the runs list view 2026-05-25 12:48:18 -04:00
board-events.test.tsx Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
board-events.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
build-version-contract.ts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
build-version.test.ts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
build-version.ts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
chats-runtime.test.ts Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
chats-runtime.ts Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
chats-script.ts Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
chats-store.test.tsx Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
chats-store.tsx Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
chats-types.ts Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
class-names.ts fix(web): harden collapsible run docks 2026-07-28 15:24:58 -04:00
credential-heuristics.test.ts feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
credential-heuristics.ts feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
cross-tab-sse.test.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
cross-tab-sse.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
demo-mode.test.tsx feat: wire web UI to real server with demo mode toggle 2026-04-08 04:46:08 -04:00
demo-mode.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
environment-providers.ts Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
format.ts feat(web): add models table to /settings/models 2026-05-25 15:21:40 -04:00
graph-theme.ts refactor(web): drop light mode, go dark-only 2026-04-20 09:27:08 -04:00
graph-viewport.test.ts Increase LR graph zoom to 400% and remember zoom per direction (#581) 2026-07-21 16:06:25 -04:00
graph-viewport.ts Remove unsupported workflow playground 2026-09-03 12:04:35 -04:00
import-chunk.test.ts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
import-chunk.ts feat(web): tell open tabs when a new build ships 2026-07-25 14:45:26 -04:00
live-events.test.tsx Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
live-events.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
mcp-server-cache.ts feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
mcp-transport-kinds.ts feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
model-offerings.test.ts feat: make model aliases provider-aware 2026-07-23 10:12:25 -04:00
model-offerings.ts feat: make model aliases provider-aware 2026-07-23 10:12:25 -04:00
mutations.test.ts Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
mutations.ts Remove the retry, rewind, fork and timeline endpoints and commands 2026-09-18 10:54:45 -04:00
petri-fixtures.ts Test the web app's Petri views over the captured scenario fixtures 2026-09-18 01:03:19 -04:00
petri-stream.test.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
petri-stream.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
pierre-diffs-worker.ts fix(web): virtualize run file diffs consistently 2026-05-05 16:41:39 -04:00
plural.ts refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
principal-display.tsx feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
queries.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
query-keys.test.ts fix(timing): simplify live timing projections 2026-07-28 14:20:59 -04:00
query-keys.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
run-actions.test.ts Remove the retry, rewind, fork and timeline endpoints and commands 2026-09-18 10:54:45 -04:00
run-actions.ts Remove the retry, rewind, fork and timeline endpoints and commands 2026-09-18 10:54:45 -04:00
run-events.test.tsx Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
run-events.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
run-phases.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
run-sandbox-lifecycle.ts Model run sandbox lifecycle explicitly (#431) 2026-05-27 12:48:56 -04:00
run-settings-snapshot.ts refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
sandbox-state.ts Put the driver's sandbox status on the API instead of a projection 2026-09-11 13:07:00 -06:00
session-stream.test.ts fix: render Ask Fabro session responses 2026-05-22 12:32:59 -04:00
session-stream.ts Give Ask Fabro sessions their own event log 2026-09-18 12:47:43 -04:00
sse.ts Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
stage-sidebar.test.ts Read Usage in the web app and rename the Billing tab to Usage 2026-09-14 12:40:04 -06:00
stage-sidebar.ts Delete fabro's own pricing: lithos-llm prices every response once 2026-09-14 14:46:44 -06:00
test-fixtures.ts Read Usage in the web app and rename the Billing tab to Usage 2026-09-14 12:40:04 -06:00
test-utils.tsx Serve the run stream as the only run event API 2026-09-18 13:36:00 -04:00
time.ts Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
unknown.ts refactor(web): narrow event property reads via shared helpers 2026-04-30 22:45:38 -04:00
usage.ts Read Usage in the web app and rename the Billing tab to Usage 2026-09-14 12:40:04 -06:00