@fangyb/ahchat-bridge 0.1.33 → 0.1.35

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/cli.cjs CHANGED
@@ -94608,6 +94608,9 @@ init_cjs_shims();
94608
94608
  // ../shared/src/types/index.ts
94609
94609
  init_cjs_shims();
94610
94610
 
94611
+ // ../shared/src/types/usage.ts
94612
+ init_cjs_shims();
94613
+
94611
94614
  // ../shared/src/types/message.ts
94612
94615
  init_cjs_shims();
94613
94616
 
@@ -94733,6 +94736,20 @@ function assertNumberPayloadField(type, payload, field) {
94733
94736
  throw invalidWsMessage(type, field);
94734
94737
  }
94735
94738
  }
94739
+ function assertOptionalNumberPayloadField(type, payload, field) {
94740
+ if (payload[field] === void 0) return;
94741
+ assertNumberPayloadField(type, payload, field);
94742
+ }
94743
+ function assertNullableStringPayloadField(type, payload, field) {
94744
+ if (payload[field] === null) return;
94745
+ assertStringPayloadField(type, payload, field);
94746
+ }
94747
+ function assertStringPayloadOneOf(type, payload, field, allowed) {
94748
+ assertStringPayloadField(type, payload, field);
94749
+ if (!allowed.includes(payload[field])) {
94750
+ throw invalidWsMessage(type, field);
94751
+ }
94752
+ }
94736
94753
  function assertArrayPayloadField(type, payload, field) {
94737
94754
  if (!Array.isArray(payload[field])) {
94738
94755
  throw invalidWsMessage(type, field);
@@ -94815,6 +94832,24 @@ function validateWSMessageShape(msg) {
94815
94832
  validateRequiredStrings(type, payload, ["ackId", "agentId", "conversationId", "error", "traceId"]);
94816
94833
  return;
94817
94834
  }
94835
+ case "directory:register": {
94836
+ assertPayloadRecord(type, payload);
94837
+ validateRequiredStrings(type, payload, ["handle", "viaChild", "traceId"]);
94838
+ assertStringPayloadOneOf(type, payload, "op", ["add", "remove", "move"]);
94839
+ return;
94840
+ }
94841
+ case "directory:resolve": {
94842
+ assertPayloadRecord(type, payload);
94843
+ validateRequiredStrings(type, payload, ["handle", "fromNode", "traceId"]);
94844
+ assertOptionalNumberPayloadField(type, payload, "hop");
94845
+ return;
94846
+ }
94847
+ case "directory:resolve_result": {
94848
+ assertPayloadRecord(type, payload);
94849
+ validateRequiredStrings(type, payload, ["handle", "traceId"]);
94850
+ assertNullableStringPayloadField(type, payload, "canonicalAddress");
94851
+ return;
94852
+ }
94818
94853
  default:
94819
94854
  return;
94820
94855
  }
@@ -96419,60 +96454,6 @@ var readpageScrapeTool = {
96419
96454
  enabled: true,
96420
96455
  permissionPolicy: "always_allow"
96421
96456
  };
96422
- var seedreamGenerateImageTool = {
96423
- name: "generate_image",
96424
- displayName: "Seedream \u751F\u56FE",
96425
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u751F\u6210\u5355\u5F20\u56FE\u7247\uFF0C\u652F\u6301\u6587\u672C\u751F\u56FE\u4E0E\u53C2\u8003\u56FE\u751F\u56FE\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
96426
- category: "media",
96427
- riskLevel: "medium",
96428
- enabled: true,
96429
- permissionPolicy: "always_ask"
96430
- };
96431
- var seedreamEditImageTool = {
96432
- name: "edit_image",
96433
- displayName: "Seedream \u6539\u56FE",
96434
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u6839\u636E\u53C2\u8003\u56FE\u548C\u63D0\u793A\u8BCD\u7F16\u8F91\u6216\u91CD\u7ED8\u5355\u5F20\u56FE\u7247\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
96435
- category: "media",
96436
- riskLevel: "medium",
96437
- enabled: true,
96438
- permissionPolicy: "always_ask"
96439
- };
96440
- var seedreamGenerateImageGroupTool = {
96441
- name: "generate_image_group",
96442
- displayName: "Seedream \u5355\u56FE",
96443
- description: "\u517C\u5BB9\u65E7\u540D\u79F0\u7684 Seedream \u5355\u56FE\u751F\u6210\u5DE5\u5177\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u5F20\u56FE\u7247\u3002",
96444
- category: "media",
96445
- riskLevel: "medium",
96446
- enabled: true,
96447
- permissionPolicy: "always_ask"
96448
- };
96449
- var seedanceUsageGuideTool = {
96450
- name: "seedance_usage_guide",
96451
- displayName: "Seedance \u4F7F\u7528\u8BF4\u660E",
96452
- description: "\u67E5\u770B Seedance \u89C6\u9891\u751F\u6210\u6D41\u7A0B\u4E0E\u53C2\u6570\u8BF4\u660E\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
96453
- category: "media",
96454
- riskLevel: "low",
96455
- enabled: true,
96456
- permissionPolicy: "always_allow"
96457
- };
96458
- var seedanceCreateTaskTool = {
96459
- name: "seedance_create_task",
96460
- displayName: "Seedance \u751F\u89C6\u9891",
96461
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedance \u521B\u5EFA\u5355\u4E2A\u89C6\u9891\u751F\u6210\u4EFB\u52A1\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u4E2A\u89C6\u9891\u3002",
96462
- category: "media",
96463
- riskLevel: "high",
96464
- enabled: true,
96465
- permissionPolicy: "always_ask"
96466
- };
96467
- var seedanceCheckTaskTool = {
96468
- name: "seedance_check_task",
96469
- displayName: "Seedance \u67E5\u7ED3\u679C",
96470
- description: "\u67E5\u8BE2 Seedance \u89C6\u9891\u751F\u6210\u4EFB\u52A1\u72B6\u6001\u4E0E\u89C6\u9891 URL\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
96471
- category: "media",
96472
- riskLevel: "low",
96473
- enabled: true,
96474
- permissionPolicy: "always_allow"
96475
- };
96476
96457
  var context7ResolveLibraryTool = {
96477
96458
  name: "resolve-library-id",
96478
96459
  displayName: "\u89E3\u6790\u6587\u6863\u5E93",
@@ -96779,56 +96760,8 @@ var ALIYUN_IQS_MCP_PROVIDERS = [
96779
96760
  tools: [readpageBasicTool, readpageScrapeTool]
96780
96761
  }
96781
96762
  ];
96782
- var VOLCENGINE_SEEDREAM_MCP_PROVIDER = {
96783
- providerId: "volcengine_seedream",
96784
- name: "Volcengine Seedream",
96785
- summary: "\u706B\u5C71\u65B9\u821F Seedream \u56FE\u7247\u751F\u6210/\u7F16\u8F91 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
96786
- serverName: "seedream",
96787
- transport: "stdio",
96788
- url: null,
96789
- command: "ahchat-builtin",
96790
- args: ["seedream-mcp"],
96791
- env: {
96792
- ARK_API_KEY: "",
96793
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
96794
- },
96795
- authType: "x_api_key",
96796
- customHeaders: [],
96797
- enabled: true,
96798
- alwaysLoad: true,
96799
- tools: [
96800
- seedreamGenerateImageTool,
96801
- seedreamEditImageTool,
96802
- seedreamGenerateImageGroupTool
96803
- ]
96804
- };
96805
- var VOLCENGINE_SEEDANCE_MCP_PROVIDER = {
96806
- providerId: "volcengine_seedance",
96807
- name: "Volcengine Seedance",
96808
- summary: "\u706B\u5C71\u65B9\u821F Seedance \u89C6\u9891\u751F\u6210 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
96809
- serverName: "seedance",
96810
- transport: "stdio",
96811
- url: null,
96812
- command: "ahchat-builtin",
96813
- args: ["seedance-mcp"],
96814
- env: {
96815
- ARK_API_KEY: "",
96816
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
96817
- },
96818
- authType: "x_api_key",
96819
- customHeaders: [],
96820
- enabled: true,
96821
- alwaysLoad: true,
96822
- tools: [
96823
- seedanceUsageGuideTool,
96824
- seedanceCreateTaskTool,
96825
- seedanceCheckTaskTool
96826
- ]
96827
- };
96828
96763
  var OFFICIAL_MCP_PROVIDERS = [
96829
- ...ALIYUN_IQS_MCP_PROVIDERS,
96830
- VOLCENGINE_SEEDANCE_MCP_PROVIDER,
96831
- VOLCENGINE_SEEDREAM_MCP_PROVIDER
96764
+ ...ALIYUN_IQS_MCP_PROVIDERS
96832
96765
  ];
96833
96766
  var MCP_STORE_PROVIDERS = [
96834
96767
  {
@@ -116686,7 +116619,11 @@ function parseJsonRecord(text) {
116686
116619
  try {
116687
116620
  const parsed = JSON.parse(text);
116688
116621
  return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
116689
- } catch {
116622
+ } catch (error51) {
116623
+ logger11.warn("SDK tool result output was not JSON", {
116624
+ error: error51,
116625
+ outputLength: text.length
116626
+ });
116690
116627
  return null;
116691
116628
  }
116692
116629
  }
@@ -117402,8 +117339,9 @@ function mapSDKMessage(proc, message, rawEmit, sessionStore, onCompleted, onProv
117402
117339
  if (proc.accumulatedToolInput.length > 0) {
117403
117340
  try {
117404
117341
  parsedInput = JSON.parse(proc.accumulatedToolInput);
117405
- } catch {
117342
+ } catch (error51) {
117406
117343
  logger11.warn("Failed to parse tool input JSON", {
117344
+ error: error51,
117407
117345
  agentId: proc.agentId,
117408
117346
  toolName: proc.currentToolName,
117409
117347
  inputLen: proc.accumulatedToolInput.length,
@@ -117575,7 +117513,6 @@ function mapSDKMessage(proc, message, rawEmit, sessionStore, onCompleted, onProv
117575
117513
  }
117576
117514
  if (isSuccessfulOfficialMediaOutput(toolName, output)) {
117577
117515
  proc.officialMediaGenerationSatisfied = true;
117578
- proc.officialMediaSessionRecycleRequested = true;
117579
117516
  }
117580
117517
  if (isAskUserQuestionToolName(toolName)) {
117581
117518
  proc.currentToolName = null;
@@ -123316,7 +123253,7 @@ var HttpMcpRegistry = class {
123316
123253
  usedNames.add(serverName);
123317
123254
  mcpServers[serverName] = sdkConfig;
123318
123255
  for (const tool2 of connection.tools) {
123319
- if (!tool2.enabled || tool2.permissionPolicy === "always_deny") continue;
123256
+ if (!tool2.enabled || tool2.permissionPolicy !== "always_allow") continue;
123320
123257
  allowedTools.push(mcpRuntimeToolName(serverName, tool2.name));
123321
123258
  }
123322
123259
  }
@@ -5779,6 +5779,9 @@ init_cjs_shims();
5779
5779
  // ../shared/src/types/index.ts
5780
5780
  init_cjs_shims();
5781
5781
 
5782
+ // ../shared/src/types/usage.ts
5783
+ init_cjs_shims();
5784
+
5782
5785
  // ../shared/src/types/message.ts
5783
5786
  init_cjs_shims();
5784
5787
 
@@ -5857,6 +5860,20 @@ function assertNumberPayloadField(type, payload, field) {
5857
5860
  throw invalidWsMessage(type, field);
5858
5861
  }
5859
5862
  }
5863
+ function assertOptionalNumberPayloadField(type, payload, field) {
5864
+ if (payload[field] === void 0) return;
5865
+ assertNumberPayloadField(type, payload, field);
5866
+ }
5867
+ function assertNullableStringPayloadField(type, payload, field) {
5868
+ if (payload[field] === null) return;
5869
+ assertStringPayloadField(type, payload, field);
5870
+ }
5871
+ function assertStringPayloadOneOf(type, payload, field, allowed) {
5872
+ assertStringPayloadField(type, payload, field);
5873
+ if (!allowed.includes(payload[field])) {
5874
+ throw invalidWsMessage(type, field);
5875
+ }
5876
+ }
5860
5877
  function assertArrayPayloadField(type, payload, field) {
5861
5878
  if (!Array.isArray(payload[field])) {
5862
5879
  throw invalidWsMessage(type, field);
@@ -5939,6 +5956,24 @@ function validateWSMessageShape(msg) {
5939
5956
  validateRequiredStrings(type, payload, ["ackId", "agentId", "conversationId", "error", "traceId"]);
5940
5957
  return;
5941
5958
  }
5959
+ case "directory:register": {
5960
+ assertPayloadRecord(type, payload);
5961
+ validateRequiredStrings(type, payload, ["handle", "viaChild", "traceId"]);
5962
+ assertStringPayloadOneOf(type, payload, "op", ["add", "remove", "move"]);
5963
+ return;
5964
+ }
5965
+ case "directory:resolve": {
5966
+ assertPayloadRecord(type, payload);
5967
+ validateRequiredStrings(type, payload, ["handle", "fromNode", "traceId"]);
5968
+ assertOptionalNumberPayloadField(type, payload, "hop");
5969
+ return;
5970
+ }
5971
+ case "directory:resolve_result": {
5972
+ assertPayloadRecord(type, payload);
5973
+ validateRequiredStrings(type, payload, ["handle", "traceId"]);
5974
+ assertNullableStringPayloadField(type, payload, "canonicalAddress");
5975
+ return;
5976
+ }
5942
5977
  default:
5943
5978
  return;
5944
5979
  }
@@ -6853,60 +6888,6 @@ var readpageScrapeTool = {
6853
6888
  enabled: true,
6854
6889
  permissionPolicy: "always_allow"
6855
6890
  };
6856
- var seedreamGenerateImageTool = {
6857
- name: "generate_image",
6858
- displayName: "Seedream \u751F\u56FE",
6859
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u751F\u6210\u5355\u5F20\u56FE\u7247\uFF0C\u652F\u6301\u6587\u672C\u751F\u56FE\u4E0E\u53C2\u8003\u56FE\u751F\u56FE\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
6860
- category: "media",
6861
- riskLevel: "medium",
6862
- enabled: true,
6863
- permissionPolicy: "always_ask"
6864
- };
6865
- var seedreamEditImageTool = {
6866
- name: "edit_image",
6867
- displayName: "Seedream \u6539\u56FE",
6868
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u6839\u636E\u53C2\u8003\u56FE\u548C\u63D0\u793A\u8BCD\u7F16\u8F91\u6216\u91CD\u7ED8\u5355\u5F20\u56FE\u7247\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
6869
- category: "media",
6870
- riskLevel: "medium",
6871
- enabled: true,
6872
- permissionPolicy: "always_ask"
6873
- };
6874
- var seedreamGenerateImageGroupTool = {
6875
- name: "generate_image_group",
6876
- displayName: "Seedream \u5355\u56FE",
6877
- description: "\u517C\u5BB9\u65E7\u540D\u79F0\u7684 Seedream \u5355\u56FE\u751F\u6210\u5DE5\u5177\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u5F20\u56FE\u7247\u3002",
6878
- category: "media",
6879
- riskLevel: "medium",
6880
- enabled: true,
6881
- permissionPolicy: "always_ask"
6882
- };
6883
- var seedanceUsageGuideTool = {
6884
- name: "seedance_usage_guide",
6885
- displayName: "Seedance \u4F7F\u7528\u8BF4\u660E",
6886
- description: "\u67E5\u770B Seedance \u89C6\u9891\u751F\u6210\u6D41\u7A0B\u4E0E\u53C2\u6570\u8BF4\u660E\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
6887
- category: "media",
6888
- riskLevel: "low",
6889
- enabled: true,
6890
- permissionPolicy: "always_allow"
6891
- };
6892
- var seedanceCreateTaskTool = {
6893
- name: "seedance_create_task",
6894
- displayName: "Seedance \u751F\u89C6\u9891",
6895
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedance \u521B\u5EFA\u5355\u4E2A\u89C6\u9891\u751F\u6210\u4EFB\u52A1\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u4E2A\u89C6\u9891\u3002",
6896
- category: "media",
6897
- riskLevel: "high",
6898
- enabled: true,
6899
- permissionPolicy: "always_ask"
6900
- };
6901
- var seedanceCheckTaskTool = {
6902
- name: "seedance_check_task",
6903
- displayName: "Seedance \u67E5\u7ED3\u679C",
6904
- description: "\u67E5\u8BE2 Seedance \u89C6\u9891\u751F\u6210\u4EFB\u52A1\u72B6\u6001\u4E0E\u89C6\u9891 URL\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
6905
- category: "media",
6906
- riskLevel: "low",
6907
- enabled: true,
6908
- permissionPolicy: "always_allow"
6909
- };
6910
6891
  var context7ResolveLibraryTool = {
6911
6892
  name: "resolve-library-id",
6912
6893
  displayName: "\u89E3\u6790\u6587\u6863\u5E93",
@@ -7213,56 +7194,8 @@ var ALIYUN_IQS_MCP_PROVIDERS = [
7213
7194
  tools: [readpageBasicTool, readpageScrapeTool]
7214
7195
  }
7215
7196
  ];
7216
- var VOLCENGINE_SEEDREAM_MCP_PROVIDER = {
7217
- providerId: "volcengine_seedream",
7218
- name: "Volcengine Seedream",
7219
- summary: "\u706B\u5C71\u65B9\u821F Seedream \u56FE\u7247\u751F\u6210/\u7F16\u8F91 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
7220
- serverName: "seedream",
7221
- transport: "stdio",
7222
- url: null,
7223
- command: "ahchat-builtin",
7224
- args: ["seedream-mcp"],
7225
- env: {
7226
- ARK_API_KEY: "",
7227
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
7228
- },
7229
- authType: "x_api_key",
7230
- customHeaders: [],
7231
- enabled: true,
7232
- alwaysLoad: true,
7233
- tools: [
7234
- seedreamGenerateImageTool,
7235
- seedreamEditImageTool,
7236
- seedreamGenerateImageGroupTool
7237
- ]
7238
- };
7239
- var VOLCENGINE_SEEDANCE_MCP_PROVIDER = {
7240
- providerId: "volcengine_seedance",
7241
- name: "Volcengine Seedance",
7242
- summary: "\u706B\u5C71\u65B9\u821F Seedance \u89C6\u9891\u751F\u6210 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
7243
- serverName: "seedance",
7244
- transport: "stdio",
7245
- url: null,
7246
- command: "ahchat-builtin",
7247
- args: ["seedance-mcp"],
7248
- env: {
7249
- ARK_API_KEY: "",
7250
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
7251
- },
7252
- authType: "x_api_key",
7253
- customHeaders: [],
7254
- enabled: true,
7255
- alwaysLoad: true,
7256
- tools: [
7257
- seedanceUsageGuideTool,
7258
- seedanceCreateTaskTool,
7259
- seedanceCheckTaskTool
7260
- ]
7261
- };
7262
7197
  var OFFICIAL_MCP_PROVIDERS = [
7263
- ...ALIYUN_IQS_MCP_PROVIDERS,
7264
- VOLCENGINE_SEEDANCE_MCP_PROVIDER,
7265
- VOLCENGINE_SEEDREAM_MCP_PROVIDER
7198
+ ...ALIYUN_IQS_MCP_PROVIDERS
7266
7199
  ];
7267
7200
  var MCP_STORE_PROVIDERS = [
7268
7201
  {
package/dist/index.js CHANGED
@@ -5960,6 +5960,20 @@ function assertNumberPayloadField(type, payload, field) {
5960
5960
  throw invalidWsMessage(type, field);
5961
5961
  }
5962
5962
  }
5963
+ function assertOptionalNumberPayloadField(type, payload, field) {
5964
+ if (payload[field] === void 0) return;
5965
+ assertNumberPayloadField(type, payload, field);
5966
+ }
5967
+ function assertNullableStringPayloadField(type, payload, field) {
5968
+ if (payload[field] === null) return;
5969
+ assertStringPayloadField(type, payload, field);
5970
+ }
5971
+ function assertStringPayloadOneOf(type, payload, field, allowed) {
5972
+ assertStringPayloadField(type, payload, field);
5973
+ if (!allowed.includes(payload[field])) {
5974
+ throw invalidWsMessage(type, field);
5975
+ }
5976
+ }
5963
5977
  function assertArrayPayloadField(type, payload, field) {
5964
5978
  if (!Array.isArray(payload[field])) {
5965
5979
  throw invalidWsMessage(type, field);
@@ -6042,6 +6056,24 @@ function validateWSMessageShape(msg) {
6042
6056
  validateRequiredStrings(type, payload, ["ackId", "agentId", "conversationId", "error", "traceId"]);
6043
6057
  return;
6044
6058
  }
6059
+ case "directory:register": {
6060
+ assertPayloadRecord(type, payload);
6061
+ validateRequiredStrings(type, payload, ["handle", "viaChild", "traceId"]);
6062
+ assertStringPayloadOneOf(type, payload, "op", ["add", "remove", "move"]);
6063
+ return;
6064
+ }
6065
+ case "directory:resolve": {
6066
+ assertPayloadRecord(type, payload);
6067
+ validateRequiredStrings(type, payload, ["handle", "fromNode", "traceId"]);
6068
+ assertOptionalNumberPayloadField(type, payload, "hop");
6069
+ return;
6070
+ }
6071
+ case "directory:resolve_result": {
6072
+ assertPayloadRecord(type, payload);
6073
+ validateRequiredStrings(type, payload, ["handle", "traceId"]);
6074
+ assertNullableStringPayloadField(type, payload, "canonicalAddress");
6075
+ return;
6076
+ }
6045
6077
  default:
6046
6078
  return;
6047
6079
  }
@@ -7609,60 +7641,6 @@ var readpageScrapeTool = {
7609
7641
  enabled: true,
7610
7642
  permissionPolicy: "always_allow"
7611
7643
  };
7612
- var seedreamGenerateImageTool = {
7613
- name: "generate_image",
7614
- displayName: "Seedream \u751F\u56FE",
7615
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u751F\u6210\u5355\u5F20\u56FE\u7247\uFF0C\u652F\u6301\u6587\u672C\u751F\u56FE\u4E0E\u53C2\u8003\u56FE\u751F\u56FE\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
7616
- category: "media",
7617
- riskLevel: "medium",
7618
- enabled: true,
7619
- permissionPolicy: "always_ask"
7620
- };
7621
- var seedreamEditImageTool = {
7622
- name: "edit_image",
7623
- displayName: "Seedream \u6539\u56FE",
7624
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedream \u6839\u636E\u53C2\u8003\u56FE\u548C\u63D0\u793A\u8BCD\u7F16\u8F91\u6216\u91CD\u7ED8\u5355\u5F20\u56FE\u7247\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002",
7625
- category: "media",
7626
- riskLevel: "medium",
7627
- enabled: true,
7628
- permissionPolicy: "always_ask"
7629
- };
7630
- var seedreamGenerateImageGroupTool = {
7631
- name: "generate_image_group",
7632
- displayName: "Seedream \u5355\u56FE",
7633
- description: "\u517C\u5BB9\u65E7\u540D\u79F0\u7684 Seedream \u5355\u56FE\u751F\u6210\u5DE5\u5177\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u5F20\u56FE\u7247\u3002",
7634
- category: "media",
7635
- riskLevel: "medium",
7636
- enabled: true,
7637
- permissionPolicy: "always_ask"
7638
- };
7639
- var seedanceUsageGuideTool = {
7640
- name: "seedance_usage_guide",
7641
- displayName: "Seedance \u4F7F\u7528\u8BF4\u660E",
7642
- description: "\u67E5\u770B Seedance \u89C6\u9891\u751F\u6210\u6D41\u7A0B\u4E0E\u53C2\u6570\u8BF4\u660E\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
7643
- category: "media",
7644
- riskLevel: "low",
7645
- enabled: true,
7646
- permissionPolicy: "always_allow"
7647
- };
7648
- var seedanceCreateTaskTool = {
7649
- name: "seedance_create_task",
7650
- displayName: "Seedance \u751F\u89C6\u9891",
7651
- description: "\u4F7F\u7528\u706B\u5C71\u65B9\u821F Seedance \u521B\u5EFA\u5355\u4E2A\u89C6\u9891\u751F\u6210\u4EFB\u52A1\uFF0C\u4F1A\u4EA7\u751F\u516C\u53F8 Ark \u8D26\u53F7\u7528\u91CF\u3002\u5F53\u524D\u6BCF\u6B21\u8BF7\u6C42\u53EA\u751F\u6210 1 \u4E2A\u89C6\u9891\u3002",
7652
- category: "media",
7653
- riskLevel: "high",
7654
- enabled: true,
7655
- permissionPolicy: "always_ask"
7656
- };
7657
- var seedanceCheckTaskTool = {
7658
- name: "seedance_check_task",
7659
- displayName: "Seedance \u67E5\u7ED3\u679C",
7660
- description: "\u67E5\u8BE2 Seedance \u89C6\u9891\u751F\u6210\u4EFB\u52A1\u72B6\u6001\u4E0E\u89C6\u9891 URL\uFF0C\u4E0D\u521B\u5EFA\u65B0\u7684\u751F\u6210\u4EFB\u52A1\u3002",
7661
- category: "media",
7662
- riskLevel: "low",
7663
- enabled: true,
7664
- permissionPolicy: "always_allow"
7665
- };
7666
7644
  var context7ResolveLibraryTool = {
7667
7645
  name: "resolve-library-id",
7668
7646
  displayName: "\u89E3\u6790\u6587\u6863\u5E93",
@@ -7969,56 +7947,8 @@ var ALIYUN_IQS_MCP_PROVIDERS = [
7969
7947
  tools: [readpageBasicTool, readpageScrapeTool]
7970
7948
  }
7971
7949
  ];
7972
- var VOLCENGINE_SEEDREAM_MCP_PROVIDER = {
7973
- providerId: "volcengine_seedream",
7974
- name: "Volcengine Seedream",
7975
- summary: "\u706B\u5C71\u65B9\u821F Seedream \u56FE\u7247\u751F\u6210/\u7F16\u8F91 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
7976
- serverName: "seedream",
7977
- transport: "stdio",
7978
- url: null,
7979
- command: "ahchat-builtin",
7980
- args: ["seedream-mcp"],
7981
- env: {
7982
- ARK_API_KEY: "",
7983
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
7984
- },
7985
- authType: "x_api_key",
7986
- customHeaders: [],
7987
- enabled: true,
7988
- alwaysLoad: true,
7989
- tools: [
7990
- seedreamGenerateImageTool,
7991
- seedreamEditImageTool,
7992
- seedreamGenerateImageGroupTool
7993
- ]
7994
- };
7995
- var VOLCENGINE_SEEDANCE_MCP_PROVIDER = {
7996
- providerId: "volcengine_seedance",
7997
- name: "Volcengine Seedance",
7998
- summary: "\u706B\u5C71\u65B9\u821F Seedance \u89C6\u9891\u751F\u6210 MCP\uFF0C\u4F7F\u7528\u516C\u53F8\u7EDF\u4E00 Ark Key\uFF0C\u5E76\u8FDB\u5165 AHChat \u8C03\u7528\u5BA1\u8BA1\u3002",
7999
- serverName: "seedance",
8000
- transport: "stdio",
8001
- url: null,
8002
- command: "ahchat-builtin",
8003
- args: ["seedance-mcp"],
8004
- env: {
8005
- ARK_API_KEY: "",
8006
- ARK_BASE_URL: "https://ark.cn-beijing.volces.com/api/v3"
8007
- },
8008
- authType: "x_api_key",
8009
- customHeaders: [],
8010
- enabled: true,
8011
- alwaysLoad: true,
8012
- tools: [
8013
- seedanceUsageGuideTool,
8014
- seedanceCreateTaskTool,
8015
- seedanceCheckTaskTool
8016
- ]
8017
- };
8018
7950
  var OFFICIAL_MCP_PROVIDERS = [
8019
- ...ALIYUN_IQS_MCP_PROVIDERS,
8020
- VOLCENGINE_SEEDANCE_MCP_PROVIDER,
8021
- VOLCENGINE_SEEDREAM_MCP_PROVIDER
7951
+ ...ALIYUN_IQS_MCP_PROVIDERS
8022
7952
  ];
8023
7953
  var MCP_STORE_PROVIDERS = [
8024
7954
  {
@@ -27934,7 +27864,11 @@ function parseJsonRecord(text) {
27934
27864
  try {
27935
27865
  const parsed = JSON.parse(text);
27936
27866
  return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
27937
- } catch {
27867
+ } catch (error51) {
27868
+ logger10.warn("SDK tool result output was not JSON", {
27869
+ error: error51,
27870
+ outputLength: text.length
27871
+ });
27938
27872
  return null;
27939
27873
  }
27940
27874
  }
@@ -28650,8 +28584,9 @@ function mapSDKMessage(proc, message, rawEmit, sessionStore, onCompleted, onProv
28650
28584
  if (proc.accumulatedToolInput.length > 0) {
28651
28585
  try {
28652
28586
  parsedInput = JSON.parse(proc.accumulatedToolInput);
28653
- } catch {
28587
+ } catch (error51) {
28654
28588
  logger10.warn("Failed to parse tool input JSON", {
28589
+ error: error51,
28655
28590
  agentId: proc.agentId,
28656
28591
  toolName: proc.currentToolName,
28657
28592
  inputLen: proc.accumulatedToolInput.length,
@@ -28823,7 +28758,6 @@ function mapSDKMessage(proc, message, rawEmit, sessionStore, onCompleted, onProv
28823
28758
  }
28824
28759
  if (isSuccessfulOfficialMediaOutput(toolName, output)) {
28825
28760
  proc.officialMediaGenerationSatisfied = true;
28826
- proc.officialMediaSessionRecycleRequested = true;
28827
28761
  }
28828
28762
  if (isAskUserQuestionToolName(toolName)) {
28829
28763
  proc.currentToolName = null;
@@ -34555,7 +34489,7 @@ var HttpMcpRegistry = class {
34555
34489
  usedNames.add(serverName);
34556
34490
  mcpServers[serverName] = sdkConfig;
34557
34491
  for (const tool2 of connection.tools) {
34558
- if (!tool2.enabled || tool2.permissionPolicy === "always_deny") continue;
34492
+ if (!tool2.enabled || tool2.permissionPolicy !== "always_allow") continue;
34559
34493
  allowedTools.push(mcpRuntimeToolName(serverName, tool2.name));
34560
34494
  }
34561
34495
  }