agentchannel 0.1.6 → 0.2.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/dist/cli.js +131 -38
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +58 -0
- package/dist/config.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,40 +1,56 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { randomBytes } from "node:crypto";
|
|
4
|
-
import { userInfo } from "node:os";
|
|
5
4
|
import { readFileSync } from "node:fs";
|
|
6
5
|
import { fileURLToPath } from "node:url";
|
|
7
6
|
import { dirname, join } from "node:path";
|
|
8
7
|
import { startServer } from "./server.js";
|
|
9
8
|
import { AgentChatClient } from "./mqtt-client.js";
|
|
9
|
+
import { loadConfig, addChannel, removeChannel, setName as setConfigName, getChannelKey } from "./config.js";
|
|
10
10
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
11
|
const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf8"));
|
|
12
12
|
const program = new Command();
|
|
13
|
-
function defaultName() {
|
|
14
|
-
return userInfo().username;
|
|
15
|
-
}
|
|
16
|
-
function parseChannels(channel, key) {
|
|
17
|
-
if (channel.length !== key.length) {
|
|
18
|
-
console.error("Error: Each --channel must have a matching --key");
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
return channel.map((c, i) => ({ channel: c, key: key[i] }));
|
|
22
|
-
}
|
|
23
13
|
program
|
|
24
14
|
.name("agentchannel")
|
|
25
15
|
.description("Encrypted cross-network messaging for AI coding agents")
|
|
26
16
|
.version(pkg.version);
|
|
17
|
+
// ── config ──────────────────────────────────────────────
|
|
18
|
+
program
|
|
19
|
+
.command("config")
|
|
20
|
+
.description("View or update your config")
|
|
21
|
+
.option("--name <nickname>", "Set your display name")
|
|
22
|
+
.action((opts) => {
|
|
23
|
+
if (opts.name) {
|
|
24
|
+
setConfigName(opts.name);
|
|
25
|
+
console.log(`Name set to "${opts.name}"`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const config = loadConfig();
|
|
29
|
+
console.log(`\n Name: @${config.name}`);
|
|
30
|
+
if (config.channels.length === 0) {
|
|
31
|
+
console.log(" Channels: (none)\n");
|
|
32
|
+
console.log(" Create one: agentchannel create --channel <name>\n");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log(" Channels:");
|
|
36
|
+
for (const ch of config.channels) {
|
|
37
|
+
console.log(` #${ch.channel} (key: ${ch.key})`);
|
|
38
|
+
}
|
|
39
|
+
console.log();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
// ── create ──────────────────────────────────────────────
|
|
27
43
|
program
|
|
28
44
|
.command("create")
|
|
29
45
|
.description("Create a new channel and generate a key")
|
|
30
46
|
.requiredOption("--channel <name>", "Channel name (e.g. frontend, backend, devops)")
|
|
31
47
|
.option("--key <key>", "Custom channel key (auto-generated if omitted)")
|
|
32
|
-
.option("--name <nickname>", "Display name (default: OS username)")
|
|
33
48
|
.option("--broker <url>", "Custom MQTT broker URL")
|
|
34
49
|
.action(async (opts) => {
|
|
35
50
|
const key = opts.key || randomBytes(6).toString("hex");
|
|
36
51
|
const channel = opts.channel;
|
|
37
|
-
const
|
|
52
|
+
const config = loadConfig();
|
|
53
|
+
addChannel(channel, key);
|
|
38
54
|
console.log(`
|
|
39
55
|
Channel created!
|
|
40
56
|
Channel: #${channel}
|
|
@@ -45,7 +61,7 @@ Share this with your team:
|
|
|
45
61
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
62
|
|
|
47
63
|
1. Install: npm install -g agentchannel
|
|
48
|
-
2. Join: agentchannel
|
|
64
|
+
2. Join: agentchannel join --channel ${channel} --key ${key}
|
|
49
65
|
|
|
50
66
|
Or use with any MCP-compatible AI tool (Claude Code, Cursor, etc.):
|
|
51
67
|
|
|
@@ -61,14 +77,14 @@ Or use with any MCP-compatible AI tool (Claude Code, Cursor, etc.):
|
|
|
61
77
|
Learn more: https://agentchannel.io
|
|
62
78
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
63
79
|
`);
|
|
64
|
-
console.log(`Entering #${channel} as "
|
|
65
|
-
const client = new AgentChatClient({ channels: [{ channel, key }], name, broker: opts.broker });
|
|
80
|
+
console.log(`Entering #${channel} as "@${config.name}"... Press Ctrl+C to stop.\n`);
|
|
81
|
+
const client = new AgentChatClient({ channels: [{ channel, key }], name: config.name, broker: opts.broker });
|
|
66
82
|
await client.connect();
|
|
67
83
|
client.setOnMessage((msg) => {
|
|
68
|
-
if (msg.sender === name)
|
|
84
|
+
if (msg.sender === config.name)
|
|
69
85
|
return;
|
|
70
86
|
const time = new Date(msg.timestamp).toLocaleTimeString();
|
|
71
|
-
console.log(`[${time}] #${msg.channel} |
|
|
87
|
+
console.log(`[${time}] #${msg.channel} | @${msg.sender}: ${msg.content}`);
|
|
72
88
|
notify(msg.sender, msg.content, msg.channel);
|
|
73
89
|
});
|
|
74
90
|
process.on("SIGINT", async () => {
|
|
@@ -76,36 +92,98 @@ Learn more: https://agentchannel.io
|
|
|
76
92
|
process.exit(0);
|
|
77
93
|
});
|
|
78
94
|
});
|
|
95
|
+
// ── join ────────────────────────────────────────────────
|
|
96
|
+
program
|
|
97
|
+
.command("join")
|
|
98
|
+
.description("Join an existing channel")
|
|
99
|
+
.requiredOption("--channel <name>", "Channel name")
|
|
100
|
+
.requiredOption("--key <key>", "Channel key (from the channel creator)")
|
|
101
|
+
.action((opts) => {
|
|
102
|
+
addChannel(opts.channel, opts.key);
|
|
103
|
+
console.log(`Joined #${opts.channel}. Run "agentchannel watch" to start listening.`);
|
|
104
|
+
});
|
|
105
|
+
// ── leave ───────────────────────────────────────────────
|
|
106
|
+
program
|
|
107
|
+
.command("leave")
|
|
108
|
+
.description("Leave a channel")
|
|
109
|
+
.requiredOption("--channel <name>", "Channel name to leave")
|
|
110
|
+
.action((opts) => {
|
|
111
|
+
removeChannel(opts.channel);
|
|
112
|
+
console.log(`Left #${opts.channel}.`);
|
|
113
|
+
});
|
|
114
|
+
// ── serve ───────────────────────────────────────────────
|
|
79
115
|
program
|
|
80
116
|
.command("serve")
|
|
81
117
|
.description("Start MCP server (used by AI coding tools)")
|
|
82
|
-
.
|
|
83
|
-
.
|
|
84
|
-
.option("--name <nickname>", "Display name (default:
|
|
118
|
+
.option("--channel <name...>", "Channel name(s) (default: all from config)")
|
|
119
|
+
.option("--key <key...>", "Channel key(s) (required if --channel is specified and not in config)")
|
|
120
|
+
.option("--name <nickname>", "Display name (default: from config)")
|
|
85
121
|
.option("--broker <url>", "Custom MQTT broker URL")
|
|
86
122
|
.action(async (opts) => {
|
|
87
|
-
const
|
|
88
|
-
|
|
123
|
+
const config = loadConfig();
|
|
124
|
+
const name = opts.name || config.name;
|
|
125
|
+
let channels;
|
|
126
|
+
if (opts.channel) {
|
|
127
|
+
const chArr = Array.isArray(opts.channel) ? opts.channel : [opts.channel];
|
|
128
|
+
const keyArr = opts.key ? (Array.isArray(opts.key) ? opts.key : [opts.key]) : [];
|
|
129
|
+
channels = chArr.map((ch, i) => {
|
|
130
|
+
const key = keyArr[i] || getChannelKey(ch);
|
|
131
|
+
if (!key) {
|
|
132
|
+
console.error(`Error: No key for #${ch}. Join it first: agentchannel join --channel ${ch} --key <key>`);
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
return { channel: ch, key };
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
channels = config.channels;
|
|
140
|
+
if (channels.length === 0) {
|
|
141
|
+
console.error("Error: No channels in config. Create or join one first.");
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
await startServer({ channels, name, broker: opts.broker });
|
|
89
146
|
});
|
|
147
|
+
// ── watch ───────────────────────────────────────────────
|
|
90
148
|
program
|
|
91
149
|
.command("watch")
|
|
92
150
|
.description("Watch for new messages with system notifications")
|
|
93
|
-
.
|
|
94
|
-
.
|
|
95
|
-
.option("--name <nickname>", "Display name (default:
|
|
151
|
+
.option("--channel <name...>", "Channel name(s) (default: all from config)")
|
|
152
|
+
.option("--key <key...>", "Channel key(s) (required if --channel is specified and not in config)")
|
|
153
|
+
.option("--name <nickname>", "Display name (default: from config)")
|
|
96
154
|
.option("--broker <url>", "Custom MQTT broker URL")
|
|
97
155
|
.action(async (opts) => {
|
|
98
|
-
const
|
|
99
|
-
const name = opts.name ||
|
|
156
|
+
const config = loadConfig();
|
|
157
|
+
const name = opts.name || config.name;
|
|
158
|
+
let channels;
|
|
159
|
+
if (opts.channel) {
|
|
160
|
+
const chArr = Array.isArray(opts.channel) ? opts.channel : [opts.channel];
|
|
161
|
+
const keyArr = opts.key ? (Array.isArray(opts.key) ? opts.key : [opts.key]) : [];
|
|
162
|
+
channels = chArr.map((ch, i) => {
|
|
163
|
+
const key = keyArr[i] || getChannelKey(ch);
|
|
164
|
+
if (!key) {
|
|
165
|
+
console.error(`Error: No key for #${ch}. Join it first: agentchannel join --channel ${ch} --key <key>`);
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
168
|
+
return { channel: ch, key };
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
channels = config.channels;
|
|
173
|
+
if (channels.length === 0) {
|
|
174
|
+
console.error("Error: No channels in config. Create or join one first.");
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
100
178
|
const client = new AgentChatClient({ channels, name, broker: opts.broker });
|
|
101
179
|
await client.connect();
|
|
102
180
|
const names = channels.map((c) => `#${c.channel}`).join(", ");
|
|
103
|
-
console.log(`Watching [${names}] as "
|
|
181
|
+
console.log(`Watching [${names}] as "@${name}"... Press Ctrl+C to stop.`);
|
|
104
182
|
client.setOnMessage((msg) => {
|
|
105
183
|
if (msg.sender === name)
|
|
106
184
|
return;
|
|
107
185
|
const time = new Date(msg.timestamp).toLocaleTimeString();
|
|
108
|
-
console.log(`[${time}] #${msg.channel} |
|
|
186
|
+
console.log(`[${time}] #${msg.channel} | @${msg.sender}: ${msg.content}`);
|
|
109
187
|
notify(msg.sender, msg.content, msg.channel);
|
|
110
188
|
});
|
|
111
189
|
process.on("SIGINT", async () => {
|
|
@@ -113,30 +191,44 @@ program
|
|
|
113
191
|
process.exit(0);
|
|
114
192
|
});
|
|
115
193
|
});
|
|
194
|
+
// ── send ────────────────────────────────────────────────
|
|
116
195
|
program
|
|
117
196
|
.command("send <message>")
|
|
118
197
|
.description("Send a message to a channel")
|
|
119
198
|
.requiredOption("--channel <name>", "Channel name")
|
|
120
|
-
.
|
|
121
|
-
.option("--name <nickname>", "Display name (default:
|
|
199
|
+
.option("--key <key>", "Channel key (default: from config)")
|
|
200
|
+
.option("--name <nickname>", "Display name (default: from config)")
|
|
122
201
|
.option("--broker <url>", "Custom MQTT broker URL")
|
|
123
202
|
.action(async (message, opts) => {
|
|
124
|
-
const
|
|
125
|
-
const
|
|
203
|
+
const config = loadConfig();
|
|
204
|
+
const name = opts.name || config.name;
|
|
205
|
+
const key = opts.key || getChannelKey(opts.channel);
|
|
206
|
+
if (!key) {
|
|
207
|
+
console.error(`Error: No key for #${opts.channel}. Join it first: agentchannel join --channel ${opts.channel} --key <key>`);
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
const client = AgentChatClient.fromSingle({ channel: opts.channel, name, key, broker: opts.broker });
|
|
126
211
|
await client.connect();
|
|
127
212
|
await client.send(message);
|
|
128
213
|
console.log("Message sent.");
|
|
129
214
|
await client.disconnect();
|
|
130
215
|
});
|
|
216
|
+
// ── read ────────────────────────────────────────────────
|
|
131
217
|
program
|
|
132
218
|
.command("read")
|
|
133
219
|
.description("Read recent messages from a channel")
|
|
134
220
|
.requiredOption("--channel <name>", "Channel name")
|
|
135
|
-
.
|
|
221
|
+
.option("--key <key>", "Channel key (default: from config)")
|
|
136
222
|
.option("--broker <url>", "Custom MQTT broker URL")
|
|
137
223
|
.option("-n, --limit <number>", "Number of messages to read", "20")
|
|
138
224
|
.action(async (opts) => {
|
|
139
|
-
const
|
|
225
|
+
const config = loadConfig();
|
|
226
|
+
const key = opts.key || getChannelKey(opts.channel);
|
|
227
|
+
if (!key) {
|
|
228
|
+
console.error(`Error: No key for #${opts.channel}. Join it first: agentchannel join --channel ${opts.channel} --key <key>`);
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
const client = AgentChatClient.fromSingle({ channel: opts.channel, name: "__reader__", key, broker: opts.broker });
|
|
140
232
|
await client.connect();
|
|
141
233
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
142
234
|
const messages = client.store.getMessages(parseInt(opts.limit, 10));
|
|
@@ -146,17 +238,18 @@ program
|
|
|
146
238
|
else {
|
|
147
239
|
for (const msg of messages) {
|
|
148
240
|
const time = new Date(msg.timestamp).toLocaleTimeString();
|
|
149
|
-
console.log(`[${time}] #${msg.channel} |
|
|
241
|
+
console.log(`[${time}] #${msg.channel} | @${msg.sender}: ${msg.content}`);
|
|
150
242
|
}
|
|
151
243
|
}
|
|
152
244
|
await client.disconnect();
|
|
153
245
|
});
|
|
246
|
+
// ── helpers ─────────────────────────────────────────────
|
|
154
247
|
function notify(sender, content, channel) {
|
|
155
248
|
const truncated = content.length > 100 ? content.slice(0, 100) + "..." : content;
|
|
156
249
|
if (process.platform === "darwin") {
|
|
157
250
|
import("node:child_process").then(({ exec }) => {
|
|
158
251
|
const escaped = truncated.replace(/"/g, '\\"');
|
|
159
|
-
exec(`osascript -e 'display notification "${escaped}" with title "AgentChannel #${channel}:
|
|
252
|
+
exec(`osascript -e 'display notification "${escaped}" with title "AgentChannel #${channel}: @${sender}"'`);
|
|
160
253
|
});
|
|
161
254
|
}
|
|
162
255
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChannelConfig } from "./types.js";
|
|
2
|
+
export interface AppConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
channels: ChannelConfig[];
|
|
5
|
+
}
|
|
6
|
+
export declare function loadConfig(): AppConfig;
|
|
7
|
+
export declare function saveConfig(config: AppConfig): void;
|
|
8
|
+
export declare function addChannel(channel: string, key: string): void;
|
|
9
|
+
export declare function removeChannel(channel: string): void;
|
|
10
|
+
export declare function setName(name: string): void;
|
|
11
|
+
export declare function getChannelKey(channel: string): string | undefined;
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { userInfo } from "node:os";
|
|
5
|
+
const CONFIG_DIR = join(homedir(), ".agentchannel");
|
|
6
|
+
const CONFIG_FILE = join(CONFIG_DIR, "config.json");
|
|
7
|
+
function defaultConfig() {
|
|
8
|
+
return {
|
|
9
|
+
name: userInfo().username,
|
|
10
|
+
channels: [],
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function loadConfig() {
|
|
14
|
+
if (!existsSync(CONFIG_FILE))
|
|
15
|
+
return defaultConfig();
|
|
16
|
+
try {
|
|
17
|
+
const data = JSON.parse(readFileSync(CONFIG_FILE, "utf8"));
|
|
18
|
+
return {
|
|
19
|
+
name: data.name || userInfo().username,
|
|
20
|
+
channels: Array.isArray(data.channels) ? data.channels : [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return defaultConfig();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function saveConfig(config) {
|
|
28
|
+
if (!existsSync(CONFIG_DIR)) {
|
|
29
|
+
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2) + "\n");
|
|
32
|
+
}
|
|
33
|
+
export function addChannel(channel, key) {
|
|
34
|
+
const config = loadConfig();
|
|
35
|
+
const existing = config.channels.find((c) => c.channel === channel);
|
|
36
|
+
if (existing) {
|
|
37
|
+
existing.key = key;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
config.channels.push({ channel, key });
|
|
41
|
+
}
|
|
42
|
+
saveConfig(config);
|
|
43
|
+
}
|
|
44
|
+
export function removeChannel(channel) {
|
|
45
|
+
const config = loadConfig();
|
|
46
|
+
config.channels = config.channels.filter((c) => c.channel !== channel);
|
|
47
|
+
saveConfig(config);
|
|
48
|
+
}
|
|
49
|
+
export function setName(name) {
|
|
50
|
+
const config = loadConfig();
|
|
51
|
+
config.name = name;
|
|
52
|
+
saveConfig(config);
|
|
53
|
+
}
|
|
54
|
+
export function getChannelKey(channel) {
|
|
55
|
+
const config = loadConfig();
|
|
56
|
+
return config.channels.find((c) => c.channel === channel)?.key;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAOpD,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ;QACzB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,aAAa,EAAE,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,QAAQ;YACtC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,GAAW;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACvE,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC;AACjE,CAAC"}
|