agent-bridge-aun 1.0.24 → 1.0.26

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.
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AunDownloadUrlError = void 0;
3
4
  exports.parseAunAttachment = parseAunAttachment;
4
5
  exports.downloadAunAttachments = downloadAunAttachments;
5
6
  exports.downloadAunAttachment = downloadAunAttachment;
@@ -162,9 +163,20 @@ async function downloadAunAttachments(client, refs) {
162
163
  (0, attachments_1.validateAttachments)(result);
163
164
  return result;
164
165
  }
166
+ class AunDownloadUrlError extends Error {
167
+ diagnostic;
168
+ constructor(url, reason) {
169
+ super("AUN 下载地址无效");
170
+ this.name = "AunDownloadUrlError";
171
+ this.diagnostic = { protocol: url.protocol, hostname: url.hostname, port: url.port, reason };
172
+ }
173
+ }
174
+ exports.AunDownloadUrlError = AunDownloadUrlError;
165
175
  function checkedDownloadUrl(url) {
166
- if (url.protocol !== "https:" || url.username || url.password || url.port || url.hash || !url.hostname.includes(".") || /^(?:localhost|127\.|0\.|10\.|192\.168\.|169\.254\.|172\.(?:1[6-9]|2\d|3[01])\.)/.test(url.hostname) || url.hostname.includes(":"))
167
- throw new Error("AUN 下载地址无效");
176
+ const storagePort = url.port === "9470" && /^storage\.[a-z0-9-]+(?:\.[a-z0-9-]+)+$/i.test(url.hostname);
177
+ const reason = url.protocol !== "https:" ? "协议" : url.username || url.password ? "凭据" : url.port && !storagePort ? "端口" : url.hash ? "片段" : !url.hostname.includes(".") ? "主机名" : /^(?:localhost|127\.|0\.|10\.|192\.168\.|169\.254\.|172\.(?:1[6-9]|2\d|3[01])\.)/.test(url.hostname) ? "本机地址" : url.hostname.includes(":") ? "主机名" : undefined;
178
+ if (reason)
179
+ throw new AunDownloadUrlError(url, reason);
168
180
  return url;
169
181
  }
170
182
  async function readDownloadTicket(value, expectedSize) {
@@ -11,7 +11,7 @@ const node_url_1 = require("node:url");
11
11
  const messages_1 = require("./messages");
12
12
  const attachments_1 = require("./attachments");
13
13
  const manifest = {
14
- id: "aun", version: "1.0.24", type: "channel", displayName: "AUN 通道",
14
+ id: "aun", version: "1.0.26", type: "channel", displayName: "AUN 通道",
15
15
  entry: "dist/src-ts/plugins/aun/index.js", apiVersion: "1", process: "in-process",
16
16
  capabilities: ["channel", "channel.identity.create", "channel.receive", "channel.send", "health", "cli"],
17
17
  configSchema: "config.schema.json",
@@ -783,7 +783,7 @@ class AunPlugin {
783
783
  }
784
784
  }
785
785
  catch (error) {
786
- this.context?.logger.warn("AUN 附件下载失败", { error: safeError(error) });
786
+ this.context?.logger.warn("AUN 附件下载失败", { error: safeError(error), ...(error instanceof attachments_1.AunDownloadUrlError ? { downloadUrl: error.diagnostic } : {}) });
787
787
  try {
788
788
  await this.sendText(aid, message.peerId, `附件接收失败:${safeError(error)}`, message.threadId);
789
789
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-bridge-aun",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "description": "mu-agent-bridge 的 AUN 通道插件。",
5
5
  "keywords": [
6
6
  "mu-agent-bridge-plugin",
package/plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "aun",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "type": "channel",
5
5
  "displayName": "AUN 通道",
6
6
  "entry": "dist/src-ts/plugins/aun/index.js",