@aalis/plugin-adapter-onebot 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attachment-cache.d.ts +1 -1
- package/dist/attachment-cache.d.ts.map +1 -1
- package/dist/attachment-cache.js +6 -11
- package/dist/attachment-cache.js.map +1 -1
- package/dist/attachments.d.ts +1 -1
- package/dist/attachments.d.ts.map +1 -1
- package/dist/attachments.js +1 -16
- package/dist/attachments.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
2
|
import type { ProcessService } from '@aalis/plugin-process-api';
|
|
3
|
-
import type
|
|
3
|
+
import { type StorageService } from '@aalis/plugin-storage-api';
|
|
4
4
|
type AttachmentKind = 'image' | 'audio' | 'video' | 'file';
|
|
5
5
|
/**
|
|
6
6
|
* 把 Buffer 落盘到 `data:/{kind}s/{session}/{hash}.{ext}`。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-cache.d.ts","sourceRoot":"","sources":["../src/attachment-cache.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"attachment-cache.d.ts","sourceRoot":"","sources":["../src/attachment-cache.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG9E,KAAK,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAc3D;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB5F;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,SAA2B,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBxB;AAED,wCAAwC;AACxC,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAqB/E;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB"}
|
package/dist/attachment-cache.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
// 不应污染 storage 沙箱语义。
|
|
18
18
|
// ============================================================
|
|
19
19
|
import { Buffer } from 'node:buffer';
|
|
20
|
+
import { isStorageUri } from '@aalis/plugin-storage-api';
|
|
20
21
|
import { safeFetch } from '@aalis/util-network-guard';
|
|
21
22
|
const KIND_DIR = {
|
|
22
23
|
image: 'images',
|
|
@@ -28,13 +29,6 @@ const KIND_DIR = {
|
|
|
28
29
|
function safeSessionDir(sessionId) {
|
|
29
30
|
return sessionId.replace(/[:/\\]/g, '_');
|
|
30
31
|
}
|
|
31
|
-
/** 简易判定:形如 <root>:/<path>,且 root 非 http/https/data/file。 */
|
|
32
|
-
function isStorageUri(s) {
|
|
33
|
-
if (!/^[a-z][a-z0-9_-]*:\//.test(s))
|
|
34
|
-
return false;
|
|
35
|
-
const scheme = s.slice(0, s.indexOf(':')).toLowerCase();
|
|
36
|
-
return scheme !== 'http' && scheme !== 'https' && scheme !== 'data' && scheme !== 'file';
|
|
37
|
-
}
|
|
38
32
|
/**
|
|
39
33
|
* 把 Buffer 落盘到 `data:/{kind}s/{session}/{hash}.{ext}`。
|
|
40
34
|
* 超过 maxBytes 时返回 null,由调用方决定降级策略。
|
|
@@ -87,6 +81,11 @@ export async function readBodyCapped(res, maxBytes) {
|
|
|
87
81
|
*/
|
|
88
82
|
export async function loadAttachmentBuffer(storage, proc, source, maxBytes = Number.POSITIVE_INFINITY) {
|
|
89
83
|
try {
|
|
84
|
+
// storage URI 优先:data:/ 也是 storage(根名 data),不能被下面的 data: 分支误当 data-URI。
|
|
85
|
+
if (isStorageUri(source)) {
|
|
86
|
+
const raw = (await storage.readFile(source));
|
|
87
|
+
return Buffer.from(raw);
|
|
88
|
+
}
|
|
90
89
|
if (source.startsWith('data:')) {
|
|
91
90
|
const m = source.match(/^data:[^;]+;base64,(.+)$/);
|
|
92
91
|
if (!m)
|
|
@@ -99,10 +98,6 @@ export async function loadAttachmentBuffer(storage, proc, source, maxBytes = Num
|
|
|
99
98
|
return null;
|
|
100
99
|
return readBodyCapped(res, maxBytes);
|
|
101
100
|
}
|
|
102
|
-
if (isStorageUri(source)) {
|
|
103
|
-
const raw = (await storage.readFile(source));
|
|
104
|
-
return Buffer.from(raw);
|
|
105
|
-
}
|
|
106
101
|
// file:// 或绝对路径:OneBot daemon 推来的任意 OS 路径,走 process.readExternalFile
|
|
107
102
|
const raw = await proc.readExternalFile(source);
|
|
108
103
|
return Buffer.from(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-cache.js","sourceRoot":"","sources":["../src/attachment-cache.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8CAA8C;AAC9C,EAAE;AACF,4CAA4C;AAC5C,oDAAoD;AACpD,EAAE;AACF,QAAQ;AACR,gDAAgD;AAChD,oCAAoC;AACpC,0CAA0C;AAC1C,0DAA0D;AAC1D,0CAA0C;AAC1C,EAAE;AACF,gFAAgF;AAChF,+DAA+D;AAC/D,sDAAsD;AACtD,qBAAqB;AACrB,+DAA+D;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"attachment-cache.js","sourceRoot":"","sources":["../src/attachment-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/attachments.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Logger } from '@aalis/core';
|
|
2
2
|
import type { MessageAttachment } from '@aalis/plugin-message-api';
|
|
3
|
-
import type
|
|
3
|
+
import { type StorageService } from '@aalis/plugin-storage-api';
|
|
4
4
|
/**
|
|
5
5
|
* 把 attachments[] 渲染为可拼接到 content 的标记串。
|
|
6
6
|
* - image / audio:base64 内联(走 WS 隧道,Docker 部署最稳)→ `<image>` / `<record>`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA0E9E;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,WAAW,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAC5C,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAuDjB"}
|
package/dist/attachments.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// 产出的 storage URI / data URI,故此回归仅在裸 file:// 用例下生效。
|
|
16
16
|
// ============================================================
|
|
17
17
|
import { Buffer } from 'node:buffer';
|
|
18
|
+
import { isStorageUri } from '@aalis/plugin-storage-api';
|
|
18
19
|
import { safeFetch } from '@aalis/util-network-guard';
|
|
19
20
|
import { readBodyCapped } from './attachment-cache.js';
|
|
20
21
|
/** base64 内联上限(10 MiB)。超过则降级为 URL/file:// 并记 warn。 */
|
|
@@ -23,22 +24,6 @@ const MAX_INLINE_BYTES = 10 * 1024 * 1024;
|
|
|
23
24
|
function toBase64Uri(buf) {
|
|
24
25
|
return `base64://${buf.toString('base64')}`;
|
|
25
26
|
}
|
|
26
|
-
/** 简易判定:形如 <root>:/<path>,且 root 非 http/https/file。
|
|
27
|
-
* 注意:"data:/path" 是 storage 根路径(storage URI),
|
|
28
|
-
* "data:image/png;base64,..." 是标准 data URI(非 storage)——
|
|
29
|
-
* 区分依据:storage URI 的冒号后紧跟 '/',标准 data URI 后跟 MIME type。 */
|
|
30
|
-
function isStorageUri(s) {
|
|
31
|
-
if (!/^[a-z][a-z0-9_-]*:\//.test(s))
|
|
32
|
-
return false;
|
|
33
|
-
const colonIdx = s.indexOf(':');
|
|
34
|
-
const scheme = s.slice(0, colonIdx).toLowerCase();
|
|
35
|
-
if (scheme === 'http' || scheme === 'https' || scheme === 'file')
|
|
36
|
-
return false;
|
|
37
|
-
// data:/ → storage root;data:mime/type;base64,... → 标准 data URI → 非 storage
|
|
38
|
-
if (scheme === 'data')
|
|
39
|
-
return s[colonIdx + 1] === '/';
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
27
|
/**
|
|
43
28
|
* 把附件物化为 OneBot `image.file` 可接受的字符串。
|
|
44
29
|
*/
|
package/dist/attachments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kEAAkE;AAClE,EAAE;AACF,uCAAuC;AACvC,2CAA2C;AAC3C,gDAAgD;AAChD,2DAA2D;AAC3D,EAAE;AACF,0DAA0D;AAC1D,4DAA4D;AAC5D,sDAAsD;AACtD,EAAE;AACF,+CAA+C;AAC/C,oEAAoE;AACpE,oDAAoD;AACpD,+DAA+D;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-adapter-onebot",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "OneBot v11/v12 协议适配器(QQ 等平台接入,多连接 + 自动重连)",
|
|
6
6
|
"type": "module",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"ws": "^8.18.0",
|
|
18
18
|
"@aalis/plugin-agent-api": "^0.5.0",
|
|
19
|
-
"@aalis/plugin-
|
|
20
|
-
"@aalis/plugin-message-api": "^0.5.0",
|
|
21
|
-
"@aalis/util-network-guard": "^0.5.0",
|
|
19
|
+
"@aalis/plugin-storage-api": "^0.5.1",
|
|
22
20
|
"@aalis/plugin-process-api": "^0.5.0",
|
|
23
|
-
"@aalis/plugin-
|
|
21
|
+
"@aalis/plugin-message-api": "^0.5.0",
|
|
22
|
+
"@aalis/plugin-llm-api": "^0.5.0",
|
|
23
|
+
"@aalis/util-network-guard": "^0.5.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^22.0.0",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"@aalis/plugin-flow-control-api": "0.5.0",
|
|
31
31
|
"@aalis/plugin-media-api": "0.5.0",
|
|
32
32
|
"@aalis/plugin-memory-api": "0.5.0",
|
|
33
|
-
"@aalis/plugin-
|
|
33
|
+
"@aalis/plugin-webui-api": "0.5.0",
|
|
34
34
|
"@aalis/plugin-platform-api": "0.5.0",
|
|
35
|
-
"@aalis/plugin-
|
|
35
|
+
"@aalis/plugin-message-archive-api": "0.5.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@aalis/core": ">=0.2.0 <1.0.0"
|