From e1bf5fc21ca10d9316dea9129bfb3dcc1469c380 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Thu, 6 Jul 2023 22:36:37 -0700 Subject: pause streaming on rejection --- extension/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extension/package.json') diff --git a/extension/package.json b/extension/package.json index 548cdcd6..7475a56d 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.118", + "version": "0.0.120", "publisher": "Continue", "engines": { "vscode": "^1.67.0" -- cgit v1.2.3-70-g09d2 From 19b38863c21656526e0729776682430e0fa277da Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Thu, 6 Jul 2023 23:10:18 -0700 Subject: fix: :bug: fix command enter, stop streaming on reject --- continuedev/src/continuedev/server/ide.py | 2 +- extension/package-lock.json | 4 ++-- extension/package.json | 2 +- extension/react-app/src/components/ComboBox.tsx | 7 +------ extension/react-app/src/tabs/gui.tsx | 10 +++++++--- 5 files changed, 12 insertions(+), 13 deletions(-) (limited to 'extension/package.json') diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index 61e7ca78..e4a6266a 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -250,7 +250,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer): def onDeleteAtIndex(self, index: int): for _, session in self.session_manager.sessions.items(): - session.autopilot.delete_at_index(index) + asyncio.create_task(session.autopilot.delete_at_index(index)) def onCommandOutput(self, output: str): # Send the output to ALL autopilots. diff --git a/extension/package-lock.json b/extension/package-lock.json index 71525620..9d560872 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "0.0.120", + "version": "0.0.121", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "continue", - "version": "0.0.120", + "version": "0.0.121", "license": "Apache-2.0", "dependencies": { "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index 7475a56d..cd5c1697 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.120", + "version": "0.0.121", "publisher": "Continue", "engines": { "vscode": "^1.67.0" diff --git a/extension/react-app/src/components/ComboBox.tsx b/extension/react-app/src/components/ComboBox.tsx index 4dab8bcd..e6632360 100644 --- a/extension/react-app/src/components/ComboBox.tsx +++ b/extension/react-app/src/components/ComboBox.tsx @@ -293,8 +293,7 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { event.key === "Enter" && (!downshiftProps.isOpen || items.length === 0) ) { - downshiftProps.setInputValue(""); - const value = event.currentTarget.value; + const value = downshiftProps.inputValue; if (value !== "") { setPositionInHistory(history.length + 1); setHistory([...history, value]); @@ -302,10 +301,6 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { // Prevent Downshift's default 'Enter' behavior. (event.nativeEvent as any).preventDownshiftDefault = true; - // cmd+enter to /edit - if (event.metaKey) { - event.currentTarget.value = `/edit ${event.currentTarget.value}`; - } if (props.onEnter) props.onEnter(event); } else if (event.key === "Tab" && items.length > 0) { downshiftProps.setInputValue(items[0].name); diff --git a/extension/react-app/src/tabs/gui.tsx b/extension/react-app/src/tabs/gui.tsx index 1ea70dd2..e1ecec9e 100644 --- a/extension/react-app/src/tabs/gui.tsx +++ b/extension/react-app/src/tabs/gui.tsx @@ -217,9 +217,13 @@ function GUI(props: GUIProps) { [client] ); - const onMainTextInput = () => { + const onMainTextInput = (event?: any) => { if (mainTextInputRef.current) { - const input = (mainTextInputRef.current as any).inputValue; + let input = (mainTextInputRef.current as any).inputValue; + // cmd+enter to /edit + if (event?.metaKey) { + input = `/edit ${input}`; + } (mainTextInputRef.current as any).setInputValue(""); if (!client) return; @@ -352,7 +356,7 @@ function GUI(props: GUIProps) { // } ref={mainTextInputRef} onEnter={(e) => { - onMainTextInput(); + onMainTextInput(e); e.stopPropagation(); e.preventDefault(); }} -- cgit v1.2.3-70-g09d2 From 255851c0962ff411e1fb4e28ba807300c793a68a Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Thu, 6 Jul 2023 23:24:36 -0700 Subject: patch --- extension/package-lock.json | 4 ++-- extension/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'extension/package.json') diff --git a/extension/package-lock.json b/extension/package-lock.json index 9d560872..fc5ea42f 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "0.0.121", + "version": "0.0.122", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "continue", - "version": "0.0.121", + "version": "0.0.122", "license": "Apache-2.0", "dependencies": { "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index cd5c1697..a94e7110 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.121", + "version": "0.0.122", "publisher": "Continue", "engines": { "vscode": "^1.67.0" -- cgit v1.2.3-70-g09d2 From 31beff7600a97326453850509e169163ee5584c4 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Fri, 7 Jul 2023 09:47:50 -0700 Subject: custom slash command expansion bug fixed --- continuedev/src/continuedev/core/policy.py | 2 +- continuedev/src/continuedev/steps/chat.py | 4 +++- continuedev/src/continuedev/steps/custom_command.py | 11 +++++++++-- extension/package-lock.json | 4 ++-- extension/package.json | 2 +- 5 files changed, 16 insertions(+), 7 deletions(-) (limited to 'extension/package.json') diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py index 7a72b596..b8363df2 100644 --- a/continuedev/src/continuedev/core/policy.py +++ b/continuedev/src/continuedev/core/policy.py @@ -46,7 +46,7 @@ def parse_custom_command(inp: str, config: ContinueConfig) -> Union[None, Step]: slash_command = parse_slash_command(custom_cmd.prompt, config) if slash_command is not None: return slash_command - return CustomCommandStep(name=custom_cmd.name, description=custom_cmd.description, prompt=custom_cmd.prompt, user_input=after_command) + return CustomCommandStep(name=custom_cmd.name, description=custom_cmd.description, prompt=custom_cmd.prompt, user_input=after_command, slash_command=command_name) return None diff --git a/continuedev/src/continuedev/steps/chat.py b/continuedev/src/continuedev/steps/chat.py index e4fc3f72..37d1b1cc 100644 --- a/continuedev/src/continuedev/steps/chat.py +++ b/continuedev/src/continuedev/steps/chat.py @@ -22,10 +22,12 @@ class SimpleChatStep(Step): name: str = "Generating Response..." manage_own_chat_context: bool = True description: str = "" + messages: List[ChatMessage] = None async def run(self, sdk: ContinueSDK): completion = "" - async for chunk in sdk.models.gpt4.stream_chat(await sdk.get_chat_context()): + messages = self.messages or await sdk.get_chat_context() + async for chunk in sdk.models.gpt4.stream_chat(messages): if sdk.current_step_was_deleted(): return diff --git a/continuedev/src/continuedev/steps/custom_command.py b/continuedev/src/continuedev/steps/custom_command.py index b162679e..5a56efb0 100644 --- a/continuedev/src/continuedev/steps/custom_command.py +++ b/continuedev/src/continuedev/steps/custom_command.py @@ -8,6 +8,7 @@ class CustomCommandStep(Step): name: str prompt: str user_input: str + slash_command: str hide: bool = True async def describe(self): @@ -15,5 +16,11 @@ class CustomCommandStep(Step): async def run(self, sdk: ContinueSDK): prompt_user_input = f"Task: {self.prompt}. Additional info: {self.user_input}" - await sdk.run_step(UserInputStep(user_input=self.user_input)) - await sdk.run_step(SimpleChatStep()) + messages = await sdk.get_chat_context() + # Find the last chat message with this slash command and replace it with the user input + for i in range(len(messages) - 1, -1, -1): + if messages[i].role == "user" and messages[i].content.startswith(self.slash_command): + messages[i] = messages[i].copy( + update={"content": prompt_user_input}) + break + await sdk.run_step(SimpleChatStep(messages=messages)) diff --git a/extension/package-lock.json b/extension/package-lock.json index fc5ea42f..adf40b3a 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "0.0.122", + "version": "0.0.124", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "continue", - "version": "0.0.122", + "version": "0.0.124", "license": "Apache-2.0", "dependencies": { "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index a94e7110..e4e7f036 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.122", + "version": "0.0.124", "publisher": "Continue", "engines": { "vscode": "^1.67.0" -- cgit v1.2.3-70-g09d2 From 640f267e5ee179e15285c827c9326b8c5e09f9b0 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Fri, 7 Jul 2023 09:58:05 -0700 Subject: better keyboard shortcut for quick input --- extension/package-lock.json | 4 ++-- extension/package.json | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'extension/package.json') diff --git a/extension/package-lock.json b/extension/package-lock.json index adf40b3a..043f0892 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "0.0.124", + "version": "0.0.125", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "continue", - "version": "0.0.124", + "version": "0.0.125", "license": "Apache-2.0", "dependencies": { "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index e4e7f036..59deeb01 100644 --- a/extension/package.json +++ b/extension/package.json @@ -14,7 +14,7 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.124", + "version": "0.0.125", "publisher": "Continue", "engines": { "vscode": "^1.67.0" @@ -146,8 +146,8 @@ }, { "command": "continue.quickTextEntry", - "mac": "cmd+h", - "key": "ctrl+h" + "mac": "cmd+shift+l", + "key": "ctrl+shift+l" } ], "menus": { -- cgit v1.2.3-70-g09d2