)]}'
{
  "commit": "25f6ff1b44e739e64d8b86cc4ea11bf8c631265c",
  "tree": "2255018ca38ba211e57eb9e76e87b82d61a0c826",
  "parents": [
    "d01d1341abf9b2e62f0b4cc821277dc4c40c6225"
  ],
  "author": {
    "name": "Philip Zeyliger",
    "email": "philip@bold.dev",
    "time": "Fri May 02 04:24:10 2025 +0000"
  },
  "committer": {
    "name": "Philip Zeyliger",
    "email": "philip@bold.dev",
    "time": "Fri May 02 14:25:31 2025 -0700"
  },
  "message": "Implement Server-Sent Events (SSE) for Real-time Agent Communication\n\n- Add server-side SSE endpoint (/stream?from\u003dN) for streaming state updates and messages\n- Replace polling with SSE in frontend for real-time updates with significant performance improvements\n- Implement efficient connection handling with backoff strategy for reconnections\n- Add visual network status indicator in UI to show connection state\n- Use non-blocking goroutine with channel pattern to handle SSE message delivery\n- Ensure proper message sequencing and state synchronization between client and server\n- Fix test suite to accommodate the new streaming architecture\n- Update mocks to use conversation.Budget instead of ant.Budget\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f7a39797c861085d7b30ec3bcca516dd8106b0e1",
      "old_mode": 33188,
      "old_path": "loop/server/loophttp.go",
      "new_id": "56fbdecc35c8417ecca3fa6e78ecaf183ce59065",
      "new_mode": 33188,
      "new_path": "loop/server/loophttp.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22ad237a6dc2a169467c1cabc039dfea6c71e574",
      "new_mode": 33188,
      "new_path": "loop/server/loophttp_test.go"
    },
    {
      "type": "modify",
      "old_id": "11e388771475ea083a06ce4afcf8f47781b050c6",
      "old_mode": 33188,
      "old_path": "webui/src/data.ts",
      "new_id": "7aa0923a81ecfd80f6861da0e66165d3c9bde9f8",
      "new_mode": 33188,
      "new_path": "webui/src/data.ts"
    },
    {
      "type": "modify",
      "old_id": "0b3ae6af024ce3c5a6773253a0949270f2625ee0",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/sketch-app-shell.test.ts",
      "new_id": "e31c8603b7a0ba894f94428628faa08400cb293d",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-app-shell.test.ts"
    },
    {
      "type": "modify",
      "old_id": "a5401446791efeb947d2da4450b07fcfb2eb15ca",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/sketch-app-shell.ts",
      "new_id": "b73c83acc0bda37c93098af90c6a43aea6d1ddb6",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-app-shell.ts"
    },
    {
      "type": "modify",
      "old_id": "5c968d43ae7c8e85d0f8d96e00bd7315baf3e991",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/sketch-network-status.test.ts",
      "new_id": "bf0f4ba304bb07e798025b45ca6b51e674fd23ed",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-network-status.test.ts"
    },
    {
      "type": "modify",
      "old_id": "cf168fd80b8d6298bd99a9932415ffa91c00fbea",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/sketch-network-status.ts",
      "new_id": "8a5a88399948c04619fcc78af4ca671010d2196b",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-network-status.ts"
    }
  ]
}
