libp2p-mesh 2026.6.25 → 2026.6.27

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 CHANGED
@@ -23,7 +23,7 @@ P2P mesh network plugin for OpenClaw. Enables direct peer-to-peer communication
23
23
  ### Method 1: Via OpenClaw CLI (Recommended)
24
24
 
25
25
  ```bash
26
- openclaw install libp2p-mesh
26
+ openclaw plugins install libp2p-mesh
27
27
  ```
28
28
 
29
29
  ### Method 2: Manual (npm)
@@ -91,7 +91,7 @@ openclaw plugins update libp2p-mesh@latest
91
91
  如果是首次安装,也可以使用:
92
92
 
93
93
  ```bash
94
- openclaw install libp2p-mesh
94
+ openclaw plugins install libp2p-mesh
95
95
  ```
96
96
 
97
97
  安装或更新后,插件会自动安装或更新 `~/.openclaw/workspace/AGENTS.md` 中由 `libp2p-mesh` 管理的提示词区块,并在未显式配置时使用 mDNS、NAT traversal、DHT 和 delivery ACK timeout 的默认网络设置。
@@ -108,12 +108,22 @@ openclaw gateway restart
108
108
  openclaw libp2p-mesh setup
109
109
  ```
110
110
 
111
- 这个向导会写入 `plugins.entries["libp2p-mesh"].config`,不会写入 `channels["libp2p-mesh"]`。常见选择:
111
+ 这个向导会写入 `plugins.entries["libp2p-mesh"].config`,不会写入 `channels["libp2p-mesh"]`。
112
112
 
113
- - 同一局域网测试:选择 LAN / mDNS。
114
- - 跨网络或需要 relay:选择 bootstrap / relay 相关模式。
115
- - 需要把收到的 P2P 消息投递到飞书、QQ、Telegram 等 channel:配置 `inboundTargets`。
116
- - 暂时只需要工具能力、不接收消息:选择禁用入站投递,写入 `inboundTargets: []`。
113
+ 向导会把网络配置和入站投递分开处理。网络配置只决定当前节点如何发现或连接其他节点:
114
+
115
+ - 使用默认局域网发现。
116
+ - 添加 bootstrap / relay 地址用于跨网络连接。
117
+ - 将当前机器配置为公网 relay 节点。
118
+
119
+ 入站投递配置决定收到 P2P 消息后显示到哪里:
120
+
121
+ - 从现有 channels 同步。
122
+ - 手动添加一个 target。
123
+ - 不把 P2P 消息投递到本地 channel。
124
+ - 暂时保持不变。
125
+
126
+ 从现有 channels 同步时,某个 channel 的 target 可以直接留空,表示跳过该 channel。
117
127
 
118
128
  入站目标示例:
119
129
 
@@ -241,7 +251,7 @@ Use the interactive setup command for advanced network settings and later edits:
241
251
  openclaw libp2p-mesh setup
242
252
  ```
243
253
 
244
- The wizard enables the plugin when needed and writes `plugins.entries["libp2p-mesh"].config`. On later runs, it edits the existing `libp2p-mesh` entry instead of replacing it blindly. It can update the network mode, sync inbound delivery targets from the currently configured channels, add or remove targets manually, preview the final JSON, and only writes after you confirm.
254
+ The wizard enables the plugin when needed and writes `plugins.entries["libp2p-mesh"].config`. On later runs, it edits the existing `libp2p-mesh` entry instead of replacing it blindly. It separates network setup from inbound delivery: network setup chooses LAN discovery, bootstrap/relay addresses, or public relay-node parameters; inbound delivery chooses where received P2P messages should appear. It can sync inbound delivery targets from the currently configured channels, add or remove targets manually, preview the final JSON, and only writes after you confirm. When syncing from existing channels, leave a target empty to skip that channel.
245
255
 
246
256
  The wizard uses OpenClaw's config writer, so the actual file is your normal OpenClaw config path, usually `~/.openclaw/openclaw.json`. You do not need to manually edit `openclaw.json`, and the wizard does not create `channels["libp2p-mesh"]`.
247
257
 
@@ -296,7 +306,7 @@ By default, the node picks a random TCP port. To use a fixed port:
296
306
 
297
307
  ### With Bootstrap Nodes (Cross-Network)
298
308
 
299
- If peers are on different networks, run the setup wizard and choose cross-network mode. It prompts for bootstrap and optional relay multiaddrs, then writes:
309
+ If peers are on different networks, run the setup wizard and choose cross-network setup. It prompts for bootstrap and optional relay multiaddrs, then writes:
300
310
 
301
311
  ```json
302
312
  {
@@ -323,7 +333,7 @@ If peers are on different networks, run the setup wizard and choose cross-networ
323
333
 
324
334
  ### Multiple Inbound Targets
325
335
 
326
- Inbound delivery is owned by the receiving OpenClaw instance. In the setup wizard, choose to sync inbound delivery targets from the currently configured channels or add them manually. The sender still sends to the receiver's peer ID or instance ID; the receiver decides which local channels display the incoming message.
336
+ Inbound delivery is owned by the receiving OpenClaw instance. In the setup wizard, choose where received P2P messages should appear: sync from existing channels, add a target manually, disable local-channel delivery, or leave the current setting unchanged. When syncing from existing channels, leave a target empty to skip that channel. The sender still sends to the receiver's peer ID or instance ID; the receiver decides which local channels display the incoming message.
327
337
 
328
338
  Example wizard output with two targets:
329
339
 
@@ -1,7 +1,7 @@
1
1
  import type { AnnounceLogDetail, InboundTargetConfig, MeshConfig } from "./types.js";
2
2
  export declare const LIBP2P_MESH_PLUGIN_ID = "libp2p-mesh";
3
3
  export declare const DEFAULT_DELIVERY_ACK_TIMEOUT_MS = 15000;
4
- export type SetupMode = "lan" | "cross-network" | "relay-node" | "tools-only";
4
+ export type SetupMode = "lan" | "cross-network" | "relay-node";
5
5
  export type OpenClawConfigLike = {
6
6
  plugins?: {
7
7
  entries?: Record<string, {
@@ -16,12 +16,6 @@ export function buildNetworkConfig(mode, options) {
16
16
  discovery: "mdns",
17
17
  deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
18
18
  };
19
- case "tools-only":
20
- return {
21
- discovery: "mdns",
22
- inboundTargets: [],
23
- deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
24
- };
25
19
  case "cross-network": {
26
20
  const relayList = options?.crossNetwork?.relayList;
27
21
  return {
@@ -108,14 +102,17 @@ export function listConfiguredChannels(config) {
108
102
  export function planInboundTargetSync(existingTargets, configuredChannels) {
109
103
  const targets = [];
110
104
  const missingChannels = [];
111
- const seenChannels = new Set();
105
+ const seenTargetKeys = new Set();
106
+ const coveredChannels = new Set();
112
107
  for (const target of existingTargets) {
113
108
  const channel = typeof target.channel === "string" ? target.channel.trim() : "";
114
109
  const inboundTarget = typeof target.target === "string" ? target.target.trim() : "";
115
- if (!channel || !inboundTarget || seenChannels.has(channel)) {
110
+ const targetKey = `${channel}\u0000${inboundTarget}`;
111
+ if (!channel || !inboundTarget || seenTargetKeys.has(targetKey)) {
116
112
  continue;
117
113
  }
118
- seenChannels.add(channel);
114
+ seenTargetKeys.add(targetKey);
115
+ coveredChannels.add(channel);
119
116
  targets.push({
120
117
  ...target,
121
118
  channel,
@@ -124,10 +121,10 @@ export function planInboundTargetSync(existingTargets, configuredChannels) {
124
121
  }
125
122
  for (const configuredChannel of configuredChannels) {
126
123
  const channel = typeof configuredChannel === "string" ? configuredChannel.trim() : "";
127
- if (!channel || channel === LIBP2P_MESH_PLUGIN_ID || seenChannels.has(channel)) {
124
+ if (!channel || channel === LIBP2P_MESH_PLUGIN_ID || coveredChannels.has(channel)) {
128
125
  continue;
129
126
  }
130
- seenChannels.add(channel);
127
+ coveredChannels.add(channel);
131
128
  missingChannels.push(channel);
132
129
  }
133
130
  return { targets, missingChannels };
@@ -1 +1 @@
1
- {"version":3,"file":"setup-config.js","sourceRoot":"","sources":["../../src/setup-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-config.js","sourceRoot":"","sources":["../../src/setup-config.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { type OpenClawConfigLike } from "./setup-config.js";
3
3
  export declare class SetupCancelledError extends Error {
4
4
  constructor();
5
5
  }
6
- export type SetupPromptChoice = "continue" | "cancel" | "lan" | "cross-network" | "relay-node" | "tools-only" | "add-targets" | "sync-from-channels" | "disable-inbound" | "skip-inbound" | "network-mode" | "inbound-targets" | "convert-legacy-inbound" | "keep-legacy-inbound" | "replace-legacy-inbound" | "add-target" | "edit-target" | "remove-target" | "finish-targets" | "preview-apply";
6
+ export type SetupPromptChoice = "continue" | "cancel" | "lan" | "cross-network" | "relay-node" | "add-targets" | "sync-from-channels" | "disable-inbound" | "skip-inbound" | "network-mode" | "inbound-targets" | "convert-legacy-inbound" | "keep-legacy-inbound" | "replace-legacy-inbound" | "add-target" | "edit-target" | "remove-target" | "finish-targets" | "preview-apply";
7
7
  export type SetupPrompter = {
8
8
  confirm(message: string, defaultValue?: boolean): Promise<boolean>;
9
9
  select<T extends string>(message: string, choices: Array<{
@@ -51,11 +51,11 @@ async function runFirstConfigFlow(options) {
51
51
  }
52
52
  const mode = await selectSetupMode(options.prompter);
53
53
  let pluginConfig = await buildNetworkConfigFromPrompts(mode, options.prompter);
54
- const inboundChoice = await options.prompter.select("Configure inbound delivery targets?", [
55
- { label: "Sync from configured channels", value: "sync-from-channels" },
56
- { label: "Add one or more targets", value: "add-targets" },
57
- { label: "Disable inbound delivery for now", value: "disable-inbound" },
58
- { label: "Skip for now", value: "skip-inbound" },
54
+ const inboundChoice = await options.prompter.select("Configure where received P2P messages should appear?", [
55
+ { label: "Sync from existing channels", value: "sync-from-channels" },
56
+ { label: "Add a target manually", value: "add-targets" },
57
+ { label: "Do not receive P2P messages in local channels", value: "disable-inbound" },
58
+ { label: "Leave unchanged for now", value: "skip-inbound" },
59
59
  ]);
60
60
  switch (inboundChoice) {
61
61
  case "sync-from-channels":
@@ -78,8 +78,8 @@ async function runExistingConfigFlow(existingConfig, options) {
78
78
  options.prompter.print(formatCurrentConfig(pluginConfig));
79
79
  const editChoice = await options.prompter.select("What do you want to edit?", [
80
80
  { label: "Sync inbound targets from channels", value: "sync-from-channels" },
81
- { label: "Network mode", value: "network-mode" },
82
- { label: "Inbound delivery targets", value: "inbound-targets" },
81
+ { label: "Network setup", value: "network-mode" },
82
+ { label: "Where received P2P messages appear", value: "inbound-targets" },
83
83
  { label: "Preview and apply", value: "preview-apply" },
84
84
  { label: "Cancel", value: "cancel" },
85
85
  ]);
@@ -133,27 +133,64 @@ async function syncInboundTargetsFromConfiguredChannels(pluginConfig, options) {
133
133
  options.prompter.print("All configured channels already have inbound targets.");
134
134
  return setInboundTargets(pluginConfig, plan.targets);
135
135
  }
136
+ options.prompter.print(formatInboundSyncPlan(plan));
136
137
  let targets = plan.targets.map((target) => ({ ...target }));
138
+ const added = [];
139
+ const skipped = [];
137
140
  for (const channel of plan.missingChannels) {
138
- const target = await options.prompter.input(`Target for ${channel}`, { required: true });
141
+ const target = (await options.prompter.input(`${targetPromptForChannel(channel)} (leave empty to skip)`, { required: false })).trim();
142
+ if (!target) {
143
+ skipped.push(channel);
144
+ continue;
145
+ }
139
146
  const addResult = addInboundTarget(targets, { channel, target });
140
147
  if (!addResult.ok) {
141
148
  options.prompter.print(addResult.error);
142
149
  continue;
143
150
  }
144
151
  targets = addResult.targets;
152
+ added.push(addResult.added);
145
153
  }
154
+ options.prompter.print(formatInboundSyncResult({ added, skipped }));
146
155
  return setInboundTargets(pluginConfig, targets);
147
156
  }
157
+ function formatInboundSyncPlan(plan) {
158
+ const alreadyConfigured = plan.targets.length > 0 ? plan.targets.map((target) => ` - ${formatInboundTargetLine(target)}`) : [" none"];
159
+ const missingChannels = plan.missingChannels.length > 0 ? plan.missingChannels.map((channel) => ` - ${channel}`) : [" none"];
160
+ return [
161
+ "Already configured:",
162
+ ...alreadyConfigured,
163
+ "",
164
+ "Channels without inbound targets:",
165
+ ...missingChannels,
166
+ "",
167
+ "Leave a target empty to skip that channel.",
168
+ ].join("\n");
169
+ }
170
+ function formatInboundSyncResult(result) {
171
+ const lines = [];
172
+ if (result.added.length > 0) {
173
+ lines.push("Added:", ...result.added.map((target) => ` - ${formatInboundTargetLine(target)}`));
174
+ }
175
+ else {
176
+ lines.push("No inbound targets were added.");
177
+ }
178
+ if (result.skipped.length > 0) {
179
+ lines.push("", "Skipped:", ...result.skipped.map((channel) => ` - ${channel}`));
180
+ }
181
+ return lines.join("\n");
182
+ }
183
+ function formatInboundTargetLine(target) {
184
+ return `${target.id ?? "(unnamed)"} ${target.channel} / ${target.target}`;
185
+ }
148
186
  function hasLegacyOnlyInboundConfig(pluginConfig) {
149
187
  return Boolean(pluginConfig.inboundChannel && pluginConfig.inboundTarget && !Array.isArray(pluginConfig.inboundTargets));
150
188
  }
151
189
  async function selectSetupMode(prompter) {
152
- return prompter.select("Choose setup mode:", [
153
- { label: "LAN: same WiFi / local network", value: "lan" },
154
- { label: "Cross-network: use bootstrap/relay", value: "cross-network" },
155
- { label: "Relay node: this machine has a public address", value: "relay-node" },
156
- { label: "Tools only: no inbound delivery", value: "tools-only" },
190
+ return prompter.select("Choose network setup:", [
191
+ { label: "Use default LAN discovery", value: "lan" },
192
+ { label: "Add bootstrap / relay addresses for cross-network use", value: "cross-network" },
193
+ { label: "Configure this machine as a public relay node", value: "relay-node" },
157
194
  ]);
158
195
  }
159
196
  async function buildNetworkConfigFromPrompts(mode, prompter) {
@@ -162,13 +199,13 @@ async function buildNetworkConfigFromPrompts(mode, prompter) {
162
199
  return buildNetworkConfig("cross-network", {
163
200
  crossNetwork: {
164
201
  bootstrapList: await promptForAddressList(prompter, "Bootstrap multiaddr", "Add another bootstrap?"),
165
- relayList: await promptForOptionalAddressList(prompter, "Relay multiaddr", "Add another relay?"),
202
+ relayList: await promptForOptionalAddressList(prompter, "Relay multiaddr (optional, leave empty to skip)", "Add another relay?"),
166
203
  },
167
204
  });
168
205
  case "relay-node":
169
206
  return buildNetworkConfig("relay-node", {
170
207
  relayNode: {
171
- listenAddrs: [await prompter.input("Listen address", { required: true })],
208
+ listenAddrs: [await prompter.input("Listen address", { defaultValue: "/ip4/0.0.0.0/tcp/4001", required: true })],
172
209
  announceAddrs: [await prompter.input("Public announce address", { required: true })],
173
210
  },
174
211
  });
@@ -204,7 +241,7 @@ async function promptForInboundTargets(existingTargets, options, promptOptions)
204
241
  : "add-target";
205
242
  while (action === "add-target") {
206
243
  const channel = await promptForChannel(options);
207
- const target = await options.prompter.input("Target", { required: true });
244
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
208
245
  const addResult = addInboundTarget(targets, { channel, target });
209
246
  if (addResult.ok) {
210
247
  targets = addResult.targets;
@@ -249,7 +286,7 @@ async function promptForInboundTargetEdits(existingTargets, options) {
249
286
  }
250
287
  async function promptForOneInboundTarget(targets, options) {
251
288
  const channel = await promptForChannel(options);
252
- const target = await options.prompter.input("Target", { required: true });
289
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
253
290
  const addResult = addInboundTarget(targets, { channel, target });
254
291
  if (addResult.ok) {
255
292
  return addResult.targets;
@@ -264,7 +301,7 @@ async function promptForInboundTargetEdit(targets, options) {
264
301
  }
265
302
  const selectedIndex = await selectInboundTargetIndex(options.prompter, "Target to edit", targets);
266
303
  const channel = await promptForChannel(options);
267
- const target = await options.prompter.input("Target", { required: true });
304
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
268
305
  const duplicate = targets.some((existingTarget, index) => index !== selectedIndex && existingTarget.channel === channel && existingTarget.target === target);
269
306
  if (duplicate) {
270
307
  options.prompter.print(`inbound target already exists: ${channel} / ${target}`);
@@ -316,6 +353,9 @@ async function promptForChannel(options) {
316
353
  }
317
354
  return channel;
318
355
  }
356
+ function targetPromptForChannel(channel) {
357
+ return `Target for ${channel}`;
358
+ }
319
359
  function formatCurrentConfig(pluginConfig) {
320
360
  const targets = pluginConfig.inboundTargets ?? [];
321
361
  const targetLines = targets.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/setup-wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/setup-wizard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAC1C,MAAM,iBAAiB,GAAG,mDAAmD,CAAC;AAC9E,MAAM,eAAe,GAAG,oFAAoF,CAAC;AAE7G,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AA4CD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,cAAc;YACjC,CAAC,CAAC,MAAM,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC;YACtD,CAAC,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,UAAU;YACV,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YACzC,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,YAAwB;IAC/D,OAAO,8CAA8C,IAAI,CAAC,SAAS,CACjE;QACE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,YAAY;KACrB,EACD,IAAI,EACJ,CAAC,CACF,EAAE,CAAC;AACN,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CACpB,gGAAgG,CACjG,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,YAAY,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/E,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,sDAAsD,EAAE;QAC1G,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,oBAAoB,EAAE;QACrE,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,aAAa,EAAE;QACxD,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,iBAAiB,EAAE;QACpF,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE;KAC5D,CAAC,CAAC;IAEH,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,oBAAoB;YACvB,YAAY,GAAG,MAAM,wCAAwC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrF,MAAM;QACR,KAAK,aAAa;YAChB,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,MAAM,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3F,MAAM;QACR,KAAK,iBAAiB;YACpB,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,cAAc;YACjB,MAAM;IACV,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,cAA0B,EAC1B,OAA8B;IAE9B,IAAI,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAEzD,OAAO,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE;YAC5E,EAAE,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,oBAAoB,EAAE;YAC5E,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;YACjD,EAAE,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACzE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE;YACtD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC,CAAC,CAAC;QAEH,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,oBAAoB;gBACvB,YAAY,GAAG,MAAM,wCAAwC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrF,MAAM;YACR,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrD,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,MAAM,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7G,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB;gBACpB,YAAY,GAAG,MAAM,8BAA8B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,eAAe;gBAClB,OAAO,YAAY,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,YAAwB,EACxB,OAA8B;IAE9B,IAAI,0BAA0B,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,kEAAkE,EAAE;YACxH,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,wBAAwB,EAAE;YACrF,EAAE,KAAK,EAAE,0CAA0C,EAAE,KAAK,EAAE,qBAAqB,EAAE;YACnF,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAC9E,CAAC,CAAC;QAEH,QAAQ,eAAe,EAAE,CAAC;YACxB,KAAK,wBAAwB;gBAC3B,OAAO,0BAA0B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC7D,KAAK,qBAAqB;gBACxB,OAAO,0BAA0B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1D,KAAK,wBAAwB;gBAC3B,OAAO,0BAA0B,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACjG,QAAQ,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wCAAwC,CACrD,YAAwB,EACxB,OAA8B;IAE9B,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1F,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAChF,OAAO,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtI,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAmE;IAChG,MAAM,iBAAiB,GACrB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChH,MAAM,eAAe,GACnB,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEzG,OAAO;QACL,qBAAqB;QACrB,GAAG,iBAAiB;QACpB,EAAE;QACF,mCAAmC;QACnC,GAAG,eAAe;QAClB,EAAE;QACF,4CAA4C;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA2D;IAC1F,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA2B;IAC1D,OAAO,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,QAAQ,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,0BAA0B,CAAC,YAAwB;IAC1D,OAAO,OAAO,CAAC,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAuB;IACpD,OAAO,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE;QAC9C,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE;QACpD,EAAE,KAAK,EAAE,uDAAuD,EAAE,KAAK,EAAE,eAAe,EAAE;QAC1F,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,YAAY,EAAE;KAChF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,IAAe,EAAE,QAAuB;IACnF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,kBAAkB,CAAC,eAAe,EAAE;gBACzC,YAAY,EAAE;oBACZ,aAAa,EAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,wBAAwB,CAAC;oBACpG,SAAS,EAAE,MAAM,4BAA4B,CAC3C,QAAQ,EACR,iDAAiD,EACjD,oBAAoB,CACrB;iBACF;aACF,CAAC,CAAC;QACL,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC,YAAY,EAAE;gBACtC,SAAS,EAAE;oBACT,WAAW,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChH,aAAa,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrF;aACF,CAAC,CAAC;QACL;YACE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAuB,EACvB,OAAe,EACf,iBAAyB;IAEzB,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;QACxD,SAAS,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,QAAuB,EACvB,OAAe,EACf,iBAAyB;IAEzB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;QACxD,SAAS,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,eAAsC,EACtC,OAA8B,EAC9B,aAAiD;IAEjD,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,MAAM,GAAoC,aAAa,EAAE,mBAAmB;QAC9E,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE;YACvD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC5C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE;SAC3C,CAAC;QACJ,CAAC,CAAC,YAAY,CAAC;IAEjB,OAAO,MAAM,KAAK,YAAY,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;YAC7C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,gBAAgB,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,KAAK,UAAU,2BAA2B,CACxC,eAAsC,EACtC,OAA8B;IAE9B,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAE/D,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE;YACtE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC5C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;YAC9C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;YAClD,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAC/D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE;SAC3C,CAAC,CAAC;QAEH,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,eAAe;gBAClB,OAAO,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,KAAK,gBAAgB;gBACnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAA8B,EAC9B,OAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAA8B,EAC9B,OAA8B;IAE9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAC5B,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,CAC7H,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,kCAAkC,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAC3C,KAAK,KAAK,aAAa;QACrB,CAAC,CAAC;YACE,GAAG,cAAc;YACjB,OAAO;YACP,MAAM;SACP;QACH,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,OAA8B,EAC9B,OAA8B;IAE9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACpG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAuB,EACvB,OAAe,EACf,OAA8B;IAE9B,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CACvC,OAAO,EACP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE,QAAQ,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE;QACvF,KAAK,EAAE,gBAAgB,KAAK,EAAE;KAC/B,CAAC,CAAC,CACJ,CAAC;IACF,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACzE,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAA8B;IAC5D,MAAM,cAAc,GAAG;QACrB,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACvG,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,oBAAoB,EAAE;KACtE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEzE,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,cAAc,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAwB;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;IAClD,MAAM,WAAW,GACf,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,IAAI,WAAW,QAAQ,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxH,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEjB,OAAO,CAAC,6BAA6B,EAAE,gBAAgB,YAAY,CAAC,SAAS,IAAI,SAAS,EAAE,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CACtI,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAA8B;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAe,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,iBAAiB;KAC3B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p-mesh",
3
- "version": "2026.6.25",
3
+ "version": "2026.6.27",
4
4
  "description": "OpenClaw libp2p P2P mesh network plugin for cross-instance agent communication",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3,7 +3,7 @@ import type { AnnounceLogDetail, InboundTargetConfig, MeshConfig } from "./types
3
3
  export const LIBP2P_MESH_PLUGIN_ID = "libp2p-mesh";
4
4
  export const DEFAULT_DELIVERY_ACK_TIMEOUT_MS = 15000;
5
5
 
6
- export type SetupMode = "lan" | "cross-network" | "relay-node" | "tools-only";
6
+ export type SetupMode = "lan" | "cross-network" | "relay-node";
7
7
 
8
8
  export type OpenClawConfigLike = {
9
9
  plugins?: {
@@ -65,13 +65,6 @@ export function buildNetworkConfig(
65
65
  deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
66
66
  };
67
67
 
68
- case "tools-only":
69
- return {
70
- discovery: "mdns",
71
- inboundTargets: [],
72
- deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
73
- };
74
-
75
68
  case "cross-network": {
76
69
  const relayList = options?.crossNetwork?.relayList;
77
70
  return {
@@ -185,16 +178,19 @@ export function planInboundTargetSync(
185
178
  ): InboundTargetSyncPlan {
186
179
  const targets: InboundTargetConfig[] = [];
187
180
  const missingChannels: string[] = [];
188
- const seenChannels = new Set<string>();
181
+ const seenTargetKeys = new Set<string>();
182
+ const coveredChannels = new Set<string>();
189
183
 
190
184
  for (const target of existingTargets) {
191
185
  const channel = typeof target.channel === "string" ? target.channel.trim() : "";
192
186
  const inboundTarget = typeof target.target === "string" ? target.target.trim() : "";
193
- if (!channel || !inboundTarget || seenChannels.has(channel)) {
187
+ const targetKey = `${channel}\u0000${inboundTarget}`;
188
+ if (!channel || !inboundTarget || seenTargetKeys.has(targetKey)) {
194
189
  continue;
195
190
  }
196
191
 
197
- seenChannels.add(channel);
192
+ seenTargetKeys.add(targetKey);
193
+ coveredChannels.add(channel);
198
194
  targets.push({
199
195
  ...target,
200
196
  channel,
@@ -204,11 +200,11 @@ export function planInboundTargetSync(
204
200
 
205
201
  for (const configuredChannel of configuredChannels) {
206
202
  const channel = typeof configuredChannel === "string" ? configuredChannel.trim() : "";
207
- if (!channel || channel === LIBP2P_MESH_PLUGIN_ID || seenChannels.has(channel)) {
203
+ if (!channel || channel === LIBP2P_MESH_PLUGIN_ID || coveredChannels.has(channel)) {
208
204
  continue;
209
205
  }
210
206
 
211
- seenChannels.add(channel);
207
+ coveredChannels.add(channel);
212
208
  missingChannels.push(channel);
213
209
  }
214
210
 
@@ -31,7 +31,6 @@ export type SetupPromptChoice =
31
31
  | "lan"
32
32
  | "cross-network"
33
33
  | "relay-node"
34
- | "tools-only"
35
34
  | "add-targets"
36
35
  | "sync-from-channels"
37
36
  | "disable-inbound"
@@ -124,11 +123,11 @@ async function runFirstConfigFlow(options: RunSetupWizardOptions): Promise<MeshC
124
123
  const mode = await selectSetupMode(options.prompter);
125
124
  let pluginConfig = await buildNetworkConfigFromPrompts(mode, options.prompter);
126
125
 
127
- const inboundChoice = await options.prompter.select("Configure inbound delivery targets?", [
128
- { label: "Sync from configured channels", value: "sync-from-channels" },
129
- { label: "Add one or more targets", value: "add-targets" },
130
- { label: "Disable inbound delivery for now", value: "disable-inbound" },
131
- { label: "Skip for now", value: "skip-inbound" },
126
+ const inboundChoice = await options.prompter.select("Configure where received P2P messages should appear?", [
127
+ { label: "Sync from existing channels", value: "sync-from-channels" },
128
+ { label: "Add a target manually", value: "add-targets" },
129
+ { label: "Do not receive P2P messages in local channels", value: "disable-inbound" },
130
+ { label: "Leave unchanged for now", value: "skip-inbound" },
132
131
  ]);
133
132
 
134
133
  switch (inboundChoice) {
@@ -158,8 +157,8 @@ async function runExistingConfigFlow(
158
157
  options.prompter.print(formatCurrentConfig(pluginConfig));
159
158
  const editChoice = await options.prompter.select("What do you want to edit?", [
160
159
  { label: "Sync inbound targets from channels", value: "sync-from-channels" },
161
- { label: "Network mode", value: "network-mode" },
162
- { label: "Inbound delivery targets", value: "inbound-targets" },
160
+ { label: "Network setup", value: "network-mode" },
161
+ { label: "Where received P2P messages appear", value: "inbound-targets" },
163
162
  { label: "Preview and apply", value: "preview-apply" },
164
163
  { label: "Cancel", value: "cancel" },
165
164
  ]);
@@ -225,30 +224,77 @@ async function syncInboundTargetsFromConfiguredChannels(
225
224
  return setInboundTargets(pluginConfig, plan.targets);
226
225
  }
227
226
 
227
+ options.prompter.print(formatInboundSyncPlan(plan));
228
228
  let targets = plan.targets.map((target) => ({ ...target }));
229
+ const added: InboundTargetConfig[] = [];
230
+ const skipped: string[] = [];
231
+
229
232
  for (const channel of plan.missingChannels) {
230
- const target = await options.prompter.input(`Target for ${channel}`, { required: true });
233
+ const target = (await options.prompter.input(`${targetPromptForChannel(channel)} (leave empty to skip)`, { required: false })).trim();
234
+ if (!target) {
235
+ skipped.push(channel);
236
+ continue;
237
+ }
238
+
231
239
  const addResult = addInboundTarget(targets, { channel, target });
232
240
  if (!addResult.ok) {
233
241
  options.prompter.print(addResult.error);
234
242
  continue;
235
243
  }
236
244
  targets = addResult.targets;
245
+ added.push(addResult.added);
237
246
  }
238
247
 
248
+ options.prompter.print(formatInboundSyncResult({ added, skipped }));
239
249
  return setInboundTargets(pluginConfig, targets);
240
250
  }
241
251
 
252
+ function formatInboundSyncPlan(plan: { targets: InboundTargetConfig[]; missingChannels: string[] }): string {
253
+ const alreadyConfigured =
254
+ plan.targets.length > 0 ? plan.targets.map((target) => ` - ${formatInboundTargetLine(target)}`) : [" none"];
255
+ const missingChannels =
256
+ plan.missingChannels.length > 0 ? plan.missingChannels.map((channel) => ` - ${channel}`) : [" none"];
257
+
258
+ return [
259
+ "Already configured:",
260
+ ...alreadyConfigured,
261
+ "",
262
+ "Channels without inbound targets:",
263
+ ...missingChannels,
264
+ "",
265
+ "Leave a target empty to skip that channel.",
266
+ ].join("\n");
267
+ }
268
+
269
+ function formatInboundSyncResult(result: { added: InboundTargetConfig[]; skipped: string[] }): string {
270
+ const lines: string[] = [];
271
+
272
+ if (result.added.length > 0) {
273
+ lines.push("Added:", ...result.added.map((target) => ` - ${formatInboundTargetLine(target)}`));
274
+ } else {
275
+ lines.push("No inbound targets were added.");
276
+ }
277
+
278
+ if (result.skipped.length > 0) {
279
+ lines.push("", "Skipped:", ...result.skipped.map((channel) => ` - ${channel}`));
280
+ }
281
+
282
+ return lines.join("\n");
283
+ }
284
+
285
+ function formatInboundTargetLine(target: InboundTargetConfig): string {
286
+ return `${target.id ?? "(unnamed)"} ${target.channel} / ${target.target}`;
287
+ }
288
+
242
289
  function hasLegacyOnlyInboundConfig(pluginConfig: MeshConfig): boolean {
243
290
  return Boolean(pluginConfig.inboundChannel && pluginConfig.inboundTarget && !Array.isArray(pluginConfig.inboundTargets));
244
291
  }
245
292
 
246
293
  async function selectSetupMode(prompter: SetupPrompter): Promise<SetupMode> {
247
- return prompter.select("Choose setup mode:", [
248
- { label: "LAN: same WiFi / local network", value: "lan" },
249
- { label: "Cross-network: use bootstrap/relay", value: "cross-network" },
250
- { label: "Relay node: this machine has a public address", value: "relay-node" },
251
- { label: "Tools only: no inbound delivery", value: "tools-only" },
294
+ return prompter.select("Choose network setup:", [
295
+ { label: "Use default LAN discovery", value: "lan" },
296
+ { label: "Add bootstrap / relay addresses for cross-network use", value: "cross-network" },
297
+ { label: "Configure this machine as a public relay node", value: "relay-node" },
252
298
  ]);
253
299
  }
254
300
 
@@ -258,13 +304,17 @@ async function buildNetworkConfigFromPrompts(mode: SetupMode, prompter: SetupPro
258
304
  return buildNetworkConfig("cross-network", {
259
305
  crossNetwork: {
260
306
  bootstrapList: await promptForAddressList(prompter, "Bootstrap multiaddr", "Add another bootstrap?"),
261
- relayList: await promptForOptionalAddressList(prompter, "Relay multiaddr", "Add another relay?"),
307
+ relayList: await promptForOptionalAddressList(
308
+ prompter,
309
+ "Relay multiaddr (optional, leave empty to skip)",
310
+ "Add another relay?",
311
+ ),
262
312
  },
263
313
  });
264
314
  case "relay-node":
265
315
  return buildNetworkConfig("relay-node", {
266
316
  relayNode: {
267
- listenAddrs: [await prompter.input("Listen address", { required: true })],
317
+ listenAddrs: [await prompter.input("Listen address", { defaultValue: "/ip4/0.0.0.0/tcp/4001", required: true })],
268
318
  announceAddrs: [await prompter.input("Public announce address", { required: true })],
269
319
  },
270
320
  });
@@ -316,7 +366,7 @@ async function promptForInboundTargets(
316
366
 
317
367
  while (action === "add-target") {
318
368
  const channel = await promptForChannel(options);
319
- const target = await options.prompter.input("Target", { required: true });
369
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
320
370
  const addResult = addInboundTarget(targets, { channel, target });
321
371
 
322
372
  if (addResult.ok) {
@@ -377,7 +427,7 @@ async function promptForOneInboundTarget(
377
427
  options: RunSetupWizardOptions,
378
428
  ): Promise<InboundTargetConfig[]> {
379
429
  const channel = await promptForChannel(options);
380
- const target = await options.prompter.input("Target", { required: true });
430
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
381
431
  const addResult = addInboundTarget(targets, { channel, target });
382
432
 
383
433
  if (addResult.ok) {
@@ -399,7 +449,7 @@ async function promptForInboundTargetEdit(
399
449
 
400
450
  const selectedIndex = await selectInboundTargetIndex(options.prompter, "Target to edit", targets);
401
451
  const channel = await promptForChannel(options);
402
- const target = await options.prompter.input("Target", { required: true });
452
+ const target = await options.prompter.input(targetPromptForChannel(channel), { required: true });
403
453
  const duplicate = targets.some(
404
454
  (existingTarget, index) => index !== selectedIndex && existingTarget.channel === channel && existingTarget.target === target,
405
455
  );
@@ -477,6 +527,10 @@ async function promptForChannel(options: RunSetupWizardOptions): Promise<string>
477
527
  return channel;
478
528
  }
479
529
 
530
+ function targetPromptForChannel(channel: string): string {
531
+ return `Target for ${channel}`;
532
+ }
533
+
480
534
  function formatCurrentConfig(pluginConfig: MeshConfig): string {
481
535
  const targets = pluginConfig.inboundTargets ?? [];
482
536
  const targetLines =