summaryrefslogtreecommitdiff
path: root/extension/react-app/src/hooks/useContinueGUIProtocol.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-02 14:09:50 -0400
committerNate Sesti <sestinj@gmail.com>2023-06-02 14:09:50 -0400
commit3157898f13a6990aff909e8e4af7f58515a28e8c (patch)
tree773ec943df45a679fa4a0f221b871b7248be50d7 /extension/react-app/src/hooks/useContinueGUIProtocol.ts
parent6b909caa8dcbd4bf3d1078ded1c12146944ab349 (diff)
parentaea318b48dd7e15df16eca12ba59c677671869aa (diff)
downloadsncontinue-3157898f13a6990aff909e8e4af7f58515a28e8c.tar.gz
sncontinue-3157898f13a6990aff909e8e4af7f58515a28e8c.tar.bz2
sncontinue-3157898f13a6990aff909e8e4af7f58515a28e8c.zip
Merge branch 'main' into docs
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;