)]}'
{
  "commit": "c31bf14971e228b03f738dde4cbfc8ae34f88f9d",
  "tree": "13345409e55a4628c1228e7606c20158eef2239f",
  "parents": [
    "4b08eb7dd536c9c66263b3eea08bfeb43f035f74"
  ],
  "author": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Mon Jun 16 07:48:20 2025 +0000"
  },
  "committer": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Wed Jun 18 09:13:19 2025 +0000"
  },
  "message": "Canvas: Generate graph state out of dodo-app config\n\nRestructure code, create shared config lib.\n\nChange-Id: I2cf06d35c486d4557484daf8618a2c215316fa7e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff51d94ca777d059a0c3bb369ca596de56cbba26",
      "old_mode": 33188,
      "old_path": "Jenkinsfile",
      "new_id": "b619ff593b539c6157b144feb50bd86b13e5699d",
      "new_mode": 33188,
      "new_path": "Jenkinsfile"
    },
    {
      "type": "modify",
      "old_id": "62370477d27fc4d962e6d1aa0061bb557f51f282",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/.env",
      "new_id": "a101621c233eb28bd0401cd16f73dcb7cf5dece9",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/.env"
    },
    {
      "type": "modify",
      "old_id": "cd69cf46eab1ab2ebe6d3aa4c6c3e03ea2b824a5",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/package-lock.json",
      "new_id": "03f0e80a7d238bcc58f753bf58b104bf0dcf6e53",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/package-lock.json"
    },
    {
      "type": "modify",
      "old_id": "5f69e576d244999984f5c63a151852f3ce208178",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/package.json",
      "new_id": "b32b801092a398b00df30e80a790fdf70b8bc557",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/package.json"
    },
    {
      "type": "modify",
      "old_id": "803192c26a4fa6015e4b2850bd04c4d98b10eba1",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/app_manager.ts",
      "new_id": "faf64e2f0a8f48edfda2ea8b119b4acc15aac373",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/app_manager.ts"
    },
    {
      "type": "modify",
      "old_id": "a2e8b31565de589447fa23159b6badc6bb312545",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/index.ts",
      "new_id": "0ba25b00cdf01ae1fdde9070cf01a353ff072336",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/index.ts"
    },
    {
      "type": "modify",
      "old_id": "e1fa699e45bff4d85d3f37599efb693034a0cffc",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/lib/analyze.ts",
      "new_id": "28eecbf544ec7e476bf6bc00a011921fd982195a",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/analyze.ts"
    },
    {
      "type": "modify",
      "old_id": "7d406b165d71cb9a8ebc45c126b71b4b13f3df21",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/lib/nodejs.test.ts",
      "new_id": "5de84230e98ebf32dc22ea79c054f71f391f7ea1",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/nodejs.test.ts"
    },
    {
      "type": "modify",
      "old_id": "07e6c1f14c531a3dea6b1cc63b5718a6ac2a8a2c",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/lib/nodejs.ts",
      "new_id": "3369b1d6700291d77bcf2a398ac7498e521e7807",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/nodejs.ts"
    },
    {
      "type": "modify",
      "old_id": "2cbd1abaf391226496787081ad090a049e1bf81f",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/lib/semantics.ts",
      "new_id": "f365f837ca1e1746cc23e67ebdbe3413cd7a7976",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/lib/semantics.ts"
    },
    {
      "type": "modify",
      "old_id": "c0ce9b74a2f72b0b5f4346dfee6f527df9c342b9",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/tsconfig.json",
      "new_id": "b92e830bfe6b53bb7b622df7e505dea4072c1d83",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/tsconfig.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "20ef473b8d68517b184fb6337dafdbb3555d6006",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/eslint.config.mjs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba8253b57318e1b88e65a106ccec5bce80c392db",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/package-lock.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5b04e6fb4ba49f558aa961d9ca7577aebdeb106",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/package.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53fd64cc9681d9b2432db24709a4607cd104c57e",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/config.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e8741f9e2db3cbff943c7f4393679bce4307d2d7",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/graph.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d064f1ce19dcc096f6a9e389c8969dd8c3351607",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/index.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe417b8de5be42d3547ba37ebe9eaf4ea89854c7",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/types.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d6881eeb6cb1ce540e6e14cd338b5cc58f2dacb",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/tsconfig.json"
    },
    {
      "type": "modify",
      "old_id": "cb422f66585eb5e204659c4c5007e68978bfeed5",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/package-lock.json",
      "new_id": "0855cc57b74b288fc942d7b3b333edb490559ebd",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/package-lock.json"
    },
    {
      "type": "modify",
      "old_id": "43d1232198e429788efff045c0d58ef3226cc920",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/package.json",
      "new_id": "0b31f98033bf4153a58dd538e6beac566c461a63",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/package.json"
    },
    {
      "type": "modify",
      "old_id": "bdad34655e3d0bcf3eb2922ac0cc84b9b0f04218",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/Config.tsx",
      "new_id": "eb024ea597c3a352bd9506a7e1f49db528c569b6",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/Config.tsx"
    },
    {
      "type": "modify",
      "old_id": "d4bd5ea274449f8c1e83bf28d301f90bd835a281",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/actions.tsx",
      "new_id": "1442b9a45f3a7a1992c1544f2507602360e4f3ba",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/actions.tsx"
    },
    {
      "type": "modify",
      "old_id": "ea9a06cf113844596546105186a888604c037cfe",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/import-modal.tsx",
      "new_id": "44f66d5c9c28cb33c178cdbb0a4d70679d200353",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/import-modal.tsx"
    },
    {
      "type": "modify",
      "old_id": "d9eea6d14a94989bfdc807f18e971b3b6281c301",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-app.tsx",
      "new_id": "7eb632cf75da7422a4b499955691f75220f54738",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-app.tsx"
    },
    {
      "type": "modify",
      "old_id": "513f1f03c8595be68dd1f04ce5da96ee1f506006",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/config.ts",
      "new_id": "39db5b4e4178f7a003dbcdda56479b74d084c2fe",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/config.ts"
    },
    {
      "type": "modify",
      "old_id": "a0e4e9100996bd5b1ef213ff29f7618a6569fc31",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/state.ts",
      "new_id": "8ada938ef7e0280145b8237458606294ac7963be",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/state.ts"
    },
    {
      "type": "modify",
      "old_id": "6c2d8de5237727c2803565b586630c4254299d23",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/tsconfig.app.json",
      "new_id": "803c90a4ae791e0b47523f4bbf75ce0a40b35d80",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/tsconfig.app.json"
    }
  ]
}
