@openclaw/line 2026.7.2-beta.4 → 2026.7.2-beta.7

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.
Files changed (149) hide show
  1. package/README.md +1 -1
  2. package/dist/accounts-BqEVsDoB.js +103 -0
  3. package/dist/api.js +2 -2
  4. package/dist/{card-command-Ch0TwcDW.js → card-command-ty11OJNt.js} +1 -2
  5. package/dist/{channel-CNcv74n2.js → channel-D4i_K4fQ.js} +9 -9
  6. package/dist/channel-plugin-api.js +1 -1
  7. package/dist/channel.runtime-BdhK8Xw7.js +4 -0
  8. package/dist/contract-api.js +1 -1
  9. package/dist/flex-templates-iKJsyCq-.js +1339 -0
  10. package/dist/index.js +1 -1
  11. package/dist/{markdown-to-line-DWIdzBfy.js → markdown-to-line-DMDQTMhx.js} +27 -12
  12. package/dist/{monitor-BinAXvIY.js → monitor-DXEodYFJ.js} +63 -106
  13. package/dist/monitor.runtime-CZquR7jI.js +2 -0
  14. package/dist/{outbound.runtime-DRyoVa81.js → outbound.runtime-BS0IhU_M.js} +1 -1
  15. package/dist/{probe-BslD77tJ.js → probe-CM03wo6r.js} +7 -9
  16. package/dist/probe.runtime-D13ZtXsd.js +2 -0
  17. package/dist/{reply-payload-transform-d57WYHFm.js → reply-payload-transform-D5-dHB8b.js} +1 -1
  18. package/dist/runtime-api.js +9 -9
  19. package/dist/setup-api.js +1 -1
  20. package/dist/{setup-surface-Bili5gWy.js → setup-surface-DRQ7n0En.js} +93 -129
  21. package/package.json +4 -5
  22. package/dist/accounts-BUBOoW5Q.js +0 -169
  23. package/dist/basic-cards-Rb-Ow7LN.js +0 -307
  24. package/dist/channel.runtime-BBCZvRa_.js +0 -4
  25. package/dist/flex-templates-KiKaVYgi.js +0 -813
  26. package/dist/monitor.runtime-DKj4FHkA.js +0 -2
  27. package/dist/probe.runtime-CRhVGqwl.js +0 -2
  28. package/npm-shrinkwrap.json +0 -60
  29. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/LICENSE +0 -0
  30. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/README.md +0 -0
  31. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/assert/strict.d.ts +0 -0
  32. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/assert.d.ts +0 -0
  33. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/async_hooks.d.ts +0 -0
  34. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/buffer.buffer.d.ts +0 -0
  35. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/buffer.d.ts +0 -0
  36. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/child_process.d.ts +0 -0
  37. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/cluster.d.ts +0 -0
  38. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/compatibility/iterators.d.ts +0 -0
  39. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/console.d.ts +0 -0
  40. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/constants.d.ts +0 -0
  41. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/crypto.d.ts +0 -0
  42. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/dgram.d.ts +0 -0
  43. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/diagnostics_channel.d.ts +0 -0
  44. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/dns/promises.d.ts +0 -0
  45. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/dns.d.ts +0 -0
  46. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/domain.d.ts +0 -0
  47. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/events.d.ts +0 -0
  48. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/fs/promises.d.ts +0 -0
  49. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/fs.d.ts +0 -0
  50. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/globals.d.ts +0 -0
  51. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/globals.typedarray.d.ts +0 -0
  52. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/http.d.ts +0 -0
  53. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/http2.d.ts +0 -0
  54. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/https.d.ts +0 -0
  55. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/index.d.ts +0 -0
  56. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/inspector.d.ts +0 -0
  57. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/inspector.generated.d.ts +0 -0
  58. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/module.d.ts +0 -0
  59. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/net.d.ts +0 -0
  60. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/os.d.ts +0 -0
  61. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/package.json +0 -0
  62. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/path.d.ts +0 -0
  63. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/perf_hooks.d.ts +0 -0
  64. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/process.d.ts +0 -0
  65. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/punycode.d.ts +0 -0
  66. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/querystring.d.ts +0 -0
  67. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/readline/promises.d.ts +0 -0
  68. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/readline.d.ts +0 -0
  69. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/repl.d.ts +0 -0
  70. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/sea.d.ts +0 -0
  71. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/sqlite.d.ts +0 -0
  72. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/stream/consumers.d.ts +0 -0
  73. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/stream/promises.d.ts +0 -0
  74. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/stream/web.d.ts +0 -0
  75. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/stream.d.ts +0 -0
  76. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/string_decoder.d.ts +0 -0
  77. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/test.d.ts +0 -0
  78. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/timers/promises.d.ts +0 -0
  79. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/timers.d.ts +0 -0
  80. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/tls.d.ts +0 -0
  81. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/trace_events.d.ts +0 -0
  82. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.6/buffer.buffer.d.ts +0 -0
  83. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.6/compatibility/float16array.d.ts +0 -0
  84. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.6/globals.typedarray.d.ts +0 -0
  85. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.6/index.d.ts +0 -0
  86. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.7/compatibility/float16array.d.ts +0 -0
  87. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/ts5.7/index.d.ts +0 -0
  88. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/tty.d.ts +0 -0
  89. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/url.d.ts +0 -0
  90. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/util.d.ts +0 -0
  91. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/v8.d.ts +0 -0
  92. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/vm.d.ts +0 -0
  93. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/wasi.d.ts +0 -0
  94. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/abortcontroller.d.ts +0 -0
  95. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/crypto.d.ts +0 -0
  96. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/domexception.d.ts +0 -0
  97. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/events.d.ts +0 -0
  98. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/fetch.d.ts +0 -0
  99. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/navigator.d.ts +0 -0
  100. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/storage.d.ts +0 -0
  101. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/web-globals/streams.d.ts +0 -0
  102. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/worker_threads.d.ts +0 -0
  103. /package/node_modules/{@types → @line/bot-sdk/node_modules/@types}/node/zlib.d.ts +0 -0
  104. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/LICENSE +0 -0
  105. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/README.md +0 -0
  106. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/agent.d.ts +0 -0
  107. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/api.d.ts +0 -0
  108. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/balanced-pool.d.ts +0 -0
  109. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/cache-interceptor.d.ts +0 -0
  110. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/cache.d.ts +0 -0
  111. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/client-stats.d.ts +0 -0
  112. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/client.d.ts +0 -0
  113. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/connector.d.ts +0 -0
  114. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/content-type.d.ts +0 -0
  115. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/cookies.d.ts +0 -0
  116. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/diagnostics-channel.d.ts +0 -0
  117. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/dispatcher.d.ts +0 -0
  118. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/env-http-proxy-agent.d.ts +0 -0
  119. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/errors.d.ts +0 -0
  120. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/eventsource.d.ts +0 -0
  121. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/fetch.d.ts +0 -0
  122. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/formdata.d.ts +0 -0
  123. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/global-dispatcher.d.ts +0 -0
  124. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/global-origin.d.ts +0 -0
  125. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/h2c-client.d.ts +0 -0
  126. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/handlers.d.ts +0 -0
  127. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/header.d.ts +0 -0
  128. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/index.d.ts +0 -0
  129. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/interceptors.d.ts +0 -0
  130. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-agent.d.ts +0 -0
  131. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-call-history.d.ts +0 -0
  132. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-client.d.ts +0 -0
  133. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-errors.d.ts +0 -0
  134. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-interceptor.d.ts +0 -0
  135. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/mock-pool.d.ts +0 -0
  136. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/package.json +0 -0
  137. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/patch.d.ts +0 -0
  138. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/pool-stats.d.ts +0 -0
  139. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/pool.d.ts +0 -0
  140. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/proxy-agent.d.ts +0 -0
  141. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/readable.d.ts +0 -0
  142. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/retry-agent.d.ts +0 -0
  143. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/retry-handler.d.ts +0 -0
  144. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/round-robin-pool.d.ts +0 -0
  145. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/snapshot-agent.d.ts +0 -0
  146. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/util.d.ts +0 -0
  147. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/utility.d.ts +0 -0
  148. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/webidl.d.ts +0 -0
  149. /package/node_modules/{undici-types → @line/bot-sdk/node_modules/undici-types}/websocket.d.ts +0 -0
package/README.md CHANGED
@@ -5,7 +5,7 @@ Official OpenClaw channel plugin for LINE Bot API chats.
5
5
  Install from OpenClaw:
6
6
 
7
7
  ```bash
8
- openclaw plugin add @openclaw/line
8
+ openclaw plugins install @openclaw/line
9
9
  ```
10
10
 
11
11
  Configure LINE channel credentials in OpenClaw, then connect the bot to the chats where agents should receive and send messages.
@@ -0,0 +1,103 @@
1
+ import { createAccountListHelpers } from "openclaw/plugin-sdk/account-helpers";
2
+ import { DEFAULT_ACCOUNT_ID, normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
3
+ import { resolveAccountEntry, resolveListedDefaultAccountId } from "openclaw/plugin-sdk/account-resolution";
4
+ import { tryReadSecretFileSync } from "openclaw/plugin-sdk/secret-file-runtime";
5
+ //#region extensions/line/src/accounts.ts
6
+ const { resolveAccountConfig: resolveMergedLineAccountConfig } = createAccountListHelpers("line", { omitKeys: ["defaultAccount"] });
7
+ function resolveLineCredential(params) {
8
+ const { accountId, baseConfig, accountConfig, credentialKey, fileKey, envKey } = params;
9
+ const candidates = accountId === DEFAULT_ACCOUNT_ID ? [accountConfig, baseConfig] : [accountConfig];
10
+ for (const [index, config] of candidates.entries()) {
11
+ const credential = config?.[credentialKey]?.trim();
12
+ if (credential) return {
13
+ value: credential,
14
+ source: "config",
15
+ status: "available"
16
+ };
17
+ const file = config?.[fileKey];
18
+ if (file?.trim()) {
19
+ const result = tryReadSecretFileSync(file, "LINE credential file", { rejectSymlink: true }, { configPath: `channels.line.${index === 0 ? `accounts.${accountId}.` : ""}${fileKey}` });
20
+ return result.status === "available" ? {
21
+ value: result.value,
22
+ source: "file",
23
+ status: "available"
24
+ } : {
25
+ value: "",
26
+ source: "file",
27
+ status: "configured_unavailable",
28
+ diagnostic: result.diagnostic
29
+ };
30
+ }
31
+ }
32
+ const envCredential = accountId === DEFAULT_ACCOUNT_ID ? process.env[envKey]?.trim() : void 0;
33
+ if (envCredential) return {
34
+ value: envCredential,
35
+ source: "env",
36
+ status: "available"
37
+ };
38
+ return {
39
+ value: "",
40
+ source: "none",
41
+ status: "missing"
42
+ };
43
+ }
44
+ function resolveLineAccount(params) {
45
+ const cfg = params.cfg;
46
+ const accountId = normalizeAccountId(params.accountId ?? resolveDefaultLineAccountId(cfg));
47
+ const lineConfig = cfg.channels?.line;
48
+ const accounts = lineConfig?.accounts;
49
+ const accountConfig = resolveAccountEntry(accounts, accountId);
50
+ const token = resolveLineCredential({
51
+ accountId,
52
+ baseConfig: lineConfig,
53
+ accountConfig,
54
+ credentialKey: "channelAccessToken",
55
+ fileKey: "tokenFile",
56
+ envKey: "LINE_CHANNEL_ACCESS_TOKEN"
57
+ });
58
+ const secret = resolveLineCredential({
59
+ accountId,
60
+ baseConfig: lineConfig,
61
+ accountConfig,
62
+ credentialKey: "channelSecret",
63
+ fileKey: "secretFile",
64
+ envKey: "LINE_CHANNEL_SECRET"
65
+ });
66
+ const mergedConfig = resolveMergedLineAccountConfig(cfg, accountId);
67
+ const baseEnabled = lineConfig?.enabled !== false;
68
+ const accountEnabled = accountConfig?.enabled !== false;
69
+ const enabled = baseEnabled && accountEnabled;
70
+ return {
71
+ accountId,
72
+ name: accountConfig?.name ?? (accountId === DEFAULT_ACCOUNT_ID ? lineConfig?.name : void 0),
73
+ enabled,
74
+ channelAccessToken: token.value,
75
+ channelSecret: secret.value,
76
+ tokenSource: token.source,
77
+ signingSecretSource: secret.source,
78
+ tokenStatus: token.status,
79
+ signingSecretStatus: secret.status,
80
+ ...[token.diagnostic, secret.diagnostic].some(Boolean) ? { credentialDiagnostics: [token.diagnostic, secret.diagnostic].filter((diagnostic) => Boolean(diagnostic)) } : {},
81
+ config: mergedConfig
82
+ };
83
+ }
84
+ function listLineAccountIds(cfg) {
85
+ const lineConfig = cfg.channels?.line;
86
+ const accounts = lineConfig?.accounts;
87
+ const ids = /* @__PURE__ */ new Set();
88
+ if (lineConfig?.channelAccessToken?.trim() || lineConfig?.tokenFile || process.env.LINE_CHANNEL_ACCESS_TOKEN?.trim()) ids.add(DEFAULT_ACCOUNT_ID);
89
+ if (accounts) for (const id of Object.keys(accounts)) ids.add(id);
90
+ return Array.from(ids);
91
+ }
92
+ function resolveDefaultLineAccountId(cfg) {
93
+ return resolveListedDefaultAccountId({
94
+ accountIds: listLineAccountIds(cfg),
95
+ configuredDefaultAccountId: normalizeOptionalAccountId((cfg.channels?.line)?.defaultAccount),
96
+ normalizeListedAccountId: normalizeAccountId
97
+ });
98
+ }
99
+ function normalizeAccountId$1(accountId) {
100
+ return normalizeAccountId(accountId);
101
+ }
102
+ //#endregion
103
+ export { resolveLineAccount as i, normalizeAccountId$1 as n, resolveDefaultLineAccountId as r, listLineAccountIds as t };
package/dist/api.js CHANGED
@@ -1,5 +1,5 @@
1
- import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-CNcv74n2.js";
2
- import { n as lineSetupAdapter, r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-Bili5gWy.js";
1
+ import { n as lineChannelPluginCommon, t as linePlugin } from "./channel-D4i_K4fQ.js";
2
+ import { n as lineSetupAdapter, r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-DRQ7n0En.js";
3
3
  //#region extensions/line/src/channel.setup.ts
4
4
  const lineSetupPlugin = {
5
5
  id: "line",
@@ -1,5 +1,4 @@
1
- import { a as messageAction, o as postbackAction, s as uriAction, u as createReceiptCard } from "./flex-templates-KiKaVYgi.js";
2
- import { a as createListCard, i as createInfoCard, r as createImageCard, t as createActionCard } from "./basic-cards-Rb-Ow7LN.js";
1
+ import { _ as postbackAction, d as createListCard, l as createImageCard, m as messageAction, o as createReceiptCard, s as createActionCard, u as createInfoCard, v as uriAction } from "./flex-templates-iKJsyCq-.js";
3
2
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
4
3
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
5
4
  import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
@@ -1,7 +1,7 @@
1
- import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BUBOoW5Q.js";
2
- import { i as hasLineCredentials, n as lineSetupAdapter, r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-Bili5gWy.js";
1
+ import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BqEVsDoB.js";
2
+ import { i as hasLineCredentials, n as lineSetupAdapter, r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-DRQ7n0En.js";
3
3
  import { i as resolveExactLineGroupConfigKey, n as getLineRuntime, t as buildLineQuickReplyFallbackText } from "./quick-reply-fallback-D86FwAfr.js";
4
- import { n as parseLineDirectives, r as LineChannelConfigSchema, t as hasLineDirectives } from "./reply-payload-transform-d57WYHFm.js";
4
+ import { n as parseLineDirectives, r as LineChannelConfigSchema, t as hasLineDirectives } from "./reply-payload-transform-D5-dHB8b.js";
5
5
  import { i as resolveLineOutboundMedia, n as buildLineMediaMessage, r as hasLineSpecificMediaOptions, t as createLineSendReceipt } from "./send-receipt-CY2ey8XH.js";
6
6
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
7
7
  import { buildDmGroupAccountAllowlistAdapter, createFlatAllowlistOverrideResolver } from "openclaw/plugin-sdk/allowlist-config-edit";
@@ -9,8 +9,8 @@ import { buildChannelOutboundSessionRoute, createChatChannelPlugin } from "openc
9
9
  import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
10
10
  import { buildChannelGroupsScopeTree, createRestrictSendersChannelSecurity, resolveScopeRequireMention } from "openclaw/plugin-sdk/channel-policy";
11
11
  import { createEmptyChannelDirectoryAdapter } from "openclaw/plugin-sdk/directory-runtime";
12
- import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
13
12
  import { describeWebhookAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
13
+ import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
14
14
  import { createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
15
15
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
16
16
  import { clearAccountEntryFields } from "openclaw/plugin-sdk/core";
@@ -117,8 +117,8 @@ const lineChannelPluginCommon = {
117
117
  };
118
118
  //#endregion
119
119
  //#region extensions/line/src/gateway.ts
120
- const loadLineProbeRuntime$1 = createLazyRuntimeModule(() => import("./probe.runtime-CRhVGqwl.js"));
121
- const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-DKj4FHkA.js"));
120
+ const loadLineProbeRuntime$1 = createLazyRuntimeModule(() => import("./probe.runtime-D13ZtXsd.js"));
121
+ const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-CZquR7jI.js"));
122
122
  const lineGatewayAdapter = {
123
123
  startAccount: async (ctx) => {
124
124
  const account = ctx.account;
@@ -233,7 +233,7 @@ function inferLineTargetChatType(target) {
233
233
  }
234
234
  //#endregion
235
235
  //#region extensions/line/src/outbound.ts
236
- const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-DRyoVa81.js"));
236
+ const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-BS0IhU_M.js"));
237
237
  const LINE_FLEX_ALT_TEXT_LIMIT = 1500;
238
238
  const lineOutboundAdapter = {
239
239
  deliveryMode: "direct",
@@ -503,7 +503,7 @@ const lineMessageAdapter = defineChannelMessageAdapter({
503
503
  });
504
504
  //#endregion
505
505
  //#region extensions/line/src/status.ts
506
- const loadLineProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-CRhVGqwl.js"));
506
+ const loadLineProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-D13ZtXsd.js"));
507
507
  const collectLineStatusIssues = createDependentCredentialStatusIssueCollector({
508
508
  channel: "line",
509
509
  dependencySourceKey: "tokenSource",
@@ -531,7 +531,7 @@ const lineStatusAdapter = createComputedAccountStatusAdapter({
531
531
  });
532
532
  //#endregion
533
533
  //#region extensions/line/src/channel.ts
534
- const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BBCZvRa_.js"));
534
+ const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BdhK8Xw7.js"));
535
535
  const lineSecurityAdapter = createRestrictSendersChannelSecurity({
536
536
  channelKey: "line",
537
537
  resolveDmPolicy: (account) => account.config.dmPolicy,
@@ -1,2 +1,2 @@
1
- import { t as linePlugin } from "./channel-CNcv74n2.js";
1
+ import { t as linePlugin } from "./channel-D4i_K4fQ.js";
2
2
  export { linePlugin };
@@ -0,0 +1,4 @@
1
+ import { v as pushMessageLine } from "./markdown-to-line-DMDQTMhx.js";
2
+ import { t as monitorLineProvider } from "./monitor-DXEodYFJ.js";
3
+ import { t as probeLineBot } from "./probe-CM03wo6r.js";
4
+ export { monitorLineProvider, probeLineBot, pushMessageLine };
@@ -1,2 +1,2 @@
1
- import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BUBOoW5Q.js";
1
+ import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BqEVsDoB.js";
2
2
  export { listLineAccountIds, resolveDefaultLineAccountId, resolveLineAccount };