{ "planPath": "docs/plans/2026-02-23-websocket-plan.md", "tasks": [ {"id": 6, "subject": "Task 0: Add WebSocketOptions configuration", "status": "pending"}, {"id": 7, "subject": "Task 1: Add WsConstants", "status": "pending", "blockedBy": [6]}, {"id": 8, "subject": "Task 2: Add WsOriginChecker", "status": "pending", "blockedBy": [6, 7]}, {"id": 9, "subject": "Task 3: Add WsFrameWriter", "status": "pending", "blockedBy": [7, 8]}, {"id": 10, "subject": "Task 4: Add WsReadInfo frame reader state machine", "status": "pending", "blockedBy": [7, 8, 9]}, {"id": 11, "subject": "Task 5: Add WsCompression (permessage-deflate)", "status": "pending", "blockedBy": [7]}, {"id": 12, "subject": "Task 6: Add WsUpgrade HTTP handshake", "status": "pending", "blockedBy": [7, 8, 11]}, {"id": 13, "subject": "Task 7: Add WsConnection Stream wrapper", "status": "pending", "blockedBy": [7, 9, 10, 11]}, {"id": 14, "subject": "Task 8: Integrate WebSocket into NatsServer and NatsClient", "status": "pending", "blockedBy": [6, 7, 12, 13]}, {"id": 15, "subject": "Task 9: Update differences.md", "status": "pending", "blockedBy": [14]}, {"id": 16, "subject": "Task 10: Run full test suite and verify", "status": "pending", "blockedBy": [14, 15]} ], "lastUpdated": "2026-02-23T00:00:00Z" }