summaryrefslogtreecommitdiff
path: root/extension/react-app/src/hooks/useContinueGUIProtocol.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-02 01:05:59 -0400
committerNate Sesti <sestinj@gmail.com>2023-06-02 01:05:59 -0400
commitad86eff7b06f0bfbed3b1cb362d83ec6a4348e45 (patch)
treeb7216e5a93f0d082331044bf27d9cb2311655421 /extension/react-app/src/hooks/useContinueGUIProtocol.ts
parent769bf31da03f4c5d3145d885cff897109d63f246 (diff)
downloadsncontinue-ad86eff7b06f0bfbed3b1cb362d83ec6a4348e45.tar.gz
sncontinue-ad86eff7b06f0bfbed3b1cb362d83ec6a4348e45.tar.bz2
sncontinue-ad86eff7b06f0bfbed3b1cb362d83ec6a4348e45.zip
notebook -> gui
Diffstat (limited to 'extension/react-app/src/hooks/useContinueGUIProtocol.ts')
-rw-r--r--extension/react-app/src/hooks/useContinueGUIProtocol.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/extension/react-app/src/hooks/useContinueGUIProtocol.ts b/extension/react-app/src/hooks/useContinueGUIProtocol.ts
new file mode 100644
index 00000000..a3a1d0c9
--- /dev/null
+++ b/extension/react-app/src/hooks/useContinueGUIProtocol.ts
@@ -0,0 +1,49 @@
+import AbstractContinueGUIClientProtocol from "./ContinueGUIClientProtocol";
+// import { Messenger, WebsocketMessenger } from "../../../src/util/messenger";
+import { Messenger, WebsocketMessenger } from "./messenger";
+import { VscodeMessenger } from "./vscodeMessenger";
+
+class ContinueGUIClientProtocol extends AbstractContinueGUIClientProtocol {
+ messenger: Messenger;
+ // Server URL must contain the session ID param
+ serverUrlWithSessionId: string;
+
+ constructor(
+ serverUrlWithSessionId: string,
+ useVscodeMessagePassing: boolean
+ ) {
+ 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 ContinueGUIClientProtocol;