yoi/crates/client/README.md

31 lines
930 B
Markdown

# client
## Role
`client` contains reusable socket-client and runtime-command mechanics for talking to Pods from CLI/TUI code.
## Boundaries
Owns:
- one-shot Pod socket client behavior
- request/reply delivery mechanics
- runtime command construction below the product façade
- shared attach/status probing helpers used by higher layers
Does not own:
- product command names (`yoi`)
- Pod state authority (`pod`, `pod-store`, `session-store`)
- UI rendering (`tui`)
- Worker turn semantics (`llm-worker`)
## Design notes
The client boundary lets `tui` and `yoi` share Pod communication without making library crates depend on the product binary. Socket clients should drain connect-time snapshot/alert traffic before sending a method or deciding status.
## See also
- [`../../docs/design/pod-session-state.md`](../../docs/design/pod-session-state.md)
- [`../../docs/design/overview.md`](../../docs/design/overview.md)