)]}'
{
  "commit": "a71316da2998b2972ace8a155d04333a00b330a9",
  "tree": "f4f036585ce8547ce0b3d23f4542f3b5ba543f53",
  "parents": [
    "842db3f5be99c6b700072911c49c7c03f48daca6"
  ],
  "author": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Sat May 24 09:41:36 2025 +0400"
  },
  "committer": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Mon Jun 02 09:27:31 2025 +0000"
  },
  "message": "Cavnas: Implement basic service discovery logic\n\nChange-Id: I71b25076dba94d6491ad4db748b259870991c526\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86f88fb90cdd45d5e5a4a9c2cc414bd938c25885",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/jest.config.js"
    },
    {
      "type": "modify",
      "old_id": "b3271345af7f00416238fc5261cc5002076b50c6",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/package-lock.json",
      "new_id": "cd69cf46eab1ab2ebe6d3aa4c6c3e03ea2b824a5",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/package-lock.json"
    },
    {
      "type": "modify",
      "old_id": "4b35d41c15aa9b7de92568c544e6a95498a8e29b",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/package.json",
      "new_id": "5f69e576d244999984f5c63a151852f3ce208178",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/package.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8a27a6eb01f448e45704746c8e7c82555303d280",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/prisma/migrations/20250530051500_key/migration.sql"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f8a3711a142c9e2916e19eb36ab6db74a4b34e63",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/prisma/migrations/20250530052111_dep_key/migration.sql"
    },
    {
      "type": "modify",
      "old_id": "c8c834b62745f9a9a42237d82feccc09704ea28a",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/prisma/schema.prisma",
      "new_id": "8775a157ff30f132feb3d003bd950840b666a0cb",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/prisma/schema.prisma"
    },
    {
      "type": "modify",
      "old_id": "b758aca72887ba66a64ddb4919f5a4521393f244",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/github.ts",
      "new_id": "7657043a6f49cd430d730134539c497a36237f37",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/github.ts"
    },
    {
      "type": "modify",
      "old_id": "cfd8955ca41ba391b7c230a5a27e15d32e6f1c81",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/index.ts",
      "new_id": "daeded2a9a093910a72a864489691ab75feda206",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/index.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e1fa699e45bff4d85d3f37599efb693034a0cffc",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/analyze.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b58ae1470a6b41e23753f08665596385734aa3f",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/env.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "75d9453de29f1eb7423a37501c29d20e3347058f",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/fs.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7d406b165d71cb9a8ebc45c126b71b4b13f3df21",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/nodejs.test.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "07e6c1f14c531a3dea6b1cc63b5718a6ac2a8a2c",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/nodejs.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2cbd1abaf391226496787081ad090a049e1bf81f",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/semantics.ts"
    },
    {
      "type": "modify",
      "old_id": "94ca1b208ad08ecce765d36c5f37eb5bb519229e",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/package-lock.json",
      "new_id": "cb422f66585eb5e204659c4c5007e68978bfeed5",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/package-lock.json"
    },
    {
      "type": "modify",
      "old_id": "b25d17b966888c95750ca4cc7a6615676c978315",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/package.json",
      "new_id": "43d1232198e429788efff045c0d58ef3226cc920",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/package.json"
    },
    {
      "type": "modify",
      "old_id": "278db67e197eb012fec3447157659496dd47de9f",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/ProjectSelect.tsx",
      "new_id": "312e6aa063084fb327a6733293d86ceb9452275d",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/ProjectSelect.tsx"
    },
    {
      "type": "modify",
      "old_id": "f355d3ea372d1dddf016d003affee6bfbd2b4a80",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/Tools.tsx",
      "new_id": "4c9b19eba0621299c7d0343174e048da599ebadd",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/Tools.tsx"
    },
    {
      "type": "modify",
      "old_id": "24198cb2e3a63d5b7ba2679e824e6f371d6468e7",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/actions.tsx",
      "new_id": "dbb5ea698666f83c81d3f97d8cb2fca280c8735d",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/actions.tsx"
    },
    {
      "type": "modify",
      "old_id": "4c065be78ac5f7b0db14051f219edc63756a60fe",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-github.tsx",
      "new_id": "dd7c68afe82b898194a5d68bfb9985f03c2c7342",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-github.tsx"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5139bf241a3b2669cce47b3104c6a54b4138197d",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/ui/switch.tsx"
    },
    {
      "type": "modify",
      "old_id": "572fc78e1ae9a60073bced54a1ff081afe7b1ce4",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/config.ts",
      "new_id": "513f1f03c8595be68dd1f04ce5da96ee1f506006",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/config.ts"
    },
    {
      "type": "modify",
      "old_id": "b7413d954f4fbafb6eb2a5ddcb2af119bc3c884c",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/state.ts",
      "new_id": "5d8013d3fb458983e4e449627769b00dcf52f527",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/state.ts"
    }
  ]
}
