Introduce `forceCreateAssistant` option
Added a configuration option, `forceCreateAssistant`, which forces the
creation of a new assistant at each stateful patch-set review request.
This option is primarily intended for debugging purposes.
Change-Id: I3ebd2361cc48168318080a3157aa84eee808f5f6
Signed-off-by: Patrizio <patrizio.gelosi@amarulasolutions.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/config/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/config/Configuration.java
index 7da35e4..4dd4ab3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/config/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/config/Configuration.java
@@ -83,6 +83,7 @@
private static final boolean DEFAULT_PATCH_SET_COMMENTS_AS_RESOLVED = false;
private static final boolean DEFAULT_IGNORE_OUTDATED_INLINE_COMMENTS = false;
private static final boolean DEFAULT_IGNORE_RESOLVED_CHAT_GPT_COMMENTS = true;
+ private static final boolean DEFAULT_FORCE_CREATE_ASSISTANT = false;
// Config setting keys
public static final String KEY_GPT_SYSTEM_PROMPT = "gptSystemPrompt";
@@ -122,6 +123,7 @@
private static final String KEY_PATCH_SET_COMMENTS_AS_RESOLVED = "patchSetCommentsAsResolved";
private static final String KEY_IGNORE_OUTDATED_INLINE_COMMENTS = "ignoreOutdatedInlineComments";
private static final String KEY_IGNORE_RESOLVED_CHAT_GPT_COMMENTS = "ignoreResolvedChatGptComments";
+ private static final String KEY_FORCE_CREATE_ASSISTANT = "forceCreateAssistant";
private final OneOffRequestContext context;
@Getter
@@ -278,6 +280,10 @@
return getBoolean(KEY_IGNORE_RESOLVED_CHAT_GPT_COMMENTS, DEFAULT_IGNORE_RESOLVED_CHAT_GPT_COMMENTS);
}
+ public boolean getForceCreateAssistant() {
+ return getBoolean(KEY_FORCE_CREATE_ASSISTANT, DEFAULT_FORCE_CREATE_ASSISTANT);
+ }
+
public boolean getIgnoreOutdatedInlineComments() {
return getBoolean(KEY_IGNORE_OUTDATED_INLINE_COMMENTS, DEFAULT_IGNORE_OUTDATED_INLINE_COMMENTS);
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistant.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
index d1c14c3..717648c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
@@ -42,7 +42,7 @@
public void setupAssistant() {
String assistantId = pluginDataHandler.getValue(KEY_ASSISTANT_ID);
- if (assistantId == null) {
+ if (assistantId == null || config.getForceCreateAssistant()) {
String fileId = uploadRepoFiles();
pluginDataHandler.setValue(KEY_FILE_ID, fileId);
assistantId = createAssistant(fileId);