Commit graph

22 commits

Author SHA1 Message Date
toki
34d06258c6 Update skill documentation 2026-04-12 08:47:28 +09:00
toki
1db698ad61 Rename add-crosstest-language to add-toki-socket-crosstest-language
- Rename skills/add-crosstest-language to skills/add-toki-socket-crosstest-language
- Add new skill agents for code-review and plan
- Update skill documentation
2026-04-12 08:32:52 +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
0703373a30 update: revise skill files
- Update skills/code-review/SKILL.md
- Update skills/plan/SKILL.md
2026-04-11 20:43:14 +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
24adec1c1d skills: add code-review and implement skill files
- Add skills/code-review/SKILL.md
- Add skills/implement/SKILL.md
2026-04-11 19:09:26 +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
0736a87928 docs: remove review test files
- Delete CODE_REVIEW_REVIEW_TEST.md
- Delete IMPROVEMENT_PLAN_REVIEW_TEST.md
2026-04-11 17:36:11 +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
9a0ebd0e22 Add PORTING_GUIDE.md 2026-04-11 15:01:54 +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
e48722d811 Refactor project structure and add Close() method
- Add Close() method to Communicator for proper resource cleanup
- Move examples from go/example/ to go/examples/
- Move test files to go/test/ directory
- Add cross-test files for Dart-Go interop testing
- Add comprehensive test suite (tcp, ws, tls, heartbeat tests)
- Add crosstest directory for multi-language testing
- Add SKILL documentation for adding crosstest languages
2026-04-11 09:54:03 +09:00
toki
14e4cd56d0 feat: add WebSocket/WSS support and Go implementation
- Add WebSocket binary frame support to protocol specification
- Update README and PROTOCOL.md to reflect dual TCP/WebSocket transport
- Add Go implementation with TCP, WebSocket, and heartbeat support
- Include .claude settings configuration
2026-04-11 08:33:46 +09:00
toki
3ef736d897 Update PROTOCOL.md and README.md 2026-04-08 07:59:52 +09:00
toki
dc80493c72 Update README.md 2026-04-05 23:06:31 +09:00
toki
661c28a9ac Update protocol docs and fix communicator implementation 2026-04-05 22:46:46 +09:00
toki
f18f50ce5b Update launch.json 2026-04-05 20:55:10 +09:00
toki
22a7ce1c48 Add launch.json configuration 2026-04-05 20:53:27 +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
7fe90e4ea7 docs: add Python and Rust to planned implementations
- README.md, PROTOCOL.md: Python, Rust 추가
- .gitignore: python/, rust/ 빌드 아티팩트 규칙 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 13:46:20 +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