@dev-anywhere/relay 0.6.3 → 0.7.0
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.
- package/assets/web/assets/{fvad-BQ0eMlem.js → fvad-DQYOSZdE.js} +1 -1
- package/assets/web/assets/{index-BwXMl6yi.js → index-WMCumAhu.js} +3 -3
- package/assets/web/index.html +1 -1
- package/assets/web/sw.js +1 -1
- package/dist/{chunk-SDL4V2RE.js → chunk-6RWN2VEX.js} +17 -9
- package/dist/chunk-6RWN2VEX.js.map +1 -0
- package/dist/handlers/proxy.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/registry.d.ts +2 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-SDL4V2RE.js.map +0 -1
package/assets/web/index.html
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<link rel="icon" type="image/svg+xml" href="/brand-icon.svg" />
|
|
45
45
|
<link rel="icon" type="image/png" sizes="64x64" href="/pwa-64x64.png" />
|
|
46
46
|
<link rel="apple-touch-icon" href="/apple-touch-icon-180x180.png" />
|
|
47
|
-
<script type="module" crossorigin src="/assets/index-
|
|
47
|
+
<script type="module" crossorigin src="/assets/index-WMCumAhu.js"></script>
|
|
48
48
|
<link rel="stylesheet" crossorigin href="/assets/index-DaV7Gwjf.css">
|
|
49
49
|
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
|
|
50
50
|
<body class="bg-background text-foreground">
|
package/assets/web/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let o={};const f=e=>i(e,t),
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let o={};const f=e=>i(e,t),c={module:{uri:t},exports:o,require:f};s[t]=Promise.all(n.map(e=>c[e]||f(e))).then(e=>(r(...e),o))}}define(["./workbox-10a3128e"],function(e){"use strict";importScripts("notification-sw.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"notification-sw.js",revision:"ee0be62f4c1f36625b92680b3060becb"},{url:"index.html",revision:"c69237d03fdd299e6a438e0514e41e60"},{url:"assets/index-WMCumAhu.js",revision:null},{url:"assets/index-DaV7Gwjf.css",revision:null},{url:"assets/fvad-DYxbW2my.wasm",revision:null},{url:"assets/fvad-DQYOSZdE.js",revision:null},{url:"assets/__vite-browser-external-BIHI7g3E.js",revision:null},{url:"brand-icon.svg",revision:"efe8505a7b7ef12cbb3a4bcd286254bd"},{url:"maskable-icon-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-192x192.png",revision:"4e4603ce0f22528eded553ba7f2ffbc5"},{url:"pwa-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-64x64.png",revision:"d322160ad1dc08ba9e133cb3d296ae63"},{url:"manifest.webmanifest",revision:"4daa295c44052f4ce59a1fcfd6f06ab8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/proxy(\/|$|\?)/,/^\/client(\/|$|\?)/,/^\/voice(\/|$|\?)/,/^\/fonts\//,/^\/health/,/^\/status/,/^\/api\//]})),e.registerRoute(/^\/fonts\/.*\.(woff2|woff|ttf|otf|css)$/,new e.CacheFirst({cacheName:"dev-anywhere-fonts",plugins:[new e.ExpirationPlugin({maxEntries:40,maxAgeSeconds:15552e3})]}),"GET")});
|
|
@@ -554,6 +554,7 @@ var ControlErrorCode = {
|
|
|
554
554
|
var ProxyInfoSchema = z9.object({
|
|
555
555
|
proxyId: IdSchema,
|
|
556
556
|
name: z9.string().optional(),
|
|
557
|
+
version: z9.string().optional(),
|
|
557
558
|
online: z9.boolean(),
|
|
558
559
|
sessions: z9.array(z9.string()).optional()
|
|
559
560
|
});
|
|
@@ -641,10 +642,13 @@ function control(type, shape, directions) {
|
|
|
641
642
|
var relayControlDefinitions = [
|
|
642
643
|
control("proxy_register", {
|
|
643
644
|
proxyId: IdSchema,
|
|
644
|
-
name: z9.string().optional()
|
|
645
|
+
name: z9.string().optional(),
|
|
646
|
+
proxyVersion: z9.string().min(1).max(64).optional()
|
|
645
647
|
}),
|
|
646
648
|
control("proxy_register_response", {
|
|
647
|
-
status: z9.enum(["new", "reconnected"])
|
|
649
|
+
status: z9.enum(["new", "reconnected"]),
|
|
650
|
+
// optional 只用于滚动升级:新 Proxy 连接旧 Relay 时继续工作,但不会自动更新。
|
|
651
|
+
relayVersion: z9.string().min(1).max(64).optional()
|
|
648
652
|
}),
|
|
649
653
|
control("proxy_list_request", RequestIdShape),
|
|
650
654
|
control("proxy_list_response", {
|
|
@@ -1199,7 +1203,7 @@ var RelayRegistry = class {
|
|
|
1199
1203
|
proxyStates = /* @__PURE__ */ new Map();
|
|
1200
1204
|
clientBindings = /* @__PURE__ */ new Map();
|
|
1201
1205
|
connectedClients = /* @__PURE__ */ new Map();
|
|
1202
|
-
registerProxy(proxyId, ws, name) {
|
|
1206
|
+
registerProxy(proxyId, ws, name, version) {
|
|
1203
1207
|
const existing = this.proxyStates.get(proxyId);
|
|
1204
1208
|
if (existing) {
|
|
1205
1209
|
if (existing.ws && existing.ws.readyState === WebSocket.OPEN) {
|
|
@@ -1209,6 +1213,7 @@ var RelayRegistry = class {
|
|
|
1209
1213
|
existing.connectionState = "online";
|
|
1210
1214
|
existing.disconnectedAt = null;
|
|
1211
1215
|
if (name !== void 0) existing.name = name;
|
|
1216
|
+
existing.version = version;
|
|
1212
1217
|
return "reconnected";
|
|
1213
1218
|
}
|
|
1214
1219
|
this.proxyStates.set(proxyId, {
|
|
@@ -1216,7 +1221,8 @@ var RelayRegistry = class {
|
|
|
1216
1221
|
connectionState: "online",
|
|
1217
1222
|
sessions: /* @__PURE__ */ new Set(),
|
|
1218
1223
|
disconnectedAt: null,
|
|
1219
|
-
name
|
|
1224
|
+
name,
|
|
1225
|
+
version
|
|
1220
1226
|
});
|
|
1221
1227
|
return "new";
|
|
1222
1228
|
}
|
|
@@ -1282,6 +1288,7 @@ var RelayRegistry = class {
|
|
|
1282
1288
|
return Array.from(this.proxyStates.entries()).map(([proxyId, state]) => ({
|
|
1283
1289
|
proxyId,
|
|
1284
1290
|
...state.name !== void 0 ? { name: state.name } : {},
|
|
1291
|
+
...state.version !== void 0 ? { version: state.version } : {},
|
|
1285
1292
|
online: state.connectionState === "online"
|
|
1286
1293
|
}));
|
|
1287
1294
|
}
|
|
@@ -1839,18 +1846,19 @@ function handleProxyConnection(ws, registry, logger, ptySnapshotRoutes, sessionH
|
|
|
1839
1846
|
const raw = data.toString();
|
|
1840
1847
|
const result = parseMessage(raw);
|
|
1841
1848
|
if (result.kind === "control" && result.message.type === "proxy_register") {
|
|
1842
|
-
const { proxyId, name } = result.message;
|
|
1843
|
-
const status = registry.registerProxy(proxyId, proxyWs, name);
|
|
1849
|
+
const { proxyId, name, proxyVersion } = result.message;
|
|
1850
|
+
const status = registry.registerProxy(proxyId, proxyWs, name, proxyVersion);
|
|
1844
1851
|
proxyWs.proxyId = proxyId;
|
|
1845
1852
|
if (status === "reconnected") {
|
|
1846
1853
|
ptySnapshotRoutes.clearProxy(proxyId);
|
|
1847
1854
|
sessionHistoryRoutes.clearProxy(proxyId);
|
|
1848
1855
|
}
|
|
1849
|
-
logger.info({ proxyId, status }, "Proxy registered");
|
|
1856
|
+
logger.info({ proxyId, proxyVersion, status }, "Proxy registered");
|
|
1850
1857
|
proxyWs.send(
|
|
1851
1858
|
serializeControl({
|
|
1852
1859
|
type: "proxy_register_response",
|
|
1853
|
-
status
|
|
1860
|
+
status,
|
|
1861
|
+
relayVersion: RELAY_VERSION
|
|
1854
1862
|
})
|
|
1855
1863
|
);
|
|
1856
1864
|
if (status === "reconnected") {
|
|
@@ -5243,4 +5251,4 @@ export {
|
|
|
5243
5251
|
parseRelayChaosFromEnv,
|
|
5244
5252
|
createRelayServer
|
|
5245
5253
|
};
|
|
5246
|
-
//# sourceMappingURL=chunk-
|
|
5254
|
+
//# sourceMappingURL=chunk-6RWN2VEX.js.map
|