@powerlines/engine 0.15.0 → 0.15.1

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 (195) hide show
  1. package/dist/api/build.cjs +66 -0
  2. package/dist/api/build.d.cts +14 -0
  3. package/dist/api/build.d.cts.map +1 -0
  4. package/dist/api/build.d.mts +14 -0
  5. package/dist/api/build.d.mts.map +1 -0
  6. package/dist/api/build.mjs +64 -0
  7. package/dist/api/build.mjs.map +1 -0
  8. package/dist/api/clean.cjs +29 -0
  9. package/dist/api/clean.d.cts +14 -0
  10. package/dist/api/clean.d.cts.map +1 -0
  11. package/dist/api/clean.d.mts +14 -0
  12. package/dist/api/clean.d.mts.map +1 -0
  13. package/dist/api/clean.mjs +28 -0
  14. package/dist/api/clean.mjs.map +1 -0
  15. package/dist/api/create.cjs +59 -0
  16. package/dist/api/create.d.cts +14 -0
  17. package/dist/api/create.d.cts.map +1 -0
  18. package/dist/api/create.d.mts +14 -0
  19. package/dist/api/create.d.mts.map +1 -0
  20. package/dist/api/create.mjs +57 -0
  21. package/dist/api/create.mjs.map +1 -0
  22. package/dist/api/deploy.cjs +25 -0
  23. package/dist/api/deploy.d.cts +17 -0
  24. package/dist/api/deploy.d.cts.map +1 -0
  25. package/dist/api/deploy.d.mts +17 -0
  26. package/dist/api/deploy.d.mts.map +1 -0
  27. package/dist/api/deploy.mjs +24 -0
  28. package/dist/api/deploy.mjs.map +1 -0
  29. package/dist/api/docs.cjs +25 -0
  30. package/dist/api/docs.d.cts +17 -0
  31. package/dist/api/docs.d.cts.map +1 -0
  32. package/dist/api/docs.d.mts +17 -0
  33. package/dist/api/docs.d.mts.map +1 -0
  34. package/dist/api/docs.mjs +24 -0
  35. package/dist/api/docs.mjs.map +1 -0
  36. package/dist/api/lint.cjs +28 -0
  37. package/dist/api/lint.d.cts +17 -0
  38. package/dist/api/lint.d.cts.map +1 -0
  39. package/dist/api/lint.d.mts +17 -0
  40. package/dist/api/lint.d.mts.map +1 -0
  41. package/dist/api/lint.mjs +27 -0
  42. package/dist/api/lint.mjs.map +1 -0
  43. package/dist/api/prepare.cjs +69 -0
  44. package/dist/api/prepare.d.cts +14 -0
  45. package/dist/api/prepare.d.cts.map +1 -0
  46. package/dist/api/prepare.d.mts +14 -0
  47. package/dist/api/prepare.d.mts.map +1 -0
  48. package/dist/api/prepare.mjs +68 -0
  49. package/dist/api/prepare.mjs.map +1 -0
  50. package/dist/api/test.cjs +28 -0
  51. package/dist/api/test.d.cts +17 -0
  52. package/dist/api/test.d.cts.map +1 -0
  53. package/dist/api/test.d.mts +17 -0
  54. package/dist/api/test.d.mts.map +1 -0
  55. package/dist/api/test.mjs +27 -0
  56. package/dist/api/test.mjs.map +1 -0
  57. package/dist/api/types.cjs +71 -0
  58. package/dist/api/types.d.cts +17 -0
  59. package/dist/api/types.d.cts.map +1 -0
  60. package/dist/api/types.d.mts +17 -0
  61. package/dist/api/types.d.mts.map +1 -0
  62. package/dist/api/types.mjs +70 -0
  63. package/dist/api/types.mjs.map +1 -0
  64. package/dist/api-6w4hZL6n.d.cts +135 -0
  65. package/dist/api-6w4hZL6n.d.cts.map +1 -0
  66. package/dist/api-Cdw4v0W4.d.mts +135 -0
  67. package/dist/api-Cdw4v0W4.d.mts.map +1 -0
  68. package/dist/config-BNe23XHx.d.mts +204 -0
  69. package/dist/config-BNe23XHx.d.mts.map +1 -0
  70. package/dist/config-D6xUniHh.d.cts +204 -0
  71. package/dist/config-D6xUniHh.d.cts.map +1 -0
  72. package/dist/context/engine-context.cjs +175 -0
  73. package/dist/context/engine-context.d.cts +2 -0
  74. package/dist/context/engine-context.d.mts +2 -0
  75. package/dist/context/engine-context.mjs +173 -0
  76. package/dist/context/engine-context.mjs.map +1 -0
  77. package/dist/context/index.cjs +2 -9
  78. package/dist/context/index.d.cts +2 -660
  79. package/dist/context/index.d.mts +2 -660
  80. package/dist/context/index.mjs +2 -4
  81. package/dist/context-DzgsMSWr.d.mts +149 -0
  82. package/dist/context-DzgsMSWr.d.mts.map +1 -0
  83. package/dist/context-epL7NPvL.d.cts +149 -0
  84. package/dist/context-epL7NPvL.d.cts.map +1 -0
  85. package/dist/engine-context-DEotmVzB.d.mts +54 -0
  86. package/dist/engine-context-DEotmVzB.d.mts.map +1 -0
  87. package/dist/engine-context-Dw8odBCo.d.cts +54 -0
  88. package/dist/engine-context-Dw8odBCo.d.cts.map +1 -0
  89. package/dist/engine.cjs +268 -0
  90. package/dist/engine.d.cts +143 -0
  91. package/dist/engine.d.cts.map +1 -0
  92. package/dist/engine.d.mts +143 -0
  93. package/dist/engine.d.mts.map +1 -0
  94. package/dist/engine.mjs +264 -0
  95. package/dist/engine.mjs.map +1 -0
  96. package/dist/execution-host.cjs +44 -0
  97. package/dist/execution-host.d.cts +14 -0
  98. package/dist/execution-host.d.cts.map +1 -0
  99. package/dist/execution-host.d.mts +14 -0
  100. package/dist/execution-host.d.mts.map +1 -0
  101. package/dist/execution-host.mjs +36 -0
  102. package/dist/execution-host.mjs.map +1 -0
  103. package/dist/helpers/create-execution-host.cjs +51 -0
  104. package/dist/helpers/create-execution-host.d.cts +21 -0
  105. package/dist/helpers/create-execution-host.d.cts.map +1 -0
  106. package/dist/helpers/create-execution-host.d.mts +21 -0
  107. package/dist/helpers/create-execution-host.d.mts.map +1 -0
  108. package/dist/helpers/create-execution-host.mjs +50 -0
  109. package/dist/helpers/create-execution-host.mjs.map +1 -0
  110. package/dist/helpers/execution-host-worker.cjs +308 -0
  111. package/dist/helpers/execution-host-worker.d.cts +68 -0
  112. package/dist/helpers/execution-host-worker.d.cts.map +1 -0
  113. package/dist/helpers/execution-host-worker.d.mts +68 -0
  114. package/dist/helpers/execution-host-worker.d.mts.map +1 -0
  115. package/dist/helpers/execution-host-worker.mjs +307 -0
  116. package/dist/helpers/execution-host-worker.mjs.map +1 -0
  117. package/dist/helpers/finalize.cjs +27 -0
  118. package/dist/helpers/finalize.d.cts +12 -0
  119. package/dist/helpers/finalize.d.cts.map +1 -0
  120. package/dist/helpers/finalize.d.mts +12 -0
  121. package/dist/helpers/finalize.d.mts.map +1 -0
  122. package/dist/helpers/finalize.mjs +26 -0
  123. package/dist/helpers/finalize.mjs.map +1 -0
  124. package/dist/helpers/rpc.cjs +140 -0
  125. package/dist/helpers/rpc.d.cts +7 -0
  126. package/dist/helpers/rpc.d.cts.map +1 -0
  127. package/dist/helpers/rpc.d.mts +7 -0
  128. package/dist/helpers/rpc.d.mts.map +1 -0
  129. package/dist/helpers/rpc.mjs +139 -0
  130. package/dist/helpers/rpc.mjs.map +1 -0
  131. package/dist/index-CNgSR_kt.d.mts +1 -0
  132. package/dist/index-D_TYgLX3.d.cts +1 -0
  133. package/dist/index.cjs +13 -567
  134. package/dist/index.d.cts +9 -126
  135. package/dist/index.d.mts +9 -126
  136. package/dist/index.mjs +7 -567
  137. package/package.json +101 -129
  138. package/dist/_internal/worker.cjs +0 -4843
  139. package/dist/_internal/worker.d.cts +0 -38
  140. package/dist/_internal/worker.d.cts.map +0 -1
  141. package/dist/_internal/worker.d.mts +0 -38
  142. package/dist/_internal/worker.d.mts.map +0 -1
  143. package/dist/_internal/worker.mjs +0 -4804
  144. package/dist/_internal/worker.mjs.map +0 -1
  145. package/dist/api.cjs +0 -1274
  146. package/dist/api.d.cts +0 -265
  147. package/dist/api.d.cts.map +0 -1
  148. package/dist/api.d.mts +0 -265
  149. package/dist/api.d.mts.map +0 -1
  150. package/dist/api.mjs +0 -1270
  151. package/dist/api.mjs.map +0 -1
  152. package/dist/base-context-BUnL_9z8.mjs +0 -241
  153. package/dist/base-context-BUnL_9z8.mjs.map +0 -1
  154. package/dist/base-context-CFvO2N9I.cjs +0 -248
  155. package/dist/context/index.d.cts.map +0 -1
  156. package/dist/context/index.d.mts.map +0 -1
  157. package/dist/engine-context-BuD9AGfd.mjs +0 -41
  158. package/dist/engine-context-BuD9AGfd.mjs.map +0 -1
  159. package/dist/engine-context-NO6enYev.cjs +0 -45
  160. package/dist/execution-context-BgGV4xyW.cjs +0 -2614
  161. package/dist/execution-context-D_CXpe9I.mjs +0 -2570
  162. package/dist/execution-context-D_CXpe9I.mjs.map +0 -1
  163. package/dist/fs-D1nIP45P.mjs +0 -226
  164. package/dist/fs-D1nIP45P.mjs.map +0 -1
  165. package/dist/fs-XogSgMqT.cjs +0 -262
  166. package/dist/index.d.cts.map +0 -1
  167. package/dist/index.d.mts.map +0 -1
  168. package/dist/index.mjs.map +0 -1
  169. package/dist/schemas.cjs +0 -9
  170. package/dist/schemas.d.cts +0 -127
  171. package/dist/schemas.d.cts.map +0 -1
  172. package/dist/schemas.d.mts +0 -127
  173. package/dist/schemas.d.mts.map +0 -1
  174. package/dist/schemas.mjs +0 -3
  175. package/dist/storage/index.cjs +0 -9
  176. package/dist/storage/index.d.cts +0 -419
  177. package/dist/storage/index.d.cts.map +0 -1
  178. package/dist/storage/index.d.mts +0 -419
  179. package/dist/storage/index.d.mts.map +0 -1
  180. package/dist/storage/index.mjs +0 -3
  181. package/dist/ts-morph-BaLPVAdB.cjs +0 -114
  182. package/dist/ts-morph-D0CaA37w.mjs +0 -102
  183. package/dist/ts-morph-D0CaA37w.mjs.map +0 -1
  184. package/dist/tsconfig-Cstsoprg.mjs +0 -155
  185. package/dist/tsconfig-Cstsoprg.mjs.map +0 -1
  186. package/dist/tsconfig-DeyWQC2N.cjs +0 -198
  187. package/dist/typescript/index.cjs +0 -13
  188. package/dist/typescript/index.d.cts +0 -106
  189. package/dist/typescript/index.d.cts.map +0 -1
  190. package/dist/typescript/index.d.mts +0 -106
  191. package/dist/typescript/index.d.mts.map +0 -1
  192. package/dist/typescript/index.mjs +0 -4
  193. package/dist/virtual-BNdKVkRw.cjs +0 -548
  194. package/dist/virtual-gIlTc3Lj.mjs +0 -513
  195. package/dist/virtual-gIlTc3Lj.mjs.map +0 -1
@@ -0,0 +1,139 @@
1
+ import { EventEmitter } from "node:events";
2
+ import { isNumber } from "@stryke/type-checks/is-number";
3
+ import { isSet } from "@stryke/type-checks/is-set";
4
+ import { createEventEmitter } from "@powerlines/core/lib/events";
5
+ import { StormURL } from "@stryke/url";
6
+ import { createRpcStreamingClientHost } from "devframe/client";
7
+ import { RpcCacheManager, RpcFunctionsCollectorBase } from "devframe/rpc";
8
+ import { createRpcClient as createRpcClient$1 } from "devframe/rpc/client";
9
+ import { createWsRpcChannel } from "devframe/rpc/transports/ws-client";
10
+ import { promiseWithResolver } from "devframe/utils/promise";
11
+ import { humanId } from "human-id";
12
+
13
+ //#region src/helpers/rpc.ts
14
+ function createWsRpcClientMode(baseURL, connectionMeta, events, clientRpc, authToken = humanId({
15
+ separator: "-",
16
+ capitalize: false
17
+ }), rpcOptions = {}, wsOptions = {}) {
18
+ let isTrusted = false;
19
+ const trustedPromise = promiseWithResolver();
20
+ const url = isNumber(connectionMeta.websocket) || isSet(connectionMeta.websocket) && `${+connectionMeta.websocket}` === `${connectionMeta.websocket}` ? `${baseURL.protocol.replace("http", "ws")}//${baseURL.hostname}:${connectionMeta.websocket}` : connectionMeta.websocket;
21
+ const definitions = /* @__PURE__ */ new Map();
22
+ for (const name of connectionMeta.jsonSerializableMethods ?? []) definitions.set(name, { jsonSerializable: true });
23
+ const serverRpc = createRpcClient$1(clientRpc.functions, {
24
+ channel: createWsRpcChannel({
25
+ url,
26
+ authToken,
27
+ definitions,
28
+ ...wsOptions
29
+ }),
30
+ rpcOptions
31
+ });
32
+ clientRpc.register({
33
+ name: "devframe:auth:revoked",
34
+ type: "event",
35
+ handler: () => {
36
+ isTrusted = false;
37
+ events.emit("rpc:is-trusted:updated", false);
38
+ }
39
+ });
40
+ let currentAuthToken = authToken;
41
+ async function requestTrustWithToken(token) {
42
+ currentAuthToken = token;
43
+ return true;
44
+ }
45
+ async function requestTrust() {
46
+ if (isTrusted) return true;
47
+ return requestTrustWithToken(currentAuthToken);
48
+ }
49
+ async function ensureTrusted(timeout = 6e4) {
50
+ if (isTrusted) trustedPromise.resolve(true);
51
+ if (timeout <= 0) return trustedPromise.promise;
52
+ let clear = () => {};
53
+ await Promise.race([trustedPromise.promise.then(clear), new Promise((resolve, reject) => {
54
+ const id = setTimeout(() => {
55
+ reject(/* @__PURE__ */ new Error("Timeout waiting for rpc to be trusted"));
56
+ }, timeout);
57
+ clear = () => clearTimeout(id);
58
+ })]);
59
+ return isTrusted;
60
+ }
61
+ return {
62
+ get isTrusted() {
63
+ return isTrusted;
64
+ },
65
+ requestTrust,
66
+ requestTrustWithToken,
67
+ ensureTrusted,
68
+ call: (...args) => {
69
+ return serverRpc.$call(...args);
70
+ },
71
+ callEvent: (...args) => {
72
+ return serverRpc.$callEvent(...args);
73
+ },
74
+ callOptional: (...args) => {
75
+ return serverRpc.$callOptional(...args);
76
+ }
77
+ };
78
+ }
79
+ const CONNECTION_AUTH_TOKEN_KEY = "__DEVTOOLS_CONNECTION_AUTH_TOKEN__";
80
+ function createRpcClient(options) {
81
+ const baseURL = new StormURL(options.baseURL);
82
+ const cacheManager = new RpcCacheManager({
83
+ functions: [],
84
+ ...typeof options.cacheOptions === "object" ? options.cacheOptions : {}
85
+ });
86
+ const context = { rpc: void 0 };
87
+ const clientRpc = new RpcFunctionsCollectorBase(context);
88
+ EventEmitter.setMaxListeners(100);
89
+ const events = createEventEmitter();
90
+ const mode = createWsRpcClientMode(baseURL, options.connection, events, clientRpc, void 0, {
91
+ ...options.rpcOptions,
92
+ async onRequest(req, next, resolve) {
93
+ await options.rpcOptions?.onRequest?.call(this, req, next, resolve);
94
+ if (options.cacheOptions && cacheManager?.validate(req.m)) {
95
+ const cached = cacheManager.cached(req.m, req.a);
96
+ if (cached) return resolve(cached);
97
+ else {
98
+ const res = await next(req);
99
+ cacheManager?.apply(req, res);
100
+ }
101
+ } else await next(req);
102
+ }
103
+ }, options.wsOptions);
104
+ const rpc = {
105
+ events,
106
+ get isTrusted() {
107
+ return mode.isTrusted;
108
+ },
109
+ connectionMeta: options.connection,
110
+ ensureTrusted: mode.ensureTrusted,
111
+ requestTrust: mode.requestTrust,
112
+ requestTrustWithToken: async (token) => {
113
+ localStorage.setItem(CONNECTION_AUTH_TOKEN_KEY, token);
114
+ globalThis[CONNECTION_AUTH_TOKEN_KEY] = token;
115
+ return mode.requestTrustWithToken(token);
116
+ },
117
+ call: mode.call,
118
+ callEvent: mode.callEvent,
119
+ callOptional: mode.callOptional,
120
+ client: clientRpc,
121
+ sharedState: void 0,
122
+ streaming: void 0,
123
+ cacheManager
124
+ };
125
+ rpc.streaming = createRpcStreamingClientHost(rpc);
126
+ context.rpc = rpc;
127
+ mode.requestTrust();
128
+ try {
129
+ const bc = new BroadcastChannel("vite-devtools-auth");
130
+ bc.onmessage = (event) => {
131
+ if (event.data?.type === "auth-update" && event.data.authToken) rpc.requestTrustWithToken(event.data.authToken);
132
+ };
133
+ } catch {}
134
+ return rpc;
135
+ }
136
+
137
+ //#endregion
138
+ export { createRpcClient };
139
+ //# sourceMappingURL=rpc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.mjs","names":["createDevframeRpcClient"],"sources":["../../src/helpers/rpc.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { createEventEmitter } from \"@powerlines/core/lib/events\";\nimport { isNumber } from \"@stryke/type-checks/is-number\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { StormURL } from \"@stryke/url\";\nimport { BirpcOptions } from \"birpc\";\nimport {\n createRpcStreamingClientHost,\n DevToolsClientRpcHost,\n DevToolsRpcClientMode,\n RpcClientEvents\n} from \"devframe/client\";\nimport { RpcCacheManager, RpcFunctionsCollectorBase } from \"devframe/rpc\";\nimport { createRpcClient as createDevframeRpcClient } from \"devframe/rpc/client\";\nimport {\n createWsRpcChannel,\n WsRpcChannelOptions\n} from \"devframe/rpc/transports/ws-client\";\nimport {\n ConnectionMeta,\n EventEmitter as DevFrameEventEmitter\n} from \"devframe/types\";\nimport { promiseWithResolver } from \"devframe/utils/promise\";\nimport { humanId } from \"human-id\";\nimport { EventEmitter } from \"node:events\";\nimport { RpcClientOptions } from \"../types/config\";\nimport {\n RpcClient,\n RpcClientFunctions,\n RpcContext,\n RpcServerFunctions\n} from \"../types/rpc\";\n\nfunction createWsRpcClientMode(\n baseURL: StormURL,\n connectionMeta: ConnectionMeta,\n events: DevFrameEventEmitter<RpcClientEvents>,\n clientRpc: DevToolsClientRpcHost,\n authToken: string = humanId({ separator: \"-\", capitalize: false }),\n rpcOptions: Partial<\n BirpcOptions<RpcServerFunctions, RpcClientFunctions, boolean>\n > = {},\n wsOptions: Partial<WsRpcChannelOptions> = {}\n): DevToolsRpcClientMode {\n let isTrusted = false;\n const trustedPromise = promiseWithResolver<boolean>();\n const url =\n isNumber(connectionMeta.websocket) ||\n (isSet(connectionMeta.websocket) &&\n `${+connectionMeta.websocket}` === `${connectionMeta.websocket}`)\n ? `${baseURL.protocol.replace(\"http\", \"ws\")}//${baseURL.hostname}:${connectionMeta.websocket}`\n : (connectionMeta.websocket as string);\n\n // Build a minimal `defs` map from the connection meta so the per-call\n // wire serializer dispatches outgoing requests with the correct\n // encoding (JSON for `jsonSerializable: true` methods; structured-\n // clone for the rest).\n const definitions = new Map<string, { jsonSerializable: true }>();\n for (const name of connectionMeta.jsonSerializableMethods ?? [])\n definitions.set(name, { jsonSerializable: true });\n\n const serverRpc = createDevframeRpcClient<\n RpcServerFunctions,\n RpcClientFunctions\n >(clientRpc.functions, {\n channel: createWsRpcChannel({\n url,\n authToken,\n definitions,\n ...wsOptions\n }),\n rpcOptions\n });\n\n // Handle server-initiated auth revocation\n clientRpc.register({\n name: \"devframe:auth:revoked\",\n type: \"event\",\n handler: () => {\n isTrusted = false;\n events.emit(\"rpc:is-trusted:updated\", false);\n }\n });\n\n let currentAuthToken = authToken;\n\n async function requestTrustWithToken(token: string) {\n currentAuthToken = token;\n\n // const info = parseUA(navigator.userAgent);\n // const ua = [\n // \"powerlines\",\n // \"1.0\",\n // \"|\",\n // info.os.name,\n // info.os.version,\n // info.device.type\n // ]\n // .filter(i => i)\n // .join(\" \");\n\n // const result = await serverRpc.$call(\"vite:anonymous:auth\", {\n // authToken: token,\n // ua,\n // origin: baseURL.origin\n // });\n\n // isTrusted = result.isTrusted;\n // trustedPromise.resolve(isTrusted);\n // events.emit(\"rpc:is-trusted:updated\", isTrusted);\n // return result.isTrusted;\n\n return true;\n }\n\n async function requestTrust() {\n if (isTrusted) return true;\n return requestTrustWithToken(currentAuthToken);\n }\n\n async function ensureTrusted(timeout = 60_000): Promise<boolean> {\n if (isTrusted) trustedPromise.resolve(true);\n\n if (timeout <= 0) return trustedPromise.promise;\n\n let clear = () => {};\n await Promise.race([\n trustedPromise.promise.then(clear),\n new Promise((resolve, reject) => {\n const id = setTimeout(() => {\n reject(new Error(\"Timeout waiting for rpc to be trusted\"));\n }, timeout);\n clear = () => clearTimeout(id);\n })\n ]);\n\n return isTrusted;\n }\n\n return {\n get isTrusted() {\n return isTrusted;\n },\n requestTrust,\n requestTrustWithToken,\n ensureTrusted,\n call: (...args: any): any => {\n return serverRpc.$call(\n // @ts-expect-error casting\n ...args\n );\n },\n callEvent: (...args: any): any => {\n return serverRpc.$callEvent(\n // @ts-expect-error casting\n ...args\n );\n },\n callOptional: (...args: any): any => {\n return serverRpc.$callOptional(\n // @ts-expect-error casting\n ...args\n );\n }\n };\n}\n\nconst CONNECTION_AUTH_TOKEN_KEY = \"__DEVTOOLS_CONNECTION_AUTH_TOKEN__\";\n\nexport function createRpcClient(options: RpcClientOptions) {\n const baseURL = new StormURL(options.baseURL);\n\n const cacheManager = new RpcCacheManager({\n functions: [],\n ...(typeof options.cacheOptions === \"object\" ? options.cacheOptions : {})\n });\n const context: RpcContext = {\n rpc: undefined!\n };\n\n const clientRpc: DevToolsClientRpcHost = new RpcFunctionsCollectorBase<\n RpcClientFunctions,\n RpcContext\n >(context);\n\n EventEmitter.setMaxListeners(100);\n const events = createEventEmitter<RpcClientEvents>();\n\n const mode = createWsRpcClientMode(\n baseURL,\n options.connection,\n events,\n clientRpc,\n undefined,\n {\n ...options.rpcOptions,\n async onRequest(req, next, resolve) {\n await options.rpcOptions?.onRequest?.call(this, req, next, resolve);\n if (options.cacheOptions && cacheManager?.validate(req.m)) {\n const cached = cacheManager.cached(req.m, req.a);\n if (cached) {\n return resolve(cached);\n } else {\n const res = await next(req);\n cacheManager?.apply(req, res);\n }\n } else {\n await next(req);\n }\n }\n },\n options.wsOptions\n );\n\n const rpc: RpcClient = {\n events,\n get isTrusted() {\n return mode.isTrusted;\n },\n connectionMeta: options.connection,\n ensureTrusted: mode.ensureTrusted,\n requestTrust: mode.requestTrust,\n requestTrustWithToken: async (token: string) => {\n // Update stored token for future reconnections\n localStorage.setItem(CONNECTION_AUTH_TOKEN_KEY, token);\n (globalThis as any)[CONNECTION_AUTH_TOKEN_KEY] = token;\n return mode.requestTrustWithToken(token);\n },\n call: mode.call,\n callEvent: mode.callEvent,\n callOptional: mode.callOptional,\n client: clientRpc,\n sharedState: undefined!,\n streaming: undefined!,\n cacheManager\n };\n\n // rpc.sharedState = createRpcSharedStateClientHost(rpc);\n rpc.streaming = createRpcStreamingClientHost(rpc);\n\n // @ts-expect-error assign to readonly property\n context.rpc = rpc;\n void mode.requestTrust();\n\n // Listen for auth updates from other tabs (e.g., auth URL page)\n try {\n const bc = new BroadcastChannel(\"vite-devtools-auth\");\n bc.onmessage = event => {\n if (event.data?.type === \"auth-update\" && event.data.authToken) {\n void rpc.requestTrustWithToken(event.data.authToken);\n }\n };\n } catch {\n // BroadcastChannel is not supported in all environments, so we can safely ignore errors here\n }\n\n return rpc;\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1 @@
1
+ export { };