mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
Pebble reports an MCP server whose connection closed mid-session once, as McpServerDisconnected, and carries startup_ms on McpServerReady and McpServerFailed. The workflow event sink mirrors the disconnect onto a new agent.mcp.disconnected run event shaped like agent.mcp.failed, and passes startup_ms through on agent.mcp.ready and agent.mcp.failed. The raw pebble event is not stored for these, so the timing would otherwise be dropped at the boundary. The stage projection's McpServerStatus gains a `disconnected` kind next to `ready` and `failed`. The fold keeps the server's tool count and sticky invoked flag and only moves the status. The OpenAPI McpServerStatus oneOf gains McpServerStatusDisconnected, and the fabro-api round-trip test covers its JSON shape. A new session_projection_parity test folds the same MCP events through pebble's SessionProjection and fabro's stage projection and compares them, including pebble's `disconnected`. ToolErrorKind::Timeout needs no fabro change: the kind is stored as pebble serializes it and never matched. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| administration | ||
| agents | ||
| api-reference | ||
| changelog | ||
| core-concepts | ||
| examples | ||
| execution | ||
| getting-started | ||
| human-tools | ||
| images | ||
| integrations | ||
| languages | ||
| logo | ||
| reference | ||
| tutorials | ||
| workflows | ||
| .mintignore | ||
| docs.json | ||
| dot-highlight.js | ||
| favicon.svg | ||