)]}'
{
  "commit": "6b84c96bd186cf15ffb510b9b25d71e8db7e9598",
  "tree": "ec54f5eee48a30a9973a3435130d32ee93347733",
  "parents": [
    "04eee077c545d3a4f26df548f3f848dccf87ba5d"
  ],
  "author": {
    "name": "Jacob MacDonald",
    "email": "jakemac@google.com",
    "time": "Fri Jun 27 11:18:30 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 27 11:18:30 2025 -0700"
  },
  "message": "update MCPClient.connectStdioServer to operate on streams and sinks (#204)\n\nUpdated MCPClient.connectStdioServer to take a stdin and stdout stream instead of a binary name and arguments. It no longer spawns processes on its own. This removes the `dart:io` dependency and allows more flexibility for how processes are spawned (can use package:process or even no process at all).\n\nThe migration is pretty easy, just launch your own process and pass in stdin/stdout from that.\n\n- Closes https://github.com/dart-lang/ai/issues/195\n- Enables the client to run on the web\n- Run all tests on the web, with wasm and dart2js, as well as AOT and kernel (these tests are all very fast)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b8fc37258133e71fc96dafec6dafb4f515d72ad2",
      "old_mode": 33188,
      "old_path": ".github/workflows/dart_mcp.yaml",
      "new_id": "a92d08ff9917d9275b7dcf22c1a15f10807694ab",
      "new_mode": 33188,
      "new_path": ".github/workflows/dart_mcp.yaml"
    },
    {
      "type": "modify",
      "old_id": "08cf9730e7c37ef1a08a63800716c8d28a67a71b",
      "old_mode": 33188,
      "old_path": "mcp_examples/bin/workflow_client.dart",
      "new_id": "95af431ef56bad76966a2e98a96ab605c7606f23",
      "new_mode": 33188,
      "new_path": "mcp_examples/bin/workflow_client.dart"
    },
    {
      "type": "modify",
      "old_id": "008ac99719a271008413100316e3c35d07f006c9",
      "old_mode": 33188,
      "old_path": "pkgs/dart_mcp/CHANGELOG.md",
      "new_id": "28118c8cb6b971e58a1bec540ecbb3bdd5d745ad",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp/CHANGELOG.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6335bdde328fa4a39847ef5398fd2d13ce5af41b",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp/dart_test.yaml"
    },
    {
      "type": "modify",
      "old_id": "bec522a9cd5a06d1d3e66fbf10c1f079ccde162c",
      "old_mode": 33188,
      "old_path": "pkgs/dart_mcp/example/simple_client.dart",
      "new_id": "4a86d0f9abee95bb0a1b15c61d7a14aa236bb87b",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp/example/simple_client.dart"
    },
    {
      "type": "modify",
      "old_id": "1b1a919c19e51ab4397cd99173ed3f3bbaff4f79",
      "old_mode": 33188,
      "old_path": "pkgs/dart_mcp/lib/src/client/client.dart",
      "new_id": "b70b7b613313e57f2faef711c1dc7c2f7c32f82d",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp/lib/src/client/client.dart"
    },
    {
      "type": "modify",
      "old_id": "e8cd6601e197c08a8a1f8b5334a9e559870a44ca",
      "old_mode": 33188,
      "old_path": "pkgs/dart_mcp/test/server/resources_support_test.dart",
      "new_id": "536d88cc75e00d4deeb9920c92e9a127785a503d",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp/test/server/resources_support_test.dart"
    },
    {
      "type": "modify",
      "old_id": "3e5abdf994fe7823c8dee0ae8b3b0d9bbf374ba6",
      "old_mode": 33188,
      "old_path": "pkgs/dart_mcp_server/test/test_harness.dart",
      "new_id": "1f36e5430f4e2d0e73f17125e696f00350bd6866",
      "new_mode": 33188,
      "new_path": "pkgs/dart_mcp_server/test/test_harness.dart"
    }
  ]
}
