@cicctencent/agent-core 0.1.70 → 0.1.73

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.
Files changed (151) hide show
  1. package/dist/cjs/a2a/client.d.ts +39 -11
  2. package/dist/cjs/a2a/client.d.ts.map +1 -1
  3. package/dist/cjs/a2a/client.js +69 -22
  4. package/dist/cjs/a2a/client.js.map +1 -1
  5. package/dist/cjs/a2a/rest-client.d.ts +35 -9
  6. package/dist/cjs/a2a/rest-client.d.ts.map +1 -1
  7. package/dist/cjs/a2a/rest-client.js +65 -18
  8. package/dist/cjs/a2a/rest-client.js.map +1 -1
  9. package/dist/cjs/a2a/rest-runner.d.ts +6 -0
  10. package/dist/cjs/a2a/rest-runner.d.ts.map +1 -1
  11. package/dist/cjs/a2a/rest-runner.js +19 -7
  12. package/dist/cjs/a2a/rest-runner.js.map +1 -1
  13. package/dist/cjs/a2a/runner.d.ts +6 -0
  14. package/dist/cjs/a2a/runner.d.ts.map +1 -1
  15. package/dist/cjs/a2a/runner.js +24 -7
  16. package/dist/cjs/a2a/runner.js.map +1 -1
  17. package/dist/cjs/index.d.ts +5 -2
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/index.js +15 -10
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/interaction/service.d.ts +14 -0
  22. package/dist/cjs/interaction/service.d.ts.map +1 -1
  23. package/dist/cjs/interaction/service.js +114 -31
  24. package/dist/cjs/interaction/service.js.map +1 -1
  25. package/dist/cjs/interaction/store.d.ts +1 -0
  26. package/dist/cjs/interaction/store.d.ts.map +1 -1
  27. package/dist/cjs/interaction/store.js +10 -0
  28. package/dist/cjs/interaction/store.js.map +1 -1
  29. package/dist/cjs/interaction/types.d.ts +5 -1
  30. package/dist/cjs/interaction/types.d.ts.map +1 -1
  31. package/dist/cjs/interaction/types.js.map +1 -1
  32. package/dist/cjs/llm/debug.d.ts.map +1 -1
  33. package/dist/cjs/llm/debug.js +4 -1
  34. package/dist/cjs/llm/debug.js.map +1 -1
  35. package/dist/cjs/mcp/base-client.d.ts +19 -4
  36. package/dist/cjs/mcp/base-client.d.ts.map +1 -1
  37. package/dist/cjs/mcp/base-client.js +28 -8
  38. package/dist/cjs/mcp/base-client.js.map +1 -1
  39. package/dist/cjs/mcp/http-client.d.ts +5 -5
  40. package/dist/cjs/mcp/http-client.d.ts.map +1 -1
  41. package/dist/cjs/mcp/http-client.js +26 -21
  42. package/dist/cjs/mcp/http-client.js.map +1 -1
  43. package/dist/cjs/mcp/proxy-agent.d.ts +2 -50
  44. package/dist/cjs/mcp/proxy-agent.d.ts.map +1 -1
  45. package/dist/cjs/mcp/proxy-agent.js +12 -174
  46. package/dist/cjs/mcp/proxy-agent.js.map +1 -1
  47. package/dist/cjs/mcp/stdio-client.d.ts +1 -1
  48. package/dist/cjs/mcp/stdio-client.d.ts.map +1 -1
  49. package/dist/cjs/mcp/stdio-client.js +1 -1
  50. package/dist/cjs/mcp/stdio-client.js.map +1 -1
  51. package/dist/cjs/mcp/types.d.ts +8 -2
  52. package/dist/cjs/mcp/types.d.ts.map +1 -1
  53. package/dist/cjs/tool/ask-user.d.ts.map +1 -1
  54. package/dist/cjs/tool/ask-user.js +2 -0
  55. package/dist/cjs/tool/ask-user.js.map +1 -1
  56. package/dist/cjs/tool/delegate.d.ts +12 -1
  57. package/dist/cjs/tool/delegate.d.ts.map +1 -1
  58. package/dist/cjs/tool/delegate.js +21 -5
  59. package/dist/cjs/tool/delegate.js.map +1 -1
  60. package/dist/cjs/utils/header-vars.d.ts +18 -0
  61. package/dist/cjs/utils/header-vars.d.ts.map +1 -0
  62. package/dist/cjs/utils/header-vars.js +71 -0
  63. package/dist/cjs/utils/header-vars.js.map +1 -0
  64. package/dist/cjs/utils/proxy-agent.d.ts +53 -0
  65. package/dist/cjs/utils/proxy-agent.d.ts.map +1 -0
  66. package/dist/cjs/utils/proxy-agent.js +154 -0
  67. package/dist/cjs/utils/proxy-agent.js.map +1 -0
  68. package/dist/cjs/utils/proxy.d.ts +53 -0
  69. package/dist/cjs/utils/proxy.d.ts.map +1 -0
  70. package/dist/cjs/utils/proxy.js +148 -0
  71. package/dist/cjs/utils/proxy.js.map +1 -0
  72. package/dist/cjs/utils/system-proxy.d.ts +15 -0
  73. package/dist/cjs/utils/system-proxy.d.ts.map +1 -0
  74. package/dist/cjs/utils/system-proxy.js +133 -0
  75. package/dist/cjs/utils/system-proxy.js.map +1 -0
  76. package/dist/esm/a2a/client.d.ts +39 -11
  77. package/dist/esm/a2a/client.d.ts.map +1 -1
  78. package/dist/esm/a2a/client.js +69 -22
  79. package/dist/esm/a2a/client.js.map +1 -1
  80. package/dist/esm/a2a/rest-client.d.ts +35 -9
  81. package/dist/esm/a2a/rest-client.d.ts.map +1 -1
  82. package/dist/esm/a2a/rest-client.js +65 -18
  83. package/dist/esm/a2a/rest-client.js.map +1 -1
  84. package/dist/esm/a2a/rest-runner.d.ts +6 -0
  85. package/dist/esm/a2a/rest-runner.d.ts.map +1 -1
  86. package/dist/esm/a2a/rest-runner.js +19 -7
  87. package/dist/esm/a2a/rest-runner.js.map +1 -1
  88. package/dist/esm/a2a/runner.d.ts +6 -0
  89. package/dist/esm/a2a/runner.d.ts.map +1 -1
  90. package/dist/esm/a2a/runner.js +24 -7
  91. package/dist/esm/a2a/runner.js.map +1 -1
  92. package/dist/esm/index.d.ts +5 -2
  93. package/dist/esm/index.d.ts.map +1 -1
  94. package/dist/esm/index.js +3 -1
  95. package/dist/esm/index.js.map +1 -1
  96. package/dist/esm/interaction/service.d.ts +14 -0
  97. package/dist/esm/interaction/service.d.ts.map +1 -1
  98. package/dist/esm/interaction/service.js +114 -31
  99. package/dist/esm/interaction/service.js.map +1 -1
  100. package/dist/esm/interaction/store.d.ts +1 -0
  101. package/dist/esm/interaction/store.d.ts.map +1 -1
  102. package/dist/esm/interaction/store.js +10 -0
  103. package/dist/esm/interaction/store.js.map +1 -1
  104. package/dist/esm/interaction/types.d.ts +5 -1
  105. package/dist/esm/interaction/types.d.ts.map +1 -1
  106. package/dist/esm/interaction/types.js.map +1 -1
  107. package/dist/esm/llm/debug.d.ts.map +1 -1
  108. package/dist/esm/llm/debug.js +4 -1
  109. package/dist/esm/llm/debug.js.map +1 -1
  110. package/dist/esm/mcp/base-client.d.ts +19 -4
  111. package/dist/esm/mcp/base-client.d.ts.map +1 -1
  112. package/dist/esm/mcp/base-client.js +28 -8
  113. package/dist/esm/mcp/base-client.js.map +1 -1
  114. package/dist/esm/mcp/http-client.d.ts +5 -5
  115. package/dist/esm/mcp/http-client.d.ts.map +1 -1
  116. package/dist/esm/mcp/http-client.js +25 -20
  117. package/dist/esm/mcp/http-client.js.map +1 -1
  118. package/dist/esm/mcp/proxy-agent.d.ts +2 -50
  119. package/dist/esm/mcp/proxy-agent.d.ts.map +1 -1
  120. package/dist/esm/mcp/proxy-agent.js +7 -168
  121. package/dist/esm/mcp/proxy-agent.js.map +1 -1
  122. package/dist/esm/mcp/stdio-client.d.ts +1 -1
  123. package/dist/esm/mcp/stdio-client.d.ts.map +1 -1
  124. package/dist/esm/mcp/stdio-client.js +1 -1
  125. package/dist/esm/mcp/stdio-client.js.map +1 -1
  126. package/dist/esm/mcp/types.d.ts +8 -2
  127. package/dist/esm/mcp/types.d.ts.map +1 -1
  128. package/dist/esm/tool/ask-user.d.ts.map +1 -1
  129. package/dist/esm/tool/ask-user.js +2 -0
  130. package/dist/esm/tool/ask-user.js.map +1 -1
  131. package/dist/esm/tool/delegate.d.ts +12 -1
  132. package/dist/esm/tool/delegate.d.ts.map +1 -1
  133. package/dist/esm/tool/delegate.js +21 -5
  134. package/dist/esm/tool/delegate.js.map +1 -1
  135. package/dist/esm/utils/header-vars.d.ts +18 -0
  136. package/dist/esm/utils/header-vars.d.ts.map +1 -0
  137. package/dist/esm/utils/header-vars.js +65 -0
  138. package/dist/esm/utils/header-vars.js.map +1 -0
  139. package/dist/esm/utils/proxy-agent.d.ts +53 -0
  140. package/dist/esm/utils/proxy-agent.d.ts.map +1 -0
  141. package/dist/esm/utils/proxy-agent.js +115 -0
  142. package/dist/esm/utils/proxy-agent.js.map +1 -0
  143. package/dist/esm/utils/proxy.d.ts +53 -0
  144. package/dist/esm/utils/proxy.d.ts.map +1 -0
  145. package/dist/esm/utils/proxy.js +109 -0
  146. package/dist/esm/utils/proxy.js.map +1 -0
  147. package/dist/esm/utils/system-proxy.d.ts +15 -0
  148. package/dist/esm/utils/system-proxy.d.ts.map +1 -0
  149. package/dist/esm/utils/system-proxy.js +128 -0
  150. package/dist/esm/utils/system-proxy.js.map +1 -0
  151. package/package.json +1 -1
@@ -10,7 +10,7 @@ export declare class StdioMCPClient extends MCPClientBase {
10
10
  id: number;
11
11
  method: string;
12
12
  params?: Record<string, unknown>;
13
- }): void;
13
+ }, _vars?: Record<string, unknown>): void;
14
14
  private flushBuffer;
15
15
  }
16
16
  //# sourceMappingURL=stdio-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdio-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;cACJ,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAiChH,OAAO,CAAC,WAAW;CAkBpB"}
1
+ {"version":3,"file":"stdio-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;cACJ,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiCjJ,OAAO,CAAC,WAAW;CAkBpB"}
@@ -89,7 +89,7 @@ class StdioMCPClient extends base_client_ts_1.MCPClientBase {
89
89
  }
90
90
  this.buffer = '';
91
91
  }
92
- send(request) {
92
+ send(request, _vars) {
93
93
  if (!this.process?.stdin?.writable) {
94
94
  this.emitDebugTrace({
95
95
  step: request.method,
@@ -1 +1 @@
1
- {"version":3,"file":"stdio-client.js","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio-client.js","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ToolDefinition } from '../tool/types.js';
2
- import type { ProxyCategoryConfig } from './proxy-agent.js';
2
+ import type { ProxyCategoryConfig } from '../utils/proxy.js';
3
3
  import type { AgentDebugTraceHandler } from '../a2a/client.js';
4
4
  export type MCPTransport = 'stdio' | 'http' | 'sse' | 'streamableHttp' | (string & {});
5
5
  export interface MCPServerConfig {
@@ -37,6 +37,12 @@ export interface MCPServerConfig {
37
37
  proxyCategory?: ProxyCategoryConfig;
38
38
  /** 扩展配置(自定义 transport 的专属数据统一放在此处) */
39
39
  extra?: Record<string, unknown>;
40
+ /**
41
+ * 运行时变量(如 { userId, userMail })。
42
+ * 注入到 headers / auth 的模板占位符中(${vars.x})。
43
+ * 也可在调用 callTool(name, args, vars) 时按需覆盖。
44
+ */
45
+ vars?: Record<string, unknown>;
40
46
  /** 调试 trace 回调;未传时保持原始执行流程 */
41
47
  onDebugTrace?: AgentDebugTraceHandler;
42
48
  }
@@ -46,7 +52,7 @@ export interface MCPClient {
46
52
  /** 发现远程工具列表 */
47
53
  listTools(): Promise<ToolDefinition[]>;
48
54
  /** 调用远程工具 */
49
- callTool(name: string, args: Record<string, unknown>): Promise<string>;
55
+ callTool(name: string, args: Record<string, unknown>, vars?: Record<string, unknown>): Promise<string>;
50
56
  /** 发现远程资源列表(可选能力) */
51
57
  listResources?(): Promise<Array<{
52
58
  uri: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8BAA8B;IAC9B,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAID,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,eAAe;IACf,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvC,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE,qBAAqB;IACrB,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEtF,mBAAmB;IACnB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,WAAW;IACX,UAAU,IAAI,IAAI,CAAC;IAEnB,WAAW;IACX,WAAW,IAAI,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAID,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,eAAe;IACf,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvC,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvG,qBAAqB;IACrB,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEtF,mBAAmB;IACnB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,WAAW;IACX,UAAU,IAAI,IAAI,CAAC;IAEnB,WAAW;IACX,WAAW,IAAI,OAAO,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAqB,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAErG,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,iBAAiB;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,cA2CtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,cAAc,CAuFxF"}
1
+ {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAqB,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAErG,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,iBAAiB;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,cA2CtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,cAAc,CAyFxF"}
@@ -80,6 +80,7 @@ function createAskUserTool(interactionService) {
80
80
  try {
81
81
  const answer = await interactionService.requestInteraction({
82
82
  sessionId: ctx.sessionId,
83
+ threadId: ctx.custom?.threadId,
83
84
  parentToolCallId: ctx.currentToolCallId,
84
85
  source: 'tool',
85
86
  type: typedArgs.type,
@@ -87,6 +88,7 @@ function createAskUserTool(interactionService) {
87
88
  message: typedArgs.message,
88
89
  options: options.length > 0 ? options : undefined,
89
90
  allowFreeText: typedArgs.allowFreeText ?? false,
91
+ abortSignal: ctx.abortSignal,
90
92
  emit: (request) => {
91
93
  const emitFn = ctx.custom?.emitInteractionRequest;
92
94
  emitFn?.({
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ import type { StructuredAgentOutput, WorkflowRole } from '../agent/workflow.js';
7
7
  export interface SubAgentRunOptions {
8
8
  role?: WorkflowRole | string;
9
9
  structured?: boolean;
10
+ /**
11
+ * 流式输出回调:每次子 Agent 产生新内容时调用,传入累积内容。
12
+ * 用于超时场景下保留部分结果。若设置了超时,executor 会自动传入此回调。
13
+ */
14
+ onPartial?: (content: string) => void;
10
15
  }
11
16
  export interface SubAgentRunResult {
12
17
  content: string;
@@ -35,6 +40,11 @@ export interface SubAgentRunner {
35
40
  keywords?: string[];
36
41
  /** 排他性范围:当用户意图落在此范围内时,此 Agent 可独立完成任务,无需调用其他 Agent */
37
42
  exclusiveScope?: string[];
43
+ /**
44
+ * 该子 Agent 的委派超时时间(毫秒)。
45
+ * 若设置,则覆盖 createDelegateTool 传入的全局 timeoutMs;不设置时回退到全局超时。
46
+ */
47
+ timeoutMs?: number;
38
48
  /** 动态输入字段元数据,供 delegate_task 生成 LLM 引导文案(仅多字段场景填充) */
39
49
  inputFields?: SubAgentInputField[];
40
50
  /** 执行子任务,返回结果文本或结构化结果 */
@@ -56,7 +66,8 @@ export interface SubAgentInputField {
56
66
  *
57
67
  * @param runners 可用的子 Agent 列表(由上层注入)
58
68
  * @param options 可选配置
59
- * - timeoutMs: 单次委派超时时间(毫秒),超时后返回错误信息。默认不限制。
69
+ * - timeoutMs: 全局委派超时时间(毫秒),作为所有 runner 的默认超时;
70
+ * 若某个 runner 自身设置了 timeoutMs,则其覆盖该全局值。超时后返回错误信息。默认不限制。
60
71
  */
61
72
  export declare function createDelegateTool(runners: SubAgentRunner[], options?: {
62
73
  timeoutMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,yBAAyB;IACzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrG;AAED,uBAAuB;AACvB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,cAAc,GAAG,IAAI,CAmHvB"}
1
+ {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,yBAAyB;IACzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrG;AAED,uBAAuB;AACvB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,cAAc,GAAG,IAAI,CAiIvB"}
@@ -13,7 +13,8 @@ exports.createDelegateTool = createDelegateTool;
13
13
  *
14
14
  * @param runners 可用的子 Agent 列表(由上层注入)
15
15
  * @param options 可选配置
16
- * - timeoutMs: 单次委派超时时间(毫秒),超时后返回错误信息。默认不限制。
16
+ * - timeoutMs: 全局委派超时时间(毫秒),作为所有 runner 的默认超时;
17
+ * 若某个 runner 自身设置了 timeoutMs,则其覆盖该全局值。超时后返回错误信息。默认不限制。
17
18
  */
18
19
  function createDelegateTool(runners, options) {
19
20
  const timeoutMs = options?.timeoutMs;
@@ -80,16 +81,31 @@ function createDelegateTool(runners, options) {
80
81
  const startTime = Date.now();
81
82
  console.log(`[delegate_task] 委派 → '${agentName}': taskLength=${task.length}, hasCtx=${!!ctx}, structured=${structured}${role ? `, role=${role}` : ''}`);
82
83
  try {
83
- const runPromise = runner.run(task, ctx, { role, structured });
84
- const result = timeoutMs
84
+ // 优先使用 runner 自身的超时,回退到全局 timeoutMs
85
+ const effectiveTimeout = runner.timeoutMs ?? timeoutMs;
86
+ let lastPartialContent = '';
87
+ const runPromise = runner.run(task, ctx, {
88
+ role, structured,
89
+ onPartial: effectiveTimeout ? (c) => { lastPartialContent = c; } : undefined,
90
+ });
91
+ const result = effectiveTimeout
85
92
  ? await Promise.race([
86
93
  runPromise,
87
- new Promise((_, reject) => setTimeout(() => reject(new Error(`delegate_task timeout after ${timeoutMs}ms`)), timeoutMs)),
94
+ new Promise((resolve) => setTimeout(() => {
95
+ if (lastPartialContent) {
96
+ console.log(`[delegate_task] '${agentName}' 超时,返回部分结果: ${lastPartialContent.length} chars`);
97
+ resolve(`[${agentName}] delegate_task timeout after ${effectiveTimeout}ms. Partial result:\n${lastPartialContent}`);
98
+ }
99
+ else {
100
+ resolve(`Error delegating to ${agentName}: delegate_task timeout after ${effectiveTimeout}ms`);
101
+ }
102
+ }, effectiveTimeout)),
88
103
  ])
89
104
  : await runPromise;
90
105
  const elapsed = Date.now() - startTime;
91
106
  if (typeof result === 'string') {
92
- console.log(`[delegate_task] '${agentName}' 完成: elapsed=${elapsed}ms, resultLength=${result.length}`);
107
+ const isTimeout = result.includes('delegate_task timeout');
108
+ console.log(`[delegate_task] ${isTimeout ? '⏱' : '✓'} '${agentName}' ${isTimeout ? '超时(含部分结果)' : '完成'}: elapsed=${elapsed}ms, resultLength=${result.length}`);
93
109
  return result;
94
110
  }
95
111
  // SubAgentRunResult: 结构化结果
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;;AAoE/D,gDAsHC;AAjID;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,OAAyB,EACzB,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,0BAA0B;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,OAAO;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,23CAA23C,iBAAiB,EAAE;gBAC35C,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mDAAmD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACzF,IAAI,EAAE,YAAY;yBACnB;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yhBAAyhB;yBACviB;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gIAAgI;4BAC7I,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC;yBAC5F;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,kHAAkH;yBAChI;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBAC5B;aACF;SACF;QACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAmB,EAAE;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAe,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAyC,CAAC;YAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;YAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpG,OAAO,iBAAiB,SAAS,kCAAkC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/F,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,iBAAiB,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC,GAAG,gBAAgB,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAExJ,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,SAAS;oBACtB,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjB,UAAU;wBACV,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAC7F;qBACF,CAAC;oBACJ,CAAC,CAAC,MAAM,UAAU,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAEvC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,iBAAiB,OAAO,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxG,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAE7C,wCAAwC;gBACxC,IAAI,YAAY,GAAG,OAAO,IAAI,cAAc,IAAI,EAAE,CAAC;gBAEnD,sBAAsB;gBACtB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;wBACtC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACX,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,YAAY,EAAE,CAAC;wBACjB,YAAY,IAAI,2BAA2B,YAAY,EAAE,CAAC;oBAC5D,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,IAAI,SAAS,YAAY,YAAY,EAAE,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,iBAAiB,OAAO,oBAAoB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrK,OAAO,YAAY,IAAI,IAAI,SAAS,6BAA6B,CAAC;YACpE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEpD,OAAO,CAAC,KAAK,CAAC,sBAAsB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,OAAO,cAAc,GAAG,EAAE,OAAO,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxN,OAAO,uBAAuB,SAAS,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YACnE,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI,EAAG,iCAAiC;QACpD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** 变量集合(运行时由上层业务传入,如 { userId, userMail }) */
2
+ export type HeaderVars = Record<string, unknown>;
3
+ /** 将单个字符串中的占位符替换为实际变量 */
4
+ export declare function interpolateString(value: string, vars?: HeaderVars): string;
5
+ /**
6
+ * 递归对任意 JSON 值进行变量插值(深拷贝,不改原对象)。
7
+ * - string 叶子:替换 ${vars.x} / ${env.x} / ${x} 占位符
8
+ * - object / array:递归处理每个元素
9
+ * - 其他类型(number/boolean/null 等):原样返回
10
+ *
11
+ * 用于请求体静态参数的变量注入(与 header 插值共用同一套占位符语法)。
12
+ */
13
+ export declare function interpolateValue<T>(value: T, vars?: HeaderVars): T;
14
+ /** 将单个 header 值中的占位符替换为实际变量(兼容旧 API,等价于 interpolateString) */
15
+ export declare function interpolateHeaderValue(value: string, vars?: HeaderVars): string;
16
+ /** 解析一组 header 模板(值可含 ${vars.x} / ${env.x} 占位符) */
17
+ export declare function resolveHeaderTemplates(headers: Record<string, string> | undefined, vars?: HeaderVars): Record<string, string>;
18
+ //# sourceMappingURL=header-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-vars.d.ts","sourceRoot":"","sources":["../../../src/utils/header-vars.ts"],"names":[],"mappings":"AAWA,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKjD,yBAAyB;AACzB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAW1E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,CAAC,CAYlE;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAE/E;AAED,mDAAmD;AACnD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // vars-interpolator - 请求变量插值(header 值 / 请求体参数通用)
4
+ //
5
+ // 占位符语法:
6
+ // ${vars.<name>} 从调用时传入的 vars 对象读取(运行时变量优先)
7
+ // ${env.<name>} 从 process.env 读取(兼容既有 auth 行为)
8
+ // ${<name>} 简写,等价于 ${vars.<name>}
9
+ //
10
+ // 未匹配到变量时替换为空字符串;非字符串值统一 String() 处理。
11
+ // ============================================================
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.interpolateString = interpolateString;
14
+ exports.interpolateValue = interpolateValue;
15
+ exports.interpolateHeaderValue = interpolateHeaderValue;
16
+ exports.resolveHeaderTemplates = resolveHeaderTemplates;
17
+ /** 占位符匹配:${vars.x} / ${env.x} / ${x} */
18
+ const VAR_PATTERN = /\$\{(?:vars\.|env\.)?(\w+)\}/g;
19
+ /** 将单个字符串中的占位符替换为实际变量 */
20
+ function interpolateString(value, vars) {
21
+ if (typeof value !== 'string')
22
+ return value;
23
+ return value.replace(VAR_PATTERN, (_match, name) => {
24
+ if (vars && Object.prototype.hasOwnProperty.call(vars, name) && vars[name] !== undefined) {
25
+ return String(vars[name]);
26
+ }
27
+ if (process.env[name] !== undefined) {
28
+ return process.env[name];
29
+ }
30
+ return '';
31
+ });
32
+ }
33
+ /**
34
+ * 递归对任意 JSON 值进行变量插值(深拷贝,不改原对象)。
35
+ * - string 叶子:替换 ${vars.x} / ${env.x} / ${x} 占位符
36
+ * - object / array:递归处理每个元素
37
+ * - 其他类型(number/boolean/null 等):原样返回
38
+ *
39
+ * 用于请求体静态参数的变量注入(与 header 插值共用同一套占位符语法)。
40
+ */
41
+ function interpolateValue(value, vars) {
42
+ if (value == null)
43
+ return value;
44
+ if (typeof value === 'string')
45
+ return interpolateString(value, vars);
46
+ if (Array.isArray(value))
47
+ return value.map((v) => interpolateValue(v, vars));
48
+ if (typeof value === 'object') {
49
+ const result = {};
50
+ for (const [k, v] of Object.entries(value)) {
51
+ result[k] = interpolateValue(v, vars);
52
+ }
53
+ return result;
54
+ }
55
+ return value;
56
+ }
57
+ /** 将单个 header 值中的占位符替换为实际变量(兼容旧 API,等价于 interpolateString) */
58
+ function interpolateHeaderValue(value, vars) {
59
+ return interpolateString(value, vars);
60
+ }
61
+ /** 解析一组 header 模板(值可含 ${vars.x} / ${env.x} 占位符) */
62
+ function resolveHeaderTemplates(headers, vars) {
63
+ if (!headers)
64
+ return {};
65
+ const result = {};
66
+ for (const [key, raw] of Object.entries(headers)) {
67
+ result[key] = interpolateString(raw, vars);
68
+ }
69
+ return result;
70
+ }
71
+ //# sourceMappingURL=header-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-vars.js","sourceRoot":"","sources":["../../../src/utils/header-vars.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,iDAAiD;AACjD,EAAE;AACF,SAAS;AACT,+CAA+C;AAC/C,mDAAmD;AACnD,2CAA2C;AAC3C,EAAE;AACF,sCAAsC;AACtC,+DAA+D;;AAS/D,8CAWC;AAUD,4CAYC;AAGD,wDAEC;AAGD,wDAUC;AAvDD,wCAAwC;AACxC,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAEpD,yBAAyB;AACzB,SAAgB,iBAAiB,CAAC,KAAa,EAAE,IAAiB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAA0B,CAAC;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QACzD,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACzF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAI,KAAQ,EAAE,IAAiB;IAC7D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAiB,CAAC;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAiB,CAAC;IAC7F,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAsB,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8DAA8D;AAC9D,SAAgB,sBAAsB,CAAC,KAAa,EAAE,IAAiB;IACrE,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,mDAAmD;AACnD,SAAgB,sBAAsB,CACpC,OAA2C,EAC3C,IAAiB;IAEjB,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /** ProxyAgent 类型(undici 内置,Node 18+ 可直接 import;用 any 避免未声明依赖的 TS 错误) */
2
+ export type ProxyAgentType = any;
3
+ /** 代理模式:system=系统代理, custom=自定义, direct=直连 */
4
+ export type ProxyMode = 'system' | 'custom' | 'direct';
5
+ /** 单分类代理配置 */
6
+ export interface ProxyCategoryConfig {
7
+ mode: ProxyMode;
8
+ /** mode='custom' 时的代理 URL */
9
+ url?: string;
10
+ }
11
+ /** 分类代理设置(LLM / MCP / Fetch 各自独立) */
12
+ export interface ProxySettings {
13
+ llm: ProxyCategoryConfig;
14
+ mcp: ProxyCategoryConfig;
15
+ fetch: ProxyCategoryConfig;
16
+ }
17
+ /** 默认代理设置:全部分类走系统代理 */
18
+ export declare const DEFAULT_PROXY_SETTINGS: ProxySettings;
19
+ /**
20
+ * 根据分类代理配置解析代理 URL
21
+ *
22
+ * - `mode='system'`:自动检测系统代理(环境变量 + macOS scutil + Windows 注册表)
23
+ * - `mode='custom'`:使用用户指定的代理 URL
24
+ * - `mode='direct'`:不走代理,返回 undefined
25
+ *
26
+ * 返回代理 URL 字符串,需配合 createProxyDispatcher() 使用。
27
+ * 支持 http://、https://、socks4://、socks5:// 协议。
28
+ *
29
+ * @param category 分类代理配置
30
+ * @param label 日志标签(如 'LLM', 'MCP', 'Fetch')
31
+ * @returns 代理 URL 字符串,无代理时返回 undefined
32
+ */
33
+ export declare function resolveProxyAgentForCategory(category?: ProxyCategoryConfig, label?: string): string | undefined;
34
+ /**
35
+ * 根据代理 URL 创建 undici ProxyAgent dispatcher
36
+ *
37
+ * Node.js 原生 fetch() 不支持 RequestInit.proxy 选项,
38
+ * 需通过 dispatcher 传入 undici 的 ProxyAgent 来正确使用代理。
39
+ *
40
+ * 使用动态 import('undici') 避免浏览器环境静态解析失败。
41
+ * 仅在传入 proxyUrl 时才创建 ProxyAgent,无代理时返回 undefined。
42
+ *
43
+ * @param proxyUrl 代理 URL(如 http://127.0.0.1:7890),undefined 时不创建
44
+ * @returns ProxyAgent dispatcher 或 undefined
45
+ */
46
+ export declare function createProxyDispatcher(proxyUrl?: string): Promise<ProxyAgentType | undefined>;
47
+ /**
48
+ * 获取分类代理的有效 URL(用于 axios 等 HTTP 客户端)
49
+ *
50
+ * @returns 代理 URL 字符串,无代理时返回 undefined
51
+ */
52
+ export declare function resolveProxyUrlForCategory(category?: ProxyCategoryConfig): string | undefined;
53
+ //# sourceMappingURL=proxy-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-agent.d.ts","sourceRoot":"","sources":["../../../src/utils/proxy-agent.ts"],"names":[],"mappings":"AAcA,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAIjC,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvD,cAAc;AACd,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,mBAAmB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,uBAAuB;AACvB,eAAO,MAAM,sBAAsB,EAAE,aAIpC,CAAC;AAIF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,KAAK,SAAU,GACd,MAAM,GAAG,SAAS,CA8BpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAYlG;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAY7F"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Proxy Agent — 通用 HTTP/HTTPS/SOCKS 代理解析工具
4
+ // ============================================================
5
+ //
6
+ // 与 utils/system-proxy.ts 的关系:
7
+ // - system-proxy 仅负责「检测系统代理 URL」(环境变量 + macOS scutil + Windows 注册表),
8
+ // 是基础能力、与环境/OS 相关的工具。
9
+ // - proxy-agent 在 system-proxy 之上提供更高层的代理能力:
10
+ // 1. 按分类(LLM / MCP / Fetch)的代理配置解析出最终代理 URL;
11
+ // 2. 将代理 URL 转换为 undici ProxyAgent dispatcher,供 Node fetch 使用。
12
+ // 因此 proxy-agent 依赖 system-proxy,两者同属于 utils 目录下的通用工具。
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
47
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
48
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
49
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
50
+ });
51
+ }
52
+ return path;
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.DEFAULT_PROXY_SETTINGS = void 0;
56
+ exports.resolveProxyAgentForCategory = resolveProxyAgentForCategory;
57
+ exports.createProxyDispatcher = createProxyDispatcher;
58
+ exports.resolveProxyUrlForCategory = resolveProxyUrlForCategory;
59
+ const system_proxy_ts_1 = require("./system-proxy.js");
60
+ /** 默认代理设置:全部分类走系统代理 */
61
+ exports.DEFAULT_PROXY_SETTINGS = {
62
+ llm: { mode: 'system' },
63
+ mcp: { mode: 'system' },
64
+ fetch: { mode: 'system' },
65
+ };
66
+ // ---- Proxy URL 解析 ----
67
+ /**
68
+ * 根据分类代理配置解析代理 URL
69
+ *
70
+ * - `mode='system'`:自动检测系统代理(环境变量 + macOS scutil + Windows 注册表)
71
+ * - `mode='custom'`:使用用户指定的代理 URL
72
+ * - `mode='direct'`:不走代理,返回 undefined
73
+ *
74
+ * 返回代理 URL 字符串,需配合 createProxyDispatcher() 使用。
75
+ * 支持 http://、https://、socks4://、socks5:// 协议。
76
+ *
77
+ * @param category 分类代理配置
78
+ * @param label 日志标签(如 'LLM', 'MCP', 'Fetch')
79
+ * @returns 代理 URL 字符串,无代理时返回 undefined
80
+ */
81
+ function resolveProxyAgentForCategory(category, label = 'Proxy') {
82
+ if (!category)
83
+ return undefined;
84
+ let proxyUrl;
85
+ switch (category.mode) {
86
+ case 'direct':
87
+ console.debug(`[${label}] proxy mode: direct (no proxy)`);
88
+ return undefined;
89
+ case 'custom':
90
+ if (!category.url) {
91
+ console.debug(`[${label}] proxy mode: custom but no URL configured, falling back to direct`);
92
+ return undefined;
93
+ }
94
+ proxyUrl = category.url;
95
+ break;
96
+ case 'system':
97
+ default:
98
+ proxyUrl = (0, system_proxy_ts_1.getSystemProxyUrl)();
99
+ if (!proxyUrl) {
100
+ console.debug(`[${label}] proxy mode: system, no system proxy detected`);
101
+ return undefined;
102
+ }
103
+ break;
104
+ }
105
+ console.debug(`[${label}] using proxy: ${proxyUrl}`);
106
+ return proxyUrl;
107
+ }
108
+ /**
109
+ * 根据代理 URL 创建 undici ProxyAgent dispatcher
110
+ *
111
+ * Node.js 原生 fetch() 不支持 RequestInit.proxy 选项,
112
+ * 需通过 dispatcher 传入 undici 的 ProxyAgent 来正确使用代理。
113
+ *
114
+ * 使用动态 import('undici') 避免浏览器环境静态解析失败。
115
+ * 仅在传入 proxyUrl 时才创建 ProxyAgent,无代理时返回 undefined。
116
+ *
117
+ * @param proxyUrl 代理 URL(如 http://127.0.0.1:7890),undefined 时不创建
118
+ * @returns ProxyAgent dispatcher 或 undefined
119
+ */
120
+ async function createProxyDispatcher(proxyUrl) {
121
+ if (!proxyUrl)
122
+ return undefined;
123
+ try {
124
+ // 动态 import undici(Node 18+ 内置),用变量规避静态模块解析错误
125
+ const modName = 'undici';
126
+ const { ProxyAgent } = await Promise.resolve(`${__rewriteRelativeImportExtension(modName)}`).then(s => __importStar(require(s)));
127
+ if (!ProxyAgent)
128
+ return undefined;
129
+ return new ProxyAgent({ uri: proxyUrl });
130
+ }
131
+ catch {
132
+ console.warn(`[Proxy] Failed to create ProxyAgent for ${proxyUrl}, falling back to direct`);
133
+ return undefined;
134
+ }
135
+ }
136
+ /**
137
+ * 获取分类代理的有效 URL(用于 axios 等 HTTP 客户端)
138
+ *
139
+ * @returns 代理 URL 字符串,无代理时返回 undefined
140
+ */
141
+ function resolveProxyUrlForCategory(category) {
142
+ if (!category)
143
+ return undefined;
144
+ switch (category.mode) {
145
+ case 'direct':
146
+ return undefined;
147
+ case 'custom':
148
+ return category.url || undefined;
149
+ case 'system':
150
+ default:
151
+ return (0, system_proxy_ts_1.getSystemProxyUrl)();
152
+ }
153
+ }
154
+ //# sourceMappingURL=proxy-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-agent.js","sourceRoot":"","sources":["../../../src/utils/proxy-agent.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;AAC/D,EAAE;AACF,+BAA+B;AAC/B,uEAAuE;AACvE,0BAA0B;AAC1B,+CAA+C;AAC/C,mDAAmD;AACnD,qEAAqE;AACrE,yDAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDzD,oEAiCC;AAcD,sDAYC;AAOD,gEAYC;AA7HD,uDAAsD;AAwBtD,uBAAuB;AACV,QAAA,sBAAsB,GAAkB;IACnD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC1B,CAAC;AAEF,yBAAyB;AAEzB;;;;;;;;;;;;;GAaG;AACH,SAAgB,4BAA4B,CAC1C,QAA8B,EAC9B,KAAK,GAAG,OAAO;IAEf,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,QAA4B,CAAC;IAEjC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,iCAAiC,CAAC,CAAC;YAC1D,OAAO,SAAS,CAAC;QAEnB,KAAK,QAAQ;YACX,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,oEAAoE,CAAC,CAAC;gBAC7F,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC;YACxB,MAAM;QAER,KAAK,QAAQ,CAAC;QACd;YACE,QAAQ,GAAG,IAAA,mCAAiB,GAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,gDAAgD,CAAC,CAAC;gBACzE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,qBAAqB,CAAC,QAAiB;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC;QACzB,MAAM,EAAE,UAAU,EAAE,GAAG,0DAAa,OAAO,wCAAQ,CAAC;QACpD,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,2CAA2C,QAAQ,0BAA0B,CAAC,CAAC;QAC5F,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,QAA8B;IACvE,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC;QACnC,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAA,mCAAiB,GAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}