@openclaw/line 2026.5.26 → 2026.5.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/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-BDGonp_C.js";
1
+ import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-D1qMDyme.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,5 +1,5 @@
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
+ 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-lKcetkxO.js";
3
3
  import { n as lineSetupAdapter, r as hasLineCredentials, t as lineSetupWizard } from "./setup-surface-CvTRDCEq.js";
4
4
  import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
5
5
  import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
@@ -11,7 +11,7 @@ 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
13
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
14
- import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-message";
14
+ import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-outbound";
15
15
  import { createAttachedChannelResultAdapter, createEmptyChannelResult } from "openclaw/plugin-sdk/channel-send-result";
16
16
  import { resolveOutboundMediaUrls } from "openclaw/plugin-sdk/reply-payload";
17
17
  import { buildTokenChannelStatusSummary, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState, createDependentCredentialStatusIssueCollector } from "openclaw/plugin-sdk/status-helpers";
@@ -107,7 +107,7 @@ const lineChannelPluginCommon = {
107
107
  //#endregion
108
108
  //#region extensions/line/src/gateway.ts
109
109
  const loadLineProbeRuntime$1 = createLazyRuntimeModule(() => import("./probe.runtime-DH_jgr7u.js"));
110
- const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-Cy8wjJwH.js"));
110
+ const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-2TsH_MIx.js"));
111
111
  const lineGatewayAdapter = {
112
112
  startAccount: async (ctx) => {
113
113
  const account = ctx.account;
@@ -211,7 +211,7 @@ function resolveLineGroupRequireMention(params) {
211
211
  }
212
212
  //#endregion
213
213
  //#region extensions/line/src/outbound.ts
214
- const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-DZb_nG5K.js"));
214
+ const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-0pILv9q8.js"));
215
215
  function isLineUserTarget(target) {
216
216
  const normalized = target.trim().replace(/^line:(group|room|user):/i, "").replace(/^line:/i, "");
217
217
  return /^U/i.test(normalized);
@@ -532,7 +532,7 @@ const lineStatusAdapter = createComputedAccountStatusAdapter({
532
532
  });
533
533
  //#endregion
534
534
  //#region extensions/line/src/channel.ts
535
- const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-2Xf2lcga.js"));
535
+ const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-LiraRYV_.js"));
536
536
  const lineSecurityAdapter = createRestrictSendersChannelSecurity({
537
537
  channelKey: "line",
538
538
  resolveDmPolicy: (account) => account.config.dmPolicy,
@@ -1,2 +1,2 @@
1
- import { t as linePlugin } from "./channel-BDGonp_C.js";
1
+ import { t as linePlugin } from "./channel-D1qMDyme.js";
2
2
  export { linePlugin };
@@ -0,0 +1,4 @@
1
+ import { S as pushMessageLine } from "./markdown-to-line-C2LaUYI3.js";
2
+ import { t as monitorLineProvider } from "./monitor-D7kpkUH9.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-CXTi2vSO.js";
2
+ import { l as validateLineMediaUrl, o as createLineSendReceipt } from "./reply-payload-transform-lKcetkxO.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,21 +1,21 @@
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-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";
2
+ import { h as resolveLineGroupConfigEntry, s as buildLineQuickReplyFallbackText, u as getLineRuntime } from "./reply-payload-transform-lKcetkxO.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-C2LaUYI3.js";
4
4
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
5
5
  import { normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
6
- import { createMessageReceiveContext, hasFinalChannelTurnDispatch } from "openclaw/plugin-sdk/channel-message";
6
+ import { createMessageReceiveContext } from "openclaw/plugin-sdk/channel-outbound";
7
7
  import { resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
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";
11
11
  import { createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, waitForAbortSignal } from "openclaw/plugin-sdk/runtime-env";
12
12
  import { recordChannelActivity } from "openclaw/plugin-sdk/channel-activity-runtime";
13
+ import { buildMentionRegexes, formatInboundEnvelope, formatLocationText, hasFinalInboundReplyDispatch, matchesMentionPatterns, resolveInboundSessionEnvelopeContext, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
13
14
  import { chunkMarkdownText } from "openclaw/plugin-sdk/reply-runtime";
14
15
  import { isRequestBodyLimitError, normalizePluginHttpPath, registerWebhookTargetWithPluginRoute, requestBodyErrorToText, resolveSingleWebhookTarget } from "openclaw/plugin-sdk/webhook-ingress";
15
16
  import { beginWebhookRequestPipelineOrReject, createWebhookInFlightLimiter, isRequestBodyLimitError as isRequestBodyLimitError$1, readRequestBodyWithLimit, requestBodyErrorToText as requestBodyErrorToText$1 } from "openclaw/plugin-sdk/webhook-request-guards";
16
17
  import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
17
18
  import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
18
- import { buildMentionRegexes, formatInboundEnvelope, formatLocationText, matchesMentionPatterns, resolveInboundSessionEnvelopeContext, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
19
19
  import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime";
20
20
  import { shouldComputeCommandAuthorized } from "openclaw/plugin-sdk/command-auth-native";
21
21
  import { ensureConfiguredBindingRouteReady, readChannelAllowFromStore, resolveConfiguredBindingRoute, resolvePairingIdLabel, resolvePinnedMainDmOwnerFromAllowlist, resolveRuntimeConversationBindingRoute, upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime";
@@ -1248,7 +1248,7 @@ async function monitorLineProvider(opts) {
1248
1248
  const textLimit = 5e3;
1249
1249
  let replyTokenUsed = false;
1250
1250
  const core = getLineRuntime();
1251
- const turnResult = await core.channel.turn.run({
1251
+ const turnResult = await core.channel.inbound.run({
1252
1252
  channel: "line",
1253
1253
  accountId: route.accountId,
1254
1254
  raw: ctx,
@@ -1325,7 +1325,7 @@ async function monitorLineProvider(opts) {
1325
1325
  })
1326
1326
  }
1327
1327
  });
1328
- if (!hasFinalChannelTurnDispatch(turnResult.dispatched ? turnResult.dispatchResult : void 0)) logVerbose(`line: no response generated for message from ${ctxPayload.From}`);
1328
+ if (!hasFinalInboundReplyDispatch(turnResult.dispatched ? turnResult.dispatchResult : void 0)) logVerbose(`line: no response generated for message from ${ctxPayload.From}`);
1329
1329
  } catch (err) {
1330
1330
  runtime.error?.(danger(`line: auto-reply failed: ${String(err)}`));
1331
1331
  if (replyToken) try {
@@ -0,0 +1,2 @@
1
+ import { t as monitorLineProvider } from "./monitor-D7kpkUH9.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-BCm99YNS.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-C2LaUYI3.js";
2
2
  export { buildTemplateMessageFromPayload, createQuickReplyItems, processLineMessage, pushFlexMessage, pushLocationMessage, pushMessageLine, pushMessagesLine, pushTemplateMessage, pushTextMessageWithQuickReplies, sendMessageLine };
@@ -6,7 +6,7 @@ import { buildChannelConfigSchema, requireOpenAllowFrom } from "openclaw/plugin-
6
6
  import { requireChannelOpenAllowFrom } from "openclaw/plugin-sdk/extension-shared";
7
7
  import { z } from "zod";
8
8
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
9
- import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
9
+ import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
10
10
  import { resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
11
11
  //#region extensions/line/src/group-keys.ts
12
12
  function resolveLineGroupLookupIds(groupId) {
@@ -1,13 +1,13 @@
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-CXTi2vSO.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-lKcetkxO.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-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";
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-C2LaUYI3.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-D7kpkUH9.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";
10
- import { createMessageReceiveContext } from "openclaw/plugin-sdk/channel-message";
10
+ import { createMessageReceiveContext } from "openclaw/plugin-sdk/channel-outbound";
11
11
  import { DEFAULT_ACCOUNT_ID, formatDocsLink, setSetupChannelEnabled, splitSetupEntries } from "openclaw/plugin-sdk/setup";
12
12
  import { buildComputedAccountStatusSnapshot, buildTokenChannelStatusSummary } from "openclaw/plugin-sdk/status-helpers";
13
13
  import { messagingApi } from "@line/bot-sdk";
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@openclaw/line",
3
- "version": "2026.5.26",
3
+ "version": "2026.5.27",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/line",
9
- "version": "2026.5.26",
9
+ "version": "2026.5.27",
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.26"
15
+ "openclaw": ">=2026.5.27"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "id": "line",
3
+ "name": "LINE",
4
+ "description": "OpenClaw LINE channel plugin for LINE Bot API chats.",
3
5
  "activation": {
4
6
  "onStartup": false
5
7
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openclaw/line",
3
- "version": "2026.5.26",
4
- "description": "OpenClaw LINE channel plugin",
3
+ "version": "2026.5.27",
4
+ "description": "OpenClaw LINE channel plugin for LINE Bot API chats.",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/openclaw/openclaw"
@@ -12,7 +12,7 @@
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.5.26"
15
+ "openclaw": ">=2026.5.27"
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.26"
45
+ "pluginApi": ">=2026.5.27"
46
46
  },
47
47
  "build": {
48
- "openclawVersion": "2026.5.26"
48
+ "openclawVersion": "2026.5.27"
49
49
  },
50
50
  "release": {
51
51
  "publishToClawHub": true,
@@ -1,4 +0,0 @@
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,2 +0,0 @@
1
- import { t as monitorLineProvider } from "./monitor-amHKT9-7.js";
2
- export { monitorLineProvider };