proto-socket/agent-ops/rules/project/domain/dart/rules.md
toki d0754a353a refactor: rename toki_socket to proto_socket across all languages
- Rename package/module from toki_socket to proto_socket in Dart, Kotlin, Python
- Update crosstest implementations to use renamed packages
- Add new proto_socket skill, deprecate add-toki-socket-crosstest-language skill
- Update domain rules for all languages
- Update documentation (README, PORTING_GUIDE, PROTOCOL, VERSIONING)
2026-05-02 07:19:12 +09:00

1.3 KiB

dart

목적 / 책임

Proto Socket의 Dart/Flutter 구현체를 담당한다. ProtobufClient, ProtobufServer 등 핵심 클래스를 제공하며, 크로스 언어 테스트의 기준 구현으로 동작한다.

포함 경로

  • dart/lib/ — 공개 API 및 구현
  • dart/test/ — 동일 언어 단위/통합 테스트
  • dart/crosstest/ — 크로스 언어 테스트 (Go, Kotlin과 연동). 오케스트레이터 또는 클라이언트 헬퍼
  • dart/pubspec.yaml — 패키지 의존성

제외 경로

  • dart/lib/src/packets/ — protocol 도메인의 Dart protobuf 생성 코드

주요 구성 요소

  • ProtobufClient — 소켓 클라이언트 기반 클래스
  • ProtobufServer — 소켓 서버 기반 클래스

유지할 패턴

  • dart pub getdart test로 테스트 실행
  • crosstest는 상대방 언어 서버/클라이언트가 실행 중인 상태에서 수행
  • Available 표시 조건: 동일 언어 테스트 + 크로스 언어 테스트 통과

다른 도메인과의 경계

  • protocol: proto 타입을 사용하지만, proto 파일 자체는 protocol 도메인
  • go/kotlin: crosstest에서 상호 연동하지만, 각 구현체 내부 로직은 독립

금지 사항

  • Dart 구현체에 Go/Kotlin 특화 로직을 추가하지 않는다
  • proto schema 변경 시 proto 도메인 규칙을 먼저 따른다