@relaymessenger/cli 0.4.5 → 0.5.0-staging.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/README.md +108 -118
- package/dist/cli.js +2 -172
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +13 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +39 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +206 -0
- package/dist/config.js.map +1 -0
- package/dist/doctor.d.ts +20 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +73 -112
- package/dist/doctor.js.map +1 -1
- package/dist/event-listen.d.ts +11 -0
- package/dist/event-listen.d.ts.map +1 -0
- package/dist/event-listen.js +37 -0
- package/dist/event-listen.js.map +1 -0
- package/dist/output.d.ts +4 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +26 -0
- package/dist/output.js.map +1 -0
- package/dist/program.d.ts +14 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +655 -0
- package/dist/program.js.map +1 -0
- package/package.json +31 -37
- package/claude-plugin/marketplace/.claude-plugin/marketplace.json +0 -14
- package/claude-plugin/marketplace/plugins/relay/.claude-plugin/plugin.json +0 -27
- package/claude-plugin/marketplace/plugins/relay/LICENSE +0 -21
- package/claude-plugin/marketplace/plugins/relay/README.md +0 -173
- package/claude-plugin/marketplace/plugins/relay/commands/configure.md +0 -71
- package/claude-plugin/marketplace/plugins/relay/runtime/server.mjs +0 -26197
- package/dist/api.d.ts +0 -114
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -162
- package/dist/api.js.map +0 -1
- package/dist/claude-settings.d.ts +0 -14
- package/dist/claude-settings.d.ts.map +0 -1
- package/dist/claude-settings.js +0 -47
- package/dist/claude-settings.js.map +0 -1
- package/dist/codex.d.ts +0 -25
- package/dist/codex.d.ts.map +0 -1
- package/dist/codex.js +0 -237
- package/dist/codex.js.map +0 -1
- package/dist/engine/acp.d.ts +0 -74
- package/dist/engine/acp.d.ts.map +0 -1
- package/dist/engine/acp.js +0 -413
- package/dist/engine/acp.js.map +0 -1
- package/dist/engine/catalog.d.ts +0 -26
- package/dist/engine/catalog.d.ts.map +0 -1
- package/dist/engine/catalog.js +0 -41
- package/dist/engine/catalog.js.map +0 -1
- package/dist/engine/process.d.ts +0 -12
- package/dist/engine/process.d.ts.map +0 -1
- package/dist/engine/process.js +0 -54
- package/dist/engine/process.js.map +0 -1
- package/dist/engine/types.d.ts +0 -57
- package/dist/engine/types.d.ts.map +0 -1
- package/dist/engine/types.js +0 -8
- package/dist/engine/types.js.map +0 -1
- package/dist/flags.d.ts +0 -9
- package/dist/flags.d.ts.map +0 -1
- package/dist/flags.js +0 -34
- package/dist/flags.js.map +0 -1
- package/dist/install.d.ts +0 -69
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -513
- package/dist/install.js.map +0 -1
- package/dist/mcp.d.ts +0 -16
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js +0 -127
- package/dist/mcp.js.map +0 -1
- package/dist/pair.d.ts +0 -20
- package/dist/pair.d.ts.map +0 -1
- package/dist/pair.js +0 -135
- package/dist/pair.js.map +0 -1
- package/dist/permissions.d.ts +0 -90
- package/dist/permissions.d.ts.map +0 -1
- package/dist/permissions.js +0 -361
- package/dist/permissions.js.map +0 -1
- package/dist/receive.d.ts +0 -113
- package/dist/receive.d.ts.map +0 -1
- package/dist/receive.js +0 -596
- package/dist/receive.js.map +0 -1
- package/dist/store.d.ts +0 -301
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -551
- package/dist/store.js.map +0 -1
- package/openclaw-plugin/relaymessenger-openclaw-plugin-0.3.4.tgz +0 -0
package/dist/store.d.ts
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Durable local state for the relaymessenger bridge.
|
|
3
|
-
*
|
|
4
|
-
* Everything lives under ~/.relaymessenger (override with RELAYMESSENGER_HOME):
|
|
5
|
-
* config.json — active agent token, API origin, owner_user_id (chmod 600)
|
|
6
|
-
* accounts/<origin-agent-hash>/state.json — receive cursor, dedupe set,
|
|
7
|
-
* pending events. EXCLUSIVELY
|
|
8
|
-
* owned (written) by the `start` loop process; other
|
|
9
|
-
* entrypoints (codex hook, notify, mcp) may only read it
|
|
10
|
-
* via readStateSnapshot().
|
|
11
|
-
* accounts/<hash>/approvals/<request_id>.json — pending approval (create-once
|
|
12
|
-
* by whoever arms it, resolution written by the loop,
|
|
13
|
-
* consumed+unlinked by the waiter). No read-modify-write
|
|
14
|
-
* of shared snapshots across processes.
|
|
15
|
-
* accounts/<hash>/sessions.json — conversation_id → engine session binding
|
|
16
|
-
*
|
|
17
|
-
* Writes are atomic: content is fsync'd to a tmp file, then renamed into
|
|
18
|
-
* place, so a crash can never leave a half-written file. Cursor + pending
|
|
19
|
-
* queue share one file, so the durable-before-ack invariant holds with a
|
|
20
|
-
* single atomic write.
|
|
21
|
-
*/
|
|
22
|
-
import { renameSync } from "node:fs";
|
|
23
|
-
export declare function relaymessengerHome(): string;
|
|
24
|
-
export interface RelayConfig {
|
|
25
|
-
api_origin: string;
|
|
26
|
-
agent_token: string;
|
|
27
|
-
/**
|
|
28
|
-
* The Relay user id allowed to drive this bridge. Pinned at pair time from
|
|
29
|
-
* GET /v1/agents/me; overridable with RELAY_OWNER_USER_ID. Everything the
|
|
30
|
-
* bridge does — prompts, approvals, notify targets — is gated on it.
|
|
31
|
-
*/
|
|
32
|
-
owner_user_id?: string;
|
|
33
|
-
agent?: {
|
|
34
|
-
id?: string;
|
|
35
|
-
handle?: string;
|
|
36
|
-
display_name?: string;
|
|
37
|
-
};
|
|
38
|
-
paired_at?: string;
|
|
39
|
-
}
|
|
40
|
-
/** Stable, non-secret identity label used inside account-scoped ledgers. */
|
|
41
|
-
export declare function relayIdentityForConfig(config: Pick<RelayConfig, "agent_token" | "agent">): string;
|
|
42
|
-
/**
|
|
43
|
-
* Durable bridge state is scoped to one authenticated Relay identity. The
|
|
44
|
-
* agent id is preferred; a token fingerprint is the fail-safe fallback for
|
|
45
|
-
* legacy servers that do not expose it. Raw tokens/origins never enter paths.
|
|
46
|
-
*/
|
|
47
|
-
export declare function runtimeHomeForConfig(config: Pick<RelayConfig, "api_origin" | "agent_token" | "agent">, baseHome?: string): string;
|
|
48
|
-
export declare function activeRuntimeHome(baseHome?: string): string;
|
|
49
|
-
/** Resolve the pinned owner, failing closed when it is missing. */
|
|
50
|
-
export declare function resolveOwnerUserId(config: RelayConfig | undefined): string;
|
|
51
|
-
export interface PendingApproval {
|
|
52
|
-
request_id: string;
|
|
53
|
-
conversation_id: string;
|
|
54
|
-
engine?: string;
|
|
55
|
-
tool_name?: string;
|
|
56
|
-
created_at: string;
|
|
57
|
-
/** ISO time after which the approval is denied. */
|
|
58
|
-
deadline_at: string;
|
|
59
|
-
/** Relay message id of the card, for reply_to matching. */
|
|
60
|
-
relay_message_id?: string;
|
|
61
|
-
options: Array<{
|
|
62
|
-
option_id: string;
|
|
63
|
-
label: string;
|
|
64
|
-
kind?: string;
|
|
65
|
-
}>;
|
|
66
|
-
source: "acp" | "hook";
|
|
67
|
-
resolution?: {
|
|
68
|
-
option_id?: string;
|
|
69
|
-
behavior: "allow" | "deny" | "cancelled";
|
|
70
|
-
decided_at: string;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
export interface RelayEvent {
|
|
74
|
-
event_id: string;
|
|
75
|
-
event_type: string;
|
|
76
|
-
agent_id?: string;
|
|
77
|
-
created_at?: string;
|
|
78
|
-
data?: {
|
|
79
|
-
message?: RelayMessage;
|
|
80
|
-
[key: string]: unknown;
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Inline mention of a conversation participant. Offsets are UTF-16 code
|
|
85
|
-
* units into the part's `text`, which holds the inserted display name with
|
|
86
|
-
* no "@". Ranges are sorted by `start` and never overlap.
|
|
87
|
-
*/
|
|
88
|
-
export interface RelayMentionRange {
|
|
89
|
-
start: number;
|
|
90
|
-
length: number;
|
|
91
|
-
participant_id: string;
|
|
92
|
-
}
|
|
93
|
-
export type RelayTextStyle = "bold" | "italic" | "underline" | "strikethrough" | "monospace" | "spoiler";
|
|
94
|
-
/**
|
|
95
|
-
* One formatting run over a text part, offsets in UTF-16 code units like
|
|
96
|
-
* mentions. An EMPTY `styles` array on the part is meaningful: it marks
|
|
97
|
-
* structured plain text as opposed to a legacy Markdown body.
|
|
98
|
-
*/
|
|
99
|
-
export interface RelayStyleRange {
|
|
100
|
-
start: number;
|
|
101
|
-
length: number;
|
|
102
|
-
styles: RelayTextStyle[];
|
|
103
|
-
}
|
|
104
|
-
/** Stored canonical part as delivered in events and history. */
|
|
105
|
-
export interface RelayPart {
|
|
106
|
-
type: string;
|
|
107
|
-
part_index?: number;
|
|
108
|
-
text?: string;
|
|
109
|
-
/** Text parts only. */
|
|
110
|
-
mentions?: RelayMentionRange[];
|
|
111
|
-
styles?: RelayStyleRange[];
|
|
112
|
-
url?: string;
|
|
113
|
-
attachment_id?: string;
|
|
114
|
-
duration_ms?: number;
|
|
115
|
-
/** Media parts only: pixel dimensions (always paired) and a blurhash
|
|
116
|
-
* placeholder (base83) to draw before the bytes download. */
|
|
117
|
-
width?: number;
|
|
118
|
-
height?: number;
|
|
119
|
-
blur_hash?: string;
|
|
120
|
-
data?: unknown;
|
|
121
|
-
[key: string]: unknown;
|
|
122
|
-
}
|
|
123
|
-
export interface RelayMessage {
|
|
124
|
-
id: string;
|
|
125
|
-
conversation_id: string;
|
|
126
|
-
sequence: number;
|
|
127
|
-
sender: {
|
|
128
|
-
kind: "user" | "agent";
|
|
129
|
-
id: string;
|
|
130
|
-
};
|
|
131
|
-
parts: RelayPart[];
|
|
132
|
-
fallback_text: string;
|
|
133
|
-
reply_to?: {
|
|
134
|
-
message_id?: string;
|
|
135
|
-
} | null;
|
|
136
|
-
created_at?: string;
|
|
137
|
-
}
|
|
138
|
-
export interface BridgeState {
|
|
139
|
-
cursor: number;
|
|
140
|
-
seen_event_ids: string[];
|
|
141
|
-
pending_events: Record<string, RelayEvent[]>;
|
|
142
|
-
/**
|
|
143
|
-
* conversation_id → turn idempotency key persisted immediately BEFORE the
|
|
144
|
-
* engine turn starts and cleared on success. A marker found at startup means
|
|
145
|
-
* a previous process crashed mid-turn: that batch is dropped with a notice
|
|
146
|
-
* instead of re-executed, so engine/tool side effects (deploys, deletions,
|
|
147
|
-
* sends) run at most once per owner message.
|
|
148
|
-
*/
|
|
149
|
-
attempted_turns?: Record<string, {
|
|
150
|
-
turn_key: string;
|
|
151
|
-
event_ids: string[];
|
|
152
|
-
started_at: string;
|
|
153
|
-
}>;
|
|
154
|
-
/**
|
|
155
|
-
* Engine-completed replies waiting for idempotent Relay delivery. The full
|
|
156
|
-
* reply is persisted before the POST, so a restart can redeliver it without
|
|
157
|
-
* executing the engine or its tools again.
|
|
158
|
-
*/
|
|
159
|
-
pending_replies?: Record<string, {
|
|
160
|
-
conversation_id: string;
|
|
161
|
-
event_ids: string[];
|
|
162
|
-
text: string;
|
|
163
|
-
created_at: string;
|
|
164
|
-
/**
|
|
165
|
-
* Group turns only: the invocation this reply answers. Persisted with the
|
|
166
|
-
* text because delivery may happen in a later process, after the queued
|
|
167
|
-
* events that carried it are gone.
|
|
168
|
-
*/
|
|
169
|
-
invocation_id?: string;
|
|
170
|
-
}>;
|
|
171
|
-
/**
|
|
172
|
-
* The owner's conversation with this agent, persisted by the loop when the
|
|
173
|
-
* first owner message arrives. Default target for notify/MCP sends. Never
|
|
174
|
-
* derived from the most recent writer.
|
|
175
|
-
*/
|
|
176
|
-
owner_conversation_id?: string;
|
|
177
|
-
}
|
|
178
|
-
export interface SessionBinding {
|
|
179
|
-
engine: string;
|
|
180
|
-
session_id: string;
|
|
181
|
-
cwd: string;
|
|
182
|
-
created_at: string;
|
|
183
|
-
}
|
|
184
|
-
export interface BlockInvalidStateOperations {
|
|
185
|
-
writeBlock?: typeof atomicWriteJson;
|
|
186
|
-
quarantine?: typeof renameSync;
|
|
187
|
-
/** Test-only crash boundary after the fail-closed marker is durable. */
|
|
188
|
-
afterBlockPersisted?: () => void;
|
|
189
|
-
}
|
|
190
|
-
export declare function blockInvalidState(home: string, path: string, reason: string, operations?: BlockInvalidStateOperations): never;
|
|
191
|
-
export declare function atomicWriteJson(path: string, value: unknown, mode: number): void;
|
|
192
|
-
export declare class ConfigStore {
|
|
193
|
-
private readonly home;
|
|
194
|
-
constructor(home?: string);
|
|
195
|
-
get path(): string;
|
|
196
|
-
load(): RelayConfig | undefined;
|
|
197
|
-
save(config: RelayConfig): void;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Read-only view of state.json for non-loop processes (hook, notify, mcp).
|
|
201
|
-
* Those processes MUST NOT construct a StateStore: only the `start` loop
|
|
202
|
-
* writes state.json.
|
|
203
|
-
*/
|
|
204
|
-
export declare function readStateSnapshot(home?: string): BridgeState;
|
|
205
|
-
export declare class StateStore {
|
|
206
|
-
private readonly home;
|
|
207
|
-
private state;
|
|
208
|
-
constructor(home?: string);
|
|
209
|
-
get path(): string;
|
|
210
|
-
get current(): BridgeState;
|
|
211
|
-
markSeen(eventId: string): void;
|
|
212
|
-
hasSeen(eventId: string): boolean;
|
|
213
|
-
persist(): void;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Per-request approval files in the active account runtime directory.
|
|
217
|
-
* Create-once by whoever arms the approval (loop or codex hook), resolution
|
|
218
|
-
* written by the loop when the tap arrives, consumed + unlinked by the waiter.
|
|
219
|
-
* Each file has a single writer at a time, so there is no read-modify-write
|
|
220
|
-
* of a shared snapshot across processes.
|
|
221
|
-
*/
|
|
222
|
-
export declare class ApprovalStore {
|
|
223
|
-
private readonly home;
|
|
224
|
-
constructor(home?: string);
|
|
225
|
-
get dir(): string;
|
|
226
|
-
private pathFor;
|
|
227
|
-
/** Create-once: throws if the request id already exists. */
|
|
228
|
-
create(approval: PendingApproval): void;
|
|
229
|
-
get(requestId: string): PendingApproval | undefined;
|
|
230
|
-
/** Full rewrite of one approval file (single-writer per file by protocol). */
|
|
231
|
-
put(approval: PendingApproval): void;
|
|
232
|
-
/** The waiter consumes the decision by removing the file. */
|
|
233
|
-
consume(requestId: string): void;
|
|
234
|
-
list(): PendingApproval[];
|
|
235
|
-
/**
|
|
236
|
-
* Age out abandoned files. An unconsumed resolution belongs to a waiter in
|
|
237
|
-
* another process, so nothing is removed before deadline + grace — only
|
|
238
|
-
* files whose waiter has clearly given up (crashed hook, dead loop).
|
|
239
|
-
*/
|
|
240
|
-
sweep(now?: number, graceMs?: number): string[];
|
|
241
|
-
}
|
|
242
|
-
export interface McpOutboundSend {
|
|
243
|
-
send_id: string;
|
|
244
|
-
api_origin: string;
|
|
245
|
-
account_identity: string;
|
|
246
|
-
conversation_id: string;
|
|
247
|
-
payload_hash: string;
|
|
248
|
-
idempotency_key: string;
|
|
249
|
-
created_at: string;
|
|
250
|
-
confirmed_at?: string;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Create-once ledger for Codex MCP logical sends. Each caller-provided send_id
|
|
254
|
-
* is permanently bound to one account, origin, conversation, and exact body.
|
|
255
|
-
* An ambiguous POST can therefore be repeated after a process restart with
|
|
256
|
-
* the same server idempotency key, while changed content fails closed.
|
|
257
|
-
*/
|
|
258
|
-
export declare class McpSendLedger {
|
|
259
|
-
private readonly home;
|
|
260
|
-
private readonly apiOrigin;
|
|
261
|
-
private readonly accountIdentity;
|
|
262
|
-
constructor(home: string, apiOrigin: string, accountIdentity: string);
|
|
263
|
-
get dir(): string;
|
|
264
|
-
private pathFor;
|
|
265
|
-
register(sendId: string, conversationId: string, text: string): McpOutboundSend;
|
|
266
|
-
confirm(send: McpOutboundSend): void;
|
|
267
|
-
}
|
|
268
|
-
export declare class SessionStore {
|
|
269
|
-
private readonly home;
|
|
270
|
-
private sessions;
|
|
271
|
-
constructor(home?: string);
|
|
272
|
-
get path(): string;
|
|
273
|
-
get(conversationId: string): SessionBinding | undefined;
|
|
274
|
-
set(conversationId: string, binding: SessionBinding): void;
|
|
275
|
-
delete(conversationId: string): void;
|
|
276
|
-
all(): Record<string, SessionBinding>;
|
|
277
|
-
}
|
|
278
|
-
export interface CodexNotifyPolicy {
|
|
279
|
-
allowed_project_roots: string[];
|
|
280
|
-
}
|
|
281
|
-
/** Local, non-secret project opt-ins shared across Relay re-pairs. */
|
|
282
|
-
export declare class CodexNotifyPolicyStore {
|
|
283
|
-
private readonly home;
|
|
284
|
-
constructor(home?: string);
|
|
285
|
-
get path(): string;
|
|
286
|
-
load(): CodexNotifyPolicy;
|
|
287
|
-
allowProject(projectRoot: string): string;
|
|
288
|
-
matchProject(cwd: string | undefined): string | undefined;
|
|
289
|
-
}
|
|
290
|
-
/** One live `relaymessenger start` process per origin+agent runtime namespace. */
|
|
291
|
-
export declare class RuntimeLock {
|
|
292
|
-
private readonly runtimeHome;
|
|
293
|
-
private readonly nonce;
|
|
294
|
-
private held;
|
|
295
|
-
constructor(runtimeHome: string);
|
|
296
|
-
get dir(): string;
|
|
297
|
-
private ownerPath;
|
|
298
|
-
acquire(): void;
|
|
299
|
-
release(): void;
|
|
300
|
-
}
|
|
301
|
-
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAUL,UAAU,EAIX,MAAM,SAAS,CAAC;AAKjB,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,GACjD,MAAM,CAIR;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC,EACjE,QAAQ,SAAuB,GAC9B,MAAM,CAUR;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,SAAuB,GAAG,MAAM,CAIzE;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAS1E;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnG;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,YAAY,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC3D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;AAEzG;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,gEAAgE;AAChE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;iEAC6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAC9D,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QACE,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CACF,CAAC;IACF;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAgBD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,OAAO,eAAe,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,2BAAgC,GAC3C,KAAK,CAqBP;AA4ED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAchF;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,SAAuB,EAAI;IAE5D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,WAAW,GAAG,SAAS,CAE9B;IAED,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE9B;CACF;AAaD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAE5D;AAED,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,KAAK,CAAc;IAE3B,YAA6B,IAAI,SAAsB,EAEtD;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,WAAW,CAEzB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAK9B;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhC;IAED,OAAO,IAAI,IAAI,CAEd;CACF;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,SAAsB,EAAI;IAE3D,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,CAAC,OAAO;IAKf,4DAA4D;IAC5D,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAUtC;IAED,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAElD;IAED,8EAA8E;IAC9E,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAEnC;IAED,6DAA6D;IAC7D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAM/B;IAED,IAAI,IAAI,eAAe,EAAE,CAcxB;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,SAAa,EAAE,OAAO,SAAiB,GAAG,MAAM,EAAE,CAU1D;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAHlC,YACmB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACtC;IAEJ,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,CAAC,OAAO;IAIf,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAuD9E;IAED,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAInC;CACF;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAiC;IAEjD,YAA6B,IAAI,SAAsB,EAEtD;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtD;IAED,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAGzD;IAED,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAGnC;IAED,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAEpC;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAWD,sEAAsE;AACtE,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,SAAuB,EAAI;IAE5D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,iBAAiB,CAOxB;IAED,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMxC;IAED,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOxD;CACF;AAED,kFAAkF;AAClF,qBAAa,WAAW;IAIV,OAAO,CAAC,QAAQ,CAAC,WAAW;IAHxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,IAAI,CAAS;IAErB,YAA6B,WAAW,EAAE,MAAM,EAAI;IAEpD,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,CAAC,SAAS;IAIjB,OAAO,IAAI,IAAI,CAuCd;IAED,OAAO,IAAI,IAAI,CAcd;CACF"}
|