@openclaw/irc 2026.10.2 → 2026.10.4

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.
@@ -197,7 +197,7 @@ const collectIrcMutableAllowlistWarnings = createDangerousNameMatchingMutableAll
197
197
  });
198
198
  //#endregion
199
199
  //#region extensions/irc/src/gateway.ts
200
- const loadIrcChannelRuntime$1 = createLazyRuntimeModule(() => import("./channel-runtime-BvC0hwF1.mjs"));
200
+ const loadIrcChannelRuntime$1 = createLazyRuntimeModule(() => import("./channel-runtime-DASKUCEK.mjs"));
201
201
  async function startIrcGatewayAccount(ctx) {
202
202
  const account = ctx.account;
203
203
  const statusSink = createAccountStatusSink({
@@ -475,6 +475,8 @@ const IRC_ERROR_CODES = /* @__PURE__ */ new Set([
475
475
  ]);
476
476
  const IRC_NICK_COLLISION_CODES = /* @__PURE__ */ new Set(["433", "436"]);
477
477
  const IRC_MAX_LINE_BYTES = 512;
478
+ const IRC_MAX_RELAY_USER_BYTES = 11;
479
+ const IRC_MAX_RELAY_HOST_BYTES = 63;
478
480
  function takeIrcPrivmsgChunk(text, maxChars, maxBytes) {
479
481
  let end = 0;
480
482
  let bytes = 0;
@@ -590,7 +592,7 @@ async function connectIrcClient(options) {
590
592
  const normalizedTarget = sanitizeIrcTarget(target);
591
593
  const cleaned = sanitizeIrcOutboundText(text);
592
594
  if (!cleaned) throw new Error("Message must be non-empty for IRC sends");
593
- const lineOverheadBytes = Buffer.byteLength(`PRIVMSG ${normalizedTarget} :\r\n`, "utf8");
595
+ const lineOverheadBytes = Buffer.byteLength(`:${currentNick}!@ `, "utf8") + IRC_MAX_RELAY_USER_BYTES + IRC_MAX_RELAY_HOST_BYTES + Buffer.byteLength(`PRIVMSG ${normalizedTarget} :\r\n`, "utf8");
594
596
  const maxChunkBytes = IRC_MAX_LINE_BYTES - lineOverheadBytes;
595
597
  let remaining = replyTo ? sanitizeIrcOutboundText(`${text}\n\n[reply:${replyTo}]`) : cleaned;
596
598
  while (remaining.length > 0) {
@@ -1459,7 +1461,7 @@ const meta = {
1459
1461
  systemImage: "number",
1460
1462
  markdownCapable: true
1461
1463
  };
1462
- const loadIrcChannelRuntime = createLazyRuntimeModule(() => import("./channel-runtime-BvC0hwF1.mjs"));
1464
+ const loadIrcChannelRuntime = createLazyRuntimeModule(() => import("./channel-runtime-DASKUCEK.mjs"));
1463
1465
  function normalizePairingTarget(raw) {
1464
1466
  const normalized = normalizeIrcAllowEntry(raw);
1465
1467
  if (!normalized) return "";
@@ -0,0 +1,2 @@
1
+ export { t as ircPlugin } from "./channel-BKjbefxw.mjs";
2
+ import "../channel-plugin-api.js";
@@ -1,4 +1,4 @@
1
- import { a as resolveIrcGroupRequireMention, c as connectIrcClient, d as sanitizeIrcAssistantText, f as createIrcIngressSubject, h as normalizeIrcAllowEntry, i as resolveIrcGroupMatch, l as parseIrcLine, m as isChannelTarget, o as sendMessageIrc, p as ircIngressIdentity, s as buildIrcConnectOptions, u as parseIrcPrefix, y as resolveIrcAccount } from "./channel-DP5YY5l3.mjs";
1
+ import { a as resolveIrcGroupRequireMention, c as connectIrcClient, d as sanitizeIrcAssistantText, f as createIrcIngressSubject, h as normalizeIrcAllowEntry, i as resolveIrcGroupMatch, l as parseIrcLine, m as isChannelTarget, o as sendMessageIrc, p as ircIngressIdentity, s as buildIrcConnectOptions, u as parseIrcPrefix, y as resolveIrcAccount } from "./channel-BKjbefxw.mjs";
2
2
  import { t as getIrcRuntime } from "./runtime-C_V9tmpk.mjs";
3
3
  import { channelIngressRoutes } from "openclaw/plugin-sdk/channel-ingress-runtime";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -0,0 +1,2 @@
1
+ export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-C5i-29Hz.mjs";
2
+ import "../secret-contract-api.js";
package/dist/api.js CHANGED
@@ -1,3 +1,3 @@
1
- import { _ as listIrcAccountIds, g as listEnabledIrcAccounts, n as ircSetupWizard, r as ircSetupAdapter, t as ircPlugin, v as resolveDefaultIrcAccountId, y as resolveIrcAccount } from "./.setup/channel-DP5YY5l3.mjs";
1
+ import { _ as listIrcAccountIds, g as listEnabledIrcAccounts, n as ircSetupWizard, r as ircSetupAdapter, t as ircPlugin, v as resolveDefaultIrcAccountId, y as resolveIrcAccount } from "./.setup/channel-BKjbefxw.mjs";
2
2
  import { r as setIrcRuntime } from "./.setup/runtime-C_V9tmpk.mjs";
3
3
  export { ircPlugin, ircSetupAdapter, ircSetupWizard, listEnabledIrcAccounts, listIrcAccountIds, resolveDefaultIrcAccountId, resolveIrcAccount, setIrcRuntime };
@@ -1,2 +1 @@
1
- import { t as IrcChannelConfigSchema } from "./.setup/config-schema-Cy9tItsu.mjs";
2
- export { IrcChannelConfigSchema };
1
+ export { t as IrcChannelConfigSchema } from "./.setup/config-schema-Cy9tItsu.mjs";
@@ -1,2 +1 @@
1
- import { t as ircPlugin } from "./.setup/channel-DP5YY5l3.mjs";
2
- export { ircPlugin };
1
+ export { t as ircPlugin } from "./.setup/channel-BKjbefxw.mjs";
@@ -1,2 +1 @@
1
- import { r as setIrcRuntime } from "./.setup/runtime-C_V9tmpk.mjs";
2
- export { setIrcRuntime };
1
+ export { r as setIrcRuntime } from "./.setup/runtime-C_V9tmpk.mjs";
@@ -1,2 +1 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./.setup/secret-contract-C5i-29Hz.mjs";
2
- export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
1
+ export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-contract-C5i-29Hz.mjs";
@@ -4,11 +4,11 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/channel-plugin-api-tjqFvfGT.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/channel-plugin-api-Dgk0WBh3.mjs", import.meta.url).href),
8
8
  exportName: "ircPlugin"
9
9
  },
10
10
  secrets: {
11
- specifier: fileURLToPath(new URL(".setup/secret-contract-api-ClqD0Rpm.mjs", import.meta.url).href),
11
+ specifier: fileURLToPath(new URL(".setup/secret-contract-api-4IT9_EK6.mjs", import.meta.url).href),
12
12
  exportName: "channelSecrets"
13
13
  }
14
14
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/irc",
3
- "version": "2026.10.2",
3
+ "version": "2026.10.4",
4
4
  "description": "OpenClaw IRC channel plugin",
5
5
  "type": "module",
6
6
  "openclaw": {
@@ -121,10 +121,10 @@
121
121
  }
122
122
  },
123
123
  "compat": {
124
- "pluginApi": ">=2026.10.2"
124
+ "pluginApi": ">=2026.10.4"
125
125
  },
126
126
  "build": {
127
- "openclawVersion": "2026.10.2",
127
+ "openclawVersion": "2026.10.4",
128
128
  "bundledDist": false
129
129
  },
130
130
  "release": {
@@ -151,7 +151,7 @@
151
151
  "assets/activity.svg"
152
152
  ],
153
153
  "peerDependencies": {
154
- "openclaw": ">=2026.10.2"
154
+ "openclaw": ">=2026.10.4"
155
155
  },
156
156
  "peerDependenciesMeta": {
157
157
  "openclaw": {
@@ -1,3 +0,0 @@
1
- import { t as ircPlugin } from "./channel-DP5YY5l3.mjs";
2
- import "../channel-plugin-api.js";
3
- export { ircPlugin };
@@ -1,3 +0,0 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-C5i-29Hz.mjs";
2
- import "../secret-contract-api.js";
3
- export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };