oto/apps/client
2026-07-04 00:09:27 +09:00
..
lib refactor: control-plane-operator-actions migrated to archive and added control-plane-security-audit-surface 2026-06-19 17:42:48 +09:00
linux feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
macos feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
test sync: oto_console shell/executions/runners surfaces refactor and agent-ui/definition updates 2026-07-04 00:09:27 +09:00
web chore(workspace): 패키지 메타데이터를 정리한다 2026-06-10 08:06:09 +09:00
windows feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
.gitignore feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
.metadata feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
analysis_options.yaml feat(client): OTO Console 앱 셸을 추가한다 2026-06-05 07:08:09 +09:00
pubspec.lock feat: flutter console skeleton and core connection client 2026-06-17 07:20:06 +09:00
pubspec.yaml feat: flutter console skeleton and core connection client 2026-06-17 07:20:06 +09:00
README.md update test smoke files and docs 2026-06-13 06:02:31 +09:00

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:

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.

Local Preview

The workspace frontend preview port candidate is 13020:

flutter run -d chrome --web-port=13020

The preview port is separate from the OTO Core server URL. When the client needs to talk to a host-published Core server, pass the server URL with a compile-time define:

flutter run -d chrome --web-port=13020 --dart-define=OTO_SERVER_HTTP_URL=http://localhost:18020

Remote runner evidence uses the same preview port. When the Core server is host-published from /Users/toki/agent-work/oto, pass the remote host URL:

make client-run-web OTO_SERVER_HTTP_URL=http://toki-labs.com:18020

The current app-level fallback http://localhost:8080 remains a local compatibility default until the runtime default is intentionally migrated.