78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
---
|
|
ui_doc_type: component
|
|
component_id: proto-socket-diagnostics
|
|
status: 구현됨
|
|
source_evidence:
|
|
- type: code
|
|
path: apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart
|
|
notes: _buildProtoSocketDiagnosticsSection과 _buildDiagnosticsChip 구현.
|
|
- type: code
|
|
path: apps/client/lib/src/integrations/proto_socket/proto_socket_lifecycle.dart
|
|
notes: ProtoSocketLifecycle diagnostics stream과 state model.
|
|
- type: docs
|
|
path: README.md
|
|
notes: proto-socket client-core 통신과 PROTO_SOCKET 환경 경계 설명.
|
|
- type: user
|
|
path: null
|
|
notes: agent-ui 생성 요청.
|
|
---
|
|
|
|
# Proto-Socket Diagnostics
|
|
|
|
Component ID: `proto-socket-diagnostics`
|
|
|
|
Status: `구현됨`
|
|
|
|
## Source Evidence
|
|
|
|
| Type | Path | Notes |
|
|
|------|------|-------|
|
|
| code | `apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart` | _buildProtoSocketDiagnosticsSection과 _buildDiagnosticsChip 구현. |
|
|
| code | `apps/client/lib/src/integrations/proto_socket/proto_socket_lifecycle.dart` | ProtoSocketLifecycle diagnostics stream과 state model. |
|
|
| docs | `README.md` | proto-socket client-core 통신과 PROTO_SOCKET 환경 경계 설명. |
|
|
| user | 없음 | agent-ui 생성 요청. |
|
|
|
|
## Purpose
|
|
|
|
Workspace screen에서 proto-socket 연결 상태와 최근 envelope diagnostics를 non-secret chip 묶음으로 보여준다.
|
|
|
|
## Used By
|
|
|
|
- `workspace-home`: `workspace-home.proto-socket-diagnostics`
|
|
|
|
## Anatomy
|
|
|
|
- Section heading
|
|
- Diagnostics container
|
|
- State chip
|
|
- Connection id chip
|
|
- Protocol version chip
|
|
- Channel chip
|
|
- Action chip
|
|
- Error code chip
|
|
- Timestamp chip
|
|
|
|
## Variants
|
|
|
|
- default: lifecycle이 제공된 workspace detail 안에서 표시
|
|
|
|
## States
|
|
|
|
- disconnected
|
|
- connecting
|
|
- connected
|
|
- failed
|
|
- loading: diagnostics stream initial data 사용
|
|
- empty: diagnostics value가 없으면 `n/a` 또는 `none`을 표시한다.
|
|
- error: error code가 있으면 red accent를 사용한다.
|
|
- disabled: lifecycle이 없으면 component를 render하지 않는다.
|
|
|
|
## Rules
|
|
|
|
- lifecycle이 없으면 빈 widget으로 빠진다.
|
|
- raw transport exception이나 secret endpoint detail은 표시하지 않는다.
|
|
- state color는 disconnected, connecting, connected, failed에 맞춰 구분한다.
|
|
|
|
## Decision History
|
|
|
|
- 2026-06-24: 구현된 proto-socket diagnostics section을 component로 등록했다.
|