)]}'
{
  "commit": "f8c0c4d7b26d0a931490ede97a867b25113468d3",
  "tree": "31c66b5fb589bf6243cf45d94e24118f869a37ac",
  "parents": [
    "2afad231055350f774895ad7cab88e2e50941749"
  ],
  "author": {
    "name": "Patrizio",
    "email": "patrizio.gelosi@amarulasolutions.com",
    "time": "Tue Jun 25 17:13:45 2024 +0200"
  },
  "committer": {
    "name": "Patrizio",
    "email": "patrizio.gelosi@amarulasolutions.com",
    "time": "Fri Jul 05 16:18:42 2024 +0200"
  },
  "message": "Optimize assistant reuse by properties\n\nThis commit implements a new approach to store ChatGPT assistant IDs,\nachieving several goals:\n- Fixes the issue where existing assistants retain old settings after a\nconfiguration change.\n- Addresses a similar issue where dynamically changed settings via the\n`/configure` command were not updated in existing assistants.\n- Reduces the creation of new assistants by reusing those with identical\nproperties.\n\nA hash key is now calculated based on the assistant\u0027s configurable\nproperties, and this key is used to store and retrieve the ChatGPT\nassistant ID.\n\nChange-Id: I226e28b7c24da12c05b8d8554c04bc0a79d99ae8\nSigned-off-by: Patrizio \u003cpatrizio.gelosi@amarulasolutions.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "44c1817739f8ad8ff1513739128e98540eb3b98b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/data/PluginDataHandler.java",
      "new_id": "cf390e46848a97c125e794b32966b88ba7d94694",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/data/PluginDataHandler.java"
    },
    {
      "type": "modify",
      "old_id": "b17874336b45de6c57bba62e01e93dce2729602a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/data/PluginDataHandlerProvider.java",
      "new_id": "a21c74b1cd3e87de38b3a80272a051d50b23d917",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/data/PluginDataHandlerProvider.java"
    },
    {
      "type": "modify",
      "old_id": "6d033ba6f5bceb37a1b2151422f330555edb32a1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/listener/EventHandlerTypeChangeMerged.java",
      "new_id": "8b82e563ce0e8449ae84c9dcc42581d55dd15458",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/listener/EventHandlerTypeChangeMerged.java"
    },
    {
      "type": "rename",
      "old_id": "ba4f1c8a305f823070b3ed68f4dfbb25882fceaf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistantBase.java",
      "new_id": "1092a8bb8f93c78724a30975076404e0f8facb6f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistant.java",
      "score": 78
    },
    {
      "type": "delete",
      "old_id": "f2f0b5aa6c5a3d19cef87b56b8170daea4ab363e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistantRequests.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "abc8ac99d7ee44f79da3fa89b3cd32c9a2469f10",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistantReview.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "eee376bd9e5138d2affb52a80599347297263d48",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptClientStateful.java",
      "new_id": "e38af1c9718e39bbe47e545d808f4a46520cc4a9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptClientStateful.java"
    },
    {
      "type": "modify",
      "old_id": "7e5ed3453920db51c6d2085e722319df3b40c643",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptRun.java",
      "new_id": "02c9b99c62c1110f054e616407d3e7b59ac6804b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptRun.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e9840c2f552d907d9bca6f452d5de7ccdf5e9aa",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/chatgpt/utils/HashUtils.java"
    },
    {
      "type": "modify",
      "old_id": "239f84b4f36112be072e3d3281ebdd1c2e05644b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/chatgpt/ChatGptReviewStatefulTest.java",
      "new_id": "6c74d1dfd2c3de2d7ee289856402e7d1ae2e676d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/chatgpt/ChatGptReviewStatefulTest.java"
    }
  ]
}
