@privateclaw/privateclaw-relay 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -0
- package/README.md +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/provider-setup.d.ts +3 -1
- package/dist/provider-setup.js +66 -24
- package/dist/provider-setup.js.map +1 -1
- package/dist/relay-cluster.js +102 -6
- package/dist/relay-cluster.js.map +1 -1
- package/dist/relay-server.d.ts +15 -0
- package/dist/relay-server.js +139 -15
- package/dist/relay-server.js.map +1 -1
- package/dist/web/chat/index.html +2 -2
- package/dist/web/scripts/chat.js +166 -4
- package/dist/web/scripts/i18n.js +15 -0
- package/dist/web/scripts/session-client.js +65 -0
- package/dist/web/styles.css +180 -0
- package/package.json +1 -1
package/.env.example
CHANGED
|
@@ -2,6 +2,9 @@ PRIVATECLAW_RELAY_HOST=127.0.0.1
|
|
|
2
2
|
PRIVATECLAW_RELAY_PORT=8787
|
|
3
3
|
PRIVATECLAW_SESSION_TTL_MS=900000
|
|
4
4
|
PRIVATECLAW_FRAME_CACHE_SIZE=25
|
|
5
|
+
# PRIVATECLAW_MAX_MESSAGE_BYTES=25165824
|
|
6
|
+
# PRIVATECLAW_APP_MESSAGES_PER_MINUTE=120
|
|
7
|
+
# PRIVATECLAW_PROVIDER_MESSAGES_PER_MINUTE=600
|
|
5
8
|
# Optional: enable background wake through Firebase Cloud Messaging.
|
|
6
9
|
# Use either the full service-account JSON...
|
|
7
10
|
# PRIVATECLAW_FCM_SERVICE_ACCOUNT_JSON={"type":"service_account","project_id":"your-project","client_email":"...","private_key":"-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"}
|
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ privateclaw-relay --web --public tailscale
|
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
If the required `tailscale` or `cloudflared` CLI is missing, `privateclaw-relay` prints platform-aware install commands. In an interactive terminal it can also offer to run the supported install/setup commands for you before retrying the tunnel startup.
|
|
67
|
-
After the relay gets a public URL, it also prints the exact `openclaw` commands needed to point PrivateClaw at that relay. If `openclaw` is installed locally, the CLI can offer to run the local provider install/enable/config flow, restart the OpenClaw gateway, verify that `privateclaw` is now registered, and then optionally start a new group pairing. When `--web` is enabled, it can open the bundled web chat with the fresh invite prefilled.
|
|
67
|
+
After the relay gets a public URL, it also prints the exact `openclaw` commands needed to point PrivateClaw at that relay. If `openclaw` is installed locally, the CLI can offer to run the local provider install-or-update/enable/config flow, restart the OpenClaw gateway, verify that `privateclaw` is now registered, and then optionally start a new group pairing. When `--web` is enabled, it can open the bundled web chat with the fresh invite prefilled.
|
|
68
68
|
|
|
69
69
|
## Tunnel notes
|
|
70
70
|
|
package/dist/config.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export interface RelayServerConfig {
|
|
|
3
3
|
port: number;
|
|
4
4
|
sessionTtlMs: number;
|
|
5
5
|
frameCacheSize: number;
|
|
6
|
+
maxMessageBytes?: number;
|
|
7
|
+
appMessagesPerMinute?: number;
|
|
8
|
+
providerMessagesPerMinute?: number;
|
|
6
9
|
webRootDir?: string;
|
|
7
10
|
instanceId?: string;
|
|
8
11
|
redisUrl?: string;
|
package/dist/config.js
CHANGED
|
@@ -13,6 +13,9 @@ export function loadRelayConfig(env = process.env) {
|
|
|
13
13
|
const port = parsePositiveInteger(env.PRIVATECLAW_RELAY_PORT?.trim() || env.PORT?.trim(), 8787, "PRIVATECLAW_RELAY_PORT");
|
|
14
14
|
const sessionTtlMs = parsePositiveInteger(env.PRIVATECLAW_SESSION_TTL_MS, 15 * 60 * 1000, "PRIVATECLAW_SESSION_TTL_MS");
|
|
15
15
|
const frameCacheSize = parsePositiveInteger(env.PRIVATECLAW_FRAME_CACHE_SIZE, 25, "PRIVATECLAW_FRAME_CACHE_SIZE");
|
|
16
|
+
const maxMessageBytes = parsePositiveInteger(env.PRIVATECLAW_MAX_MESSAGE_BYTES, 24 * 1024 * 1024, "PRIVATECLAW_MAX_MESSAGE_BYTES");
|
|
17
|
+
const appMessagesPerMinute = parsePositiveInteger(env.PRIVATECLAW_APP_MESSAGES_PER_MINUTE, 120, "PRIVATECLAW_APP_MESSAGES_PER_MINUTE");
|
|
18
|
+
const providerMessagesPerMinute = parsePositiveInteger(env.PRIVATECLAW_PROVIDER_MESSAGES_PER_MINUTE, 600, "PRIVATECLAW_PROVIDER_MESSAGES_PER_MINUTE");
|
|
16
19
|
const instanceId = env.PRIVATECLAW_RELAY_INSTANCE_ID?.trim() ||
|
|
17
20
|
env.RAILWAY_REPLICA_ID?.trim();
|
|
18
21
|
const redisUrl = env.PRIVATECLAW_REDIS_URL?.trim() || env.REDIS_URL?.trim();
|
|
@@ -25,6 +28,9 @@ export function loadRelayConfig(env = process.env) {
|
|
|
25
28
|
port,
|
|
26
29
|
sessionTtlMs,
|
|
27
30
|
frameCacheSize,
|
|
31
|
+
maxMessageBytes,
|
|
32
|
+
appMessagesPerMinute,
|
|
33
|
+
providerMessagesPerMinute,
|
|
28
34
|
...(instanceId ? { instanceId } : {}),
|
|
29
35
|
...(redisUrl ? { redisUrl } : {}),
|
|
30
36
|
...(fcmServiceAccountJson ? { fcmServiceAccountJson } : {}),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/provider-setup.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface RelayProviderSetupStep {
|
|
|
7
7
|
export interface LocalOpenClawStatus {
|
|
8
8
|
openClawAvailable: boolean;
|
|
9
9
|
privateClawCommandAvailable: boolean;
|
|
10
|
+
privateClawPluginPresent?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface RelayProviderSetupPlan {
|
|
12
13
|
relayBaseUrl: string;
|
|
@@ -18,6 +19,7 @@ export interface RelayProviderSetupPlan {
|
|
|
18
19
|
verificationNotes: string[];
|
|
19
20
|
pairingCommand: RelayProviderSetupStep;
|
|
20
21
|
}
|
|
22
|
+
type OneShotCommandRunner = (command: string, args: string[]) => Promise<RunOneShotCommandResult>;
|
|
21
23
|
interface OfferRelayProviderSetupOptions {
|
|
22
24
|
relayBaseUrl: string;
|
|
23
25
|
webChatUrl?: string;
|
|
@@ -37,7 +39,7 @@ interface RunOneShotCommandResult {
|
|
|
37
39
|
combined: string;
|
|
38
40
|
}
|
|
39
41
|
export declare function openBrowserTarget(target: string): Promise<void>;
|
|
40
|
-
export declare function detectLocalOpenClawStatus(): Promise<LocalOpenClawStatus>;
|
|
42
|
+
export declare function detectLocalOpenClawStatus(runCommand?: OneShotCommandRunner): Promise<LocalOpenClawStatus>;
|
|
41
43
|
export declare function buildRelayProviderSetupPlan(params: {
|
|
42
44
|
relayBaseUrl: string;
|
|
43
45
|
status: LocalOpenClawStatus;
|
package/dist/provider-setup.js
CHANGED
|
@@ -3,6 +3,7 @@ import { once } from "node:events";
|
|
|
3
3
|
import { createInterface } from "node:readline/promises";
|
|
4
4
|
import { stdin, stdout } from "node:process";
|
|
5
5
|
import { RelayCliUserError } from "./cli-error.js";
|
|
6
|
+
const PRIVATECLAW_VERIFICATION_COMMAND = "openclaw privateclaw pair --help";
|
|
6
7
|
function createStep(title, command, args, display) {
|
|
7
8
|
return {
|
|
8
9
|
title,
|
|
@@ -63,6 +64,9 @@ async function runOneShotCommand(command, args) {
|
|
|
63
64
|
throw error;
|
|
64
65
|
}
|
|
65
66
|
}
|
|
67
|
+
function outputMentionsPrivateClawCommand(output) {
|
|
68
|
+
return /\/?privateclaw\b/iu.test(output);
|
|
69
|
+
}
|
|
66
70
|
async function runStreamingCommand(command, args) {
|
|
67
71
|
const child = spawn(command, args, {
|
|
68
72
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -105,15 +109,42 @@ async function runStreamingCommand(command, args) {
|
|
|
105
109
|
throw error;
|
|
106
110
|
}
|
|
107
111
|
}
|
|
108
|
-
async function commandExists(command) {
|
|
112
|
+
async function commandExists(command, runCommand = runOneShotCommand) {
|
|
109
113
|
try {
|
|
110
|
-
await
|
|
114
|
+
await runCommand(command, ["--version"]);
|
|
111
115
|
return true;
|
|
112
116
|
}
|
|
113
117
|
catch (error) {
|
|
114
118
|
return !isUnavailableCommandError(error);
|
|
115
119
|
}
|
|
116
120
|
}
|
|
121
|
+
async function detectPrivateClawCommandAvailability(runCommand) {
|
|
122
|
+
try {
|
|
123
|
+
const commands = await runCommand("openclaw", ["commands", "list"]);
|
|
124
|
+
if (outputMentionsPrivateClawCommand(commands.combined)) {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Newer OpenClaw builds may not expose `openclaw commands list`.
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
await runCommand("openclaw", ["privateclaw", "pair", "--help"]);
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function detectPrivateClawPluginPresence(runCommand) {
|
|
140
|
+
try {
|
|
141
|
+
await runCommand("openclaw", ["plugins", "info", "privateclaw"]);
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
117
148
|
export async function openBrowserTarget(target) {
|
|
118
149
|
const command = process.platform === "win32"
|
|
119
150
|
? {
|
|
@@ -125,29 +156,26 @@ export async function openBrowserTarget(target) {
|
|
|
125
156
|
: { file: "xdg-open", args: [target] };
|
|
126
157
|
await runOneShotCommand(command.file, command.args);
|
|
127
158
|
}
|
|
128
|
-
export async function detectLocalOpenClawStatus() {
|
|
129
|
-
if (!(await commandExists("openclaw"))) {
|
|
159
|
+
export async function detectLocalOpenClawStatus(runCommand = runOneShotCommand) {
|
|
160
|
+
if (!(await commandExists("openclaw", runCommand))) {
|
|
130
161
|
return {
|
|
131
162
|
openClawAvailable: false,
|
|
132
163
|
privateClawCommandAvailable: false,
|
|
133
164
|
};
|
|
134
165
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
openClawAvailable: true,
|
|
145
|
-
privateClawCommandAvailable: false,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
166
|
+
const [privateClawCommandAvailable, privateClawPluginPresent] = await Promise.all([
|
|
167
|
+
detectPrivateClawCommandAvailability(runCommand),
|
|
168
|
+
detectPrivateClawPluginPresence(runCommand),
|
|
169
|
+
]);
|
|
170
|
+
return {
|
|
171
|
+
openClawAvailable: true,
|
|
172
|
+
privateClawCommandAvailable,
|
|
173
|
+
privateClawPluginPresent,
|
|
174
|
+
};
|
|
148
175
|
}
|
|
149
176
|
export function buildRelayProviderSetupPlan(params) {
|
|
150
177
|
const installStep = createStep("Install the PrivateClaw OpenClaw plugin", "openclaw", ["plugins", "install", "@privateclaw/privateclaw@latest"], "openclaw plugins install @privateclaw/privateclaw@latest");
|
|
178
|
+
const updateStep = createStep("Update the existing PrivateClaw OpenClaw plugin", "openclaw", ["plugins", "update", "privateclaw"], "openclaw plugins update privateclaw");
|
|
151
179
|
const enableStep = createStep("Enable the PrivateClaw OpenClaw plugin", "openclaw", ["plugins", "enable", "privateclaw"], "openclaw plugins enable privateclaw");
|
|
152
180
|
const configStep = createStep("Point PrivateClaw at the public relay URL", "openclaw", [
|
|
153
181
|
"config",
|
|
@@ -158,7 +186,7 @@ export function buildRelayProviderSetupPlan(params) {
|
|
|
158
186
|
const restartStep = createStep("Restart the OpenClaw gateway so the plugin + relay config are reloaded", "openclaw", ["gateway", "restart"], "openclaw gateway restart");
|
|
159
187
|
const pairingCommand = createStep("Start a group pairing request", "openclaw", ["privateclaw", "pair", "--group", "--relay", params.relayBaseUrl], `openclaw privateclaw pair --group --relay ${params.relayBaseUrl}`);
|
|
160
188
|
const verificationNotes = [
|
|
161
|
-
|
|
189
|
+
`[privateclaw-relay] After restart, verify the command registration with: ${PRIVATECLAW_VERIFICATION_COMMAND}`,
|
|
162
190
|
`[privateclaw-relay] When the provider is ready, start a group pairing with: ${pairingCommand.display}`,
|
|
163
191
|
];
|
|
164
192
|
if (!params.status.openClawAvailable) {
|
|
@@ -189,9 +217,21 @@ export function buildRelayProviderSetupPlan(params) {
|
|
|
189
217
|
relayBaseUrl: params.relayBaseUrl,
|
|
190
218
|
localOpenClaw: true,
|
|
191
219
|
privateClawCommandAvailable: false,
|
|
192
|
-
introduction:
|
|
193
|
-
|
|
194
|
-
|
|
220
|
+
introduction: params.status.privateClawPluginPresent
|
|
221
|
+
? "[privateclaw-relay] OpenClaw can already see a local PrivateClaw plugin, but the command is not active yet. Refresh/configure it with:"
|
|
222
|
+
: "[privateclaw-relay] OpenClaw is available locally, but PrivateClaw is not active yet. Configure it with:",
|
|
223
|
+
automaticSteps: [
|
|
224
|
+
...(params.status.privateClawPluginPresent ? [updateStep] : [installStep]),
|
|
225
|
+
enableStep,
|
|
226
|
+
configStep,
|
|
227
|
+
restartStep,
|
|
228
|
+
],
|
|
229
|
+
manualSteps: [
|
|
230
|
+
...(params.status.privateClawPluginPresent ? [updateStep] : [installStep]),
|
|
231
|
+
enableStep,
|
|
232
|
+
configStep,
|
|
233
|
+
restartStep,
|
|
234
|
+
],
|
|
195
235
|
verificationNotes,
|
|
196
236
|
pairingCommand,
|
|
197
237
|
};
|
|
@@ -287,7 +327,9 @@ export async function offerRelayProviderSetup(options) {
|
|
|
287
327
|
const verificationPollMs = options.verificationPollMs ?? 1_000;
|
|
288
328
|
const configureNow = await promptToContinue(plan.privateClawCommandAvailable
|
|
289
329
|
? `OpenClaw is available locally. Configure the local PrivateClaw provider to use ${options.relayBaseUrl} now?`
|
|
290
|
-
:
|
|
330
|
+
: status.privateClawPluginPresent
|
|
331
|
+
? `OpenClaw is available locally. Update/configure the local PrivateClaw provider for ${options.relayBaseUrl} now?`
|
|
332
|
+
: `OpenClaw is available locally. Install/configure the local PrivateClaw provider for ${options.relayBaseUrl} now?`);
|
|
291
333
|
if (!configureNow) {
|
|
292
334
|
options.onLog?.("[privateclaw-relay] Skipping automatic OpenClaw configuration for now.");
|
|
293
335
|
return;
|
|
@@ -299,9 +341,9 @@ export async function offerRelayProviderSetup(options) {
|
|
|
299
341
|
options.onLog?.("[privateclaw-relay] Local OpenClaw configuration commands completed.");
|
|
300
342
|
const refreshedStatus = await waitForPrivateClawCommandAvailability(detectStatus, verificationTimeoutMs, verificationPollMs);
|
|
301
343
|
if (!refreshedStatus.privateClawCommandAvailable) {
|
|
302
|
-
throw new RelayCliUserError(
|
|
344
|
+
throw new RelayCliUserError(`OpenClaw restarted, but \`privateclaw\` still does not respond to \`${PRIVATECLAW_VERIFICATION_COMMAND}\`. Confirm the gateway finished restarting cleanly, then rerun \`privateclaw-relay\`.`);
|
|
303
345
|
}
|
|
304
|
-
options.onLog?.(
|
|
346
|
+
options.onLog?.(`[privateclaw-relay] Verified \`privateclaw\` is now available via \`${PRIVATECLAW_VERIFICATION_COMMAND}\`.`);
|
|
305
347
|
for (const line of plan.verificationNotes) {
|
|
306
348
|
options.onLog?.(line);
|
|
307
349
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-setup.js","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-setup.js","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA+BnD,MAAM,gCAAgC,GAAG,kCAAkC,CAAC;AAwB5E,SAAS,UAAU,CACjB,KAAa,EACb,OAAe,EACf,IAAc,EACd,OAAe;IAEf,OAAO;QACL,KAAK;QACL,OAAO;QACP,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;IAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CACZ,OAAO,CAAC,KAAK,CAAC,KAAK;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK;QACpB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;QACxB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAe,EACf,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,UAAU,IAAI,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,UAAU,IAAI,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,MAAM;KACP,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBACvC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAC/D,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE;SACvC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc;IACtD,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAe,EACf,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,UAAU,IAAI,KAAK,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,UAAU,IAAI,KAAK,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,MAAM;KACP,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,IAAI,iBAAiB,CACzB,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBACvC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAC/D,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE;SACvC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,iBAAiB,CACzB,mBAAmB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,sCAAsC,CAC7G,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,aAAmC,iBAAiB;IAEpD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oCAAoC,CACjD,UAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,IAAI,gCAAgC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,UAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IACpD,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;SACtE;QACH,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAE7C,MAAM,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,aAAmC,iBAAiB;IAEpD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,iBAAiB,EAAE,KAAK;YACxB,2BAA2B,EAAE,KAAK;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,GAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,oCAAoC,CAAC,UAAU,CAAC;QAChD,+BAA+B,CAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEL,OAAO;QACL,iBAAiB,EAAE,IAAI;QACvB,2BAA2B;QAC3B,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAG3C;IACC,MAAM,WAAW,GAAG,UAAU,CAC5B,yCAAyC,EACzC,UAAU,EACV,CAAC,SAAS,EAAE,SAAS,EAAE,iCAAiC,CAAC,EACzD,0DAA0D,CAC3D,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAC3B,iDAAiD,EACjD,UAAU,EACV,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EACpC,qCAAqC,CACtC,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAC3B,wCAAwC,EACxC,UAAU,EACV,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EACpC,qCAAqC,CACtC,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAC3B,2CAA2C,EAC3C,UAAU,EACV;QACE,QAAQ;QACR,KAAK;QACL,iDAAiD;QACjD,MAAM,CAAC,YAAY;KACpB,EACD,uEAAuE,MAAM,CAAC,YAAY,EAAE,CAC7F,CAAC;IACF,MAAM,WAAW,GAAG,UAAU,CAC5B,wEAAwE,EACxE,UAAU,EACV,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,0BAA0B,CAC3B,CAAC;IACF,MAAM,cAAc,GAAG,UAAU,CAC/B,+BAA+B,EAC/B,UAAU,EACV,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAClE,6CAA6C,MAAM,CAAC,YAAY,EAAE,CACnE,CAAC;IACF,MAAM,iBAAiB,GAAG;QACxB,4EAA4E,gCAAgC,EAAE;QAC9G,+EAA+E,cAAc,CAAC,OAAO,EAAE;KACxG,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,KAAK;YACpB,2BAA2B,EAAE,KAAK;YAClC,YAAY,EACV,oIAAoI;YACtI,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;YAC/D,iBAAiB;YACjB,cAAc;SACf,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAC9C,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,IAAI;YACnB,2BAA2B,EAAE,IAAI;YACjC,YAAY,EACV,kHAAkH;YACpH,cAAc,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;YACzC,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;YACtC,iBAAiB;YACjB,cAAc;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,IAAI;QACnB,2BAA2B,EAAE,KAAK;QAClC,YAAY,EACV,MAAM,CAAC,MAAM,CAAC,wBAAwB;YACpC,CAAC,CAAC,wIAAwI;YAC1I,CAAC,CAAC,0GAA0G;QAChH,cAAc,EAAE;YACd,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1E,UAAU;YACV,UAAU;YACV,WAAW;SACZ;QACD,WAAW,EAAE;YACX,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1E,UAAU;YACV,UAAU;YACV,WAAW;SACZ;QACD,iBAAiB;QACjB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAA4B;IAE5B,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,YAAY;QACjB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1E,GAAG,IAAI,CAAC,iBAAiB;KAC1B,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IACnD,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAA4B;IAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;QAC3C,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QACvD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,MAAM;KACP,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CACzB,aAAa,IAAI,CAAC,OAAO,kBACvB,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAC/D,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,iBAAiB,CACzB,mBAAmB,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,OAAO,sCAAsC,CAClG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,OAAO,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAkB,EAClB,SAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,qCAAqC,CAClD,YAAgD,EAChD,SAAiB,EACjB,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,OACE,MAAM,CAAC,iBAAiB;QACxB,CAAC,MAAM,CAAC,2BAA2B;QACnC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EACrB,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuC;IAEvC,MAAM,YAAY,GAChB,OAAO,CAAC,yBAAyB,IAAI,yBAAyB,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,2BAA2B,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM;KACP,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAExD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,IAAI,qBAAqB,EAAE,CAAC;IACrE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,qBAAqB,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;IAC7D,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,MAAM,CAAC;IACtE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,IAAI,CAAC,2BAA2B;QAC9B,CAAC,CAAC,kFAAkF,OAAO,CAAC,YAAY,OAAO;QAC/G,CAAC,CAAC,MAAM,CAAC,wBAAwB;YAC/B,CAAC,CAAC,sFAAsF,OAAO,CAAC,YAAY,OAAO;YACnH,CAAC,CAAC,uFAAuF,OAAO,CAAC,YAAY,OAAO,CACzH,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,EAAE,CACb,wEAAwE,CACzE,CAAC;QACF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC,gCAAgC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,CACb,sEAAsE,CACvE,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,qCAAqC,CACjE,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,CAAC;QACjD,MAAM,IAAI,iBAAiB,CACzB,uEAAuE,gCAAgC,wFAAwF,CAChM,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CACb,uEAAuE,gCAAgC,KAAK,CAC7G,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAC9C,8DAA8D,CAC/D,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,CACb,+DAA+D,CAChE,CAAC;QACF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,CACb,gCAAgC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAC9D,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,2BAA2B,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CACb,mJAAmJ,CACpJ,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,EAAE,CACb,uKAAuK,CACxK,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3E,OAAO,CAAC,KAAK,EAAE,CACb,6DAA6D,YAAY,EAAE,CAC5E,CAAC;IACF,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CACb,iEAAiE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1H,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/relay-cluster.js
CHANGED
|
@@ -29,8 +29,104 @@ function occupantKey(sessionId) {
|
|
|
29
29
|
function occupantValue(nodeId, appId) {
|
|
30
30
|
return JSON.stringify({ nodeId, appId });
|
|
31
31
|
}
|
|
32
|
+
function isObject(value) {
|
|
33
|
+
return typeof value === "object" && value !== null;
|
|
34
|
+
}
|
|
35
|
+
function isEncryptedEnvelope(value) {
|
|
36
|
+
if (!isObject(value)) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return (value.version === 1 &&
|
|
40
|
+
typeof value.messageId === "string" &&
|
|
41
|
+
typeof value.iv === "string" &&
|
|
42
|
+
typeof value.ciphertext === "string" &&
|
|
43
|
+
typeof value.tag === "string" &&
|
|
44
|
+
typeof value.sentAt === "string");
|
|
45
|
+
}
|
|
46
|
+
function parseJsonObject(raw, label) {
|
|
47
|
+
let parsed;
|
|
48
|
+
try {
|
|
49
|
+
parsed = JSON.parse(raw);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
throw new Error(`${label} must be valid JSON.`);
|
|
53
|
+
}
|
|
54
|
+
if (!isObject(parsed)) {
|
|
55
|
+
throw new Error(`${label} must be a JSON object.`);
|
|
56
|
+
}
|
|
57
|
+
return parsed;
|
|
58
|
+
}
|
|
59
|
+
function parseRequiredString(value, field, label) {
|
|
60
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
61
|
+
throw new Error(`${label} is missing a valid ${field}.`);
|
|
62
|
+
}
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
32
65
|
function parseOccupant(raw) {
|
|
33
|
-
|
|
66
|
+
const parsed = parseJsonObject(raw, "Relay cluster occupant payload");
|
|
67
|
+
return {
|
|
68
|
+
nodeId: parseRequiredString(parsed.nodeId, "nodeId", "Relay cluster occupant payload"),
|
|
69
|
+
appId: parseRequiredString(parsed.appId, "appId", "Relay cluster occupant payload"),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function parseFrameMessage(raw, label) {
|
|
73
|
+
const parsed = parseJsonObject(raw, label);
|
|
74
|
+
if (!isEncryptedEnvelope(parsed.envelope)) {
|
|
75
|
+
throw new Error(`${label} is missing a valid encrypted envelope.`);
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
originNodeId: parseRequiredString(parsed.originNodeId, "originNodeId", label),
|
|
79
|
+
sessionId: parseRequiredString(parsed.sessionId, "sessionId", label),
|
|
80
|
+
envelope: parsed.envelope,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function parseProviderReconnectMessage(raw) {
|
|
84
|
+
const label = "Relay provider reconnect payload";
|
|
85
|
+
const parsed = parseJsonObject(raw, label);
|
|
86
|
+
const kind = parseRequiredString(parsed.kind, "kind", label);
|
|
87
|
+
if (kind !== "provider_reconnected") {
|
|
88
|
+
throw new Error(`${label} has unsupported kind ${kind}.`);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
kind,
|
|
92
|
+
originNodeId: parseRequiredString(parsed.originNodeId, "originNodeId", label),
|
|
93
|
+
targetNodeId: parseRequiredString(parsed.targetNodeId, "targetNodeId", label),
|
|
94
|
+
providerId: parseRequiredString(parsed.providerId, "providerId", label),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function parseSessionControlMessage(raw) {
|
|
98
|
+
const label = "Relay session control payload";
|
|
99
|
+
const parsed = parseJsonObject(raw, label);
|
|
100
|
+
const kind = parseRequiredString(parsed.kind, "kind", label);
|
|
101
|
+
const originNodeId = parseRequiredString(parsed.originNodeId, "originNodeId", label);
|
|
102
|
+
const sessionId = parseRequiredString(parsed.sessionId, "sessionId", label);
|
|
103
|
+
if (kind === "session_closed") {
|
|
104
|
+
return {
|
|
105
|
+
kind,
|
|
106
|
+
originNodeId,
|
|
107
|
+
sessionId,
|
|
108
|
+
reason: parseRequiredString(parsed.reason, "reason", label),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (kind === "app_closed") {
|
|
112
|
+
return {
|
|
113
|
+
kind,
|
|
114
|
+
originNodeId,
|
|
115
|
+
sessionId,
|
|
116
|
+
appId: parseRequiredString(parsed.appId, "appId", label),
|
|
117
|
+
reason: parseRequiredString(parsed.reason, "reason", label),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (kind === "app_reconnected") {
|
|
121
|
+
return {
|
|
122
|
+
kind,
|
|
123
|
+
originNodeId,
|
|
124
|
+
sessionId,
|
|
125
|
+
appId: parseRequiredString(parsed.appId, "appId", label),
|
|
126
|
+
targetNodeId: parseRequiredString(parsed.targetNodeId, "targetNodeId", label),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
throw new Error(`${label} has unsupported kind ${kind}.`);
|
|
34
130
|
}
|
|
35
131
|
async function compareAndDelete(redis, key, expectedValue) {
|
|
36
132
|
await redis.eval(`
|
|
@@ -131,7 +227,7 @@ class BaseRelayClusterClient {
|
|
|
131
227
|
if (!providerMatch) {
|
|
132
228
|
return;
|
|
133
229
|
}
|
|
134
|
-
const message =
|
|
230
|
+
const message = parseProviderReconnectMessage(payload);
|
|
135
231
|
if (message.originNodeId === this.nodeId ||
|
|
136
232
|
message.targetNodeId !== this.nodeId) {
|
|
137
233
|
return;
|
|
@@ -141,7 +237,7 @@ class BaseRelayClusterClient {
|
|
|
141
237
|
}
|
|
142
238
|
const broadcastMatch = channel.match(/^privateclaw:bus:v1:session:([^:]+):app:broadcast$/);
|
|
143
239
|
if (broadcastMatch) {
|
|
144
|
-
const message =
|
|
240
|
+
const message = parseFrameMessage(payload, "Relay app broadcast payload");
|
|
145
241
|
if (message.originNodeId === this.nodeId) {
|
|
146
242
|
return;
|
|
147
243
|
}
|
|
@@ -150,7 +246,7 @@ class BaseRelayClusterClient {
|
|
|
150
246
|
}
|
|
151
247
|
const targetedAppMatch = channel.match(/^privateclaw:bus:v1:session:([^:]+):app:([^:]+)$/);
|
|
152
248
|
if (targetedAppMatch) {
|
|
153
|
-
const message =
|
|
249
|
+
const message = parseFrameMessage(payload, "Relay targeted app payload");
|
|
154
250
|
if (message.originNodeId === this.nodeId) {
|
|
155
251
|
return;
|
|
156
252
|
}
|
|
@@ -159,7 +255,7 @@ class BaseRelayClusterClient {
|
|
|
159
255
|
}
|
|
160
256
|
const providerFrameMatch = channel.match(/^privateclaw:bus:v1:session:([^:]+):provider$/);
|
|
161
257
|
if (providerFrameMatch) {
|
|
162
|
-
const message =
|
|
258
|
+
const message = parseFrameMessage(payload, "Relay provider frame payload");
|
|
163
259
|
if (message.originNodeId === this.nodeId) {
|
|
164
260
|
return;
|
|
165
261
|
}
|
|
@@ -170,7 +266,7 @@ class BaseRelayClusterClient {
|
|
|
170
266
|
if (!controlMatch) {
|
|
171
267
|
return;
|
|
172
268
|
}
|
|
173
|
-
const message =
|
|
269
|
+
const message = parseSessionControlMessage(payload);
|
|
174
270
|
if (message.originNodeId === this.nodeId) {
|
|
175
271
|
return;
|
|
176
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-cluster.js","sourceRoot":"","sources":["../src/relay-cluster.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay-cluster.js","sourceRoot":"","sources":["../src/relay-cluster.ts"],"names":[],"mappings":"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"}
|
package/dist/relay-server.d.ts
CHANGED
|
@@ -4,6 +4,21 @@ import { type RelayPushRegistrationStore } from "./push-registration-store.js";
|
|
|
4
4
|
import { type RelayPushNotifier } from "./push-notifier.js";
|
|
5
5
|
import { type RelayClusterCallbacks, type RelayClusterClient } from "./relay-cluster.js";
|
|
6
6
|
import { type RelaySessionStore } from "./session-store.js";
|
|
7
|
+
export declare class WakeCooldownTracker {
|
|
8
|
+
private readonly params;
|
|
9
|
+
private readonly entries;
|
|
10
|
+
constructor(params: {
|
|
11
|
+
cooldownMs: number;
|
|
12
|
+
now?: () => number;
|
|
13
|
+
pruneAfterMs?: number;
|
|
14
|
+
});
|
|
15
|
+
private now;
|
|
16
|
+
private prune;
|
|
17
|
+
getLastSentAt(key: string): number | undefined;
|
|
18
|
+
recordSent(key: string): void;
|
|
19
|
+
clearSession(sessionId: string, appId?: string): void;
|
|
20
|
+
entryCount(): number;
|
|
21
|
+
}
|
|
7
22
|
export interface RelayServerInstance {
|
|
8
23
|
readonly port: number;
|
|
9
24
|
readonly url: string;
|