iop와 nomadcode가 같은 workspace에서 제품별 Flutter 콘솔을 위젯으로 삽입할 수 있어야 하므로 OTO client를 얇은 host 앱으로 정리하고 agent-shell 기반 embeddable console 패키지를 분리한다.
30 lines
989 B
Markdown
30 lines
989 B
Markdown
# OTO Client
|
|
|
|
Flutter host application for the OTO console.
|
|
|
|
The embeddable UI surface lives in `packages/flutter/oto_console` so other
|
|
workspace apps, such as `../nomadcode/apps/client`, can mount OTO as a modular
|
|
Flutter widget instead of depending on this host application's `main.dart`.
|
|
|
|
## Structure
|
|
|
|
- `lib/main.dart` only starts the OTO client host.
|
|
- `lib/src/app/bootstrap.dart` owns app startup concerns such as fullscreen
|
|
system UI setup.
|
|
- `lib/src/app/oto_client_app.dart` wires the host `MaterialApp` to
|
|
`OtoConsoleShell`.
|
|
- `../../packages/flutter/oto_console` exports the product-owned embeddable
|
|
widgets. That package consumes the workspace shared `agent-shell` package.
|
|
|
|
## Embedding
|
|
|
|
Add the package from another workspace Flutter app:
|
|
|
|
```yaml
|
|
dependencies:
|
|
oto_console:
|
|
path: ../../../oto/packages/flutter/oto_console
|
|
```
|
|
|
|
Then mount any exported widget, for example `OtoConsoleShell` or
|
|
`OtoAgentPanel`, inside the host application's own workbench shell.
|