summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTy Dunn <ty@tydunn.com>2023-06-22 12:39:01 -0700
committerTy Dunn <ty@tydunn.com>2023-06-22 12:39:01 -0700
commita1a9c4fc01e7bb9239aa67717dd8397d32eea31a (patch)
treed9dc365f12c2da108bc76012750e5d22831d5a60
parent695abf458f25e0cb7b05cebe3a0f9ec2c97e7797 (diff)
downloadsncontinue-a1a9c4fc01e7bb9239aa67717dd8397d32eea31a.tar.gz
sncontinue-a1a9c4fc01e7bb9239aa67717dd8397d32eea31a.tar.bz2
sncontinue-a1a9c4fc01e7bb9239aa67717dd8397d32eea31a.zip
start of syncing back
-rw-r--r--continuedev/src/continuedev/core/autopilot.py8
-rw-r--r--continuedev/src/continuedev/core/config.py35
-rw-r--r--continuedev/src/continuedev/core/main.py1
-rw-r--r--continuedev/src/continuedev/core/sdk.py11
-rw-r--r--extension/react-app/src/tabs/gui.tsx1
5 files changed, 49 insertions, 7 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py
index 0b4b9b12..ab7f4747 100644
--- a/continuedev/src/continuedev/core/autopilot.py
+++ b/continuedev/src/continuedev/core/autopilot.py
@@ -40,17 +40,13 @@ class Autopilot(ContinueBaseModel):
keep_untouched = (cached_property,)
def get_full_state(self) -> FullState:
- return FullState(history=self.history, active=self._active, user_input_queue=self._main_user_input_queue)
+ return FullState(history=self.history, active=self._active, user_input_queue=self._main_user_input_queue, default_model=self.continue_sdk.config.default_model)
async def get_available_slash_commands(self) -> List[Dict]:
return list(map(lambda x: {"name": x.name, "description": x.description}, self.continue_sdk.config.slash_commands)) or []
async def change_default_model(self):
- print("Changing default model")
- if self.continue_sdk.config.default_model == "gpt-4":
- self.continue_sdk.config.default_model == "gpt-3.5-turbo" # not quite correct
- else:
- self.continue_sdk.config.default_model == "gpt-4" # not quite correct
+ self.continue_sdk.update_default_model()
async def clear_history(self):
self.history = History.from_empty()
diff --git a/continuedev/src/continuedev/core/config.py b/continuedev/src/continuedev/core/config.py
index 652320fb..21d21879 100644
--- a/continuedev/src/continuedev/core/config.py
+++ b/continuedev/src/continuedev/core/config.py
@@ -86,3 +86,38 @@ def load_config(config_file: str) -> ContinueConfig:
else:
raise ValueError(f'Unknown config file extension: {ext}')
return ContinueConfig(**config_dict)
+
+def update_config(config_file: str):
+ """
+ Update the config file with the current ContinueConfig object.
+ """
+ if not os.path.exists(config_file):
+ with open(config_file, 'w') as f:
+ config_dict = { "default_model": "gpt-3.5-turbo" }
+ json.dump(config_dict, f, indent=4)
+
+ _, ext = os.path.splitext(config_file)
+ if ext == '.yaml':
+
+ with open(config_file, 'w') as f:
+ config_dict = yaml.safe_load(f)
+
+ if config_dict["default_model"] == "gpt-4":
+ config_dict["default_model"] = "gpt-3.5-turbo"
+ else:
+ config_dict["default_model"] = "gpt-4"
+
+ with open(config_file, 'w') as f:
+ json.dump(config_dict, f, indent=4)
+
+ elif ext == '.json':
+ with open(config_file, 'r') as f:
+ config_dict = json.load(f)
+
+ if config_dict["default_model"] == "gpt-4":
+ config_dict["default_model"] = "gpt-3.5-turbo"
+ else:
+ config_dict["default_model"] = "gpt-4"
+
+ with open(config_file, 'w') as f:
+ json.dump(config_dict, f, indent=4) \ No newline at end of file
diff --git a/continuedev/src/continuedev/core/main.py b/continuedev/src/continuedev/core/main.py
index efb91488..d6412ece 100644
--- a/continuedev/src/continuedev/core/main.py
+++ b/continuedev/src/continuedev/core/main.py
@@ -114,6 +114,7 @@ class FullState(ContinueBaseModel):
history: History
active: bool
user_input_queue: List[str]
+ default_model: str
class ContinueSDK:
diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py
index d6acc404..5652ec39 100644
--- a/continuedev/src/continuedev/core/sdk.py
+++ b/continuedev/src/continuedev/core/sdk.py
@@ -6,7 +6,7 @@ import os
from ..steps.core.core import DefaultModelEditCodeStep
from ..models.main import Range
from .abstract_sdk import AbstractContinueSDK
-from .config import ContinueConfig, load_config
+from .config import ContinueConfig, load_config, update_config
from ..models.filesystem_edit import FileEdit, FileSystemEdit, AddFile, DeleteFile, AddDirectory, DeleteDirectory
from ..models.filesystem import RangeInFile
from ..libs.llm.hf_inference_api import HuggingFaceInferenceAPI
@@ -170,6 +170,15 @@ class ContinueSDK(AbstractContinueSDK):
else:
return ContinueConfig()
+ def update_default_model(self):
+ dir = self.ide.workspace_directory
+ yaml_path = os.path.join(dir, '.continue', 'config.yaml')
+ json_path = os.path.join(dir, '.continue', 'config.json')
+ if os.path.exists(yaml_path):
+ update_config(yaml_path)
+ else:
+ update_config(json_path)
+
def set_loading_message(self, message: str):
# self.__autopilot.set_loading_message(message)
raise NotImplementedError()
diff --git a/extension/react-app/src/tabs/gui.tsx b/extension/react-app/src/tabs/gui.tsx
index 15121010..0dd7e3ec 100644
--- a/extension/react-app/src/tabs/gui.tsx
+++ b/extension/react-app/src/tabs/gui.tsx
@@ -230,6 +230,7 @@ function GUI(props: GUIProps) {
console.log("CLIENT ON STATE UPDATE: ", client, client?.onStateUpdate);
client?.onStateUpdate((state) => {
// Scroll only if user is at very bottom of the window.
+ setUsingFastModel(state.using_fast_model);
const shouldScrollToBottom =
topGuiDivRef.current &&
topGuiDivRef.current?.offsetHeight - window.scrollY < 100;