@openclaw/line 2026.7.2-beta.7 → 2026.7.34
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 +1 -1
- package/dist/.setup/accounts-DJVOv1JI.mjs +107 -0
- package/dist/.setup/api-D3h9w6oz.mjs +3 -0
- package/dist/.setup/api-DdlGHKoX.mjs +11 -0
- package/dist/.setup/basic-cards-C8Qwh2X1.mjs +307 -0
- package/dist/{card-command-ty11OJNt.js → .setup/card-command-CWrkUiGY.mjs} +51 -23
- package/dist/{channel-D4i_K4fQ.js → .setup/channel-Du0PrvOH.mjs} +76 -66
- package/dist/.setup/channel.runtime-b3suPB-W.mjs +4 -0
- package/dist/.setup/flex-templates-BP6VHjzK.mjs +814 -0
- package/dist/{markdown-to-line-DMDQTMhx.js → .setup/markdown-to-line-o89GT1Qn.mjs} +252 -254
- package/dist/{monitor-DXEodYFJ.js → .setup/monitor-DpxjN6Ks.mjs} +491 -658
- package/dist/.setup/monitor.runtime-BS-cGD5Q.mjs +2 -0
- package/dist/.setup/outbound.runtime-BeNDuEIF.mjs +2 -0
- package/dist/{probe-CM03wo6r.js → .setup/probe-BslD77tJ.mjs} +9 -7
- package/dist/.setup/probe.runtime-YwWmWIlk.mjs +2 -0
- package/dist/{reply-payload-transform-D5-dHB8b.js → .setup/reply-payload-transform-CYQIy_x8.mjs} +204 -80
- package/dist/{setup-surface-DRQ7n0En.js → .setup/setup-surface-M1ivmZ-G.mjs} +143 -158
- package/dist/api.js +2 -11
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +56 -15
- package/dist/setup-api.js +1 -1
- package/dist/setup-entry.js +2 -1
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/model/audienceGroupCreateRoute.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/model/audienceGroupFailedType.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/model/audienceGroupJobFailedType.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/model/audienceGroupJobStatus.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/model/audienceGroupStatus.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexBoxBorderWidth.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexBoxCornerRadius.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexBubble.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexIconSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexSpanSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/flexTextFontSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/numberOfMessagesResponse.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/postbackAction.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/model/subscriptionPeriodDemographic.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/version.d.ts +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/event.d.ts +1 -2
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/event.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/models.d.ts +0 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/models.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/models.js +0 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/models.js.map +1 -1
- package/node_modules/@line/bot-sdk/dist/manage-audience/model/audienceGroupCreateRoute.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/manage-audience/model/audienceGroupFailedType.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/manage-audience/model/audienceGroupJobFailedType.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/manage-audience/model/audienceGroupJobStatus.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/manage-audience/model/audienceGroupStatus.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexBoxBorderWidth.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexBoxCornerRadius.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexBubble.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexIconSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexSpanSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/flexTextFontSize.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/numberOfMessagesResponse.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/postbackAction.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/messaging-api/model/subscriptionPeriodDemographic.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/version.d.ts +1 -1
- package/node_modules/@line/bot-sdk/dist/version.js +1 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/event.d.ts +1 -2
- package/node_modules/@line/bot-sdk/dist/webhook/model/event.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/models.d.ts +0 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/models.d.ts.map +1 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/models.js +0 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/models.js.map +1 -1
- package/node_modules/@line/bot-sdk/lib/insight/model/getNumberOfFollowersResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/liff/model/liffScope.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/manage-audience/model/audienceGroupCreateRoute.ts +4 -1
- package/node_modules/@line/bot-sdk/lib/manage-audience/model/audienceGroupFailedType.ts +2 -1
- package/node_modules/@line/bot-sdk/lib/manage-audience/model/audienceGroupJobFailedType.ts +2 -1
- package/node_modules/@line/bot-sdk/lib/manage-audience/model/audienceGroupJobStatus.ts +4 -1
- package/node_modules/@line/bot-sdk/lib/manage-audience/model/audienceGroupStatus.ts +6 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/botInfoResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexBoxBorderWidth.ts +6 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexBoxCornerRadius.ts +7 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexBubble.ts +7 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexIconSize.ts +10 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexSpanSize.ts +10 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/flexTextFontSize.ts +10 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/getAggregationUnitNameListResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/getFollowersResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/getJoinedMembershipUsersResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/issueLinkTokenResponse.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/numberOfMessagesResponse.ts +5 -2
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/postbackAction.ts +4 -1
- package/node_modules/@line/bot-sdk/lib/messaging-api/model/subscriptionPeriodDemographic.ts +5 -1
- package/node_modules/@line/bot-sdk/lib/version.ts +1 -1
- package/node_modules/@line/bot-sdk/lib/webhook/.openapi-generator/FILES +0 -1
- package/node_modules/@line/bot-sdk/lib/webhook/model/event.ts +0 -2
- package/node_modules/@line/bot-sdk/lib/webhook/model/models.ts +0 -1
- package/node_modules/@line/bot-sdk/lib/webhook/model/stickerMessageContent.ts +1 -1
- package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +1 -1
- package/node_modules/@line/bot-sdk/node_modules/@types/node/fs/promises.d.ts +5 -16
- package/node_modules/@line/bot-sdk/node_modules/@types/node/package.json +3 -3
- package/node_modules/@line/bot-sdk/package.json +3 -3
- package/openclaw.plugin.json +75 -57
- package/package.json +6 -71
- package/dist/accounts-BqEVsDoB.js +0 -103
- package/dist/channel.runtime-BdhK8Xw7.js +0 -4
- package/dist/flex-templates-iKJsyCq-.js +0 -1339
- package/dist/monitor.runtime-CZquR7jI.js +0 -2
- package/dist/outbound.runtime-BS0IhU_M.js +0 -2
- package/dist/probe.runtime-D13ZtXsd.js +0 -2
- package/dist/quick-reply-fallback-D86FwAfr.js +0 -56
- package/dist/send-receipt-CY2ey8XH.js +0 -107
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/messageEditedEvent.d.ts +0 -24
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/messageEditedEvent.d.ts.map +0 -1
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/messageEditedEvent.js +0 -14
- package/node_modules/@line/bot-sdk/dist/cjs/webhook/model/messageEditedEvent.js.map +0 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/messageEditedEvent.d.ts +0 -24
- package/node_modules/@line/bot-sdk/dist/webhook/model/messageEditedEvent.d.ts.map +0 -1
- package/node_modules/@line/bot-sdk/dist/webhook/model/messageEditedEvent.js +0 -13
- package/node_modules/@line/bot-sdk/dist/webhook/model/messageEditedEvent.js.map +0 -1
- package/node_modules/@line/bot-sdk/lib/webhook/model/messageEditedEvent.ts +0 -32
|
@@ -112,11 +112,7 @@ declare module "fs/promises" {
|
|
|
112
112
|
* @return Fulfills with `undefined` upon success.
|
|
113
113
|
*/
|
|
114
114
|
appendFile(
|
|
115
|
-
data:
|
|
116
|
-
| string
|
|
117
|
-
| NodeJS.ArrayBufferView
|
|
118
|
-
| Iterable<string | NodeJS.ArrayBufferView>
|
|
119
|
-
| AsyncIterable<string | NodeJS.ArrayBufferView>,
|
|
115
|
+
data: string | Uint8Array,
|
|
120
116
|
options?:
|
|
121
117
|
| (ObjectEncodingOptions & Abortable)
|
|
122
118
|
| BufferEncoding
|
|
@@ -398,11 +394,7 @@ declare module "fs/promises" {
|
|
|
398
394
|
* @since v10.0.0
|
|
399
395
|
*/
|
|
400
396
|
writeFile(
|
|
401
|
-
data:
|
|
402
|
-
| string
|
|
403
|
-
| NodeJS.ArrayBufferView
|
|
404
|
-
| Iterable<string | NodeJS.ArrayBufferView>
|
|
405
|
-
| AsyncIterable<string | NodeJS.ArrayBufferView>,
|
|
397
|
+
data: string | Uint8Array,
|
|
406
398
|
options?:
|
|
407
399
|
| (ObjectEncodingOptions & Abortable)
|
|
408
400
|
| BufferEncoding
|
|
@@ -1078,7 +1070,8 @@ declare module "fs/promises" {
|
|
|
1078
1070
|
| string
|
|
1079
1071
|
| NodeJS.ArrayBufferView
|
|
1080
1072
|
| Iterable<string | NodeJS.ArrayBufferView>
|
|
1081
|
-
| AsyncIterable<string | NodeJS.ArrayBufferView
|
|
1073
|
+
| AsyncIterable<string | NodeJS.ArrayBufferView>
|
|
1074
|
+
| Stream,
|
|
1082
1075
|
options?:
|
|
1083
1076
|
| (ObjectEncodingOptions & {
|
|
1084
1077
|
mode?: Mode | undefined;
|
|
@@ -1109,11 +1102,7 @@ declare module "fs/promises" {
|
|
|
1109
1102
|
*/
|
|
1110
1103
|
function appendFile(
|
|
1111
1104
|
path: PathLike | FileHandle,
|
|
1112
|
-
data:
|
|
1113
|
-
| string
|
|
1114
|
-
| NodeJS.ArrayBufferView
|
|
1115
|
-
| Iterable<string | NodeJS.ArrayBufferView>
|
|
1116
|
-
| AsyncIterable<string | NodeJS.ArrayBufferView>,
|
|
1105
|
+
data: string | Uint8Array,
|
|
1117
1106
|
options?: (ObjectEncodingOptions & FlagAndOpenMode & { flush?: boolean | undefined }) | BufferEncoding | null,
|
|
1118
1107
|
): Promise<void>;
|
|
1119
1108
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "24.13.
|
|
3
|
+
"version": "24.13.2",
|
|
4
4
|
"description": "TypeScript definitions for node",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -150,6 +150,6 @@
|
|
|
150
150
|
"undici-types": "~7.18.0"
|
|
151
151
|
},
|
|
152
152
|
"peerDependencies": {},
|
|
153
|
-
"typesPublisherContentHash": "
|
|
154
|
-
"typeScriptVersion": "5.
|
|
153
|
+
"typesPublisherContentHash": "a89004d9764ce24ab2bba15ae9f27f0c75ae8c293f77ce7f8846bbe10f8e18a8",
|
|
154
|
+
"typeScriptVersion": "5.3"
|
|
155
155
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@line/bot-sdk",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.1.0",
|
|
4
4
|
"description": "Node.js SDK for LINE Messaging API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"@vitest/coverage-v8": "^4.1.0",
|
|
70
70
|
"express": "5.2.1",
|
|
71
71
|
"msw": "2.14.6",
|
|
72
|
-
"oxc-minify": "^0.
|
|
73
|
-
"prettier": "3.
|
|
72
|
+
"oxc-minify": "^0.137.0",
|
|
73
|
+
"prettier": "3.8.4",
|
|
74
74
|
"publint": "0.3.21",
|
|
75
75
|
"typedoc": "^0.28.14",
|
|
76
76
|
"typedoc-plugin-markdown": "^4.3.0",
|
package/openclaw.plugin.json
CHANGED
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
"channels": [
|
|
10
10
|
"line"
|
|
11
11
|
],
|
|
12
|
+
"channelEnvVars": {
|
|
13
|
+
"line": [
|
|
14
|
+
"LINE_CHANNEL_ACCESS_TOKEN",
|
|
15
|
+
"LINE_CHANNEL_SECRET"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
12
18
|
"configSchema": {
|
|
13
19
|
"type": "object",
|
|
14
20
|
"additionalProperties": false,
|
|
@@ -68,9 +74,9 @@
|
|
|
68
74
|
"default": "pairing",
|
|
69
75
|
"type": "string",
|
|
70
76
|
"enum": [
|
|
71
|
-
"pairing",
|
|
72
|
-
"allowlist",
|
|
73
77
|
"open",
|
|
78
|
+
"allowlist",
|
|
79
|
+
"pairing",
|
|
74
80
|
"disabled"
|
|
75
81
|
]
|
|
76
82
|
},
|
|
@@ -79,8 +85,8 @@
|
|
|
79
85
|
"type": "string",
|
|
80
86
|
"enum": [
|
|
81
87
|
"open",
|
|
82
|
-
"
|
|
83
|
-
"
|
|
88
|
+
"allowlist",
|
|
89
|
+
"disabled"
|
|
84
90
|
]
|
|
85
91
|
},
|
|
86
92
|
"responsePrefix": {
|
|
@@ -113,50 +119,16 @@
|
|
|
113
119
|
"isolated",
|
|
114
120
|
"fork"
|
|
115
121
|
]
|
|
122
|
+
},
|
|
123
|
+
"spawnSubagentSessions": {
|
|
124
|
+
"type": "boolean"
|
|
125
|
+
},
|
|
126
|
+
"spawnAcpSessions": {
|
|
127
|
+
"type": "boolean"
|
|
116
128
|
}
|
|
117
129
|
},
|
|
118
130
|
"additionalProperties": false
|
|
119
131
|
},
|
|
120
|
-
"groups": {
|
|
121
|
-
"type": "object",
|
|
122
|
-
"propertyNames": {
|
|
123
|
-
"type": "string"
|
|
124
|
-
},
|
|
125
|
-
"additionalProperties": {
|
|
126
|
-
"type": "object",
|
|
127
|
-
"properties": {
|
|
128
|
-
"requireMention": {
|
|
129
|
-
"type": "boolean"
|
|
130
|
-
},
|
|
131
|
-
"skills": {
|
|
132
|
-
"type": "array",
|
|
133
|
-
"items": {
|
|
134
|
-
"type": "string"
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
"enabled": {
|
|
138
|
-
"type": "boolean"
|
|
139
|
-
},
|
|
140
|
-
"allowFrom": {
|
|
141
|
-
"type": "array",
|
|
142
|
-
"items": {
|
|
143
|
-
"anyOf": [
|
|
144
|
-
{
|
|
145
|
-
"type": "string"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"type": "number"
|
|
149
|
-
}
|
|
150
|
-
]
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
"systemPrompt": {
|
|
154
|
-
"type": "string"
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
"additionalProperties": false
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
132
|
"accounts": {
|
|
161
133
|
"type": "object",
|
|
162
134
|
"propertyNames": {
|
|
@@ -213,9 +185,9 @@
|
|
|
213
185
|
"default": "pairing",
|
|
214
186
|
"type": "string",
|
|
215
187
|
"enum": [
|
|
216
|
-
"pairing",
|
|
217
|
-
"allowlist",
|
|
218
188
|
"open",
|
|
189
|
+
"allowlist",
|
|
190
|
+
"pairing",
|
|
219
191
|
"disabled"
|
|
220
192
|
]
|
|
221
193
|
},
|
|
@@ -224,8 +196,8 @@
|
|
|
224
196
|
"type": "string",
|
|
225
197
|
"enum": [
|
|
226
198
|
"open",
|
|
227
|
-
"
|
|
228
|
-
"
|
|
199
|
+
"allowlist",
|
|
200
|
+
"disabled"
|
|
229
201
|
]
|
|
230
202
|
},
|
|
231
203
|
"responsePrefix": {
|
|
@@ -258,6 +230,12 @@
|
|
|
258
230
|
"isolated",
|
|
259
231
|
"fork"
|
|
260
232
|
]
|
|
233
|
+
},
|
|
234
|
+
"spawnSubagentSessions": {
|
|
235
|
+
"type": "boolean"
|
|
236
|
+
},
|
|
237
|
+
"spawnAcpSessions": {
|
|
238
|
+
"type": "boolean"
|
|
261
239
|
}
|
|
262
240
|
},
|
|
263
241
|
"additionalProperties": false
|
|
@@ -270,15 +248,6 @@
|
|
|
270
248
|
"additionalProperties": {
|
|
271
249
|
"type": "object",
|
|
272
250
|
"properties": {
|
|
273
|
-
"requireMention": {
|
|
274
|
-
"type": "boolean"
|
|
275
|
-
},
|
|
276
|
-
"skills": {
|
|
277
|
-
"type": "array",
|
|
278
|
-
"items": {
|
|
279
|
-
"type": "string"
|
|
280
|
-
}
|
|
281
|
-
},
|
|
282
251
|
"enabled": {
|
|
283
252
|
"type": "boolean"
|
|
284
253
|
},
|
|
@@ -295,8 +264,17 @@
|
|
|
295
264
|
]
|
|
296
265
|
}
|
|
297
266
|
},
|
|
267
|
+
"requireMention": {
|
|
268
|
+
"type": "boolean"
|
|
269
|
+
},
|
|
298
270
|
"systemPrompt": {
|
|
299
271
|
"type": "string"
|
|
272
|
+
},
|
|
273
|
+
"skills": {
|
|
274
|
+
"type": "array",
|
|
275
|
+
"items": {
|
|
276
|
+
"type": "string"
|
|
277
|
+
}
|
|
300
278
|
}
|
|
301
279
|
},
|
|
302
280
|
"additionalProperties": false
|
|
@@ -312,6 +290,46 @@
|
|
|
312
290
|
},
|
|
313
291
|
"defaultAccount": {
|
|
314
292
|
"type": "string"
|
|
293
|
+
},
|
|
294
|
+
"groups": {
|
|
295
|
+
"type": "object",
|
|
296
|
+
"propertyNames": {
|
|
297
|
+
"type": "string"
|
|
298
|
+
},
|
|
299
|
+
"additionalProperties": {
|
|
300
|
+
"type": "object",
|
|
301
|
+
"properties": {
|
|
302
|
+
"enabled": {
|
|
303
|
+
"type": "boolean"
|
|
304
|
+
},
|
|
305
|
+
"allowFrom": {
|
|
306
|
+
"type": "array",
|
|
307
|
+
"items": {
|
|
308
|
+
"anyOf": [
|
|
309
|
+
{
|
|
310
|
+
"type": "string"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"type": "number"
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"requireMention": {
|
|
319
|
+
"type": "boolean"
|
|
320
|
+
},
|
|
321
|
+
"systemPrompt": {
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
"skills": {
|
|
325
|
+
"type": "array",
|
|
326
|
+
"items": {
|
|
327
|
+
"type": "string"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"additionalProperties": false
|
|
332
|
+
}
|
|
315
333
|
}
|
|
316
334
|
},
|
|
317
335
|
"required": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/line",
|
|
3
|
-
"version": "2026.7.
|
|
3
|
+
"version": "2026.7.34",
|
|
4
4
|
"description": "OpenClaw LINE channel plugin for LINE Bot API chats.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@line/bot-sdk": "11.
|
|
11
|
+
"@line/bot-sdk": "11.1.0",
|
|
12
12
|
"zod": "4.4.3"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.7.
|
|
15
|
+
"openclaw": ">=2026.7.34"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
|
@@ -26,14 +26,6 @@
|
|
|
26
26
|
"setupEntry": "./dist/setup-entry.js",
|
|
27
27
|
"channel": {
|
|
28
28
|
"id": "line",
|
|
29
|
-
"configuredState": {
|
|
30
|
-
"env": {
|
|
31
|
-
"anyOf": [
|
|
32
|
-
"LINE_CHANNEL_ACCESS_TOKEN",
|
|
33
|
-
"LINE_CHANNEL_SECRET"
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
29
|
"label": "LINE",
|
|
38
30
|
"selectionLabel": "LINE (Messaging API)",
|
|
39
31
|
"detailLabel": "LINE Bot",
|
|
@@ -42,64 +34,7 @@
|
|
|
42
34
|
"blurb": "LINE Messaging API webhook bot.",
|
|
43
35
|
"systemImage": "message",
|
|
44
36
|
"order": 75,
|
|
45
|
-
"quickstartAllowFrom": true
|
|
46
|
-
"setup": {
|
|
47
|
-
"fields": [
|
|
48
|
-
{
|
|
49
|
-
"key": "channelAccessToken",
|
|
50
|
-
"kind": "string",
|
|
51
|
-
"sensitive": true,
|
|
52
|
-
"cli": {
|
|
53
|
-
"flags": "--channel-access-token <token>",
|
|
54
|
-
"description": "LINE channel access token"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"key": "token",
|
|
59
|
-
"kind": "string",
|
|
60
|
-
"sensitive": true,
|
|
61
|
-
"cli": {
|
|
62
|
-
"flags": "--token <token>",
|
|
63
|
-
"description": "LINE channel access token (alias)"
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"key": "channelSecret",
|
|
68
|
-
"kind": "string",
|
|
69
|
-
"sensitive": true,
|
|
70
|
-
"cli": {
|
|
71
|
-
"flags": "--channel-secret <secret>",
|
|
72
|
-
"description": "LINE channel secret"
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"key": "tokenFile",
|
|
77
|
-
"kind": "string",
|
|
78
|
-
"sensitive": true,
|
|
79
|
-
"cli": {
|
|
80
|
-
"flags": "--token-file <path>",
|
|
81
|
-
"description": "LINE access token file"
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"key": "secretFile",
|
|
86
|
-
"kind": "string",
|
|
87
|
-
"sensitive": true,
|
|
88
|
-
"cli": {
|
|
89
|
-
"flags": "--secret-file <path>",
|
|
90
|
-
"description": "LINE channel secret file"
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"key": "useEnv",
|
|
95
|
-
"kind": "boolean",
|
|
96
|
-
"cli": {
|
|
97
|
-
"flags": "--use-env",
|
|
98
|
-
"description": "Use LINE environment credentials"
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
37
|
+
"quickstartAllowFrom": true
|
|
103
38
|
},
|
|
104
39
|
"install": {
|
|
105
40
|
"npmSpec": "@openclaw/line",
|
|
@@ -107,10 +42,10 @@
|
|
|
107
42
|
"minHostVersion": ">=2026.4.10"
|
|
108
43
|
},
|
|
109
44
|
"compat": {
|
|
110
|
-
"pluginApi": ">=2026.7.
|
|
45
|
+
"pluginApi": ">=2026.7.34"
|
|
111
46
|
},
|
|
112
47
|
"build": {
|
|
113
|
-
"openclawVersion": "2026.7.
|
|
48
|
+
"openclawVersion": "2026.7.34"
|
|
114
49
|
},
|
|
115
50
|
"release": {
|
|
116
51
|
"publishToClawHub": true,
|
|
@@ -1,103 +0,0 @@
|
|
|
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 };
|