Commit graph

28 commits

Author SHA1 Message Date
65e4900bd8 fix: update communicator implementations and move task docs to archive 2026-06-17 07:27:31 +09:00
6c1cf96c00 update: protocol evolution compatibility roadmap and communicator tests across languages 2026-06-16 15:11:34 +09:00
6cdd0c3581 feat: protocol evolution compatibility implementation
- Add legacy alias support for backward compatibility
- Update ProtocolBuffer message definitions with new fields
- Implement fullname-based message routing
- Add alias fallback logic in all language clients (Dart, Go, Kotlin, Python, TypeScript)
- Update test suites for alias and fullname validation
- Add protocol sync verification tools
- Update documentation (PORTING_GUIDE, PROTOCOL, VERSIONING)
- Add agent task documentation for protocol evolution
2026-06-16 06:56:15 +09:00
29ea1898bc feat: dart large packet guard implementation and migration to archive 2026-06-14 21:09:34 +09:00
83a8b2250e perf(dart): WS burst 수신 회귀를 해소한다
작은 WS frame을 isolate 왕복 없이 처리해 full 성능 검증에서 확인된 Dart WS burst hard-gate 회귀를 닫는다.

성능 검증 루프의 task archive와 로드맵 완료 근거도 함께 보존한다.
2026-06-07 20:42:33 +09:00
a0c2acc95f perf(dart): isolate 대용량 payload 전달을 최적화한다
1MB 수신 경로에서 isolate mailbox copy 비용을 줄이기 위해 IO gateway의 large frame과 decoded payload 전달에 TransferableTypedData를 적용한다.

검증과 코드리뷰 완료 상태를 agent-task archive에 함께 남긴다.
2026-06-06 14:34:27 +09:00
9082c0cb3f feat(dart): isolate gateway contract optimization & archive task 10_dart_isolate_gateway_contract 2026-06-06 13:11:09 +09:00
f6234bd83a perf(socket): 성능 병목 개선을 반영한다
Dart TCP/heartbeat, Python sustained sampling, TypeScript WS 1MB 경로의 성능 병목을 분리하고 검증 산출물을 함께 남긴다.
2026-06-06 12:47:15 +09:00
967153e989 feat: inbound queue ordering implementation and verification 2026-06-02 18:48:45 +09:00
bdcebdeb56 feat: dart inbound gateway implementation and inbound queue ordering milestone progress
- Add inbound_gateway.dart, inbound_gateway_io.dart, inbound_gateway_web.dart
- Update communicator.dart and proto_socket.dart for inbound queue support
- Update browser_ws_import_compile.dart and communicator_test.dart
- Archive Dart gateway task (04_dart_gateway)
- Create plan and code review docs for go/kotlin/python/typescript gateways
- Update roadmap files (ROADMAP.md, current.md, inbound-queue-ordering.md)
2026-06-02 10:45:33 +09:00
be9d1936c5 archive: gateway contract task files and update tests across languages 2026-06-02 08:52:17 +09:00
a9480c5afb feat: implement inbound queue ordering across all language implementations
- Add gateway contract for inbound queue ordering (03+02_gateway_contract)
- Update receive thread model across Dart, Go, Kotlin, Python, TypeScript
- Implement queue ordering logic in BaseClient and Communicator
- Add comprehensive tests for queue ordering in all languages
- Update documentation (PORTING_GUIDE, PROTOCOL, README)
- Archive task completion logs for completed subtasks
2026-06-02 05:36:52 +09:00
617ec02090 feat: dart web crosstest and related test infrastructure updates 2026-05-30 22:59:23 +09:00
5df325bf96 feat: Dart Web E2E 테스트 및 크로스 테스트 추가
- Dart Web 브라우저 E2E 테스트 프레임워크 추가
- browser_ws_dart_io_test, browser_ws_kotlin_test 등 브라우저 통합 테스트 추가
- Dart Web 크로스테스트 케이스 추가 (go, kotlin, python, typescript)
- TypeScript 브라우저 웹소켓 클라이언트 개선
- Node.js 웹소켓 서버 클라이언트 업데이트
- 테스트 실행 매트릭스 스킬 및 스크립트 업데이트
- README.md 문서 업데이트
2026-05-25 00:30:37 +09:00
86d704a0bb feat: dart web e2e support and ws protobuf fixes
- Add browser WebSocket import compatibility test
- Add platform-specific WebSocket clients (io/web)
- Add protobuf client/server web variants
- Fix WS protobuf server for browser compatibility
- Remove deprecated ws_protobuf_client.dart (consolidated into platform-specific files)
- Update test and server files for websocket functionality
2026-05-24 22:36:52 +09:00
e0e70d846d fix dart qualified protobuf type names 2026-05-24 20:06:51 +09:00
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
toki
9cc1f1d58f sync: update communicator implementation across all languages
- Align protocol documentation (PROTOCOL.md, README.md, VERSIONING.md)
- Go: add nonce test, update communicator
- Kotlin: update Communicator, TcpClient, TcpServer, add TLS test
- Python: update all modules, add certificate test resources
- TypeScript: update communicator, tcp/ws clients and servers, add tests
- Dart: update communicator, heartbeat mixin, and tests
2026-04-26 05:31:56 +09:00
toki
01de3f32bf update: crosstest coverage and proto restructure changes 2026-04-25 07:00:53 +09:00
toki
c384516b47 feat: implement new communication patterns and add cross-test support
- Add Transport class for unified communication layer
- Implement new communicator patterns
- Add VERSIONING.md for version management
- Add crosstest files for Dart/Go integration testing
- Update protocol documentation
- Add new skills and templates for AI-assisted development
- Various bug fixes and improvements to Dart implementation
2026-04-12 07:53:31 +09:00
toki
182dcae5bf fix: update Dart close() implementation
- Fix base_client.dart close() method
- Update communicator.dart for close() pattern
- Update protobuf_server.dart and ws_protobuf_server.dart
- Update communicator_test.dart for close() API
- skills: rename implement/SKILL.md to plan/SKILL.md
- tasks: add dart_close_fix task files
2026-04-11 19:53:12 +09:00
toki
840df6a63d refactor: implement BaseClient pattern for Dart
- Dart: Add BaseClient<Self> to eliminate duplicate code
- Dart: Replace dispose() with close() (Future<void> return)
- Dart: Make isAlive and nonce read-only with @protected setter
- Dart: Add meta package dependency for @protected
- Dart: Implement BaseClient<ProtobufClient> and BaseClient<WsProtobufClient>
- Dart: Update communicator.dart with private fields and protected setters
- Dart: Update heartbeat_mixin.dart for new close() pattern
- Dart: Update all client/server implementations
- Dart: Update test files with new API
- Dart: Export base_client.dart in toki_socket.dart
2026-04-11 19:05:17 +09:00
toki
7f8771b89e refactor: implement HeartbeatMixin for heartbeat handling
- Dart: Replace ResponseChecker with HeartbeatMixin
- Dart: Remove heartbeat-related fields from ProtobufClient/Server
- Dart: Add HeartbeatMixin for cleaner heartbeat logic
- Go: Add timeout test in communicator_test.go
- Go: Add heartbeat_test.go with heartbeat functionality tests
- Go: Add TLS test in tls_test.go
- Go: Add message type mismatch tests
- Go: Improve tcp_test.go and ws_test.go with comprehensive tests
- Dart: Add comprehensive socket_test.dart with multiple test scenarios
- Add untracked documentation files
2026-04-11 16:33:40 +09:00
toki
cab031ea28 Refactor client implementations with baseClient pattern
- Dart: Add explicit Future<void> return type to send() method
- Dart: Improve onDisconnected() logic with proper isAlive handling and heartbeat response
- Go: Introduce baseClient generic base class for shared client logic
- Go: Refactor TcpClient and WsClient to embed baseClient instead of embedding Communicator
- Remove duplicate heartbeat and disconnect handling code across client implementations
- Clean up unused imports (time package)
2026-04-11 13:52:50 +09:00
toki
661c28a9ac Update protocol docs and fix communicator implementation 2026-04-05 22:46:46 +09:00
toki
de309ca2f1 Update protocol and add WebSocket protobuf client/server implementations 2026-04-05 20:44:37 +09:00
toki
d89b25948a feat: SSL/TLS support for both client and server
- ProtobufServer: named constructor .secure() for SSL mode
  - SecurityContext parameter for certificate/key loading
  - SecureServerSocket 분기 처리, stop()에서 양쪽 close
  - isSecure getter 추가
- ProtobufClient: static factory 메서드 추가
  - connect() — plain TCP
  - connectSecure() — SSL/TLS (SecureSocket extends Socket이라 내부 무수정)
- 테스트: SSL 그룹 4개 추가 (총 13개, 전부 통과)
  - 자체 서명 인증서로 실제 SSL 연결 검증
  - plain / SSL 동일 시나리오 병렬 커버

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 13:56:32 +09:00
toki
240239682c Initial commit: Dart implementation of toki-socket protocol
- Protobuf-based binary TCP socket library
- ProtobufClient / ProtobufServer abstract classes with heartbeat
- Type-based message routing via Communicator
- 4-byte big-endian length-prefixed framing protocol
- 8 integration tests (all passing)
- PROTOCOL.md wire format specification
- VSCode launch.json for test runner

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 13:44:04 +09:00