@highstate/designer 0.7.3 → 0.7.6

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.
Files changed (240) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/0cvrggvQ.js +6 -0
  3. package/.output/public/_nuxt/25W9uPmb.js +6 -0
  4. package/.output/public/_nuxt/4Ik7cdeQ.js +8 -0
  5. package/.output/public/_nuxt/5Rap-vPy.js +6 -0
  6. package/.output/public/_nuxt/B03wrqEc.js +6 -0
  7. package/.output/public/_nuxt/B5zXfXm9.js +6 -0
  8. package/.output/public/_nuxt/B9Xyijhd.js +6 -0
  9. package/.output/public/_nuxt/BFG1Mk7z.js +6 -0
  10. package/.output/public/_nuxt/BIHI7g3E.js +1 -0
  11. package/.output/public/_nuxt/BKlk5iyT.js +6 -0
  12. package/.output/public/_nuxt/BSkB5QuD.js +6 -0
  13. package/.output/public/_nuxt/BWmkvLm_.js +9 -0
  14. package/.output/public/_nuxt/BY4ic99o.js +1 -0
  15. package/.output/public/_nuxt/B_c3zf-v.js +6 -0
  16. package/.output/public/_nuxt/B_fMsGYe.js +6 -0
  17. package/.output/public/_nuxt/BaJupSGV.js +6 -0
  18. package/.output/public/_nuxt/BaLxmfj-.js +6 -0
  19. package/.output/public/_nuxt/BaiHcgzs.js +6 -0
  20. package/.output/public/_nuxt/Bc-ZgV77.js +6 -0
  21. package/.output/public/_nuxt/BfEKNvv3.js +7 -0
  22. package/.output/public/_nuxt/Bhzvs7bI.js +6 -0
  23. package/.output/public/_nuxt/Bio4gycK.js +6 -0
  24. package/.output/public/_nuxt/BoFRg7Ot.js +6 -0
  25. package/.output/public/_nuxt/Bqgm2twL.js +6 -0
  26. package/.output/public/_nuxt/BrdhNivz.js +1 -0
  27. package/.output/public/_nuxt/BrgZPUOV.js +6 -0
  28. package/.output/public/_nuxt/BsTHnhdd.js +7 -0
  29. package/.output/public/_nuxt/C5WLch3f.js +6 -0
  30. package/.output/public/_nuxt/C7NrX02N.js +6 -0
  31. package/.output/public/_nuxt/CCSDG5nI.js +6 -0
  32. package/.output/public/_nuxt/CDGzqUPQ.js +6 -0
  33. package/.output/public/_nuxt/CDntyWJ8.js +6 -0
  34. package/.output/public/_nuxt/CFKIUWau.js +6 -0
  35. package/.output/public/_nuxt/CFOPXBzS.js +6 -0
  36. package/.output/public/_nuxt/CLLBncYj.js +6 -0
  37. package/.output/public/_nuxt/COyEY5Pt.js +7 -0
  38. package/.output/public/_nuxt/CPajHgWi.js +6 -0
  39. package/.output/public/_nuxt/CVwtpugi.js +6 -0
  40. package/.output/public/_nuxt/CWsALi_N.js +6 -0
  41. package/.output/public/_nuxt/CX-rkNHf.js +6 -0
  42. package/.output/public/_nuxt/CXOwvkN_.js +6 -0
  43. package/.output/public/_nuxt/CdQndTaG.js +6 -0
  44. package/.output/public/_nuxt/Ce3n6wWz.js +6 -0
  45. package/.output/public/_nuxt/Cg7bfA9N.js +6 -0
  46. package/.output/public/_nuxt/Ch4PGxFq.js +6 -0
  47. package/.output/public/_nuxt/Cp1zYvxS.js +6 -0
  48. package/.output/public/_nuxt/CpIb_Oan.js +6 -0
  49. package/.output/public/_nuxt/Cpb6xl2v.js +6 -0
  50. package/.output/public/_nuxt/Cphgjts3.js +6 -0
  51. package/.output/public/_nuxt/CrUIUSRQ.js +1 -0
  52. package/.output/public/_nuxt/CwNk8-XU.js +6 -0
  53. package/.output/public/_nuxt/CxQiO5cn.js +8 -0
  54. package/.output/public/_nuxt/CzKuDChf.js +6 -0
  55. package/.output/public/_nuxt/D-MeaMDU.js +6 -0
  56. package/.output/public/_nuxt/D0A5LTnE.js +9 -0
  57. package/.output/public/_nuxt/D3h14YRZ.js +8 -0
  58. package/.output/public/_nuxt/D5C2fndG.js +6 -0
  59. package/.output/public/_nuxt/DDwshQtU.js +6 -0
  60. package/.output/public/_nuxt/DFGrbNda.js +16 -0
  61. package/.output/public/_nuxt/DGinXpNd.js +6 -0
  62. package/.output/public/_nuxt/DHaeiCBh.js +6 -0
  63. package/.output/public/_nuxt/DHbdnjwW.js +6 -0
  64. package/.output/public/_nuxt/DSZPf7rp.js +6 -0
  65. package/.output/public/_nuxt/DTECt2xU.js +6 -0
  66. package/.output/public/_nuxt/DXyYeYxl.js +6 -0
  67. package/.output/public/_nuxt/DYQUnd45.js +303 -0
  68. package/.output/public/_nuxt/Dd3NCNK9.js +6 -0
  69. package/.output/public/_nuxt/DfzH4Xui.js +6 -0
  70. package/.output/public/_nuxt/DgpMLyT9.js +6 -0
  71. package/.output/public/_nuxt/DgyLZaXg.js +6 -0
  72. package/.output/public/_nuxt/DnHyzjbg.js +6 -0
  73. package/.output/public/_nuxt/DqxlV1Dz.js +6 -0
  74. package/.output/public/_nuxt/DrQuvNYM.js +6 -0
  75. package/.output/public/_nuxt/Drc7WvVn.js +6 -0
  76. package/.output/public/_nuxt/DtSS2RIy.js +6 -0
  77. package/.output/public/_nuxt/DwJ7jVG9.js +8 -0
  78. package/.output/public/_nuxt/DwN8ib1V.js +1111 -0
  79. package/.output/public/_nuxt/DyP6w7ZV.js +6 -0
  80. package/.output/public/_nuxt/Tw7wswEv.js +6 -0
  81. package/.output/public/_nuxt/YWi4-JPR.js +6 -0
  82. package/.output/public/_nuxt/Zznr-cwX.js +6 -0
  83. package/.output/public/_nuxt/builds/latest.json +1 -0
  84. package/.output/public/_nuxt/builds/meta/652d9eb9-2c2b-4ab1-b1c2-d46efce134b3.json +1 -0
  85. package/.output/public/_nuxt/codicon.DCmgc-ay.ttf +0 -0
  86. package/.output/public/_nuxt/dUCx_-0o.js +6 -0
  87. package/.output/public/_nuxt/deUWdS0T.js +6 -0
  88. package/.output/public/_nuxt/edge-router-BFNVMcBx.js +4 -0
  89. package/.output/public/_nuxt/editor.worker-B6Jl4jUd.js +12 -0
  90. package/.output/public/_nuxt/entry.BD0Qz9HR.css +5 -0
  91. package/.output/public/_nuxt/error-404.D7tj2jQK.css +1 -0
  92. package/.output/public/_nuxt/error-500.TOCKLquH.css +1 -0
  93. package/.output/public/_nuxt/gYnoVL96.js +6 -0
  94. package/.output/public/_nuxt/graph-resolver-Y9hmyS-J.js +8 -0
  95. package/.output/public/_nuxt/i9-g7ZhI.js +6 -0
  96. package/.output/public/_nuxt/jDosRYr7.js +15 -0
  97. package/.output/public/_nuxt/materialdesignicons-webfont.B6OSyW2I.woff2 +0 -0
  98. package/.output/public/_nuxt/materialdesignicons-webfont.BpRar1d5.ttf +0 -0
  99. package/.output/public/_nuxt/materialdesignicons-webfont.Bvl3VxMs.woff +0 -0
  100. package/.output/public/_nuxt/materialdesignicons-webfont.TEmAk13K.eot +0 -0
  101. package/.output/public/_nuxt/nf6ki56Z.js +6 -0
  102. package/.output/public/_nuxt/pnP8ivHi.js +6 -0
  103. package/.output/public/_nuxt/rUNN04Wq.js +6 -0
  104. package/.output/public/_nuxt/tGk8EFnU.js +6 -0
  105. package/.output/public/_nuxt/yaml.worker-B8S0iqeR.js +411 -0
  106. package/.output/public/favicon.ico +0 -0
  107. package/.output/public/libavoid.wasm +0 -0
  108. package/.output/public/robots.txt +1 -0
  109. package/.output/server/index.mjs +13188 -0
  110. package/.output/server/index.mjs.map +1 -0
  111. package/.output/server/node_modules/@babel/parser/lib/index.js +14246 -0
  112. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  113. package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/fetchRequestHandler.mjs +74 -0
  114. package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/index.mjs +1 -0
  115. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/incomingMessageToRequest.mjs +119 -0
  116. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/index.mjs +2 -0
  117. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +92 -0
  118. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/writeResponse.mjs +79 -0
  119. package/.output/server/node_modules/@trpc/server/dist/adapters/ws.mjs +521 -0
  120. package/.output/server/node_modules/@trpc/server/dist/index.mjs +12 -0
  121. package/.output/server/node_modules/@trpc/server/dist/observable/observable.mjs +175 -0
  122. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/createProxy.mjs +73 -0
  123. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/TRPCError.mjs +79 -0
  124. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
  125. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/getErrorShape.mjs +29 -0
  126. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/abortError.mjs +10 -0
  127. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/contentType.mjs +229 -0
  128. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +76 -0
  129. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/parseConnectionParams.mjs +39 -0
  130. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/resolveResponse.mjs +570 -0
  131. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/initTRPC.mjs +80 -0
  132. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/middleware.mjs +90 -0
  133. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/parser.mjs +52 -0
  134. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/procedure.mjs +7 -0
  135. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/procedureBuilder.mjs +198 -0
  136. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
  137. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/router.mjs +278 -0
  138. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rpc/codes.mjs +54 -0
  139. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +61 -0
  140. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/jsonl.mjs +603 -0
  141. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/sse.mjs +369 -0
  142. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/tracked.mjs +25 -0
  143. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +165 -0
  144. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +15 -0
  145. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +43 -0
  146. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.mjs +239 -0
  147. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +23 -0
  148. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +23 -0
  149. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +127 -0
  150. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/transformer.mjs +101 -0
  151. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/utils.mjs +83 -0
  152. package/.output/server/node_modules/@trpc/server/dist/vendor/standard-schema-v1/error.mjs +26 -0
  153. package/.output/server/node_modules/@trpc/server/dist/vendor/unpromise/unpromise.mjs +289 -0
  154. package/.output/server/node_modules/@trpc/server/package.json +156 -0
  155. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6690 -0
  156. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  157. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +686 -0
  158. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  159. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1404 -0
  160. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  161. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1789 -0
  162. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  163. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6654 -0
  164. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  165. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1669 -0
  166. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  167. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +857 -0
  168. package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  169. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +594 -0
  170. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  171. package/.output/server/node_modules/devalue/index.js +3 -0
  172. package/.output/server/node_modules/devalue/package.json +34 -0
  173. package/.output/server/node_modules/devalue/src/base64.js +110 -0
  174. package/.output/server/node_modules/devalue/src/constants.js +6 -0
  175. package/.output/server/node_modules/devalue/src/parse.js +160 -0
  176. package/.output/server/node_modules/devalue/src/stringify.js +232 -0
  177. package/.output/server/node_modules/devalue/src/uneval.js +351 -0
  178. package/.output/server/node_modules/devalue/src/utils.js +113 -0
  179. package/.output/server/node_modules/entities/lib/decode.js +536 -0
  180. package/.output/server/node_modules/entities/lib/decode_codepoint.js +76 -0
  181. package/.output/server/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  182. package/.output/server/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  183. package/.output/server/node_modules/entities/package.json +90 -0
  184. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  185. package/.output/server/node_modules/estree-walker/package.json +37 -0
  186. package/.output/server/node_modules/hookable/dist/index.mjs +290 -0
  187. package/.output/server/node_modules/hookable/package.json +49 -0
  188. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  189. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  190. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  191. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  192. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  193. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  194. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  195. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  196. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  197. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  198. package/.output/server/node_modules/source-map-js/package.json +71 -0
  199. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  200. package/.output/server/node_modules/ufo/dist/index.mjs +630 -0
  201. package/.output/server/node_modules/ufo/package.json +47 -0
  202. package/.output/server/node_modules/unhead/dist/plugins.mjs +94 -0
  203. package/.output/server/node_modules/unhead/dist/server.mjs +220 -0
  204. package/.output/server/node_modules/unhead/dist/shared/unhead.C13swrCa.mjs +48 -0
  205. package/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs +148 -0
  206. package/.output/server/node_modules/unhead/dist/shared/unhead.Cp0iF6eN.mjs +177 -0
  207. package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  208. package/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs +70 -0
  209. package/.output/server/node_modules/unhead/dist/shared/unhead.DeCxexjU.mjs +166 -0
  210. package/.output/server/node_modules/unhead/dist/shared/unhead.Txd0XTIP.mjs +172 -0
  211. package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  212. package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  213. package/.output/server/node_modules/unhead/package.json +101 -0
  214. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  215. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  216. package/.output/server/node_modules/vue/index.js +7 -0
  217. package/.output/server/node_modules/vue/index.mjs +1 -0
  218. package/.output/server/node_modules/vue/package.json +112 -0
  219. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  220. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +196 -0
  221. package/.output/server/node_modules/vue-bundle-renderer/package.json +50 -0
  222. package/.output/server/node_modules/ws/lib/buffer-util.js +131 -0
  223. package/.output/server/node_modules/ws/lib/constants.js +18 -0
  224. package/.output/server/node_modules/ws/lib/event-target.js +292 -0
  225. package/.output/server/node_modules/ws/lib/extension.js +203 -0
  226. package/.output/server/node_modules/ws/lib/limiter.js +55 -0
  227. package/.output/server/node_modules/ws/lib/permessage-deflate.js +514 -0
  228. package/.output/server/node_modules/ws/lib/receiver.js +706 -0
  229. package/.output/server/node_modules/ws/lib/sender.js +602 -0
  230. package/.output/server/node_modules/ws/lib/stream.js +161 -0
  231. package/.output/server/node_modules/ws/lib/subprotocol.js +62 -0
  232. package/.output/server/node_modules/ws/lib/validation.js +152 -0
  233. package/.output/server/node_modules/ws/lib/websocket-server.js +540 -0
  234. package/.output/server/node_modules/ws/lib/websocket.js +1388 -0
  235. package/.output/server/node_modules/ws/package.json +69 -0
  236. package/.output/server/node_modules/ws/wrapper.mjs +8 -0
  237. package/.output/server/node_modules/zod/lib/index.mjs +4405 -0
  238. package/.output/server/node_modules/zod/package.json +122 -0
  239. package/.output/server/package.json +1 -0
  240. package/package.json +4 -4
@@ -0,0 +1,521 @@
1
+ import { getErrorShape } from '../unstable-core-do-not-import/error/getErrorShape.mjs';
2
+ import { TRPCError, getTRPCErrorFromUnknown } from '../unstable-core-do-not-import/error/TRPCError.mjs';
3
+ import { callProcedure } from '../unstable-core-do-not-import/router.mjs';
4
+ import { run, isObject, isAsyncIterable } from '../unstable-core-do-not-import/utils.mjs';
5
+ import { parseConnectionParamsFromUnknown } from '../unstable-core-do-not-import/http/parseConnectionParams.mjs';
6
+ import { parseTRPCMessage } from '../unstable-core-do-not-import/rpc/parseTRPCMessage.mjs';
7
+ import { isObservable, observableToAsyncIterable } from '../observable/observable.mjs';
8
+ import { iteratorResource } from '../unstable-core-do-not-import/stream/utils/asyncIterable.mjs';
9
+ import '../unstable-core-do-not-import/stream/utils/disposable.mjs';
10
+ import { Unpromise } from '../vendor/unpromise/unpromise.mjs';
11
+ import { isTrackedEnvelope } from '../unstable-core-do-not-import/stream/tracked.mjs';
12
+ import { transformTRPCResponse } from '../unstable-core-do-not-import/transformer.mjs';
13
+ import '../unstable-core-do-not-import/rootConfig.mjs';
14
+ import { createURL } from './node-http/incomingMessageToRequest.mjs';
15
+
16
+ function _ts_add_disposable_resource(env, value, async) {
17
+ if (value !== null && value !== void 0) {
18
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
19
+ var dispose, inner;
20
+ {
21
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
22
+ dispose = value[Symbol.asyncDispose];
23
+ }
24
+ if (dispose === void 0) {
25
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
26
+ dispose = value[Symbol.dispose];
27
+ inner = dispose;
28
+ }
29
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
30
+ if (inner) dispose = function() {
31
+ try {
32
+ inner.call(this);
33
+ } catch (e) {
34
+ return Promise.reject(e);
35
+ }
36
+ };
37
+ env.stack.push({
38
+ value: value,
39
+ dispose: dispose,
40
+ async: async
41
+ });
42
+ } else {
43
+ env.stack.push({
44
+ async: true
45
+ });
46
+ }
47
+ return value;
48
+ }
49
+ function _ts_dispose_resources(env) {
50
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
51
+ var e = new Error(message);
52
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
53
+ };
54
+ return (_ts_dispose_resources = function _ts_dispose_resources(env) {
55
+ function fail(e) {
56
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
57
+ env.hasError = true;
58
+ }
59
+ var r, s = 0;
60
+ function next() {
61
+ while(r = env.stack.pop()){
62
+ try {
63
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
64
+ if (r.dispose) {
65
+ var result = r.dispose.call(r.value);
66
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
67
+ fail(e);
68
+ return next();
69
+ });
70
+ } else s |= 1;
71
+ } catch (e) {
72
+ fail(e);
73
+ }
74
+ }
75
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
76
+ if (env.hasError) throw env.error;
77
+ }
78
+ return next();
79
+ })(env);
80
+ }
81
+ /**
82
+ * Importing ws causes a build error
83
+ * @see https://github.com/trpc/trpc/pull/5279
84
+ */ const WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */
85
+ const unsetContextPromiseSymbol = Symbol('unsetContextPromise');
86
+ function getWSConnectionHandler(opts) {
87
+ const { createContext, router } = opts;
88
+ const { transformer } = router._def._config;
89
+ return async (client, req)=>{
90
+ const clientSubscriptions = new Map();
91
+ const abortController = new AbortController();
92
+ if (opts.keepAlive?.enabled) {
93
+ const { pingMs, pongWaitMs } = opts.keepAlive;
94
+ handleKeepAlive(client, pingMs, pongWaitMs);
95
+ }
96
+ function respond(untransformedJSON) {
97
+ client.send(JSON.stringify(transformTRPCResponse(router._def._config, untransformedJSON)));
98
+ }
99
+ function createCtxPromise(getConnectionParams) {
100
+ return run(async ()=>{
101
+ ctx = await createContext?.({
102
+ req,
103
+ res: client,
104
+ info: {
105
+ connectionParams: getConnectionParams(),
106
+ calls: [],
107
+ isBatchCall: false,
108
+ accept: null,
109
+ type: 'unknown',
110
+ signal: abortController.signal,
111
+ url: null
112
+ }
113
+ });
114
+ return ctx;
115
+ }).catch((cause)=>{
116
+ const error = getTRPCErrorFromUnknown(cause);
117
+ opts.onError?.({
118
+ error,
119
+ path: undefined,
120
+ type: 'unknown',
121
+ ctx,
122
+ req,
123
+ input: undefined
124
+ });
125
+ respond({
126
+ id: null,
127
+ error: getErrorShape({
128
+ config: router._def._config,
129
+ error,
130
+ type: 'unknown',
131
+ path: undefined,
132
+ input: undefined,
133
+ ctx
134
+ })
135
+ });
136
+ // close in next tick
137
+ (globalThis.setImmediate ?? globalThis.setTimeout)(()=>{
138
+ client.close();
139
+ });
140
+ throw error;
141
+ });
142
+ }
143
+ let ctx = undefined;
144
+ /**
145
+ * promise for initializing the context
146
+ *
147
+ * - the context promise will be created immediately on connection if no connectionParams are expected
148
+ * - if connection params are expected, they will be created once received
149
+ */ let ctxPromise = createURL(req).searchParams.get('connectionParams') === '1' ? unsetContextPromiseSymbol : createCtxPromise(()=>null);
150
+ async function handleRequest(msg) {
151
+ const { id, jsonrpc } = msg;
152
+ /* istanbul ignore next -- @preserve */ if (id === null) {
153
+ throw new TRPCError({
154
+ code: 'BAD_REQUEST',
155
+ message: '`id` is required'
156
+ });
157
+ }
158
+ if (msg.method === 'subscription.stop') {
159
+ clientSubscriptions.get(id)?.abort();
160
+ return;
161
+ }
162
+ const { path, lastEventId } = msg.params;
163
+ let { input } = msg.params;
164
+ const type = msg.method;
165
+ try {
166
+ if (lastEventId !== undefined) {
167
+ if (isObject(input)) {
168
+ input = {
169
+ ...input,
170
+ lastEventId: lastEventId
171
+ };
172
+ } else {
173
+ input ?? (input = {
174
+ lastEventId: lastEventId
175
+ });
176
+ }
177
+ }
178
+ await ctxPromise; // asserts context has been set
179
+ const abortController = new AbortController();
180
+ const result = await callProcedure({
181
+ router,
182
+ path,
183
+ getRawInput: async ()=>input,
184
+ ctx,
185
+ type,
186
+ signal: abortController.signal
187
+ });
188
+ const isIterableResult = isAsyncIterable(result) || isObservable(result);
189
+ if (type !== 'subscription') {
190
+ if (isIterableResult) {
191
+ throw new TRPCError({
192
+ code: 'UNSUPPORTED_MEDIA_TYPE',
193
+ message: `Cannot return an async iterable or observable from a ${type} procedure with WebSockets`
194
+ });
195
+ }
196
+ // send the value as data if the method is not a subscription
197
+ respond({
198
+ id,
199
+ jsonrpc,
200
+ result: {
201
+ type: 'data',
202
+ data: result
203
+ }
204
+ });
205
+ return;
206
+ }
207
+ if (!isIterableResult) {
208
+ throw new TRPCError({
209
+ message: `Subscription ${path} did not return an observable or a AsyncGenerator`,
210
+ code: 'INTERNAL_SERVER_ERROR'
211
+ });
212
+ }
213
+ /* istanbul ignore next -- @preserve */ if (client.readyState !== WEBSOCKET_OPEN) {
214
+ // if the client got disconnected whilst initializing the subscription
215
+ // no need to send stopped message if the client is disconnected
216
+ return;
217
+ }
218
+ /* istanbul ignore next -- @preserve */ if (clientSubscriptions.has(id)) {
219
+ // duplicate request ids for client
220
+ throw new TRPCError({
221
+ message: `Duplicate id ${id}`,
222
+ code: 'BAD_REQUEST'
223
+ });
224
+ }
225
+ const iterable = isObservable(result) ? observableToAsyncIterable(result, abortController.signal) : result;
226
+ run(async ()=>{
227
+ const env = {
228
+ stack: [],
229
+ error: void 0,
230
+ hasError: false
231
+ };
232
+ try {
233
+ const iterator = _ts_add_disposable_resource(env, iteratorResource(iterable), true);
234
+ ;
235
+ const abortPromise = new Promise((resolve)=>{
236
+ abortController.signal.onabort = ()=>resolve('abort');
237
+ });
238
+ // We need those declarations outside the loop for garbage collection reasons. If they
239
+ // were declared inside, they would not be freed until the next value is present.
240
+ let next;
241
+ let result;
242
+ while(true){
243
+ next = await Unpromise.race([
244
+ iterator.next().catch(getTRPCErrorFromUnknown),
245
+ abortPromise
246
+ ]);
247
+ if (next === 'abort') {
248
+ await iterator.return?.();
249
+ break;
250
+ }
251
+ if (next instanceof Error) {
252
+ const error = getTRPCErrorFromUnknown(next);
253
+ opts.onError?.({
254
+ error,
255
+ path,
256
+ type,
257
+ ctx,
258
+ req,
259
+ input
260
+ });
261
+ respond({
262
+ id,
263
+ jsonrpc,
264
+ error: getErrorShape({
265
+ config: router._def._config,
266
+ error,
267
+ type,
268
+ path,
269
+ input,
270
+ ctx
271
+ })
272
+ });
273
+ break;
274
+ }
275
+ if (next.done) {
276
+ break;
277
+ }
278
+ result = {
279
+ type: 'data',
280
+ data: next.value
281
+ };
282
+ if (isTrackedEnvelope(next.value)) {
283
+ const [id, data] = next.value;
284
+ result.id = id;
285
+ result.data = {
286
+ id,
287
+ data
288
+ };
289
+ }
290
+ respond({
291
+ id,
292
+ jsonrpc,
293
+ result
294
+ });
295
+ // free up references for garbage collection
296
+ next = null;
297
+ result = null;
298
+ }
299
+ respond({
300
+ id,
301
+ jsonrpc,
302
+ result: {
303
+ type: 'stopped'
304
+ }
305
+ });
306
+ clientSubscriptions.delete(id);
307
+ } catch (e) {
308
+ env.error = e;
309
+ env.hasError = true;
310
+ } finally{
311
+ const result = _ts_dispose_resources(env);
312
+ if (result) await result;
313
+ }
314
+ }).catch((cause)=>{
315
+ const error = getTRPCErrorFromUnknown(cause);
316
+ opts.onError?.({
317
+ error,
318
+ path,
319
+ type,
320
+ ctx,
321
+ req,
322
+ input
323
+ });
324
+ respond({
325
+ id,
326
+ jsonrpc,
327
+ error: getErrorShape({
328
+ config: router._def._config,
329
+ error,
330
+ type,
331
+ path,
332
+ input,
333
+ ctx
334
+ })
335
+ });
336
+ abortController.abort();
337
+ });
338
+ clientSubscriptions.set(id, abortController);
339
+ respond({
340
+ id,
341
+ jsonrpc,
342
+ result: {
343
+ type: 'started'
344
+ }
345
+ });
346
+ } catch (cause) /* istanbul ignore next -- @preserve */ {
347
+ // procedure threw an error
348
+ const error = getTRPCErrorFromUnknown(cause);
349
+ opts.onError?.({
350
+ error,
351
+ path,
352
+ type,
353
+ ctx,
354
+ req,
355
+ input
356
+ });
357
+ respond({
358
+ id,
359
+ jsonrpc,
360
+ error: getErrorShape({
361
+ config: router._def._config,
362
+ error,
363
+ type,
364
+ path,
365
+ input,
366
+ ctx
367
+ })
368
+ });
369
+ }
370
+ }
371
+ client.on('message', async (rawData)=>{
372
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
373
+ const msgStr = rawData.toString();
374
+ if (msgStr === 'PONG') {
375
+ return;
376
+ }
377
+ if (msgStr === 'PING') {
378
+ if (!opts.dangerouslyDisablePong) {
379
+ client.send('PONG');
380
+ }
381
+ return;
382
+ }
383
+ if (ctxPromise === unsetContextPromiseSymbol) {
384
+ // If the ctxPromise wasn't created immediately, we're expecting the first message to be a TRPCConnectionParamsMessage
385
+ ctxPromise = createCtxPromise(()=>{
386
+ let msg;
387
+ try {
388
+ msg = JSON.parse(msgStr);
389
+ if (!isObject(msg)) {
390
+ throw new Error('Message was not an object');
391
+ }
392
+ } catch (cause) {
393
+ throw new TRPCError({
394
+ code: 'PARSE_ERROR',
395
+ message: `Malformed TRPCConnectionParamsMessage`,
396
+ cause
397
+ });
398
+ }
399
+ const connectionParams = parseConnectionParamsFromUnknown(msg.data);
400
+ return connectionParams;
401
+ });
402
+ return;
403
+ }
404
+ try {
405
+ const msgJSON = JSON.parse(msgStr);
406
+ const msgs = Array.isArray(msgJSON) ? msgJSON : [
407
+ msgJSON
408
+ ];
409
+ const promises = msgs.map((raw)=>parseTRPCMessage(raw, transformer)).map(handleRequest);
410
+ await Promise.all(promises);
411
+ } catch (cause) {
412
+ const error = new TRPCError({
413
+ code: 'PARSE_ERROR',
414
+ cause
415
+ });
416
+ respond({
417
+ id: null,
418
+ error: getErrorShape({
419
+ config: router._def._config,
420
+ error,
421
+ type: 'unknown',
422
+ path: undefined,
423
+ input: undefined,
424
+ ctx: undefined
425
+ })
426
+ });
427
+ }
428
+ });
429
+ // WebSocket errors should be handled, as otherwise unhandled exceptions will crash Node.js.
430
+ // This line was introduced after the following error brought down production systems:
431
+ // "RangeError: Invalid WebSocket frame: RSV2 and RSV3 must be clear"
432
+ // Here is the relevant discussion: https://github.com/websockets/ws/issues/1354#issuecomment-774616962
433
+ client.on('error', (cause)=>{
434
+ opts.onError?.({
435
+ ctx,
436
+ error: getTRPCErrorFromUnknown(cause),
437
+ input: undefined,
438
+ path: undefined,
439
+ type: 'unknown',
440
+ req
441
+ });
442
+ });
443
+ client.once('close', ()=>{
444
+ for (const sub of clientSubscriptions.values()){
445
+ sub.abort();
446
+ }
447
+ clientSubscriptions.clear();
448
+ abortController.abort();
449
+ });
450
+ if (ctxPromise !== unsetContextPromiseSymbol) {
451
+ await ctxPromise;
452
+ }
453
+ };
454
+ }
455
+ /**
456
+ * Handle WebSocket keep-alive messages
457
+ */ function handleKeepAlive(client, pingMs = 30000, pongWaitMs = 5000) {
458
+ let timeout = undefined;
459
+ let ping = undefined;
460
+ const schedulePing = ()=>{
461
+ const scheduleTimeout = ()=>{
462
+ timeout = setTimeout(()=>{
463
+ client.terminate();
464
+ }, pongWaitMs);
465
+ };
466
+ ping = setTimeout(()=>{
467
+ client.send('PING');
468
+ scheduleTimeout();
469
+ }, pingMs);
470
+ };
471
+ const onMessage = ()=>{
472
+ clearTimeout(ping);
473
+ clearTimeout(timeout);
474
+ schedulePing();
475
+ };
476
+ client.on('message', onMessage);
477
+ client.on('close', ()=>{
478
+ clearTimeout(ping);
479
+ clearTimeout(timeout);
480
+ });
481
+ schedulePing();
482
+ }
483
+ function applyWSSHandler(opts) {
484
+ const onConnection = getWSConnectionHandler(opts);
485
+ opts.wss.on('connection', (client, req)=>{
486
+ if (opts.prefix && !req.url?.startsWith(opts.prefix)) {
487
+ return;
488
+ }
489
+ onConnection(client, req).catch((cause)=>{
490
+ opts.onError?.({
491
+ error: new TRPCError({
492
+ code: 'INTERNAL_SERVER_ERROR',
493
+ cause,
494
+ message: 'Failed to handle WebSocket connection'
495
+ }),
496
+ req: req,
497
+ path: undefined,
498
+ type: 'unknown',
499
+ ctx: undefined,
500
+ input: undefined
501
+ });
502
+ client.close();
503
+ });
504
+ });
505
+ return {
506
+ broadcastReconnectNotification: ()=>{
507
+ const response = {
508
+ id: null,
509
+ method: 'reconnect'
510
+ };
511
+ const data = JSON.stringify(response);
512
+ for (const client of opts.wss.clients){
513
+ if (client.readyState === WEBSOCKET_OPEN) {
514
+ client.send(data);
515
+ }
516
+ }
517
+ }
518
+ };
519
+ }
520
+
521
+ export { applyWSSHandler, getWSConnectionHandler, handleKeepAlive };
@@ -0,0 +1,12 @@
1
+ export { createFlatProxy as createTRPCFlatProxy, createRecursiveProxy as createTRPCRecursiveProxy } from './unstable-core-do-not-import/createProxy.mjs';
2
+ export { getErrorShape } from './unstable-core-do-not-import/error/getErrorShape.mjs';
3
+ export { TRPCError, getTRPCErrorFromUnknown } from './unstable-core-do-not-import/error/TRPCError.mjs';
4
+ export { callProcedure as callTRPCProcedure, lazy as experimental_lazy, lazy } from './unstable-core-do-not-import/router.mjs';
5
+ import './vendor/unpromise/unpromise.mjs';
6
+ import './unstable-core-do-not-import/stream/utils/disposable.mjs';
7
+ export { isTrackedEnvelope, sse, tracked } from './unstable-core-do-not-import/stream/tracked.mjs';
8
+ export { transformTRPCResponse } from './unstable-core-do-not-import/transformer.mjs';
9
+ export { initTRPC } from './unstable-core-do-not-import/initTRPC.mjs';
10
+ export { experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware } from './unstable-core-do-not-import/middleware.mjs';
11
+ export { StandardSchemaV1Error } from './vendor/standard-schema-v1/error.mjs';
12
+ import './unstable-core-do-not-import/rootConfig.mjs';