diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-05-31 16:13:01 -0400 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-05-31 16:13:01 -0400 |
commit | dd5b9f6b7f08f178d6034a57f97faea38442eb0a (patch) | |
tree | b18b4dbc9b6db8b033b9c48d832960b11f9ac687 /extension/react-app/src/hooks/useContinueNotebookProtocol.ts | |
parent | 22245d2cbf90daa9033d8551207aa986069d8b24 (diff) | |
download | sncontinue-dd5b9f6b7f08f178d6034a57f97faea38442eb0a.tar.gz sncontinue-dd5b9f6b7f08f178d6034a57f97faea38442eb0a.tar.bz2 sncontinue-dd5b9f6b7f08f178d6034a57f97faea38442eb0a.zip |
checkpoint! protocol reform and it works now
Diffstat (limited to 'extension/react-app/src/hooks/useContinueNotebookProtocol.ts')
-rw-r--r-- | extension/react-app/src/hooks/useContinueNotebookProtocol.ts | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/extension/react-app/src/hooks/useContinueNotebookProtocol.ts b/extension/react-app/src/hooks/useContinueNotebookProtocol.ts new file mode 100644 index 00000000..d5ffbf09 --- /dev/null +++ b/extension/react-app/src/hooks/useContinueNotebookProtocol.ts @@ -0,0 +1,49 @@ +import AbstractContinueNotebookClientProtocol from "./ContinueNotebookClientProtocol"; +// import { Messenger, WebsocketMessenger } from "../../../src/util/messenger"; +import { Messenger, WebsocketMessenger } from "./messenger"; +import { VscodeMessenger } from "./vscodeMessenger"; + +class ContinueNotebookClientProtocol extends AbstractContinueNotebookClientProtocol { + messenger: Messenger; + // Server URL must contain the session ID param + serverUrlWithSessionId: string; + + constructor( + serverUrlWithSessionId: string, + useVscodeMessagePassing: boolean = false + ) { + super(); + this.serverUrlWithSessionId = serverUrlWithSessionId; + if (useVscodeMessagePassing) { + this.messenger = new VscodeMessenger(serverUrlWithSessionId); + } else { + this.messenger = new WebsocketMessenger(serverUrlWithSessionId); + } + } + + sendMainInput(input: string) { + this.messenger.send("main_input", { input }); + } + + reverseToIndex(index: number) { + this.messenger.send("reverse_to_index", { index }); + } + + sendRefinementInput(input: string, index: number) { + this.messenger.send("refinement_input", { input, index }); + } + + sendStepUserInput(input: string, index: number) { + this.messenger.send("step_user_input", { input, index }); + } + + onStateUpdate(callback: (state: any) => void) { + this.messenger.onMessageType("state_update", (data: any) => { + if (data.state) { + callback(data.state); + } + }); + } +} + +export default ContinueNotebookClientProtocol; |