)]}'
{
  "commit": "691483264b84abdbee3d889fd3c0ae2754b99fa5",
  "tree": "6d44a701921ae9e140ce85f299f7359ce96cdf81",
  "parents": [
    "b33b2a93a0a2e51d94ebc844b81686e8ab2e3c64"
  ],
  "author": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Thu Jun 19 23:16:12 2025 +0400"
  },
  "committer": {
    "name": "gio",
    "email": "gio@v1.dodo.cloud",
    "time": "Tue Jun 24 08:32:04 2025 +0000"
  },
  "message": "Canvas: Implement Agent Sketch node, update dodo-app.jsonschema\n\n- Add Gemini API key to the project\n- Update dodo schema to support Gemini API key\n- Update dodo schema to support Agent Sketch node\n\nChange-Id: I6a96186f86ad169152ca0021b38130e485ebbf14\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4efc568d711f79dbe6f925da0ea91abc3cce1aa9",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/prisma/migrations/20250623163606_gemini_api_key/migration.sql"
    },
    {
      "type": "modify",
      "old_id": "8775a157ff30f132feb3d003bd950840b666a0cb",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/prisma/schema.prisma",
      "new_id": "07482f30cc0f638d424173780acd68dea87e0856",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/prisma/schema.prisma"
    },
    {
      "type": "modify",
      "old_id": "df6553d6a62c036459b43c00bae088dc731e259b",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/dodo-app.jsonschema",
      "new_id": "bbb8cee9455a36b99945e7930ae3be0a4f0cf506",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/dodo-app.jsonschema"
    },
    {
      "type": "modify",
      "old_id": "82e55fe4783094ccae2f8cd0f9e72d59715a7a8b",
      "old_mode": 33188,
      "old_path": "apps/canvas/back/src/index.ts",
      "new_id": "4190f70b6b930e9a000c21a7c877f437b95252cb",
      "new_mode": 33188,
      "new_path": "apps/canvas/back/src/index.ts"
    },
    {
      "type": "modify",
      "old_id": "dc3b1224c09a8aee8f9f0290aae36652c4721795",
      "old_mode": 33188,
      "old_path": "apps/canvas/config/src/config.ts",
      "new_id": "6793bf74bfe235917d0904f7277df22a5d0d0f85",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/config.ts"
    },
    {
      "type": "modify",
      "old_id": "e8741f9e2db3cbff943c7f4393679bce4307d2d7",
      "old_mode": 33188,
      "old_path": "apps/canvas/config/src/graph.ts",
      "new_id": "c259d8f58afa23e196997295224ed416df028e59",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/graph.ts"
    },
    {
      "type": "modify",
      "old_id": "f668b5b01443a3c4ff9e40b7d82325ef2d8085d1",
      "old_mode": 33188,
      "old_path": "apps/canvas/config/src/index.ts",
      "new_id": "a8f21de0557f1765926662f4395c15af18429a54",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/index.ts"
    },
    {
      "type": "modify",
      "old_id": "fe417b8de5be42d3547ba37ebe9eaf4ea89854c7",
      "old_mode": 33188,
      "old_path": "apps/canvas/config/src/types.ts",
      "new_id": "de0725a843fb24749831e087c02055d4c21056a2",
      "new_mode": 33188,
      "new_path": "apps/canvas/config/src/types.ts"
    },
    {
      "type": "modify",
      "old_id": "722c43c6c9b11d64767cf300be094a9a8aa4fd0f",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/Integrations.tsx",
      "new_id": "cf4b586528b056c3927778bcfc25ad508f62726d",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/Integrations.tsx"
    },
    {
      "type": "modify",
      "old_id": "96b8f03fb17d11af1aea9ca7832ddc740e49a807",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/canvas.tsx",
      "new_id": "2d78abd330ab49302ed46afbf0de9e5e750b3985",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/canvas.tsx"
    },
    {
      "type": "modify",
      "old_id": "02be282ff4b553ee418a341e3aa08b21a2f14e97",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/icon.tsx",
      "new_id": "6bded3af24b0028e5e1354f2c0d89c097a27801a",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/icon.tsx"
    },
    {
      "type": "modify",
      "old_id": "7eb632cf75da7422a4b499955691f75220f54738",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-app.tsx",
      "new_id": "fa089773a9d1b80ac57fa09e0bf015437da7ad68",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-app.tsx"
    },
    {
      "type": "modify",
      "old_id": "fe17527110e6e1a3993c79a0b401971fa331e119",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-gateway-https.tsx",
      "new_id": "ebd1f6175a7902242b60c154dd1b3aa75a0362e2",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-gateway-https.tsx"
    },
    {
      "type": "modify",
      "old_id": "919bf839b1f7f00a3dfc0b2edaca819d75c166f7",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-gateway-tcp.tsx",
      "new_id": "6f89c1f529bd2975143fec1d81fa4e77a8923273",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-gateway-tcp.tsx"
    },
    {
      "type": "modify",
      "old_id": "ef289cbd33d203d484d5a82273988c6c68e91972",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-github.tsx",
      "new_id": "fbb63e4426dd65978c7299fcb0f9e201afbcc88f",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-github.tsx"
    },
    {
      "type": "modify",
      "old_id": "8b9e53b83591492811a61c6836156f68d6bf6b96",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-mongodb.tsx",
      "new_id": "865631fd628fb56581a38c4b8aecc1ccee3e687f",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-mongodb.tsx"
    },
    {
      "type": "modify",
      "old_id": "4a62206397e61486a127adc4ef53c1bd30390c6a",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-name.tsx",
      "new_id": "fee274aa0eababd1ec48f38c6ccbfec21cb61fe1",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-name.tsx"
    },
    {
      "type": "modify",
      "old_id": "8fa62f25e4593844142dfbc630b5f547e8789713",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-network.tsx",
      "new_id": "55d0b7a49b2005bb391b639c861d2a2f4c4284de",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-network.tsx"
    },
    {
      "type": "modify",
      "old_id": "0ae86a1a3269b2c7d919bdf8e6c0788fe43cdb9f",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-postgresql.tsx",
      "new_id": "e33295a5ec693be53a86fcef9dc20e6dfae340fd",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-postgresql.tsx"
    },
    {
      "type": "modify",
      "old_id": "a0a1842b89fb14b501dcf467ac2899597777ff81",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-rect.tsx",
      "new_id": "da3cb35ead915ed267a42ddf0b3ad0dd1c1f1e84",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-rect.tsx"
    },
    {
      "type": "modify",
      "old_id": "39bf15a43af99e04c9c7e4b6a08a6ea59ca67578",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/node-volume.tsx",
      "new_id": "c58b600602932a9efcb45c6ff53316486c3eb7f5",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/node-volume.tsx"
    },
    {
      "type": "modify",
      "old_id": "1fd631af675e332419b97c87cdf967e21577f114",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/components/resources.tsx",
      "new_id": "3a5b334c56023a586bbc228a78eab24cd3125863",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/components/resources.tsx"
    },
    {
      "type": "modify",
      "old_id": "87534552dd116c91a1b1a2895f3542a4953d850d",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/categories.ts",
      "new_id": "6c655e121552fb7a42bc2ce2936e4b9d0c392dc6",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/categories.ts"
    },
    {
      "type": "modify",
      "old_id": "39db5b4e4178f7a003dbcdda56479b74d084c2fe",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/config.ts",
      "new_id": "f6dee322a2d4b0f836d1222caae959d51c345574",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/config.ts"
    },
    {
      "type": "modify",
      "old_id": "8ada938ef7e0280145b8237458606294ac7963be",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/state.ts",
      "new_id": "3733e5688a2e16b2e4ff246fb6f61f548f82dde7",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/state.ts"
    },
    {
      "type": "modify",
      "old_id": "983b13e8709e043c630d468eb3feb651a297588b",
      "old_mode": 33188,
      "old_path": "apps/canvas/front/src/lib/types.ts",
      "new_id": "09d1ba0a9c01cf3ad9f0362ab2c0063b095fdfac",
      "new_mode": 33188,
      "new_path": "apps/canvas/front/src/lib/types.ts"
    }
  ]
}
