zynapse 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"client_side.d.ts","sourceRoot":"","sources":["../../src/schema/client_side.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,GAAG,CAAC;AAyTvC,KAAK,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAWtD,KAAK,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAEtC,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAwB1E"}
1
+ {"version":3,"file":"client_side.d.ts","sourceRoot":"","sources":["../../src/schema/client_side.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,GAAG,CAAC;AAibvC,KAAK,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAWtD,KAAK,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAEtC,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CA8B1E"}
@@ -71,6 +71,110 @@ return useMutation({
71
71
  }`;
72
72
  return await prettier.format(buff, { parser: "babel-ts" });
73
73
  }
74
+ async function bidirectionalProcedureCodeGen(proc, parentService) {
75
+ const { outputTypeIdentifier, stringifiedAlias } = getOutputAlias(proc, parentService);
76
+ const inputIdentifier = `${parentService.name}${proc.name}BidirectionalInputSchema`;
77
+ const jsonSchema = ztj(proc.input, {
78
+ errorMessages: true,
79
+ markdownDescription: true,
80
+ });
81
+ // @ts-ignore
82
+ const schema = jtz(jsonSchema, {
83
+ withJsdocs: true,
84
+ name: inputIdentifier,
85
+ });
86
+ let buff = `export ${schema}\nexport ${stringifiedAlias}\n\nexport function use${parentService.name}${proc.name}Bidirectional`;
87
+ buff += `(extraOptions?: {
88
+ onError?: (errorMessage: string) => void;
89
+ onClose?: () => void;
90
+ })`;
91
+ buff += "{\n";
92
+ buff += `/*${proc.description}*/\n`;
93
+ // Initial setup of state.
94
+ buff += `const socketRef = useRef<WebSocket>();\n`;
95
+ buff += `const [messages, setMessages] = useState<Array<${outputTypeIdentifier}>>([]);\n`;
96
+ buff += `const [isConnected, setIsConnected] = useState<boolean>(false);\n`;
97
+ // Avoid re-render on callback change.
98
+ buff += `
99
+ const onErrorRef = useRef(extraOptions?.onError);
100
+ const onCloseRef = useRef(extraOptions?.onClose);
101
+
102
+ useEffect(() => {
103
+ onErrorRef.current = extraOptions?.onError;
104
+ onCloseRef.current = extraOptions?.onClose;
105
+ }, [extraOptions]);\n`;
106
+ // Send function
107
+ buff += `
108
+ const send = useCallback((data: z.infer<typeof ${inputIdentifier}>) => {
109
+ if (socketRef.current && socketRef.current.readyState === WebSocket.OPEN) {
110
+ socketRef.current.send(JSON.stringify(data));
111
+ }
112
+ }, []);\n`;
113
+ // Use effect main logic.
114
+ buff += `useEffect(() => {
115
+ if (socketRef.current) {
116
+ return;
117
+ }
118
+
119
+ const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
120
+ const targetURL = new URL(\`\${protocol}//\${window.location.host}/_api\`);
121
+ const fullPayload = {
122
+ service: "${parentService.name}",
123
+ procedure: "${proc.name}",
124
+ };
125
+ const stringifiedArguments = JSON.stringify(fullPayload);
126
+ const encodedArguments = encodeURIComponent(stringifiedArguments);
127
+ targetURL.searchParams.set("payload", encodedArguments);
128
+
129
+ const socket = new WebSocket(targetURL);
130
+ socketRef.current = socket;
131
+
132
+ socket.addEventListener("open", () => {
133
+ setIsConnected(true);
134
+ });
135
+
136
+ socket.addEventListener("error", () => {
137
+ if (onErrorRef.current) {
138
+ onErrorRef.current("WebSocket connection error.");
139
+ }
140
+ setIsConnected(false);
141
+ });
142
+
143
+ socket.addEventListener("message", (ev) => {
144
+ try {
145
+ const data = JSON.parse(ev.data);
146
+ setMessages((prev) => [...prev, data]);
147
+ } catch {
148
+ if (onErrorRef.current) {
149
+ onErrorRef.current("Failed to decode data");
150
+ }
151
+ }
152
+ });
153
+
154
+ socket.addEventListener("close", () => {
155
+ if (onCloseRef.current) {
156
+ onCloseRef.current();
157
+ }
158
+ setIsConnected(false);
159
+ });
160
+
161
+ return () => {
162
+ socket.close();
163
+ socketRef.current = undefined;
164
+ setIsConnected(false);
165
+ };
166
+ }, []);
167
+
168
+
169
+ return {
170
+ messages,
171
+ isConnected,
172
+ send,
173
+ };
174
+ }
175
+ `;
176
+ return await prettier.format(buff, { parser: "babel-ts" });
177
+ }
74
178
  async function subscriptionProcedureCodeGen(proc, parentService) {
75
179
  const { outputTypeIdentifier, stringifiedAlias } = getOutputAlias(proc, parentService);
76
180
  const inputIdentifier = `${parentService.name}${proc.name}SubscriptionInputSchema`;
@@ -252,6 +356,9 @@ async function GenerateServiceCode(service) {
252
356
  else if (proc.method === "SUBSCRIPTION") {
253
357
  procedureCode = await subscriptionProcedureCodeGen(proc, service);
254
358
  }
359
+ else if (proc.method === "BIDIRECTIONAL") {
360
+ procedureCode = await bidirectionalProcedureCodeGen(proc, service);
361
+ }
255
362
  else {
256
363
  console.error("UNKOWN METHOD!");
257
364
  throw new Error("unk method");
@@ -285,8 +392,14 @@ export async function GenerateCode(schema) {
285
392
  if (serviceHasMethod(service, "QUERY")) {
286
393
  finalBuffer += `import {useQuery, UseQueryOptions} from "@tanstack/react-query";\n`;
287
394
  }
288
- if (serviceHasMethod(service, "SUBSCRIPTION")) {
289
- finalBuffer += `import { useEffect, useRef, useState } from "react";\n`;
395
+ const hasSubscription = serviceHasMethod(service, "SUBSCRIPTION");
396
+ const hasBidirectional = serviceHasMethod(service, "BIDIRECTIONAL");
397
+ if (hasSubscription || hasBidirectional) {
398
+ const reactImports = ["useEffect", "useRef", "useState"];
399
+ if (hasBidirectional) {
400
+ reactImports.unshift("useCallback");
401
+ }
402
+ finalBuffer += `import { ${reactImports.join(", ")} } from "react";\n`;
290
403
  }
291
404
  finalBuffer += 'import {z} from "zod"\n\n';
292
405
  const buffers = await GenerateServiceCode(service);
@@ -1 +1 @@
1
- {"version":3,"file":"client_side.js","sourceRoot":"","sources":["../../src/schema/client_side.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_side.js","sourceRoot":"","sources":["../../src/schema/client_side.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- export type ProcedureType = `MUTATION` | `QUERY` | `SUBSCRIPTION`;
2
+ export type ProcedureType = `MUTATION` | `QUERY` | `SUBSCRIPTION` | `BIDIRECTIONAL`;
3
3
  /**
4
4
  * Represents a single procedure.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,SAAS,CACzB,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,EACxC,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY;IAExC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AAEH,KAAK,iBAAiB,GAAG;IACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACvD,CAAC;AAOF,qBAAa,OAAO,CACnB,WAAW,SAAS,iBAAiB,GAAG;IACvC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;CACtC;IAED,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAM;IAClB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,IAAI,EAAE,MAAM,EAIvB;IAED,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,QAGrD;IAED,2DAA2D;IAC3D,YAAY,CACX,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,MAAM;IAChB,+EAA+E;IAC/E,IAAI,SAAS,MAAM,EAAE,mDAAmD;IACxE,CAAC,SAAS,CAAC,CAAC,MAAM,EAClB,CAAC,SAAS,CAAC,CAAC,MAAM,EACjB,cAAc,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,CAAC,CAAC;QACR,WAAW,EAAE,IAAI,CAAC,CAAC,yCAAyC;QAC5D,KAAK,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,CAAC,CAAC;KACV,GAAG,OAAO;IACV,iDAAiD;IACjD,WAAW,GAAG;SAEZ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;YAAE,MAAM,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,CAAC,CAAC;YAAC,WAAW,EAAE,IAAI,CAAA;SAAE;KACxE,CACD,CA6BA;IAED,YAAY,CAAC,KAAK,SAAS,MAAM,WAAW,EAC3C,IAAI,EAAE,KAAK,GACT,WAAW,CAAC,KAAK,CAAC,CAIpB;CACD;AAED,qBAAa,SAAS,CACrB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;IAChD,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;IAEM,QAAQ,EAAE,SAAS,CAAC;IAE3B,YAAY,QAAQ,GAAE,SAA2B,EAEhD;CACD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,aAAa,GACtB,UAAU,GACV,OAAO,GACP,cAAc,GACd,eAAe,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,SAAS,CACzB,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,EACxC,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY;IAExC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AAEH,KAAK,iBAAiB,GAAG;IACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACvD,CAAC;AAOF,qBAAa,OAAO,CACnB,WAAW,SAAS,iBAAiB,GAAG;IACvC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;CACtC;IAED,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAM;IAClB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,IAAI,EAAE,MAAM,EAIvB;IAED,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,QAGrD;IAED,2DAA2D;IAC3D,YAAY,CACX,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,MAAM;IAChB,+EAA+E;IAC/E,IAAI,SAAS,MAAM,EAAE,mDAAmD;IACxE,CAAC,SAAS,CAAC,CAAC,MAAM,EAClB,CAAC,SAAS,CAAC,CAAC,MAAM,EACjB,cAAc,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,CAAC,CAAC;QACR,WAAW,EAAE,IAAI,CAAC,CAAC,yCAAyC;QAC5D,KAAK,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,CAAC,CAAC;KACV,GAAG,OAAO;IACV,iDAAiD;IACjD,WAAW,GAAG;SAEZ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;YAAE,MAAM,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,CAAC,CAAC;YAAC,WAAW,EAAE,IAAI,CAAA;SAAE;KACxE,CACD,CA6BA;IAED,YAAY,CAAC,KAAK,SAAS,MAAM,WAAW,EAC3C,IAAI,EAAE,KAAK,GACT,WAAW,CAAC,KAAK,CAAC,CAIpB;CACD;AAED,qBAAa,SAAS,CACrB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;IAChD,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;IAEM,QAAQ,EAAE,SAAS,CAAC;IAE3B,YAAY,QAAQ,GAAE,SAA2B,EAEhD;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAyCA,MAAM,OAAO,OAAO;IAKnB,qBAAqB,CAAsB;IAC3C,IAAI,GAAW,EAAE,CAAC;IAClB,UAAU,CAAc;IACxB,YAAY,IAAY,EAAE;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,UAAU,GAAG,EAAiB,CAAC;IAAA,CACpC;IAED,wBAAwB,CAAC,qBAA6B,EAAE;QACvD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,OAAO,IAAI,CAAC;IAAA,CACZ;IAED,2DAA2D;IAC3D,YAAY,CAOV,cAMD,EAMC;QACD,4EAA4E;QAC5E,MAAM,YAAY,GAId;YACH,sEAAsE;YACtE,GAAG,cAAc;SACjB,CAAC;QAEF,sCAAsC;QACtC,4EAA4E;QAC5E,gEAAgE;QAC/D,IAAI,CAAC,UAAgC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QAE3E,oEAAoE;QACpE,yEAAyE;QACzE,6DAA6D;QAE7D,OAAO,IAQN,CAAC;IAAA,CACF;IAED,YAAY,CACX,IAAW,EACU;QACrB,8DAA8D;QAC9D,sEAAsE;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAAA,CAC7B;CACD;AAED,MAAM,OAAO,SAAS;IAKd,QAAQ,CAAY;IAE3B,YAAY,QAAQ,GAAc,EAAe,EAAE;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAAA,CACzB;CACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AA6CA,MAAM,OAAO,OAAO;IAKnB,qBAAqB,CAAsB;IAC3C,IAAI,GAAW,EAAE,CAAC;IAClB,UAAU,CAAc;IACxB,YAAY,IAAY,EAAE;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,UAAU,GAAG,EAAiB,CAAC;IAAA,CACpC;IAED,wBAAwB,CAAC,qBAA6B,EAAE;QACvD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,OAAO,IAAI,CAAC;IAAA,CACZ;IAED,2DAA2D;IAC3D,YAAY,CAOV,cAMD,EAMC;QACD,4EAA4E;QAC5E,MAAM,YAAY,GAId;YACH,sEAAsE;YACtE,GAAG,cAAc;SACjB,CAAC;QAEF,sCAAsC;QACtC,4EAA4E;QAC5E,gEAAgE;QAC/D,IAAI,CAAC,UAAgC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QAE3E,oEAAoE;QACpE,yEAAyE;QACzE,6DAA6D;QAE7D,OAAO,IAQN,CAAC;IAAA,CACF;IAED,YAAY,CACX,IAAW,EACU;QACrB,8DAA8D;QAC9D,sEAAsE;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAAA,CAC7B;CACD;AAED,MAAM,OAAO,SAAS;IAKd,QAAQ,CAAY;IAE3B,YAAY,QAAQ,GAAc,EAAe,EAAE;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAAA,CACzB;CACD"}
@@ -0,0 +1,21 @@
1
+ import type { z } from "zod";
2
+ import type { Procedure } from "../schema";
3
+ import type { ContextType } from "./index.ts";
4
+ type onMessageCallable<TInput extends z.ZodTypeAny, TOutput extends z.ZodTypeAny> = {
5
+ name: string;
6
+ callback: (connection: BidirectionalConnection<TInput, TOutput>, msg: z.infer<TInput>) => Promise<void>;
7
+ };
8
+ export declare class BidirectionalConnection<TInput extends z.ZodTypeAny, TOutput extends z.ZodTypeAny> {
9
+ private ctx;
10
+ private procDefinition;
11
+ private connection;
12
+ private eventTarget;
13
+ constructor(ctx: ContextType, procDefintion: Procedure<`BIDIRECTIONAL`, TInput, TOutput>, ws: Bun.ServerWebSocket<any>);
14
+ sendMessage(msg: z.infer<TOutput>): Promise<void>;
15
+ addOnCloseMessageListener(callable: (conn: BidirectionalConnection<TInput, TOutput>) => Promise<void>): Promise<void>;
16
+ close(reason?: string): Promise<void>;
17
+ addOnMessageListener(callable: onMessageCallable<TInput, TOutput>): Promise<void>;
18
+ _onClientMessage(msg: Object): Promise<void>;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=bidirectional-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bidirectional-connection.d.ts","sourceRoot":"","sources":["../../src/server/bidirectional-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C,KAAK,iBAAiB,CACrB,MAAM,SAAS,CAAC,CAAC,UAAU,EAC3B,OAAO,SAAS,CAAC,CAAC,UAAU,IACzB;IACH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB,CAAC;AAEF,qBAAa,uBAAuB,CACnC,MAAM,SAAS,CAAC,CAAC,UAAU,EAC3B,OAAO,SAAS,CAAC,CAAC,UAAU;IAE5B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,WAAW,CAAc;IACjC,YACC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1D,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAM5B;IAEY,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAU7C;IAEY,yBAAyB,CACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAK3E;IAEY,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,iBAQjC;IAEY,oBAAoB,CAChC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAa5C;IACY,gBAAgB,CAAC,GAAG,EAAE,MAAM,iBAaxC;CACD"}
@@ -0,0 +1,50 @@
1
+ export class BidirectionalConnection {
2
+ ctx;
3
+ procDefinition;
4
+ connection;
5
+ eventTarget;
6
+ constructor(ctx, procDefintion, ws) {
7
+ this.ctx = ctx;
8
+ this.procDefinition = procDefintion;
9
+ this.eventTarget = new EventTarget();
10
+ this.connection = ws;
11
+ }
12
+ async sendMessage(msg) {
13
+ const result = await this.procDefinition.output.safeParseAsync(msg);
14
+ if (!result.success) {
15
+ console.error(`[ZYNAPSE] The message to be sent to the connection does not conform to the schema.\nMessage: ${msg}\nError: ${result.error}`);
16
+ return;
17
+ }
18
+ this.connection.send(JSON.stringify(result.data));
19
+ }
20
+ async addOnCloseMessageListener(callable) {
21
+ this.eventTarget.addEventListener("close", async () => {
22
+ callable(this);
23
+ });
24
+ }
25
+ async close(reason) {
26
+ console.info("[ZYNAPSE] Bidirectional connection closing...");
27
+ this.connection.close(undefined, reason);
28
+ this.eventTarget.dispatchEvent(new CustomEvent("close", {
29
+ detail: reason,
30
+ }));
31
+ }
32
+ async addOnMessageListener(callable) {
33
+ const defRef = this.procDefinition;
34
+ this.eventTarget.addEventListener("msg", (ev) => {
35
+ callable.callback(this, ev.detail).catch((e) => {
36
+ console.error(`[ZYNAPSE] The websocket handler of name ${callable.name} defined by procedure ${defRef.name} had an error while executing.\nError: ${e}`);
37
+ });
38
+ });
39
+ }
40
+ async _onClientMessage(msg) {
41
+ const result = await this.procDefinition.input.safeParseAsync(msg);
42
+ if (!result.success) {
43
+ throw new Error(`The procedure ${this.procDefinition.name} received an invalid payload.\nError: ${result.error}`);
44
+ }
45
+ this.eventTarget.dispatchEvent(new CustomEvent("msg", {
46
+ detail: result.data,
47
+ }));
48
+ }
49
+ }
50
+ //# sourceMappingURL=bidirectional-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bidirectional-connection.js","sourceRoot":"","sources":["../../src/server/bidirectional-connection.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,uBAAuB;IAI3B,GAAG,CAAc;IACjB,cAAc,CAA8C;IAC5D,UAAU,CAAsB;IAEhC,WAAW,CAAc;IACjC,YACC,GAAgB,EAChB,aAA0D,EAC1D,EAA4B,EAC3B;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IAAA,CACrB;IAEM,KAAK,CAAC,WAAW,CAAC,GAAqB,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CACZ,gGAAgG,GAAG,YAAY,MAAM,CAAC,KAAK,EAAE,CAC7H,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAAA,CAClD;IAEM,KAAK,CAAC,yBAAyB,CACrC,QAA2E,EAC1E;QACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAA,CACf,CAAC,CAAC;IAAA,CACH;IAEM,KAAK,CAAC,KAAK,CAAC,MAAe,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAC,OAAO,EAAE;YACxB,MAAM,EAAE,MAAM;SACmB,CAAC,CACnC,CAAC;IAAA,CACF;IAEM,KAAK,CAAC,oBAAoB,CAChC,QAA4C,EAC3C;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAChC,KAAK,EACL,CAAC,EAA4C,EAAE,EAAE,CAAC;YACjD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC/C,OAAO,CAAC,KAAK,CACZ,2CAA2C,QAAQ,CAAC,IAAI,yBAAyB,MAAM,CAAC,IAAI,0CAA0C,CAAC,EAAE,CACzI,CAAC;YAAA,CACF,CAAC,CAAC;QAAA,CACH,CACD,CAAC;IAAA,CACF;IACM,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,iBAAiB,IAAI,CAAC,cAAc,CAAC,IAAI,yCAAyC,MAAM,CAAC,KAAK,EAAE,CAChG,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAC,KAAK,EAAE;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI;SACyB,CAAC,CAC9C,CAAC;IAAA,CACF;CACD"}
@@ -2,11 +2,12 @@ import type { BunRequest } from "bun";
2
2
  import { APISchema, Service, type Procedure, type ProcedureType } from "../schema";
3
3
  import { z } from "zod";
4
4
  import { ConnectionWritter } from "./connection";
5
- type ContextType = Map<string, any>;
5
+ import { BidirectionalConnection } from "./bidirectional-connection";
6
+ export type ContextType = Map<string, any>;
6
7
  type SubscriptionHandler<P extends Procedure<ProcedureType, any, any>> = (args: z.infer<P["input"]>, request: BunRequest, context: ContextType, // Information that the middleware is capable of passing to the handler
7
8
  connection: ConnectionWritter<P>) => Promise<undefined>;
8
9
  type NormalProcedureHandler<P extends Procedure<ProcedureType, any, any>> = (args: z.infer<P["input"]>, request: BunRequest, context: ContextType) => Promise<z.infer<P["output"]>>;
9
- type ProcedureHandler<P extends Procedure<ProcedureType, any, any>> = P["method"] extends `SUBSCRIPTION` ? SubscriptionHandler<P> : NormalProcedureHandler<P>;
10
+ type ProcedureHandler<P extends Procedure<ProcedureType, any, any>> = P["method"] extends "SUBSCRIPTION" ? SubscriptionHandler<P> : P["method"] extends "BIDIRECTIONAL" ? (initialRequest: BunRequest, bidirectionalconnection: BidirectionalConnection<P["input"], P["output"]>, context: ContextType) => Promise<undefined> : NormalProcedureHandler<P>;
10
11
  type FullImplementation<SchemaT extends APISchema> = {
11
12
  [ServiceName in keyof SchemaT["services"]]: ServiceImplementationHandlers<SchemaT["services"][ServiceName]>;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import "../schema";
2
2
  import { z } from "zod";
3
3
  import { Connection, ConnectionWritter } from "./connection";
4
- async function* x() { }
4
+ import { BidirectionalConnection } from "./bidirectional-connection";
5
5
  export class ServiceImplementationBuilder {
6
6
  middleware = undefined;
7
7
  handlers = {};
@@ -81,7 +81,7 @@ export class Server {
81
81
  this.connectionPool = [];
82
82
  }
83
83
  buildHandler() {
84
- return async (request) => {
84
+ return async (request, server) => {
85
85
  // Only open under _api, if not, then close the connection
86
86
  const urlObject = new URL(request.url);
87
87
  if (urlObject.pathname.split("/")[1] !== "_api") {
@@ -127,14 +127,6 @@ export class Server {
127
127
  status: 404,
128
128
  });
129
129
  }
130
- // Validate the procedure input
131
- const parsedArgumentsResult = await procedureDefinition.input.safeParseAsync(parsedBody.data.data);
132
- if (parsedArgumentsResult.success === false) {
133
- console.log(`[ZYNAPSE] The input has failed the validation: ${parsedArgumentsResult.error.message}`);
134
- return new Response(`The input has failed the validation: ${parsedArgumentsResult.error.message}`, {
135
- status: 400,
136
- });
137
- }
138
130
  const ctx = new Map();
139
131
  // Now, run the middleware if it exists
140
132
  if (implementationHandler.middleware !== undefined) {
@@ -150,6 +142,29 @@ export class Server {
150
142
  }
151
143
  }
152
144
  try {
145
+ if (procedureDefinition.method === "BIDIRECTIONAL") {
146
+ // Create ctx around connection and upgrade.
147
+ const result = server.upgrade(request, {
148
+ data: {
149
+ ctx: ctx,
150
+ initialRequest: request.clone(),
151
+ procDefinition: procedureDefinition,
152
+ procedure: procedureHandler,
153
+ },
154
+ });
155
+ if (!result) {
156
+ console.error("[ZYNAPSE] Failed to upgrade connection to websocket.");
157
+ }
158
+ return;
159
+ }
160
+ // Validate the procedure input
161
+ const parsedArgumentsResult = await procedureDefinition.input.safeParseAsync(parsedBody.data.data);
162
+ if (parsedArgumentsResult.success === false) {
163
+ console.log(`[ZYNAPSE] The input has failed the validation: ${parsedArgumentsResult.error.message}`);
164
+ return new Response(`The input has failed the validation: ${parsedArgumentsResult.error.message}`, {
165
+ status: 400,
166
+ });
167
+ }
153
168
  if (procedureDefinition.method === "SUBSCRIPTION") {
154
169
  const conn = new Connection();
155
170
  const connWritter = new ConnectionWritter(conn, procedureDefinition);
@@ -214,6 +229,39 @@ export class Server {
214
229
  "/_api": handler,
215
230
  "/_api/webhook": (req) => this.handleWebhook(req),
216
231
  },
232
+ websocket: {
233
+ data: {},
234
+ open(ws) {
235
+ if (!ws.data.connectionHandler) {
236
+ console.info("[ZYNAPSE] Creating WS Connection Handler...");
237
+ ws.data.connectionHandler = new BidirectionalConnection(ws.data.ctx, ws.data.procDefinition, ws);
238
+ }
239
+ ws.data.procedure(ws.data.initialRequest, ws.data.connectionHandler, ws.data.ctx).catch((e) => {
240
+ console.error(`[ZYNAPSE] Error happened on the setup procedure\nError:${e}\n\nClosing connection...`);
241
+ ws.close(1011, "Procedure error.");
242
+ });
243
+ },
244
+ message(ws, message) {
245
+ if (!ws.data.connectionHandler) {
246
+ console.warn("A websocket message has been received but there's no connection handler registered.");
247
+ return;
248
+ }
249
+ try {
250
+ const parsed = JSON.parse(message);
251
+ ws.data.connectionHandler._onClientMessage(parsed);
252
+ }
253
+ catch (e) {
254
+ console.error(`[ZYNAPSE] Failed to parse incoming websocket message\n${e}`);
255
+ }
256
+ },
257
+ close(ws) {
258
+ if (!ws.data.connectionHandler) {
259
+ console.error("Websocket doesn't have a connection handler, unable to handle close state.");
260
+ return;
261
+ }
262
+ ws.data.connectionHandler.close();
263
+ },
264
+ },
217
265
  async fetch(req) {
218
266
  console.log(`[ZYNAPSE] Invalid request received. ${req.url}`);
219
267
  return new Response(null, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zynapse",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "A TypeScript library providing a schema-based API system with type-safe server implementations",
5
5
  "type": "module",
6
6
  "main": "./dist/schema/index.js",
@@ -40,7 +40,7 @@
40
40
  "type-safe"
41
41
  ],
42
42
  "devDependencies": {
43
- "@types/bun": "^1.3.2",
43
+ "@types/bun": "^1.3.4",
44
44
  "@typescript/native-preview": "^7.0.0-dev.20250606.1",
45
45
  "typescript": "^5.7.2"
46
46
  },