@getpaseo/relay 0.1.15 → 0.1.16
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/dist/cloudflare-adapter.d.ts +10 -5
- package/dist/cloudflare-adapter.d.ts.map +1 -1
- package/dist/cloudflare-adapter.js +168 -90
- package/dist/cloudflare-adapter.js.map +1 -1
- package/dist/encrypted-channel.d.ts +5 -5
- package/dist/encrypted-channel.d.ts.map +1 -1
- package/dist/encrypted-channel.js +32 -14
- package/dist/encrypted-channel.js.map +1 -1
- package/dist/types.d.ts +9 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -35,15 +35,20 @@ interface DurableObjectStub {
|
|
|
35
35
|
}
|
|
36
36
|
export declare class RelayDurableObject {
|
|
37
37
|
private state;
|
|
38
|
-
private
|
|
38
|
+
private pendingFrames;
|
|
39
39
|
constructor(state: DurableObjectState);
|
|
40
|
+
private createWebSocketPair;
|
|
41
|
+
private requireWebSocketUpgrade;
|
|
42
|
+
private asSwitchingProtocolsResponse;
|
|
40
43
|
private hasServerDataSocket;
|
|
41
44
|
private hasClientSocket;
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
private
|
|
45
|
-
private
|
|
45
|
+
private nudgeOrResetControlForConnection;
|
|
46
|
+
private bufferFrame;
|
|
47
|
+
private flushFrames;
|
|
48
|
+
private listConnectedConnectionIds;
|
|
46
49
|
private notifyControls;
|
|
50
|
+
private fetchV1;
|
|
51
|
+
private fetchV2;
|
|
47
52
|
fetch(request: Request): Promise<Response>;
|
|
48
53
|
/**
|
|
49
54
|
* Called when a WebSocket message is received (wakes from hibernation).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-adapter.d.ts","sourceRoot":"","sources":["../src/cloudflare-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"cloudflare-adapter.d.ts","sourceRoot":"","sources":["../src/cloudflare-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAwBH,UAAU,kBAAkB;IAC1B,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;CAC1C;AAOD,UAAU,GAAG;IACX,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,UAAU,sBAAsB;IAC9B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IAC1C,GAAG,CAAC,EAAE,EAAE,eAAe,GAAG,iBAAiB,CAAC;CAC7C;AAED,UAAU,eAAe;IACvB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5C;AAkBD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,aAAa,CAAkD;gBAE3D,KAAK,EAAE,kBAAkB;IAIrC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gCAAgC;IAiCxC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,OAAO;IA+ET,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2BhD;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAqEpE;;OAEG;IACH,cAAc,CACZ,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,GACjB,IAAI;IA8CP;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;CAOpD;AAED;;GAEG;;mBAEoB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAD5D,wBAmCE"}
|
|
@@ -16,47 +16,77 @@
|
|
|
16
16
|
* }
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
+
const LEGACY_RELAY_VERSION = "1";
|
|
20
|
+
const CURRENT_RELAY_VERSION = "2";
|
|
21
|
+
function resolveRelayVersion(rawValue) {
|
|
22
|
+
if (rawValue == null)
|
|
23
|
+
return LEGACY_RELAY_VERSION;
|
|
24
|
+
const value = rawValue.trim();
|
|
25
|
+
if (!value)
|
|
26
|
+
return LEGACY_RELAY_VERSION;
|
|
27
|
+
if (value === LEGACY_RELAY_VERSION || value === CURRENT_RELAY_VERSION) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
19
32
|
export class RelayDurableObject {
|
|
20
33
|
constructor(state) {
|
|
21
|
-
this.
|
|
34
|
+
this.pendingFrames = new Map();
|
|
22
35
|
this.state = state;
|
|
23
36
|
}
|
|
24
|
-
|
|
37
|
+
createWebSocketPair() {
|
|
38
|
+
const pair = new globalThis.WebSocketPair();
|
|
39
|
+
return [pair[0], pair[1]];
|
|
40
|
+
}
|
|
41
|
+
requireWebSocketUpgrade(request) {
|
|
42
|
+
const upgradeHeader = request.headers.get("Upgrade");
|
|
43
|
+
if (!upgradeHeader || upgradeHeader.toLowerCase() !== "websocket") {
|
|
44
|
+
return new Response("Expected WebSocket upgrade", { status: 426 });
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
asSwitchingProtocolsResponse(client) {
|
|
49
|
+
return new Response(null, {
|
|
50
|
+
status: 101,
|
|
51
|
+
webSocket: client,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
hasServerDataSocket(connectionId) {
|
|
25
55
|
try {
|
|
26
|
-
return this.state.getWebSockets(`server:${
|
|
56
|
+
return this.state.getWebSockets(`server:${connectionId}`).length > 0;
|
|
27
57
|
}
|
|
28
58
|
catch {
|
|
29
59
|
return false;
|
|
30
60
|
}
|
|
31
61
|
}
|
|
32
|
-
hasClientSocket(
|
|
62
|
+
hasClientSocket(connectionId) {
|
|
33
63
|
try {
|
|
34
|
-
return this.state.getWebSockets(`client:${
|
|
64
|
+
return this.state.getWebSockets(`client:${connectionId}`).length > 0;
|
|
35
65
|
}
|
|
36
66
|
catch {
|
|
37
67
|
return false;
|
|
38
68
|
}
|
|
39
69
|
}
|
|
40
|
-
|
|
70
|
+
nudgeOrResetControlForConnection(connectionId) {
|
|
41
71
|
// If the daemon's control WS becomes half-open, the DO can't reliably detect it via ws.send errors
|
|
42
72
|
// (Cloudflare may accept writes even if the other side is no longer reading).
|
|
43
73
|
//
|
|
44
|
-
// Instead, observe whether the daemon reacts by opening the per-
|
|
74
|
+
// Instead, observe whether the daemon reacts by opening the per-connection server-data socket.
|
|
45
75
|
// If it doesn't, nudge with a sync message; if still no reaction, force-close the control
|
|
46
76
|
// socket(s) so the daemon reconnects.
|
|
47
77
|
const initialDelayMs = 10000;
|
|
48
78
|
const secondDelayMs = 5000;
|
|
49
79
|
setTimeout(() => {
|
|
50
|
-
if (!this.hasClientSocket(
|
|
80
|
+
if (!this.hasClientSocket(connectionId))
|
|
51
81
|
return;
|
|
52
|
-
if (this.hasServerDataSocket(
|
|
82
|
+
if (this.hasServerDataSocket(connectionId))
|
|
53
83
|
return;
|
|
54
84
|
// First nudge: send a full sync list.
|
|
55
|
-
this.notifyControls({ type: "sync",
|
|
85
|
+
this.notifyControls({ type: "sync", connectionIds: this.listConnectedConnectionIds() });
|
|
56
86
|
setTimeout(() => {
|
|
57
|
-
if (!this.hasClientSocket(
|
|
87
|
+
if (!this.hasClientSocket(connectionId))
|
|
58
88
|
return;
|
|
59
|
-
if (this.hasServerDataSocket(
|
|
89
|
+
if (this.hasServerDataSocket(connectionId))
|
|
60
90
|
return;
|
|
61
91
|
// Still nothing: assume control is stuck and force a reconnect.
|
|
62
92
|
for (const ws of this.state.getWebSockets("server-control")) {
|
|
@@ -70,38 +100,38 @@ export class RelayDurableObject {
|
|
|
70
100
|
}, secondDelayMs);
|
|
71
101
|
}, initialDelayMs);
|
|
72
102
|
}
|
|
73
|
-
|
|
74
|
-
const existing = this.
|
|
103
|
+
bufferFrame(connectionId, message) {
|
|
104
|
+
const existing = this.pendingFrames.get(connectionId) ?? [];
|
|
75
105
|
existing.push(message);
|
|
76
106
|
// Prevent unbounded memory growth if a daemon never connects.
|
|
77
107
|
if (existing.length > 200) {
|
|
78
108
|
existing.splice(0, existing.length - 200);
|
|
79
109
|
}
|
|
80
|
-
this.
|
|
110
|
+
this.pendingFrames.set(connectionId, existing);
|
|
81
111
|
}
|
|
82
|
-
|
|
83
|
-
const frames = this.
|
|
112
|
+
flushFrames(connectionId, serverWs) {
|
|
113
|
+
const frames = this.pendingFrames.get(connectionId);
|
|
84
114
|
if (!frames || frames.length === 0)
|
|
85
115
|
return;
|
|
86
|
-
this.
|
|
116
|
+
this.pendingFrames.delete(connectionId);
|
|
87
117
|
for (const frame of frames) {
|
|
88
118
|
try {
|
|
89
119
|
serverWs.send(frame);
|
|
90
120
|
}
|
|
91
121
|
catch {
|
|
92
122
|
// If we can't flush, re-buffer and let the daemon re-establish.
|
|
93
|
-
this.
|
|
123
|
+
this.bufferFrame(connectionId, frame);
|
|
94
124
|
break;
|
|
95
125
|
}
|
|
96
126
|
}
|
|
97
127
|
}
|
|
98
|
-
|
|
128
|
+
listConnectedConnectionIds() {
|
|
99
129
|
const out = new Set();
|
|
100
130
|
for (const ws of this.state.getWebSockets("client")) {
|
|
101
131
|
try {
|
|
102
132
|
const attachment = ws.deserializeAttachment();
|
|
103
|
-
if (attachment?.role === "client" && typeof attachment.
|
|
104
|
-
out.add(attachment.
|
|
133
|
+
if (attachment?.role === "client" && typeof attachment.connectionId === "string" && attachment.connectionId) {
|
|
134
|
+
out.add(attachment.connectionId);
|
|
105
135
|
}
|
|
106
136
|
}
|
|
107
137
|
catch {
|
|
@@ -127,92 +157,109 @@ export class RelayDurableObject {
|
|
|
127
157
|
}
|
|
128
158
|
}
|
|
129
159
|
}
|
|
130
|
-
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
if (!role || (role !== "server" && role !== "client")) {
|
|
137
|
-
return new Response("Missing or invalid role parameter", { status: 400 });
|
|
138
|
-
}
|
|
139
|
-
if (!serverId) {
|
|
140
|
-
return new Response("Missing serverId parameter", { status: 400 });
|
|
160
|
+
fetchV1(request, role, serverId) {
|
|
161
|
+
const upgradeError = this.requireWebSocketUpgrade(request);
|
|
162
|
+
if (upgradeError)
|
|
163
|
+
return upgradeError;
|
|
164
|
+
for (const ws of this.state.getWebSockets(role)) {
|
|
165
|
+
ws.close(1008, "Replaced by new connection");
|
|
141
166
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
167
|
+
const [client, server] = this.createWebSocketPair();
|
|
168
|
+
this.state.acceptWebSocket(server, [role]);
|
|
169
|
+
const attachment = {
|
|
170
|
+
serverId,
|
|
171
|
+
role,
|
|
172
|
+
version: LEGACY_RELAY_VERSION,
|
|
173
|
+
connectionId: null,
|
|
174
|
+
createdAt: Date.now(),
|
|
175
|
+
};
|
|
176
|
+
server.serializeAttachment(attachment);
|
|
177
|
+
console.log(`[Relay DO] v1:${role} connected to session ${serverId}`);
|
|
178
|
+
return this.asSwitchingProtocolsResponse(client);
|
|
179
|
+
}
|
|
180
|
+
fetchV2(request, role, serverId, connectionId) {
|
|
181
|
+
const upgradeError = this.requireWebSocketUpgrade(request);
|
|
182
|
+
if (upgradeError)
|
|
183
|
+
return upgradeError;
|
|
184
|
+
// If a client didn't provide a connectionId, the relay assigns one for routing.
|
|
185
|
+
const resolvedConnectionId = role === "client" && !connectionId
|
|
186
|
+
? `conn_${crypto.randomUUID().replace(/-/g, "").slice(0, 16)}`
|
|
187
|
+
: connectionId;
|
|
188
|
+
const isServerControl = role === "server" && !resolvedConnectionId;
|
|
189
|
+
const isServerData = role === "server" && !!resolvedConnectionId;
|
|
190
|
+
// Close any existing server-side connection with the same identity.
|
|
154
191
|
// - server-control: single per serverId
|
|
155
|
-
// - server-data: single per
|
|
156
|
-
// - client:
|
|
192
|
+
// - server-data: single per connectionId
|
|
193
|
+
// - client: many sockets per connectionId are allowed
|
|
157
194
|
if (isServerControl) {
|
|
158
195
|
for (const ws of this.state.getWebSockets("server-control")) {
|
|
159
196
|
ws.close(1008, "Replaced by new connection");
|
|
160
197
|
}
|
|
161
198
|
}
|
|
162
199
|
else if (isServerData) {
|
|
163
|
-
for (const ws of this.state.getWebSockets(`server:${
|
|
200
|
+
for (const ws of this.state.getWebSockets(`server:${resolvedConnectionId}`)) {
|
|
164
201
|
ws.close(1008, "Replaced by new connection");
|
|
165
202
|
}
|
|
166
203
|
}
|
|
167
|
-
|
|
168
|
-
for (const ws of this.state.getWebSockets(`client:${clientId}`)) {
|
|
169
|
-
ws.close(1008, "Replaced by new connection");
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
// Create WebSocket pair
|
|
173
|
-
const pair = new globalThis.WebSocketPair();
|
|
174
|
-
const [client, server] = [pair[0], pair[1]];
|
|
204
|
+
const [client, server] = this.createWebSocketPair();
|
|
175
205
|
const tags = [];
|
|
176
206
|
if (role === "client") {
|
|
177
|
-
tags.push("client", `client:${
|
|
207
|
+
tags.push("client", `client:${resolvedConnectionId}`);
|
|
178
208
|
}
|
|
179
209
|
else if (isServerControl) {
|
|
180
210
|
tags.push("server-control");
|
|
181
211
|
}
|
|
182
212
|
else {
|
|
183
|
-
tags.push("server", `server:${
|
|
213
|
+
tags.push("server", `server:${resolvedConnectionId}`);
|
|
184
214
|
}
|
|
185
|
-
// Accept with hibernation support, tagged for lookup.
|
|
186
215
|
this.state.acceptWebSocket(server, tags);
|
|
187
|
-
// Store attachment for hibernation recovery
|
|
188
216
|
const attachment = {
|
|
189
217
|
serverId,
|
|
190
218
|
role,
|
|
191
|
-
|
|
219
|
+
version: CURRENT_RELAY_VERSION,
|
|
220
|
+
connectionId: resolvedConnectionId || null,
|
|
192
221
|
createdAt: Date.now(),
|
|
193
222
|
};
|
|
194
223
|
server.serializeAttachment(attachment);
|
|
195
|
-
console.log(`[Relay DO]
|
|
224
|
+
console.log(`[Relay DO] v2:${role}${isServerControl ? "(control)" : ""}${isServerData ? `(data:${resolvedConnectionId})` : role === "client" ? `(${resolvedConnectionId})` : ""} connected to session ${serverId}`);
|
|
196
225
|
if (role === "client") {
|
|
197
|
-
this.notifyControls({ type: "
|
|
198
|
-
this.
|
|
226
|
+
this.notifyControls({ type: "connected", connectionId: resolvedConnectionId });
|
|
227
|
+
this.nudgeOrResetControlForConnection(resolvedConnectionId);
|
|
199
228
|
}
|
|
200
229
|
if (isServerControl) {
|
|
201
|
-
// Send current
|
|
230
|
+
// Send current connection list so the daemon can attach existing connections.
|
|
202
231
|
try {
|
|
203
|
-
server.send(JSON.stringify({ type: "sync",
|
|
232
|
+
server.send(JSON.stringify({ type: "sync", connectionIds: this.listConnectedConnectionIds() }));
|
|
204
233
|
}
|
|
205
234
|
catch {
|
|
206
235
|
// ignore
|
|
207
236
|
}
|
|
208
237
|
}
|
|
209
|
-
if (isServerData &&
|
|
210
|
-
this.
|
|
238
|
+
if (isServerData && resolvedConnectionId) {
|
|
239
|
+
this.flushFrames(resolvedConnectionId, server);
|
|
211
240
|
}
|
|
212
|
-
return
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
241
|
+
return this.asSwitchingProtocolsResponse(client);
|
|
242
|
+
}
|
|
243
|
+
async fetch(request) {
|
|
244
|
+
const url = new URL(request.url);
|
|
245
|
+
const role = url.searchParams.get("role");
|
|
246
|
+
const serverId = url.searchParams.get("serverId");
|
|
247
|
+
const connectionIdRaw = url.searchParams.get("connectionId");
|
|
248
|
+
const connectionId = typeof connectionIdRaw === "string" ? connectionIdRaw.trim() : "";
|
|
249
|
+
const version = resolveRelayVersion(url.searchParams.get("v"));
|
|
250
|
+
if (!role || (role !== "server" && role !== "client")) {
|
|
251
|
+
return new Response("Missing or invalid role parameter", { status: 400 });
|
|
252
|
+
}
|
|
253
|
+
if (!serverId) {
|
|
254
|
+
return new Response("Missing serverId parameter", { status: 400 });
|
|
255
|
+
}
|
|
256
|
+
if (!version) {
|
|
257
|
+
return new Response("Invalid v parameter (expected 1 or 2)", { status: 400 });
|
|
258
|
+
}
|
|
259
|
+
if (version === LEGACY_RELAY_VERSION) {
|
|
260
|
+
return this.fetchV1(request, role, serverId);
|
|
261
|
+
}
|
|
262
|
+
return this.fetchV2(request, role, serverId, connectionId);
|
|
216
263
|
}
|
|
217
264
|
/**
|
|
218
265
|
* Called when a WebSocket message is received (wakes from hibernation).
|
|
@@ -223,8 +270,22 @@ export class RelayDurableObject {
|
|
|
223
270
|
console.error("[Relay DO] Message from WebSocket without attachment");
|
|
224
271
|
return;
|
|
225
272
|
}
|
|
226
|
-
const
|
|
227
|
-
if (
|
|
273
|
+
const version = attachment.version ?? LEGACY_RELAY_VERSION;
|
|
274
|
+
if (version === LEGACY_RELAY_VERSION) {
|
|
275
|
+
const targetRole = attachment.role === "server" ? "client" : "server";
|
|
276
|
+
const targets = this.state.getWebSockets(targetRole);
|
|
277
|
+
for (const target of targets) {
|
|
278
|
+
try {
|
|
279
|
+
target.send(message);
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
console.error(`[Relay DO] Failed to forward to ${targetRole}:`, error);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const { role, connectionId } = attachment;
|
|
288
|
+
if (!connectionId) {
|
|
228
289
|
// Control channel: support simple app-level keepalive.
|
|
229
290
|
if (typeof message === "string") {
|
|
230
291
|
try {
|
|
@@ -245,9 +306,9 @@ export class RelayDurableObject {
|
|
|
245
306
|
return;
|
|
246
307
|
}
|
|
247
308
|
if (role === "client") {
|
|
248
|
-
const servers = this.state.getWebSockets(`server:${
|
|
309
|
+
const servers = this.state.getWebSockets(`server:${connectionId}`);
|
|
249
310
|
if (servers.length === 0) {
|
|
250
|
-
this.
|
|
311
|
+
this.bufferFrame(connectionId, message);
|
|
251
312
|
return;
|
|
252
313
|
}
|
|
253
314
|
for (const target of servers) {
|
|
@@ -255,19 +316,19 @@ export class RelayDurableObject {
|
|
|
255
316
|
target.send(message);
|
|
256
317
|
}
|
|
257
318
|
catch (error) {
|
|
258
|
-
console.error(`[Relay DO] Failed to forward client->server(${
|
|
319
|
+
console.error(`[Relay DO] Failed to forward client->server(${connectionId}):`, error);
|
|
259
320
|
}
|
|
260
321
|
}
|
|
261
322
|
return;
|
|
262
323
|
}
|
|
263
324
|
// server data socket -> client
|
|
264
|
-
const targets = this.state.getWebSockets(`client:${
|
|
325
|
+
const targets = this.state.getWebSockets(`client:${connectionId}`);
|
|
265
326
|
for (const target of targets) {
|
|
266
327
|
try {
|
|
267
328
|
target.send(message);
|
|
268
329
|
}
|
|
269
330
|
catch (error) {
|
|
270
|
-
console.error(`[Relay DO] Failed to forward server->client(${
|
|
331
|
+
console.error(`[Relay DO] Failed to forward server->client(${connectionId}):`, error);
|
|
271
332
|
}
|
|
272
333
|
}
|
|
273
334
|
}
|
|
@@ -278,11 +339,21 @@ export class RelayDurableObject {
|
|
|
278
339
|
const attachment = ws.deserializeAttachment();
|
|
279
340
|
if (!attachment)
|
|
280
341
|
return;
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
342
|
+
const version = attachment.version ?? LEGACY_RELAY_VERSION;
|
|
343
|
+
console.log(`[Relay DO] v${version}:${attachment.role}${attachment.connectionId ? `(${attachment.connectionId})` : ""} disconnected from session ${attachment.serverId} (${code}: ${reason})`);
|
|
344
|
+
if (version === LEGACY_RELAY_VERSION) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
if (attachment.role === "client" && attachment.connectionId) {
|
|
348
|
+
const remainingClientSockets = this.state
|
|
349
|
+
.getWebSockets(`client:${attachment.connectionId}`)
|
|
350
|
+
.some((socket) => socket !== ws);
|
|
351
|
+
if (remainingClientSockets) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
this.pendingFrames.delete(attachment.connectionId);
|
|
355
|
+
// Last socket for this session closed: now clean up matching server-data socket.
|
|
356
|
+
for (const serverWs of this.state.getWebSockets(`server:${attachment.connectionId}`)) {
|
|
286
357
|
try {
|
|
287
358
|
serverWs.close(1001, "Client disconnected");
|
|
288
359
|
}
|
|
@@ -290,12 +361,12 @@ export class RelayDurableObject {
|
|
|
290
361
|
// ignore
|
|
291
362
|
}
|
|
292
363
|
}
|
|
293
|
-
this.notifyControls({ type: "
|
|
364
|
+
this.notifyControls({ type: "disconnected", connectionId: attachment.connectionId });
|
|
294
365
|
return;
|
|
295
366
|
}
|
|
296
|
-
if (attachment.role === "server" && attachment.
|
|
367
|
+
if (attachment.role === "server" && attachment.connectionId) {
|
|
297
368
|
// Force the client to reconnect and re-handshake when the daemon side drops.
|
|
298
|
-
for (const clientWs of this.state.getWebSockets(`client:${attachment.
|
|
369
|
+
for (const clientWs of this.state.getWebSockets(`client:${attachment.connectionId}`)) {
|
|
299
370
|
try {
|
|
300
371
|
clientWs.close(1012, "Server disconnected");
|
|
301
372
|
}
|
|
@@ -331,10 +402,17 @@ export default {
|
|
|
331
402
|
if (!serverId) {
|
|
332
403
|
return new Response("Missing serverId parameter", { status: 400 });
|
|
333
404
|
}
|
|
334
|
-
|
|
335
|
-
|
|
405
|
+
const version = resolveRelayVersion(url.searchParams.get("v"));
|
|
406
|
+
if (!version) {
|
|
407
|
+
return new Response("Invalid v parameter (expected 1 or 2)", { status: 400 });
|
|
408
|
+
}
|
|
409
|
+
// Route to a version-isolated Durable Object instance.
|
|
410
|
+
const id = env.RELAY.idFromName(`relay-v${version}:${serverId}`);
|
|
336
411
|
const stub = env.RELAY.get(id);
|
|
337
|
-
|
|
412
|
+
const normalizedUrl = new URL(request.url);
|
|
413
|
+
normalizedUrl.searchParams.set("v", version);
|
|
414
|
+
const normalizedRequest = new Request(normalizedUrl.toString(), request);
|
|
415
|
+
return stub.fetch(normalizedRequest);
|
|
338
416
|
}
|
|
339
417
|
return new Response("Not found", { status: 404 });
|
|
340
418
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-adapter.js","sourceRoot":"","sources":["../src/cloudflare-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudflare-adapter.js","sourceRoot":"","sources":["../src/cloudflare-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,12 @@ export interface EncryptedChannelEvents {
|
|
|
21
21
|
type ChannelState = "connecting" | "handshaking" | "open" | "closed";
|
|
22
22
|
type EncryptedChannelOptions = {
|
|
23
23
|
/**
|
|
24
|
-
* If set, the channel can validate repeated plaintext `{type:"
|
|
24
|
+
* If set, the channel can validate repeated plaintext `{type:"e2ee_hello"}`
|
|
25
25
|
* messages even after it is open.
|
|
26
26
|
*
|
|
27
27
|
* This is useful for robustness when the client retries the handshake
|
|
28
|
-
* (e.g., it didn't observe the daemon's `{type:"
|
|
29
|
-
* the daemon should re-send `{type:"
|
|
28
|
+
* (e.g., it didn't observe the daemon's `{type:"e2ee_ready"}` yet). In that case,
|
|
29
|
+
* the daemon should re-send `{type:"e2ee_ready"}` without changing keys.
|
|
30
30
|
*/
|
|
31
31
|
daemonKeyPair?: KeyPair;
|
|
32
32
|
};
|
|
@@ -36,7 +36,7 @@ type EncryptedChannelOptions = {
|
|
|
36
36
|
* The client:
|
|
37
37
|
* 1. Receives daemon's public key via QR code
|
|
38
38
|
* 2. Generates own keypair
|
|
39
|
-
* 3. Sends
|
|
39
|
+
* 3. Sends e2ee_hello with own public key
|
|
40
40
|
* 4. Derives shared key and starts encrypted communication
|
|
41
41
|
*/
|
|
42
42
|
export declare function createClientChannel(transport: Transport, daemonPublicKeyB64: string, events?: EncryptedChannelEvents): Promise<EncryptedChannel>;
|
|
@@ -45,7 +45,7 @@ export declare function createClientChannel(transport: Transport, daemonPublicKe
|
|
|
45
45
|
*
|
|
46
46
|
* The daemon:
|
|
47
47
|
* 1. Has pre-generated keypair (public key was in QR)
|
|
48
|
-
* 2. Waits for client's
|
|
48
|
+
* 2. Waits for client's e2ee_hello with their public key
|
|
49
49
|
* 3. Derives shared key and starts encrypted communication
|
|
50
50
|
*/
|
|
51
51
|
export declare function createDaemonChannel(transport: Transport, daemonKeyPair: KeyPair, events?: EncryptedChannelEvents): Promise<EncryptedChannel>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted-channel.d.ts","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAOL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypted-channel.d.ts","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAOL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AA+BF;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAkD3B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAoE3B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;gBAG/C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,sBAA2B,EACnC,OAAO,GAAE,uBAA4B;IAkBvC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;YAIrB,aAAa;IAqHrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBvC,iBAAiB;IAS/B,KAAK,CAAC,IAAI,SAAO,EAAE,MAAM,SAAmB,GAAG,IAAI;IAKnD,MAAM,IAAI,OAAO;IAIjB,kBAAkB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIxC,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;CAG9B"}
|
|
@@ -7,6 +7,17 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { generateKeyPair, exportPublicKey, importPublicKey, deriveSharedKey, encrypt, decrypt, } from "./crypto.js";
|
|
9
9
|
import { arrayBufferToBase64, base64ToArrayBuffer } from "./base64.js";
|
|
10
|
+
function buildInvalidHelloError(rawText, parsed) {
|
|
11
|
+
const parsedRecord = parsed && typeof parsed === "object"
|
|
12
|
+
? parsed
|
|
13
|
+
: null;
|
|
14
|
+
const rawType = parsedRecord?.type;
|
|
15
|
+
const receivedType = typeof rawType === "string" ? rawType : rawType === undefined ? "undefined" : typeof rawType;
|
|
16
|
+
const hasKey = typeof parsedRecord?.key === "string" && parsedRecord.key.trim().length > 0;
|
|
17
|
+
const compact = rawText.replace(/\s+/g, " ").trim();
|
|
18
|
+
const preview = compact.length > 160 ? `${compact.slice(0, 157)}...` : compact;
|
|
19
|
+
return new Error(`Invalid hello message (receivedType=${receivedType}, hasKey=${hasKey}, preview=${JSON.stringify(preview)})`);
|
|
20
|
+
}
|
|
10
21
|
const HANDSHAKE_RETRY_MS = 1000;
|
|
11
22
|
const MAX_PENDING_SENDS = 200;
|
|
12
23
|
/**
|
|
@@ -15,7 +26,7 @@ const MAX_PENDING_SENDS = 200;
|
|
|
15
26
|
* The client:
|
|
16
27
|
* 1. Receives daemon's public key via QR code
|
|
17
28
|
* 2. Generates own keypair
|
|
18
|
-
* 3. Sends
|
|
29
|
+
* 3. Sends e2ee_hello with own public key
|
|
19
30
|
* 4. Derives shared key and starts encrypted communication
|
|
20
31
|
*/
|
|
21
32
|
export async function createClientChannel(transport, daemonPublicKeyB64, events = {}) {
|
|
@@ -23,9 +34,9 @@ export async function createClientChannel(transport, daemonPublicKeyB64, events
|
|
|
23
34
|
const daemonPublicKey = importPublicKey(daemonPublicKeyB64);
|
|
24
35
|
const sharedKey = deriveSharedKey(keyPair.secretKey, daemonPublicKey);
|
|
25
36
|
const channel = new EncryptedChannel(transport, sharedKey, events);
|
|
26
|
-
// Send
|
|
37
|
+
// Send e2ee_hello with our public key
|
|
27
38
|
const ourPublicKeyB64 = exportPublicKey(keyPair.publicKey);
|
|
28
|
-
const hello = { type: "
|
|
39
|
+
const hello = { type: "e2ee_hello", key: ourPublicKeyB64 };
|
|
29
40
|
const helloText = JSON.stringify(hello);
|
|
30
41
|
let retry = null;
|
|
31
42
|
const emitSendError = (error) => {
|
|
@@ -69,7 +80,7 @@ export async function createClientChannel(transport, daemonPublicKeyB64, events
|
|
|
69
80
|
*
|
|
70
81
|
* The daemon:
|
|
71
82
|
* 1. Has pre-generated keypair (public key was in QR)
|
|
72
|
-
* 2. Waits for client's
|
|
83
|
+
* 2. Waits for client's e2ee_hello with their public key
|
|
73
84
|
* 3. Derives shared key and starts encrypted communication
|
|
74
85
|
*/
|
|
75
86
|
export async function createDaemonChannel(transport, daemonKeyPair, events = {}) {
|
|
@@ -79,7 +90,7 @@ export async function createDaemonChannel(transport, daemonKeyPair, events = {})
|
|
|
79
90
|
try {
|
|
80
91
|
const text = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
81
92
|
const parsed = JSON.parse(text);
|
|
82
|
-
return parsed.type === "
|
|
93
|
+
return parsed.type === "e2ee_hello" || parsed.type === "e2ee_ready";
|
|
83
94
|
}
|
|
84
95
|
catch {
|
|
85
96
|
return false;
|
|
@@ -88,9 +99,16 @@ export async function createDaemonChannel(transport, daemonKeyPair, events = {})
|
|
|
88
99
|
transport.onmessage = async (data) => {
|
|
89
100
|
try {
|
|
90
101
|
const helloText = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
let parsed;
|
|
103
|
+
try {
|
|
104
|
+
parsed = JSON.parse(helloText);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
throw buildInvalidHelloError(helloText);
|
|
108
|
+
}
|
|
109
|
+
const msg = parsed;
|
|
110
|
+
if (msg.type !== "e2ee_hello" || typeof msg.key !== "string" || !msg.key.trim()) {
|
|
111
|
+
throw buildInvalidHelloError(helloText, parsed);
|
|
94
112
|
}
|
|
95
113
|
// Buffer any subsequent messages that arrive while we're doing async
|
|
96
114
|
// WebCrypto work to derive the shared key. Without this, it's possible
|
|
@@ -102,7 +120,7 @@ export async function createDaemonChannel(transport, daemonKeyPair, events = {})
|
|
|
102
120
|
const clientPublicKey = importPublicKey(msg.key);
|
|
103
121
|
const sharedKey = deriveSharedKey(daemonKeyPair.secretKey, clientPublicKey);
|
|
104
122
|
const channel = new EncryptedChannel(transport, sharedKey, events, { daemonKeyPair });
|
|
105
|
-
transport.send(JSON.stringify({ type: "
|
|
123
|
+
transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
106
124
|
channel.setState("open");
|
|
107
125
|
events.onopen?.();
|
|
108
126
|
for (const buffered of bufferedMessages) {
|
|
@@ -156,7 +174,7 @@ export class EncryptedChannel {
|
|
|
156
174
|
try {
|
|
157
175
|
const text = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
158
176
|
const msg = JSON.parse(text);
|
|
159
|
-
if (msg.type === "
|
|
177
|
+
if (msg.type === "e2ee_ready") {
|
|
160
178
|
this.state = "open";
|
|
161
179
|
this.events.onopen?.();
|
|
162
180
|
for (const cb of this.onOpenCallbacks)
|
|
@@ -178,7 +196,7 @@ export class EncryptedChannel {
|
|
|
178
196
|
const text = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
179
197
|
if (text.trim().startsWith("{")) {
|
|
180
198
|
const parsed = JSON.parse(text);
|
|
181
|
-
if (parsed.type === "
|
|
199
|
+
if (parsed.type === "e2ee_hello" && typeof parsed.key === "string") {
|
|
182
200
|
if (this.options.daemonKeyPair) {
|
|
183
201
|
try {
|
|
184
202
|
const clientPublicKey = importPublicKey(parsed.key);
|
|
@@ -187,7 +205,7 @@ export class EncryptedChannel {
|
|
|
187
205
|
// "ready" but do not re-key. Re-keying here would desync
|
|
188
206
|
// the channel and cause decrypt failures.
|
|
189
207
|
if (keysEqual(nextSharedKey, this.sharedKey)) {
|
|
190
|
-
this.transport.send(JSON.stringify({ type: "
|
|
208
|
+
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
191
209
|
return null;
|
|
192
210
|
}
|
|
193
211
|
// Different key implies a new client connection (common with relays
|
|
@@ -197,7 +215,7 @@ export class EncryptedChannel {
|
|
|
197
215
|
this.state = "handshaking";
|
|
198
216
|
this.sharedKey = nextSharedKey;
|
|
199
217
|
this.pendingSends = [];
|
|
200
|
-
this.transport.send(JSON.stringify({ type: "
|
|
218
|
+
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
201
219
|
this.state = "open";
|
|
202
220
|
await this.flushPendingSends();
|
|
203
221
|
return null;
|
|
@@ -208,7 +226,7 @@ export class EncryptedChannel {
|
|
|
208
226
|
}
|
|
209
227
|
return null;
|
|
210
228
|
}
|
|
211
|
-
if (parsed.type === "
|
|
229
|
+
if (parsed.type === "e2ee_ready") {
|
|
212
230
|
return null;
|
|
213
231
|
}
|
|
214
232
|
// Any other JSON-looking payload is plaintext app traffic, which
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted-channel.js","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encrypted-channel.js","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,10 +12,16 @@ export interface RelaySessionAttachment {
|
|
|
12
12
|
serverId: string;
|
|
13
13
|
role: ConnectionRole;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Relay protocol version carried by this socket.
|
|
16
|
+
* v1: single server/client socket pair
|
|
17
|
+
* v2: control + per-client data sockets
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
version?: "1" | "2";
|
|
20
|
+
/**
|
|
21
|
+
* Unique id for the connection. Allows the daemon to create an
|
|
22
|
+
* independent socket + E2EE channel per connected connection.
|
|
23
|
+
*/
|
|
24
|
+
connectionId?: string | null;
|
|
19
25
|
createdAt: number;
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB"}
|