@cicctencent/agent-core 0.1.7 → 0.1.9

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/a2a/client.d.ts +47 -0
  3. package/dist/cjs/a2a/client.d.ts.map +1 -0
  4. package/dist/cjs/a2a/client.js +178 -0
  5. package/dist/cjs/a2a/client.js.map +1 -0
  6. package/dist/cjs/a2a/index.d.ts +5 -0
  7. package/dist/cjs/a2a/index.d.ts.map +1 -0
  8. package/dist/cjs/a2a/index.js +12 -0
  9. package/dist/cjs/a2a/index.js.map +1 -0
  10. package/dist/cjs/a2a/runner.d.ts +34 -0
  11. package/dist/cjs/a2a/runner.d.ts.map +1 -0
  12. package/dist/cjs/a2a/runner.js +148 -0
  13. package/dist/cjs/a2a/runner.js.map +1 -0
  14. package/dist/cjs/a2a/types.d.ts +149 -0
  15. package/dist/cjs/a2a/types.d.ts.map +1 -0
  16. package/dist/cjs/a2a/types.js +8 -0
  17. package/dist/cjs/a2a/types.js.map +1 -0
  18. package/dist/cjs/index.d.ts +3 -0
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +6 -1
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/esm/a2a/client.d.ts +47 -0
  23. package/dist/esm/a2a/client.d.ts.map +1 -0
  24. package/dist/esm/a2a/client.js +174 -0
  25. package/dist/esm/a2a/client.js.map +1 -0
  26. package/dist/esm/a2a/index.d.ts +5 -0
  27. package/dist/esm/a2a/index.d.ts.map +1 -0
  28. package/dist/esm/a2a/index.js +6 -0
  29. package/dist/esm/a2a/index.js.map +1 -0
  30. package/dist/esm/a2a/runner.d.ts +34 -0
  31. package/dist/esm/a2a/runner.d.ts.map +1 -0
  32. package/dist/esm/a2a/runner.js +144 -0
  33. package/dist/esm/a2a/runner.js.map +1 -0
  34. package/dist/esm/a2a/types.d.ts +149 -0
  35. package/dist/esm/a2a/types.d.ts.map +1 -0
  36. package/dist/esm/a2a/types.js +7 -0
  37. package/dist/esm/a2a/types.js.map +1 -0
  38. package/dist/esm/index.d.ts +3 -0
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +2 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,gCAAgC,EAChC,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/K,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG5G,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,SAAS,EACT,eAAe,EACf,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG7G,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,YAAY,GACb,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAGpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACtG,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.findApprovedPermission = exports.listPermissionRequests = exports.createPermissionRequest = exports.setToolSecurityPolicyProvider = exports.clearRiskCache = exports.isLowRiskTool = exports.assessToolRisk = exports.SecurityGuard = exports.DEFAULT_PROXY_SETTINGS = exports.getWindowsSystemProxy = exports.clearSystemProxyCache = exports.getSystemProxyUrl = exports.resolveProxyUrlForCategory = exports.resolveProxyAgentForCategory = exports.HttpMCPClient = exports.StdioMCPClient = exports.MCPClientBase = exports.registerTransport = exports.createMCPClient = exports.sanitizeForToolName = exports.buildMCPToolName = exports.MCP_TOOL_PREFIX = exports.registerMCPTools = exports.createDelegateTool = exports.ToolRegistry = exports.SkillRouter = exports.SkillManager = exports.LocalEnvCollector = exports.ContextManager = exports.BUILTIN_PROVIDERS = exports.createLLMProvider = exports.OllamaProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.AgentToolExecutor = exports.LLMCaller = exports.HistoryManager = exports.wrapTaskWithWorkflowInstructions = exports.parseStructuredAgentOutput = exports.parseDebateOutput = exports.getWorkflowTemplate = exports.getWorkflowRoleStage = exports.formatWorkflowTemplateForPrompt = exports.formatStructuredAgentOutput = exports.formatDebateOutput = exports.buildWorkflowDecisionMemory = exports.buildStructuredOutputInstruction = exports.buildDebateInstructions = exports.DEFAULT_COMPLEX_WORKFLOW_TEMPLATE = exports.AgentEngine = void 0;
7
- exports.collectEngineOutput = exports.getAppName = exports.setAppName = exports.expandEnvVars = exports.ensureProjectDataDir = exports.ensureDataDir = exports.getProjectDataPath = exports.getDataPath = exports.MemoryPipeline = exports.formatRecallForPrompt = exports.MemoryRecallEngine = exports.resetMemoryCheckpoint = exports.getMemoryCheckpoint = exports.MemoryCheckpoint = exports.PersonaGenerator = exports.SceneAggregator = exports.MemoryExtractor = exports.AuditLogMiddleware = exports.ToolGuardMiddleware = exports.TimingMiddleware = exports.FileToolResultStore = exports.JsonListStore = exports.JsonStore = exports.InMemoryRunStateStore = exports.RunRegistry = exports.EnginePool = exports.setLogTransport = exports.logEvent = exports.DEFAULT_SANDBOX_CONFIG = exports.SANDBOX_SAFE_ENV_KEYS = exports.SANDBOX_BLOCKED_COMMANDS = exports.InMemoryPermissionStore = exports.configurePermissionManager = exports.decidePermissionRequest = void 0;
7
+ exports.extractTextFromMessage = exports.createA2ARemoteRunner = exports.A2AClient = exports.collectEngineOutput = exports.getAppName = exports.setAppName = exports.expandEnvVars = exports.ensureProjectDataDir = exports.ensureDataDir = exports.getProjectDataPath = exports.getDataPath = exports.MemoryPipeline = exports.formatRecallForPrompt = exports.MemoryRecallEngine = exports.resetMemoryCheckpoint = exports.getMemoryCheckpoint = exports.MemoryCheckpoint = exports.PersonaGenerator = exports.SceneAggregator = exports.MemoryExtractor = exports.AuditLogMiddleware = exports.ToolGuardMiddleware = exports.TimingMiddleware = exports.FileToolResultStore = exports.JsonListStore = exports.JsonStore = exports.InMemoryRunStateStore = exports.RunRegistry = exports.EnginePool = exports.setLogTransport = exports.logEvent = exports.DEFAULT_SANDBOX_CONFIG = exports.SANDBOX_SAFE_ENV_KEYS = exports.SANDBOX_BLOCKED_COMMANDS = exports.InMemoryPermissionStore = exports.configurePermissionManager = exports.decidePermissionRequest = void 0;
8
8
  // ---- Agent Engine ----
9
9
  var engine_ts_1 = require("./agent/engine.js");
10
10
  Object.defineProperty(exports, "AgentEngine", { enumerable: true, get: function () { return engine_ts_1.AgentEngine; } });
@@ -142,4 +142,9 @@ Object.defineProperty(exports, "setAppName", { enumerable: true, get: function (
142
142
  Object.defineProperty(exports, "getAppName", { enumerable: true, get: function () { return data_dir_ts_1.getAppName; } });
143
143
  var event_collector_ts_1 = require("./utils/event-collector.js");
144
144
  Object.defineProperty(exports, "collectEngineOutput", { enumerable: true, get: function () { return event_collector_ts_1.collectEngineOutput; } });
145
+ // ---- A2A (Agent-to-Agent Protocol) ----
146
+ var index_ts_1 = require("./a2a/index.js");
147
+ Object.defineProperty(exports, "A2AClient", { enumerable: true, get: function () { return index_ts_1.A2AClient; } });
148
+ Object.defineProperty(exports, "createA2ARemoteRunner", { enumerable: true, get: function () { return index_ts_1.createA2ARemoteRunner; } });
149
+ Object.defineProperty(exports, "extractTextFromMessage", { enumerable: true, get: function () { return index_ts_1.extractTextFromMessage; } });
145
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { A2AAgentCard, A2ASendTaskParams, A2ATask, A2ATaskEvent } from './types.ts';
2
+ /** A2A 客户端配置 */
3
+ export interface A2AClientOptions {
4
+ /** 请求超时(毫秒),默认 300000(5分钟) */
5
+ timeout?: number;
6
+ /** 自定义 fetch 实现(默认使用 globalThis.fetch) */
7
+ fetch?: typeof fetch;
8
+ /** 自定义请求头(如认证 token) */
9
+ headers?: Record<string, string>;
10
+ }
11
+ /**
12
+ * 轻量 A2A 协议客户端
13
+ *
14
+ * 用法:
15
+ * const client = new A2AClient();
16
+ * const card = await client.discoverAgent('https://example.com');
17
+ * const task = await client.sendTask(card.url, { message: ... });
18
+ */
19
+ export declare class A2AClient {
20
+ private timeout;
21
+ private fetchFn;
22
+ private headers;
23
+ constructor(options?: A2AClientOptions);
24
+ /**
25
+ * 通过 base URL 发现远程 Agent
26
+ * 自动请求 /.well-known/agent.json 并返回 AgentCard
27
+ */
28
+ discoverAgent(baseUrl: string): Promise<A2AAgentCard>;
29
+ /** 同步发送任务(tasks/send),等待完成后返回完整 Task */
30
+ sendTask(agentUrl: string, params: A2ASendTaskParams): Promise<A2ATask>;
31
+ /**
32
+ * 流式发送任务(tasks/sendSubscribe),通过回调逐步接收事件
33
+ * 返回所有收集到的事件列表
34
+ */
35
+ sendTaskStreaming(agentUrl: string, params: A2ASendTaskParams, onEvent?: (event: A2ATaskEvent) => void): Promise<A2ATaskEvent[]>;
36
+ /** 查询任务状态(tasks/get) */
37
+ getTask(agentUrl: string, taskId: string, historyLength?: number): Promise<A2ATask>;
38
+ /** 取消任务(tasks/cancel) */
39
+ cancelTask(agentUrl: string, taskId: string): Promise<A2ATask>;
40
+ /** 解析 Agent Card URL */
41
+ private resolveAgentCardUrl;
42
+ /** 发送 JSON-RPC 请求 */
43
+ private jsonRpcCall;
44
+ /** 带超时的 fetch */
45
+ private fetchWithTimeout;
46
+ }
47
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/a2a/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EAGZ,iBAAiB,EACjB,OAAO,EACP,YAAY,EAGb,MAAM,YAAY,CAAC;AASpB,gBAAgB;AAChB,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,GAAE,gBAAqB;IAQ1C;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAe3D,wCAAwC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;;OAGG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACtC,OAAO,CAAC,YAAY,EAAE,CAAC;IA6D1B,wBAAwB;IAClB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzF,yBAAyB;IACnB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpE,wBAAwB;IACxB,OAAO,CAAC,mBAAmB;IAO3B,qBAAqB;YACP,WAAW;IAyBzB,iBAAiB;YACH,gBAAgB;CAS/B"}
@@ -0,0 +1,174 @@
1
+ // ============================================================
2
+ // A2AClient — 轻量 A2A 协议客户端
3
+ // 支持 Agent 发现、同步/流式任务、取消等核心方法
4
+ // ============================================================
5
+ /** JSON-RPC 请求 ID 自增计数器 */
6
+ let rpcIdCounter = 0;
7
+ function nextRpcId() {
8
+ return `a2a_${++rpcIdCounter}_${Date.now()}`;
9
+ }
10
+ /**
11
+ * 轻量 A2A 协议客户端
12
+ *
13
+ * 用法:
14
+ * const client = new A2AClient();
15
+ * const card = await client.discoverAgent('https://example.com');
16
+ * const task = await client.sendTask(card.url, { message: ... });
17
+ */
18
+ export class A2AClient {
19
+ timeout;
20
+ fetchFn;
21
+ headers;
22
+ constructor(options = {}) {
23
+ this.timeout = options.timeout ?? 300_000;
24
+ this.fetchFn = options.fetch ?? globalThis.fetch.bind(globalThis);
25
+ this.headers = options.headers ?? {};
26
+ }
27
+ // ---- Agent 发现 ----
28
+ /**
29
+ * 通过 base URL 发现远程 Agent
30
+ * 自动请求 /.well-known/agent.json 并返回 AgentCard
31
+ */
32
+ async discoverAgent(baseUrl) {
33
+ const url = this.resolveAgentCardUrl(baseUrl);
34
+ const res = await this.fetchWithTimeout(url, { method: 'GET' });
35
+ if (!res.ok) {
36
+ throw new Error(`A2A discover failed: HTTP ${res.status} from ${url}`);
37
+ }
38
+ const card = (await res.json());
39
+ if (!card.name || !card.url) {
40
+ throw new Error(`Invalid Agent Card from ${url}: missing name or url`);
41
+ }
42
+ return card;
43
+ }
44
+ // ---- 任务操作 ----
45
+ /** 同步发送任务(tasks/send),等待完成后返回完整 Task */
46
+ async sendTask(agentUrl, params) {
47
+ const response = await this.jsonRpcCall(agentUrl, 'tasks/send', params);
48
+ if (response.error) {
49
+ throw new Error(`A2A tasks/send error [${response.error.code}]: ${response.error.message}`);
50
+ }
51
+ return response.result;
52
+ }
53
+ /**
54
+ * 流式发送任务(tasks/sendSubscribe),通过回调逐步接收事件
55
+ * 返回所有收集到的事件列表
56
+ */
57
+ async sendTaskStreaming(agentUrl, params, onEvent) {
58
+ const request = {
59
+ jsonrpc: '2.0',
60
+ id: nextRpcId(),
61
+ method: 'tasks/sendSubscribe',
62
+ params: params,
63
+ };
64
+ const res = await this.fetchWithTimeout(agentUrl, {
65
+ method: 'POST',
66
+ headers: { 'Content-Type': 'application/json', ...this.headers },
67
+ body: JSON.stringify(request),
68
+ });
69
+ if (!res.ok) {
70
+ throw new Error(`A2A streaming failed: HTTP ${res.status}`);
71
+ }
72
+ const events = [];
73
+ const body = res.body;
74
+ if (!body) {
75
+ throw new Error('A2A streaming: empty response body');
76
+ }
77
+ // SSE 解析:逐行读取 data: 前缀的 JSON 事件
78
+ const reader = body.getReader();
79
+ const decoder = new TextDecoder();
80
+ let buffer = '';
81
+ try {
82
+ while (true) {
83
+ const { done, value } = await reader.read();
84
+ if (done)
85
+ break;
86
+ buffer += decoder.decode(value, { stream: true });
87
+ const lines = buffer.split('\n');
88
+ buffer = lines.pop() || ''; // 最后一行可能不完整
89
+ for (const line of lines) {
90
+ const trimmed = line.trim();
91
+ if (!trimmed || trimmed.startsWith(':'))
92
+ continue; // 跳过注释和空行
93
+ if (trimmed.startsWith('data:')) {
94
+ const jsonStr = trimmed.slice(5).trim();
95
+ if (!jsonStr || jsonStr === '[DONE]')
96
+ continue;
97
+ try {
98
+ const event = JSON.parse(jsonStr);
99
+ events.push(event);
100
+ onEvent?.(event);
101
+ }
102
+ catch {
103
+ // 跳过非 JSON 行
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ finally {
110
+ reader.releaseLock();
111
+ }
112
+ return events;
113
+ }
114
+ /** 查询任务状态(tasks/get) */
115
+ async getTask(agentUrl, taskId, historyLength) {
116
+ const params = { id: taskId };
117
+ if (historyLength !== undefined)
118
+ params.historyLength = historyLength;
119
+ const response = await this.jsonRpcCall(agentUrl, 'tasks/get', params);
120
+ if (response.error) {
121
+ throw new Error(`A2A tasks/get error [${response.error.code}]: ${response.error.message}`);
122
+ }
123
+ return response.result;
124
+ }
125
+ /** 取消任务(tasks/cancel) */
126
+ async cancelTask(agentUrl, taskId) {
127
+ const params = { id: taskId };
128
+ const response = await this.jsonRpcCall(agentUrl, 'tasks/cancel', params);
129
+ if (response.error) {
130
+ throw new Error(`A2A tasks/cancel error [${response.error.code}]: ${response.error.message}`);
131
+ }
132
+ return response.result;
133
+ }
134
+ // ---- 内部方法 ----
135
+ /** 解析 Agent Card URL */
136
+ resolveAgentCardUrl(baseUrl) {
137
+ const trimmed = baseUrl.replace(/\/+$/, '');
138
+ if (trimmed.includes('/.well-known/agent.json'))
139
+ return trimmed;
140
+ if (trimmed.endsWith('/a2a'))
141
+ return `${trimmed}/.well-known/agent.json`;
142
+ return `${trimmed}/.well-known/agent.json`;
143
+ }
144
+ /** 发送 JSON-RPC 请求 */
145
+ async jsonRpcCall(url, method, params) {
146
+ const request = {
147
+ jsonrpc: '2.0',
148
+ id: nextRpcId(),
149
+ method,
150
+ params,
151
+ };
152
+ const res = await this.fetchWithTimeout(url, {
153
+ method: 'POST',
154
+ headers: { 'Content-Type': 'application/json', ...this.headers },
155
+ body: JSON.stringify(request),
156
+ });
157
+ if (!res.ok) {
158
+ throw new Error(`A2A JSON-RPC ${method} failed: HTTP ${res.status}`);
159
+ }
160
+ return (await res.json());
161
+ }
162
+ /** 带超时的 fetch */
163
+ async fetchWithTimeout(url, init) {
164
+ const controller = new AbortController();
165
+ const timer = setTimeout(() => controller.abort(), this.timeout);
166
+ try {
167
+ return await this.fetchFn(url, { ...init, signal: controller.signal });
168
+ }
169
+ finally {
170
+ clearTimeout(timer);
171
+ }
172
+ }
173
+ }
174
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/a2a/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type { A2AAgentCard, A2AAgentSkill, A2AAgentCapabilities, A2ATextPart, A2AFilePart, A2ADataPart, A2APart, A2AMessage, A2ATaskState, A2ATaskStatus, A2AArtifact, A2ATask, A2ATaskStatusUpdateEvent, A2ATaskArtifactUpdateEvent, A2ATaskEvent, A2AJsonRpcRequest, A2AJsonRpcResponse, A2AJsonRpcError, A2ASendTaskParams, A2ASendSubscribeParams, A2AGetTaskParams, A2ACancelTaskParams, A2ARemoteAgentConfig, } from './types.ts';
2
+ export { A2AClient } from './client.ts';
3
+ export { createA2ARemoteRunner, extractTextFromMessage } from './runner.ts';
4
+ export type { A2ARemoteRunnerConfig } from './runner.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,wBAAwB,EACxB,0BAA0B,EAC1B,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ // ============================================================
2
+ // A2A 模块统一导出
3
+ // ============================================================
4
+ export { A2AClient } from "./client.js";
5
+ export { createA2ARemoteRunner, extractTextFromMessage } from "./runner.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AA4B/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { SubAgentRunner } from '../tool/delegate.ts';
2
+ import type { A2AMessage } from './types.ts';
3
+ import { A2AClient } from './client.ts';
4
+ /** 从 A2A Message 中提取文本内容 */
5
+ export declare function extractTextFromMessage(message?: A2AMessage): string;
6
+ /** createA2ARemoteRunner 配置项 */
7
+ export interface A2ARemoteRunnerConfig {
8
+ /** 远程 Agent 的 A2A 端点 URL(Agent Card 中的 url 字段) */
9
+ agentUrl: string;
10
+ /** Runner 标识名(展示用,如 "[Remote] MyAgent") */
11
+ name: string;
12
+ /** Runner 能力描述(供 LLM 理解) */
13
+ description: string;
14
+ /** 是否启用流式(tasks/sendSubscribe);false 则走同步(tasks/send) */
15
+ streaming?: boolean;
16
+ /** A2A 客户端实例(外部注入,便于复用和自定义配置) */
17
+ client: A2AClient;
18
+ }
19
+ /**
20
+ * 创建远程 A2A Agent 的 SubAgentRunner
21
+ *
22
+ * 核心逻辑:
23
+ * - streaming=true && ctx.emitSubEvent 存在 → sendTaskStreaming + 事件转发
24
+ * - 否则 → sendTask 同步阻塞
25
+ *
26
+ * 转发的事件类型:
27
+ * - start: runner 开始执行
28
+ * - progress: 远程 Agent 返回 working 状态
29
+ * - artifact: 远程 Agent 生成文件产物
30
+ * - done: 任务完成
31
+ * - error: 任务失败或网络异常
32
+ */
33
+ export declare function createA2ARemoteRunner(config: A2ARemoteRunnerConfig): SubAgentRunner;
34
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/a2a/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAA0C,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,4BAA4B;AAC5B,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAMnE;AAED,gCAAgC;AAChC,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,cAAc,CAgFnF"}
@@ -0,0 +1,144 @@
1
+ // ============================================================
2
+ // A2A Remote Runner 工厂 — 将远程 A2A Agent 包装为 SubAgentRunner
3
+ // 纯协议适配逻辑,不依赖任何持久化/缓存/路由设施
4
+ // ============================================================
5
+ /** 从 A2A Message 中提取文本内容 */
6
+ export function extractTextFromMessage(message) {
7
+ if (!message?.parts)
8
+ return '';
9
+ return message.parts
10
+ .filter((p) => p.kind === 'text')
11
+ .map(p => p.text)
12
+ .join('\n');
13
+ }
14
+ /**
15
+ * 创建远程 A2A Agent 的 SubAgentRunner
16
+ *
17
+ * 核心逻辑:
18
+ * - streaming=true && ctx.emitSubEvent 存在 → sendTaskStreaming + 事件转发
19
+ * - 否则 → sendTask 同步阻塞
20
+ *
21
+ * 转发的事件类型:
22
+ * - start: runner 开始执行
23
+ * - progress: 远程 Agent 返回 working 状态
24
+ * - artifact: 远程 Agent 生成文件产物
25
+ * - done: 任务完成
26
+ * - error: 任务失败或网络异常
27
+ */
28
+ export function createA2ARemoteRunner(config) {
29
+ const { agentUrl, name: runnerName, description: runnerDesc, streaming, client } = config;
30
+ // ---- 流式执行(tasks/sendSubscribe + 事件转发)----
31
+ const runStreaming = async (task, ctx) => {
32
+ const emit = ctx.emitSubEvent;
33
+ const parentCallId = ctx.currentToolCallId || `a2a_${Date.now()}`;
34
+ const taskId = crypto.randomUUID();
35
+ emitStart(emit, parentCallId, runnerName, task);
36
+ try {
37
+ const events = await client.sendTaskStreaming(agentUrl, {
38
+ id: taskId,
39
+ message: {
40
+ kind: 'message',
41
+ role: 'user',
42
+ messageId: crypto.randomUUID(),
43
+ parts: [{ kind: 'text', text: task }],
44
+ },
45
+ }, (event) => forwardSSEEvent(emit, parentCallId, runnerName, event));
46
+ // 提取最终结果
47
+ const statusEvents = events
48
+ .filter((e) => e.kind === 'status-update');
49
+ const finalEvent = statusEvents.find(e => e.final === true) || statusEvents[statusEvents.length - 1];
50
+ if (finalEvent?.status?.state === 'failed') {
51
+ const errorText = extractTextFromMessage(finalEvent.status?.message);
52
+ const msg = errorText || 'Remote agent returned error';
53
+ emitError(emit, parentCallId, runnerName, msg);
54
+ return `[A2A Remote Agent '${runnerName}'] Error: ${msg}`;
55
+ }
56
+ const resultText = extractTextFromMessage(finalEvent?.status?.message) || 'Task completed with no output.';
57
+ emitDone(emit, parentCallId, runnerName, resultText.length);
58
+ return resultText;
59
+ }
60
+ catch (err) {
61
+ emitError(emit, parentCallId, runnerName, err.message || err);
62
+ return `[A2A Remote Agent '${runnerName}'] Error: ${err.message || err}`;
63
+ }
64
+ };
65
+ // ---- 同步执行(tasks/send,无事件转发)----
66
+ const runSync = async (task) => {
67
+ try {
68
+ const result = await client.sendTask(agentUrl, {
69
+ id: crypto.randomUUID(),
70
+ message: {
71
+ kind: 'message',
72
+ role: 'user',
73
+ messageId: crypto.randomUUID(),
74
+ parts: [{ kind: 'text', text: task }],
75
+ },
76
+ });
77
+ const textParts = result.status?.message?.parts
78
+ ?.filter((p) => p.kind === 'text')
79
+ .map(p => p.text) ?? [];
80
+ if (textParts.length > 0)
81
+ return textParts.join('\n');
82
+ return `[A2A Remote Agent '${runnerName}'] Task ${result.id} completed with state: ${result.status?.state || 'unknown'}`;
83
+ }
84
+ catch (err) {
85
+ return `[A2A Remote Agent '${runnerName}'] Error: ${err.message || err}`;
86
+ }
87
+ };
88
+ return {
89
+ name: runnerName,
90
+ description: runnerDesc,
91
+ run: async (task, ctx, _options) => {
92
+ return streaming && ctx?.emitSubEvent
93
+ ? runStreaming(task, ctx)
94
+ : runSync(task);
95
+ },
96
+ };
97
+ }
98
+ // ---- 事件转发辅助函数 ----
99
+ function emitStart(emit, parentCallId, agentName, task) {
100
+ emit?.({
101
+ parentToolCallId: parentCallId,
102
+ agentName,
103
+ eventType: 'start',
104
+ data: { agentName, task, source: 'a2a-streaming' },
105
+ });
106
+ }
107
+ function forwardSSEEvent(emit, parentCallId, agentName, event) {
108
+ if (event.kind === 'status-update') {
109
+ const state = event.status?.state;
110
+ if (state === 'working') {
111
+ emit?.({
112
+ parentToolCallId: parentCallId,
113
+ agentName,
114
+ eventType: 'progress',
115
+ data: { state, timestamp: event.status?.timestamp },
116
+ });
117
+ }
118
+ }
119
+ else if (event.kind === 'artifact-update') {
120
+ emit?.({
121
+ parentToolCallId: parentCallId,
122
+ agentName,
123
+ eventType: 'artifact',
124
+ data: { artifactId: event.artifact?.artifactId, name: event.artifact?.name },
125
+ });
126
+ }
127
+ }
128
+ function emitDone(emit, parentCallId, agentName, contentLength) {
129
+ emit?.({
130
+ parentToolCallId: parentCallId,
131
+ agentName,
132
+ eventType: 'done',
133
+ data: { contentLength },
134
+ });
135
+ }
136
+ function emitError(emit, parentCallId, agentName, error) {
137
+ emit?.({
138
+ parentToolCallId: parentCallId,
139
+ agentName,
140
+ eventType: 'error',
141
+ data: { error },
142
+ });
143
+ }
144
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/a2a/runner.ts"],"names":[],"mappings":"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"}