@openclaw/line 2026.5.24-beta.2 → 2026.5.25-beta.1

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/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-DGNJL2ta.js";
1
+ import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-BDGonp_C.js";
2
2
  import { n as lineSetupAdapter, t as lineSetupWizard } from "./setup-surface-CvTRDCEq.js";
3
3
  //#region extensions/line/src/channel.setup.ts
4
4
  const lineSetupPlugin = {
@@ -1,6 +1,6 @@
1
1
  import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-B-K3yrdP.js";
2
+ import { c as resolveLineOutboundMedia, f as LineChannelConfigSchema, m as resolveExactLineGroupConfigKey, n as parseLineDirectives, o as createLineSendReceipt, s as buildLineQuickReplyFallbackText, t as hasLineDirectives, u as getLineRuntime } from "./reply-payload-transform-CXTi2vSO.js";
2
3
  import { n as lineSetupAdapter, r as hasLineCredentials, t as lineSetupWizard } from "./setup-surface-CvTRDCEq.js";
3
- import { c as resolveLineOutboundMedia, f as LineChannelConfigSchema, m as resolveExactLineGroupConfigKey, n as parseLineDirectives, o as createLineSendReceipt, s as buildLineQuickReplyFallbackText, t as hasLineDirectives, u as getLineRuntime } from "./reply-payload-transform-BSXjtumG.js";
4
4
  import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
5
5
  import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
6
6
  import { createRestrictSendersChannelSecurity, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
@@ -10,6 +10,7 @@ import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/
10
10
  import { clearAccountEntryFields } from "openclaw/plugin-sdk/core";
11
11
  import { describeWebhookAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
12
12
  import { createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
13
+ import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
13
14
  import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-message";
14
15
  import { createAttachedChannelResultAdapter, createEmptyChannelResult } from "openclaw/plugin-sdk/channel-send-result";
15
16
  import { resolveOutboundMediaUrls } from "openclaw/plugin-sdk/reply-payload";
@@ -93,7 +94,7 @@ const lineChannelPluginCommon = {
93
94
  "secretFile"
94
95
  ],
95
96
  resolveAllowFrom: (account) => account.config.allowFrom,
96
- formatAllowFrom: (allowFrom) => allowFrom.map((entry) => String(entry).trim()).filter(Boolean).map(normalizeLineAllowFrom)
97
+ formatAllowFrom: (allowFrom) => normalizeStringEntries(allowFrom).map(normalizeLineAllowFrom)
97
98
  }),
98
99
  isConfigured: (account) => hasLineCredentials(account),
99
100
  describeAccount: (account) => describeWebhookAccountSnapshot({
@@ -106,7 +107,7 @@ const lineChannelPluginCommon = {
106
107
  //#endregion
107
108
  //#region extensions/line/src/gateway.ts
108
109
  const loadLineProbeRuntime$1 = createLazyRuntimeModule(() => import("./probe.runtime-DH_jgr7u.js"));
109
- const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-B4xgZjLs.js"));
110
+ const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-Cy8wjJwH.js"));
110
111
  const lineGatewayAdapter = {
111
112
  startAccount: async (ctx) => {
112
113
  const account = ctx.account;
@@ -210,7 +211,7 @@ function resolveLineGroupRequireMention(params) {
210
211
  }
211
212
  //#endregion
212
213
  //#region extensions/line/src/outbound.ts
213
- const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-BHit-1TF.js"));
214
+ const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-DZb_nG5K.js"));
214
215
  function isLineUserTarget(target) {
215
216
  const normalized = target.trim().replace(/^line:(group|room|user):/i, "").replace(/^line:/i, "");
216
217
  return /^U/i.test(normalized);
@@ -531,7 +532,7 @@ const lineStatusAdapter = createComputedAccountStatusAdapter({
531
532
  });
532
533
  //#endregion
533
534
  //#region extensions/line/src/channel.ts
534
- const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-Dcxx_EVB.js"));
535
+ const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-2Xf2lcga.js"));
535
536
  const lineSecurityAdapter = createRestrictSendersChannelSecurity({
536
537
  channelKey: "line",
537
538
  resolveDmPolicy: (account) => account.config.dmPolicy,
@@ -1,2 +1,2 @@
1
- import { t as linePlugin } from "./channel-DGNJL2ta.js";
1
+ import { t as linePlugin } from "./channel-BDGonp_C.js";
2
2
  export { linePlugin };
@@ -0,0 +1,4 @@
1
+ import { S as pushMessageLine } from "./markdown-to-line-BCm99YNS.js";
2
+ import { t as monitorLineProvider } from "./monitor-amHKT9-7.js";
3
+ import { t as probeLineBot } from "./probe-CqTNoMdZ.js";
4
+ export { monitorLineProvider, probeLineBot, pushMessageLine };
@@ -1,5 +1,5 @@
1
1
  import { i as resolveLineAccount } from "./accounts-B-K3yrdP.js";
2
- import { l as validateLineMediaUrl, o as createLineSendReceipt } from "./reply-payload-transform-BSXjtumG.js";
2
+ import { l as validateLineMediaUrl, o as createLineSendReceipt } from "./reply-payload-transform-CXTi2vSO.js";
3
3
  import { r as createReceiptCard } from "./schedule-cards-Bq74H30B.js";
4
4
  import { messagingApi } from "@line/bot-sdk";
5
5
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
@@ -1,10 +1,10 @@
1
1
  import { i as resolveLineAccount, r as resolveDefaultLineAccountId } from "./accounts-B-K3yrdP.js";
2
- import { h as resolveLineGroupConfigEntry, s as buildLineQuickReplyFallbackText, u as getLineRuntime } from "./reply-payload-transform-BSXjtumG.js";
3
- import { A as buildTemplateMessageFromPayload, C as pushMessagesLine, E as replyMessageLine, O as showLoadingAnimation, S as pushMessageLine, T as pushTextMessageWithQuickReplies, _ as getUserDisplayName, c as processLineMessage, d as createFlexMessage, f as createImageMessage, h as createTextMessageWithQuickReplies, m as createQuickReplyItems, p as createLocationMessage } from "./markdown-to-line-DjT9I2zg.js";
2
+ import { h as resolveLineGroupConfigEntry, s as buildLineQuickReplyFallbackText, u as getLineRuntime } from "./reply-payload-transform-CXTi2vSO.js";
3
+ import { A as buildTemplateMessageFromPayload, C as pushMessagesLine, E as replyMessageLine, O as showLoadingAnimation, S as pushMessageLine, T as pushTextMessageWithQuickReplies, _ as getUserDisplayName, c as processLineMessage, d as createFlexMessage, f as createImageMessage, h as createTextMessageWithQuickReplies, m as createQuickReplyItems, p as createLocationMessage } from "./markdown-to-line-BCm99YNS.js";
4
4
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
5
+ import { normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
5
6
  import { createMessageReceiveContext, hasFinalChannelTurnDispatch } from "openclaw/plugin-sdk/channel-message";
6
7
  import { resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
7
- import { normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { firstDefined } from "openclaw/plugin-sdk/allow-from";
9
9
  import { messagingApi } from "@line/bot-sdk";
10
10
  import { saveMediaStream } from "openclaw/plugin-sdk/media-store";
@@ -0,0 +1,2 @@
1
+ import { t as monitorLineProvider } from "./monitor-amHKT9-7.js";
2
+ export { monitorLineProvider };
@@ -1,2 +1,2 @@
1
- import { A as buildTemplateMessageFromPayload, C as pushMessagesLine, D as sendMessageLine, S as pushMessageLine, T as pushTextMessageWithQuickReplies, c as processLineMessage, m as createQuickReplyItems, w as pushTemplateMessage, x as pushLocationMessage, y as pushFlexMessage } from "./markdown-to-line-DjT9I2zg.js";
1
+ import { A as buildTemplateMessageFromPayload, C as pushMessagesLine, D as sendMessageLine, S as pushMessageLine, T as pushTextMessageWithQuickReplies, c as processLineMessage, m as createQuickReplyItems, w as pushTemplateMessage, x as pushLocationMessage, y as pushFlexMessage } from "./markdown-to-line-BCm99YNS.js";
2
2
  export { buildTemplateMessageFromPayload, createQuickReplyItems, processLineMessage, pushFlexMessage, pushLocationMessage, pushMessageLine, pushMessagesLine, pushTemplateMessage, pushTextMessageWithQuickReplies, sendMessageLine };
@@ -1,13 +1,13 @@
1
1
  import { n as createEventCard, t as createAgendaCard } from "./schedule-cards-Bq74H30B.js";
2
2
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
3
3
  import { resolveAccountEntry } from "openclaw/plugin-sdk/account-resolution";
4
+ import { normalizeLowercaseStringOrEmpty, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
4
5
  import { buildChannelConfigSchema, requireOpenAllowFrom } from "openclaw/plugin-sdk/channel-config-schema";
5
6
  import { requireChannelOpenAllowFrom } from "openclaw/plugin-sdk/extension-shared";
6
7
  import { z } from "zod";
7
8
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
8
9
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
9
10
  import { resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
10
- import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  //#region extensions/line/src/group-keys.ts
12
12
  function resolveLineGroupLookupIds(groupId) {
13
13
  const normalized = groupId?.trim();
@@ -174,7 +174,7 @@ async function resolveLineOutboundMedia(mediaUrl, opts = {}) {
174
174
  //#endregion
175
175
  //#region extensions/line/src/quick-reply-fallback.ts
176
176
  function buildLineQuickReplyFallbackText(labels) {
177
- const normalized = (labels ?? []).map((label) => label.trim()).filter(Boolean).slice(0, 13);
177
+ const normalized = normalizeStringEntries(labels ?? []).slice(0, 13);
178
178
  if (normalized.length === 0) return "Choose an option.";
179
179
  return `Options:\n${normalized.map((label) => `- ${label}`).join("\n")}`;
180
180
  }
@@ -623,7 +623,7 @@ function parseLineDirectives(payload) {
623
623
  };
624
624
  const quickRepliesMatch = text.match(/\[\[quick_replies:\s*([^\]]+)\]\]/i);
625
625
  if (quickRepliesMatch) {
626
- const options = quickRepliesMatch[1].split(",").map((s) => s.trim()).filter(Boolean);
626
+ const options = normalizeStringEntries(quickRepliesMatch[1].split(","));
627
627
  if (options.length > 0) lineData.quickReplies = [...lineData.quickReplies || [], ...options];
628
628
  text = text.replace(quickRepliesMatch[0], "").trim();
629
629
  }
@@ -1,9 +1,9 @@
1
1
  import { i as resolveLineAccount, n as normalizeAccountId, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-B-K3yrdP.js";
2
- import { _ as resolveLineGroupsConfig, a as createMediaPlayerCard, d as setLineRuntime, f as LineChannelConfigSchema, g as resolveLineGroupLookupIds, h as resolveLineGroupConfigEntry, i as createDeviceControlCard, m as resolveExactLineGroupConfigKey, n as parseLineDirectives, p as LineConfigSchema, r as createAppleTvRemoteCard, t as hasLineDirectives } from "./reply-payload-transform-BSXjtumG.js";
2
+ import { _ as resolveLineGroupsConfig, a as createMediaPlayerCard, d as setLineRuntime, f as LineChannelConfigSchema, g as resolveLineGroupLookupIds, h as resolveLineGroupConfigEntry, i as createDeviceControlCard, m as resolveExactLineGroupConfigKey, n as parseLineDirectives, p as LineConfigSchema, r as createAppleTvRemoteCard, t as hasLineDirectives } from "./reply-payload-transform-CXTi2vSO.js";
3
3
  import { n as createEventCard, r as createReceiptCard, t as createAgendaCard } from "./schedule-cards-Bq74H30B.js";
4
4
  import { a as createListCard, i as createInfoCard, n as createCarousel, o as createNotificationBubble, r as createImageCard, t as createActionCard } from "./basic-cards-78n5m6gw.js";
5
- import { A as buildTemplateMessageFromPayload, B as createYesNoConfirm, C as pushMessagesLine, D as sendMessageLine, E as replyMessageLine, F as createImageCarousel, G as toFlexMessage, H as messageAction, I as createImageCarouselColumn, L as createLinkMenu, M as createButtonTemplate, N as createCarouselColumn, O as showLoadingAnimation, P as createConfirmTemplate, R as createProductCarousel, S as pushMessageLine, T as pushTextMessageWithQuickReplies, U as postbackAction, V as datetimePickerAction, W as uriAction, _ as getUserDisplayName, a as extractLinks, b as pushImageMessage, c as processLineMessage, d as createFlexMessage, f as createImageMessage, g as createVideoMessage, h as createTextMessageWithQuickReplies, i as extractCodeBlocks, j as createButtonMenu, k as resolveLineChannelAccessToken, l as stripMarkdown, m as createQuickReplyItems, n as convertLinksToFlexBubble, o as extractMarkdownTables, p as createLocationMessage, r as convertTableToFlexBubble, s as hasMarkdownToConvert, t as convertCodeBlockToFlexBubble, u as createAudioMessage, v as getUserProfile, w as pushTemplateMessage, x as pushLocationMessage, y as pushFlexMessage, z as createTemplateCarousel } from "./markdown-to-line-DjT9I2zg.js";
6
- import { a as validateLineSignature, c as normalizeAllowFrom, i as parseLineWebhookBody, n as createLineNodeWebhookHandler, o as downloadLineMedia, r as readLineWebhookRequestBody, s as firstDefined, t as monitorLineProvider } from "./monitor-CUaA4oCi.js";
5
+ import { A as buildTemplateMessageFromPayload, B as createYesNoConfirm, C as pushMessagesLine, D as sendMessageLine, E as replyMessageLine, F as createImageCarousel, G as toFlexMessage, H as messageAction, I as createImageCarouselColumn, L as createLinkMenu, M as createButtonTemplate, N as createCarouselColumn, O as showLoadingAnimation, P as createConfirmTemplate, R as createProductCarousel, S as pushMessageLine, T as pushTextMessageWithQuickReplies, U as postbackAction, V as datetimePickerAction, W as uriAction, _ as getUserDisplayName, a as extractLinks, b as pushImageMessage, c as processLineMessage, d as createFlexMessage, f as createImageMessage, g as createVideoMessage, h as createTextMessageWithQuickReplies, i as extractCodeBlocks, j as createButtonMenu, k as resolveLineChannelAccessToken, l as stripMarkdown, m as createQuickReplyItems, n as convertLinksToFlexBubble, o as extractMarkdownTables, p as createLocationMessage, r as convertTableToFlexBubble, s as hasMarkdownToConvert, t as convertCodeBlockToFlexBubble, u as createAudioMessage, v as getUserProfile, w as pushTemplateMessage, x as pushLocationMessage, y as pushFlexMessage, z as createTemplateCarousel } from "./markdown-to-line-BCm99YNS.js";
6
+ import { a as validateLineSignature, c as normalizeAllowFrom, i as parseLineWebhookBody, n as createLineNodeWebhookHandler, o as downloadLineMedia, r as readLineWebhookRequestBody, s as firstDefined, t as monitorLineProvider } from "./monitor-amHKT9-7.js";
7
7
  import { t as probeLineBot } from "./probe-CqTNoMdZ.js";
8
8
  import { clearAccountEntryFields } from "openclaw/plugin-sdk/core";
9
9
  import { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@openclaw/line",
3
- "version": "2026.5.24-beta.2",
3
+ "version": "2026.5.25-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/line",
9
- "version": "2026.5.24-beta.2",
9
+ "version": "2026.5.25-beta.1",
10
10
  "dependencies": {
11
11
  "@line/bot-sdk": "11.0.0",
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.5.24-beta.2"
15
+ "openclaw": ">=2026.5.25-beta.1"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/line",
3
- "version": "2026.5.24-beta.2",
3
+ "version": "2026.5.25-beta.1",
4
4
  "description": "OpenClaw LINE channel plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.5.24-beta.2"
15
+ "openclaw": ">=2026.5.25-beta.1"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -42,10 +42,10 @@
42
42
  "minHostVersion": ">=2026.4.10"
43
43
  },
44
44
  "compat": {
45
- "pluginApi": ">=2026.5.24-beta.2"
45
+ "pluginApi": ">=2026.5.25-beta.1"
46
46
  },
47
47
  "build": {
48
- "openclawVersion": "2026.5.24-beta.2"
48
+ "openclawVersion": "2026.5.25-beta.1"
49
49
  },
50
50
  "release": {
51
51
  "publishToClawHub": true,
@@ -1,4 +0,0 @@
1
- import { S as pushMessageLine } from "./markdown-to-line-DjT9I2zg.js";
2
- import { t as monitorLineProvider } from "./monitor-CUaA4oCi.js";
3
- import { t as probeLineBot } from "./probe-CqTNoMdZ.js";
4
- export { monitorLineProvider, probeLineBot, pushMessageLine };
@@ -1,2 +0,0 @@
1
- import { t as monitorLineProvider } from "./monitor-CUaA4oCi.js";
2
- export { monitorLineProvider };