@inline-openclaw/inline 0.0.5 → 0.0.6
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 +30 -14
- package/dist/inline/accounts.d.ts.map +1 -1
- package/dist/inline/accounts.js +19 -7
- package/dist/inline/accounts.js.map +1 -1
- package/dist/inline/actions.d.ts +1 -0
- package/dist/inline/actions.d.ts.map +1 -1
- package/dist/inline/actions.js +615 -42
- package/dist/inline/actions.js.map +1 -1
- package/dist/inline/channel.d.ts.map +1 -1
- package/dist/inline/channel.js +339 -1
- package/dist/inline/channel.js.map +1 -1
- package/dist/inline/config-schema.d.ts +84 -0
- package/dist/inline/config-schema.d.ts.map +1 -1
- package/dist/inline/config-schema.js +15 -0
- package/dist/inline/config-schema.js.map +1 -1
- package/dist/inline/media.d.ts.map +1 -1
- package/dist/inline/media.js +21 -1
- package/dist/inline/media.js.map +1 -1
- package/dist/inline/monitor.d.ts.map +1 -1
- package/dist/inline/monitor.js +137 -75
- package/dist/inline/monitor.js.map +1 -1
- package/dist/inline/policy.d.ts.map +1 -1
- package/dist/inline/policy.js +2 -3
- package/dist/inline/policy.js.map +1 -1
- package/package.json +5 -3
|
@@ -37,6 +37,18 @@ export declare const InlineAccountSchemaBase: z.ZodObject<{
|
|
|
37
37
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
38
38
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
39
39
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
50
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
+
}, z.core.$strict>>;
|
|
40
52
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
41
53
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
42
54
|
length: "length";
|
|
@@ -87,6 +99,18 @@ export declare const InlineRuntimeAccountSchema: z.ZodObject<{
|
|
|
87
99
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
88
100
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
89
101
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
102
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
103
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
104
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
107
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
108
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
111
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
112
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
+
}, z.core.$strict>>;
|
|
90
114
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
91
115
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
92
116
|
length: "length";
|
|
@@ -137,6 +161,18 @@ export declare const InlineAccountSchema: z.ZodObject<{
|
|
|
137
161
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
138
162
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
139
163
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
164
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
165
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
166
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
167
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
168
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
169
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
170
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
171
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
172
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
173
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
174
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
175
|
+
}, z.core.$strict>>;
|
|
140
176
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
141
177
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
142
178
|
length: "length";
|
|
@@ -187,6 +223,18 @@ export declare const InlineRuntimeConfigSchema: z.ZodObject<{
|
|
|
187
223
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
188
224
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
189
225
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
226
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
227
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
228
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
229
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
230
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
231
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
232
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
233
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
234
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
235
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
236
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
237
|
+
}, z.core.$strict>>;
|
|
190
238
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
191
239
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
192
240
|
length: "length";
|
|
@@ -236,6 +284,18 @@ export declare const InlineRuntimeConfigSchema: z.ZodObject<{
|
|
|
236
284
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
237
285
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
238
286
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
287
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
288
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
289
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
290
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
291
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
292
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
293
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
294
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
295
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
296
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
297
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
298
|
+
}, z.core.$strict>>;
|
|
239
299
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
240
300
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
241
301
|
length: "length";
|
|
@@ -287,6 +347,18 @@ export declare const InlineConfigSchema: z.ZodObject<{
|
|
|
287
347
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
288
348
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
289
349
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
350
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
351
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
352
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
353
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
354
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
355
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
356
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
357
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
358
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
359
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
360
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
361
|
+
}, z.core.$strict>>;
|
|
290
362
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
291
363
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
292
364
|
length: "length";
|
|
@@ -336,6 +408,18 @@ export declare const InlineConfigSchema: z.ZodObject<{
|
|
|
336
408
|
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
|
|
337
409
|
parseMarkdown: z.ZodOptional<z.ZodBoolean>;
|
|
338
410
|
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
|
|
411
|
+
actions: z.ZodOptional<z.ZodObject<{
|
|
412
|
+
reply: z.ZodOptional<z.ZodBoolean>;
|
|
413
|
+
reactions: z.ZodOptional<z.ZodBoolean>;
|
|
414
|
+
read: z.ZodOptional<z.ZodBoolean>;
|
|
415
|
+
search: z.ZodOptional<z.ZodBoolean>;
|
|
416
|
+
edit: z.ZodOptional<z.ZodBoolean>;
|
|
417
|
+
channels: z.ZodOptional<z.ZodBoolean>;
|
|
418
|
+
participants: z.ZodOptional<z.ZodBoolean>;
|
|
419
|
+
delete: z.ZodOptional<z.ZodBoolean>;
|
|
420
|
+
pins: z.ZodOptional<z.ZodBoolean>;
|
|
421
|
+
permissions: z.ZodOptional<z.ZodBoolean>;
|
|
422
|
+
}, z.core.$strict>>;
|
|
339
423
|
textChunkLimit: z.ZodOptional<z.ZodNumber>;
|
|
340
424
|
chunkMode: z.ZodOptional<z.ZodEnum<{
|
|
341
425
|
length: "length";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../src/inline/config-schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../src/inline/config-schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAyBvB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBzB,CAAA;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwC,CAAA;AAE/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAS9B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtB,CAAA;AAEhB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAW7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { BlockStreamingCoalesceSchema, DmPolicySchema, GroupPolicySchema, ToolPolicySchema, requireOpenAllowFrom, } from "openclaw/plugin-sdk";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
const InlineActionsSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
reply: z.boolean().optional(),
|
|
6
|
+
reactions: z.boolean().optional(),
|
|
7
|
+
read: z.boolean().optional(),
|
|
8
|
+
search: z.boolean().optional(),
|
|
9
|
+
edit: z.boolean().optional(),
|
|
10
|
+
channels: z.boolean().optional(),
|
|
11
|
+
participants: z.boolean().optional(),
|
|
12
|
+
delete: z.boolean().optional(),
|
|
13
|
+
pins: z.boolean().optional(),
|
|
14
|
+
permissions: z.boolean().optional(),
|
|
15
|
+
})
|
|
16
|
+
.strict();
|
|
3
17
|
const InlineGroupSchema = z
|
|
4
18
|
.object({
|
|
5
19
|
requireMention: z.boolean().optional(),
|
|
@@ -25,6 +39,7 @@ export const InlineAccountSchemaBase = z
|
|
|
25
39
|
dmHistoryLimit: z.number().int().min(0).optional(),
|
|
26
40
|
parseMarkdown: z.boolean().optional(),
|
|
27
41
|
mediaMaxMb: z.number().positive().optional(),
|
|
42
|
+
actions: InlineActionsSchema.optional(),
|
|
28
43
|
textChunkLimit: z.number().int().positive().optional(),
|
|
29
44
|
chunkMode: z.enum(["length", "newline"]).optional(),
|
|
30
45
|
blockStreaming: z.boolean().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/inline/config-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/inline/config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/inline/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/inline/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAA;AAuH5B,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0DrC"}
|
package/dist/inline/media.js
CHANGED
|
@@ -6,6 +6,11 @@ const SUPPORTED_INLINE_VIDEO_MIME = new Set(["video/mp4"]);
|
|
|
6
6
|
const DEFAULT_VIDEO_WIDTH = 1280;
|
|
7
7
|
const DEFAULT_VIDEO_HEIGHT = 720;
|
|
8
8
|
const DEFAULT_VIDEO_DURATION = 1;
|
|
9
|
+
// openclaw@2026.2.9 types expose only ssrfPolicy, while newer runtimes also support localRoots.
|
|
10
|
+
const loadWebMediaCompat = loadWebMedia;
|
|
11
|
+
function looksLikeLocalMediaSource(mediaUrl) {
|
|
12
|
+
return !/^https?:\/\//i.test(mediaUrl.trim());
|
|
13
|
+
}
|
|
9
14
|
function normalizeMime(raw) {
|
|
10
15
|
const trimmed = raw?.trim().toLowerCase();
|
|
11
16
|
return trimmed || undefined;
|
|
@@ -78,7 +83,22 @@ export async function uploadInlineMediaFromUrl(params) {
|
|
|
78
83
|
cfg: params.cfg,
|
|
79
84
|
accountId: params.accountId ?? null,
|
|
80
85
|
});
|
|
81
|
-
|
|
86
|
+
let loaded;
|
|
87
|
+
try {
|
|
88
|
+
loaded = await loadWebMedia(params.mediaUrl, maxBytes);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
const message = String(error);
|
|
92
|
+
const deniedLocalPath = /not under an allowed directory/i.test(message);
|
|
93
|
+
if (!deniedLocalPath || !looksLikeLocalMediaSource(params.mediaUrl)) {
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
// Match OpenClaw's message-action-runner pattern:
|
|
97
|
+
// localRoots: "any" is used only after sandbox path normalization upstream.
|
|
98
|
+
loaded = await loadWebMediaCompat(params.mediaUrl, maxBytes, {
|
|
99
|
+
localRoots: "any",
|
|
100
|
+
});
|
|
101
|
+
}
|
|
82
102
|
const detectedMime = normalizeMime(loaded.contentType ??
|
|
83
103
|
(await detectMime({
|
|
84
104
|
buffer: loaded.buffer,
|
package/dist/inline/media.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/inline/media.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,2BAA2B,GAE5B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAC/B,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;AACrF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAChC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,sBAAsB,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/inline/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/inline/monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAO9E,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/inline/monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAO9E,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAA;AAqV1G,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,GAAG,EAAE,cAAc,CAAA;IACnB,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,EAAE,UAAU,CAAA;IACnB,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IAC/H,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuiB/B"}
|
package/dist/inline/monitor.js
CHANGED
|
@@ -12,6 +12,7 @@ const DEFAULT_DM_HISTORY_LIMIT = 6;
|
|
|
12
12
|
const HISTORY_LINE_MAX_CHARS = 280;
|
|
13
13
|
const BOT_MESSAGE_CACHE_LIMIT = 500;
|
|
14
14
|
const REACTION_TARGET_LOOKUP_LIMIT = 8;
|
|
15
|
+
const REPLY_TARGET_LOOKUP_LIMIT = 8;
|
|
15
16
|
function normalizeAllowEntry(raw) {
|
|
16
17
|
return raw.trim().replace(/^inline:/i, "").replace(/^user:/i, "");
|
|
17
18
|
}
|
|
@@ -76,35 +77,88 @@ function hasBotMessageId(cache, chatId, messageId) {
|
|
|
76
77
|
const key = String(chatId);
|
|
77
78
|
return (cache.get(key) ?? []).includes(String(messageId));
|
|
78
79
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
function rememberBotMessagesFromList(params) {
|
|
81
|
+
for (const item of params.messages) {
|
|
82
|
+
if (item.fromId === params.meId) {
|
|
83
|
+
rememberBotMessageId(params.botMessageIdsByChat, params.chatId, item.id);
|
|
84
|
+
}
|
|
82
85
|
}
|
|
86
|
+
}
|
|
87
|
+
function buildChatPeer(chatId) {
|
|
88
|
+
return {
|
|
89
|
+
type: {
|
|
90
|
+
oneofKind: "chat",
|
|
91
|
+
chat: { chatId },
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
async function loadChatHistoryMessages(params) {
|
|
83
96
|
const result = await params.client.invokeRaw(Method.GET_CHAT_HISTORY, {
|
|
84
97
|
oneofKind: "getChatHistory",
|
|
85
98
|
getChatHistory: {
|
|
86
|
-
peerId:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
chat: { chatId: params.chatId },
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
offsetId: params.messageId + 1n,
|
|
93
|
-
limit: REACTION_TARGET_LOOKUP_LIMIT,
|
|
99
|
+
peerId: buildChatPeer(params.chatId),
|
|
100
|
+
...(params.offsetId != null ? { offsetId: params.offsetId } : {}),
|
|
101
|
+
limit: params.limit,
|
|
94
102
|
},
|
|
95
103
|
});
|
|
96
104
|
if (result.oneofKind !== "getChatHistory") {
|
|
97
|
-
return
|
|
105
|
+
return null;
|
|
98
106
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
return result.getChatHistory.messages ?? [];
|
|
108
|
+
}
|
|
109
|
+
async function findChatMessageById(params) {
|
|
110
|
+
const directResult = await params.client
|
|
111
|
+
.invokeRaw(Method.GET_MESSAGES, {
|
|
112
|
+
oneofKind: "getMessages",
|
|
113
|
+
getMessages: {
|
|
114
|
+
peerId: buildChatPeer(params.chatId),
|
|
115
|
+
messageIds: [params.messageId],
|
|
116
|
+
},
|
|
117
|
+
})
|
|
118
|
+
.catch(() => null);
|
|
119
|
+
if (directResult?.oneofKind === "getMessages") {
|
|
120
|
+
const directMessages = directResult.getMessages.messages ?? [];
|
|
121
|
+
rememberBotMessagesFromList({
|
|
122
|
+
messages: directMessages,
|
|
123
|
+
meId: params.meId,
|
|
124
|
+
chatId: params.chatId,
|
|
125
|
+
botMessageIdsByChat: params.botMessageIdsByChat,
|
|
126
|
+
});
|
|
127
|
+
const directTarget = directMessages.find((item) => item.id === params.messageId) ?? null;
|
|
128
|
+
if (directTarget) {
|
|
129
|
+
return directTarget;
|
|
103
130
|
}
|
|
104
131
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
132
|
+
// Compatibility fallback for older servers without GET_MESSAGES.
|
|
133
|
+
const historyMessages = await loadChatHistoryMessages({
|
|
134
|
+
client: params.client,
|
|
135
|
+
chatId: params.chatId,
|
|
136
|
+
offsetId: params.messageId + 1n,
|
|
137
|
+
limit: params.limit,
|
|
138
|
+
});
|
|
139
|
+
if (!historyMessages) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
rememberBotMessagesFromList({
|
|
143
|
+
messages: historyMessages,
|
|
144
|
+
meId: params.meId,
|
|
145
|
+
chatId: params.chatId,
|
|
146
|
+
botMessageIdsByChat: params.botMessageIdsByChat,
|
|
147
|
+
});
|
|
148
|
+
return historyMessages.find((item) => item.id === params.messageId) ?? null;
|
|
149
|
+
}
|
|
150
|
+
async function isReactionTargetBotMessage(params) {
|
|
151
|
+
const target = await findChatMessageById({
|
|
152
|
+
client: params.client,
|
|
153
|
+
chatId: params.chatId,
|
|
154
|
+
messageId: params.messageId,
|
|
155
|
+
limit: REACTION_TARGET_LOOKUP_LIMIT,
|
|
156
|
+
meId: params.meId,
|
|
157
|
+
botMessageIdsByChat: params.botMessageIdsByChat,
|
|
158
|
+
});
|
|
159
|
+
if (!target) {
|
|
160
|
+
return hasBotMessageId(params.botMessageIdsByChat, params.chatId, params.messageId);
|
|
161
|
+
}
|
|
108
162
|
return target.fromId === params.meId;
|
|
109
163
|
}
|
|
110
164
|
function normalizeHistoryText(raw) {
|
|
@@ -133,72 +187,78 @@ function resolveHistoryLimit(params) {
|
|
|
133
187
|
return params.dmHistoryLimit ?? params.historyLimit ?? DEFAULT_DM_HISTORY_LIMIT;
|
|
134
188
|
}
|
|
135
189
|
async function buildHistoryContext(params) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
peerId: {
|
|
147
|
-
type: {
|
|
148
|
-
oneofKind: "chat",
|
|
149
|
-
chat: { chatId: params.chatId },
|
|
150
|
-
},
|
|
151
|
-
},
|
|
190
|
+
const cachedReplyToBot = params.replyToMsgId != null &&
|
|
191
|
+
hasBotMessageId(params.botMessageIdsByChat, params.chatId, params.replyToMsgId);
|
|
192
|
+
let repliedToBot = cachedReplyToBot;
|
|
193
|
+
let replyToSenderId = null;
|
|
194
|
+
let foundReplyTargetInHistory = false;
|
|
195
|
+
const lines = [];
|
|
196
|
+
if (params.historyLimit > 0) {
|
|
197
|
+
const messages = await loadChatHistoryMessages({
|
|
198
|
+
client: params.client,
|
|
199
|
+
chatId: params.chatId,
|
|
152
200
|
offsetId: params.currentMessageId,
|
|
153
201
|
limit: params.historyLimit,
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
202
|
+
});
|
|
203
|
+
if (messages) {
|
|
204
|
+
for (const item of messages) {
|
|
205
|
+
if (item.fromId === params.meId) {
|
|
206
|
+
rememberBotMessageId(params.botMessageIdsByChat, params.chatId, item.id);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const sortedMessages = messages
|
|
210
|
+
.filter((item) => item.id !== params.currentMessageId)
|
|
211
|
+
.sort((a, b) => {
|
|
212
|
+
const byDate = Number(a.date - b.date);
|
|
213
|
+
if (byDate !== 0)
|
|
214
|
+
return byDate;
|
|
215
|
+
if (a.id === b.id)
|
|
216
|
+
return 0;
|
|
217
|
+
return a.id < b.id ? -1 : 1;
|
|
218
|
+
});
|
|
219
|
+
for (const item of sortedMessages) {
|
|
220
|
+
if (params.replyToMsgId != null && item.id === params.replyToMsgId) {
|
|
221
|
+
foundReplyTargetInHistory = true;
|
|
222
|
+
replyToSenderId = String(item.fromId);
|
|
223
|
+
repliedToBot = item.fromId === params.meId;
|
|
224
|
+
}
|
|
225
|
+
const text = normalizeHistoryText(item.message);
|
|
226
|
+
if (!text)
|
|
227
|
+
continue;
|
|
228
|
+
const label = resolveHistorySenderLabel({
|
|
229
|
+
senderId: item.fromId,
|
|
230
|
+
meId: params.meId,
|
|
231
|
+
senderProfilesById: params.senderProfilesById,
|
|
232
|
+
});
|
|
233
|
+
const replySuffix = item.replyToMsgId != null ? ` ->${String(item.replyToMsgId)}` : "";
|
|
234
|
+
lines.push(`#${String(item.id)}${replySuffix} ${label}: ${text}`);
|
|
235
|
+
}
|
|
184
236
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
237
|
+
}
|
|
238
|
+
if (params.replyToMsgId != null && !foundReplyTargetInHistory) {
|
|
239
|
+
const replyTarget = await findChatMessageById({
|
|
240
|
+
client: params.client,
|
|
241
|
+
chatId: params.chatId,
|
|
242
|
+
messageId: params.replyToMsgId,
|
|
243
|
+
limit: REPLY_TARGET_LOOKUP_LIMIT,
|
|
190
244
|
meId: params.meId,
|
|
191
|
-
|
|
245
|
+
botMessageIdsByChat: params.botMessageIdsByChat,
|
|
192
246
|
});
|
|
193
|
-
|
|
194
|
-
|
|
247
|
+
if (replyTarget) {
|
|
248
|
+
replyToSenderId = String(replyTarget.fromId);
|
|
249
|
+
repliedToBot = replyTarget.fromId === params.meId;
|
|
250
|
+
}
|
|
251
|
+
else if (!cachedReplyToBot) {
|
|
252
|
+
repliedToBot = false;
|
|
253
|
+
}
|
|
195
254
|
}
|
|
196
255
|
if (!lines.length) {
|
|
197
|
-
return { historyText: null, repliedToBot };
|
|
256
|
+
return { historyText: null, repliedToBot, replyToSenderId };
|
|
198
257
|
}
|
|
199
258
|
return {
|
|
200
259
|
historyText: `Recent thread messages (oldest -> newest):\n${lines.join("\n")}`,
|
|
201
260
|
repliedToBot,
|
|
261
|
+
replyToSenderId,
|
|
202
262
|
};
|
|
203
263
|
}
|
|
204
264
|
export async function monitorInlineProvider(params) {
|
|
@@ -501,7 +561,7 @@ export async function monitorInlineProvider(params) {
|
|
|
501
561
|
botMessageIdsByChat,
|
|
502
562
|
}).catch((err) => {
|
|
503
563
|
statusSink?.({ lastError: `getChatHistory failed: ${String(err)}` });
|
|
504
|
-
return { historyText: null, repliedToBot: false };
|
|
564
|
+
return { historyText: null, repliedToBot: false, replyToSenderId: null };
|
|
505
565
|
});
|
|
506
566
|
const implicitMention = (reactionEvent != null && isGroup) ||
|
|
507
567
|
(isGroup &&
|
|
@@ -563,6 +623,8 @@ export async function monitorInlineProvider(params) {
|
|
|
563
623
|
Surface: CHANNEL_ID,
|
|
564
624
|
MessageSid: String(msg.id),
|
|
565
625
|
...(msg.replyToMsgId != null ? { ReplyToId: String(msg.replyToMsgId) } : {}),
|
|
626
|
+
...(historyContext.replyToSenderId != null ? { ReplyToSenderId: historyContext.replyToSenderId } : {}),
|
|
627
|
+
...(msg.replyToMsgId != null ? { ReplyToWasBot: historyContext.repliedToBot } : {}),
|
|
566
628
|
Timestamp: timestamp || Date.now(),
|
|
567
629
|
WasMentioned: mentionGate.effectiveWasMentioned,
|
|
568
630
|
CommandAuthorized: commandAuthorized,
|