@cicctencent/agent-core 0.1.6 → 0.1.8

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 (142) hide show
  1. package/README.md +4 -3
  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 +3 -0
  7. package/dist/cjs/a2a/index.d.ts.map +1 -0
  8. package/dist/cjs/a2a/index.js +9 -0
  9. package/dist/cjs/a2a/index.js.map +1 -0
  10. package/dist/cjs/a2a/types.d.ts +149 -0
  11. package/dist/cjs/a2a/types.d.ts.map +1 -0
  12. package/dist/cjs/a2a/types.js +8 -0
  13. package/dist/cjs/a2a/types.js.map +1 -0
  14. package/dist/cjs/index.d.ts +22 -0
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +52 -2
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/middleware/audit-log.d.ts +22 -0
  19. package/dist/cjs/middleware/audit-log.d.ts.map +1 -0
  20. package/dist/cjs/middleware/audit-log.js +104 -0
  21. package/dist/cjs/middleware/audit-log.js.map +1 -0
  22. package/dist/cjs/middleware/timing.d.ts +25 -0
  23. package/dist/cjs/middleware/timing.d.ts.map +1 -0
  24. package/dist/cjs/middleware/timing.js +62 -0
  25. package/dist/cjs/middleware/timing.js.map +1 -0
  26. package/dist/cjs/middleware/tool-guard.d.ts +15 -0
  27. package/dist/cjs/middleware/tool-guard.d.ts.map +1 -0
  28. package/dist/cjs/middleware/tool-guard.js +31 -0
  29. package/dist/cjs/middleware/tool-guard.js.map +1 -0
  30. package/dist/cjs/observability/logger.d.ts +16 -0
  31. package/dist/cjs/observability/logger.d.ts.map +1 -0
  32. package/dist/cjs/observability/logger.js +35 -0
  33. package/dist/cjs/observability/logger.js.map +1 -0
  34. package/dist/cjs/pool/engine-pool.d.ts +22 -0
  35. package/dist/cjs/pool/engine-pool.d.ts.map +1 -0
  36. package/dist/cjs/pool/engine-pool.js +75 -0
  37. package/dist/cjs/pool/engine-pool.js.map +1 -0
  38. package/dist/cjs/runtime/run-registry.d.ts +104 -0
  39. package/dist/cjs/runtime/run-registry.d.ts.map +1 -0
  40. package/dist/cjs/runtime/run-registry.js +261 -0
  41. package/dist/cjs/runtime/run-registry.js.map +1 -0
  42. package/dist/cjs/sandbox/types.d.ts +1 -1
  43. package/dist/cjs/sandbox/types.d.ts.map +1 -1
  44. package/dist/cjs/security/guard.js +2 -2
  45. package/dist/cjs/security/guard.js.map +1 -1
  46. package/dist/cjs/security/permission.d.ts +39 -0
  47. package/dist/cjs/security/permission.d.ts.map +1 -0
  48. package/dist/cjs/security/permission.js +111 -0
  49. package/dist/cjs/security/permission.js.map +1 -0
  50. package/dist/cjs/security/risk.d.ts +28 -0
  51. package/dist/cjs/security/risk.d.ts.map +1 -0
  52. package/dist/cjs/security/risk.js +148 -0
  53. package/dist/cjs/security/risk.js.map +1 -0
  54. package/dist/cjs/security/types.d.ts +1 -1
  55. package/dist/cjs/security/types.d.ts.map +1 -1
  56. package/dist/cjs/store/file-tool-result-store.d.ts +27 -0
  57. package/dist/cjs/store/file-tool-result-store.d.ts.map +1 -0
  58. package/dist/cjs/store/file-tool-result-store.js +166 -0
  59. package/dist/cjs/store/file-tool-result-store.js.map +1 -0
  60. package/dist/cjs/store/json-store.d.ts +54 -0
  61. package/dist/cjs/store/json-store.d.ts.map +1 -0
  62. package/dist/cjs/store/json-store.js +274 -0
  63. package/dist/cjs/store/json-store.js.map +1 -0
  64. package/dist/cjs/utils/data-dir.d.ts +27 -0
  65. package/dist/cjs/utils/data-dir.d.ts.map +1 -0
  66. package/dist/cjs/utils/data-dir.js +122 -0
  67. package/dist/cjs/utils/data-dir.js.map +1 -0
  68. package/dist/cjs/utils/event-collector.d.ts +13 -0
  69. package/dist/cjs/utils/event-collector.d.ts.map +1 -0
  70. package/dist/cjs/utils/event-collector.js +33 -0
  71. package/dist/cjs/utils/event-collector.js.map +1 -0
  72. package/dist/esm/a2a/client.d.ts +47 -0
  73. package/dist/esm/a2a/client.d.ts.map +1 -0
  74. package/dist/esm/a2a/client.js +174 -0
  75. package/dist/esm/a2a/client.js.map +1 -0
  76. package/dist/esm/a2a/index.d.ts +3 -0
  77. package/dist/esm/a2a/index.d.ts.map +1 -0
  78. package/dist/esm/a2a/index.js +5 -0
  79. package/dist/esm/a2a/index.js.map +1 -0
  80. package/dist/esm/a2a/types.d.ts +149 -0
  81. package/dist/esm/a2a/types.d.ts.map +1 -0
  82. package/dist/esm/a2a/types.js +7 -0
  83. package/dist/esm/a2a/types.js.map +1 -0
  84. package/dist/esm/index.d.ts +22 -0
  85. package/dist/esm/index.d.ts.map +1 -1
  86. package/dist/esm/index.js +20 -0
  87. package/dist/esm/index.js.map +1 -1
  88. package/dist/esm/middleware/audit-log.d.ts +22 -0
  89. package/dist/esm/middleware/audit-log.d.ts.map +1 -0
  90. package/dist/esm/middleware/audit-log.js +67 -0
  91. package/dist/esm/middleware/audit-log.js.map +1 -0
  92. package/dist/esm/middleware/timing.d.ts +25 -0
  93. package/dist/esm/middleware/timing.d.ts.map +1 -0
  94. package/dist/esm/middleware/timing.js +58 -0
  95. package/dist/esm/middleware/timing.js.map +1 -0
  96. package/dist/esm/middleware/tool-guard.d.ts +15 -0
  97. package/dist/esm/middleware/tool-guard.d.ts.map +1 -0
  98. package/dist/esm/middleware/tool-guard.js +27 -0
  99. package/dist/esm/middleware/tool-guard.js.map +1 -0
  100. package/dist/esm/observability/logger.d.ts +16 -0
  101. package/dist/esm/observability/logger.d.ts.map +1 -0
  102. package/dist/esm/observability/logger.js +31 -0
  103. package/dist/esm/observability/logger.js.map +1 -0
  104. package/dist/esm/pool/engine-pool.d.ts +22 -0
  105. package/dist/esm/pool/engine-pool.d.ts.map +1 -0
  106. package/dist/esm/pool/engine-pool.js +71 -0
  107. package/dist/esm/pool/engine-pool.js.map +1 -0
  108. package/dist/esm/runtime/run-registry.d.ts +104 -0
  109. package/dist/esm/runtime/run-registry.d.ts.map +1 -0
  110. package/dist/esm/runtime/run-registry.js +256 -0
  111. package/dist/esm/runtime/run-registry.js.map +1 -0
  112. package/dist/esm/sandbox/types.d.ts +1 -1
  113. package/dist/esm/sandbox/types.d.ts.map +1 -1
  114. package/dist/esm/security/guard.js +2 -2
  115. package/dist/esm/security/guard.js.map +1 -1
  116. package/dist/esm/security/permission.d.ts +39 -0
  117. package/dist/esm/security/permission.d.ts.map +1 -0
  118. package/dist/esm/security/permission.js +102 -0
  119. package/dist/esm/security/permission.js.map +1 -0
  120. package/dist/esm/security/risk.d.ts +28 -0
  121. package/dist/esm/security/risk.d.ts.map +1 -0
  122. package/dist/esm/security/risk.js +142 -0
  123. package/dist/esm/security/risk.js.map +1 -0
  124. package/dist/esm/security/types.d.ts +1 -1
  125. package/dist/esm/security/types.d.ts.map +1 -1
  126. package/dist/esm/store/file-tool-result-store.d.ts +27 -0
  127. package/dist/esm/store/file-tool-result-store.d.ts.map +1 -0
  128. package/dist/esm/store/file-tool-result-store.js +129 -0
  129. package/dist/esm/store/file-tool-result-store.js.map +1 -0
  130. package/dist/esm/store/json-store.d.ts +54 -0
  131. package/dist/esm/store/json-store.d.ts.map +1 -0
  132. package/dist/esm/store/json-store.js +236 -0
  133. package/dist/esm/store/json-store.js.map +1 -0
  134. package/dist/esm/utils/data-dir.d.ts +27 -0
  135. package/dist/esm/utils/data-dir.d.ts.map +1 -0
  136. package/dist/esm/utils/data-dir.js +80 -0
  137. package/dist/esm/utils/data-dir.js.map +1 -0
  138. package/dist/esm/utils/event-collector.d.ts +13 -0
  139. package/dist/esm/utils/event-collector.d.ts.map +1 -0
  140. package/dist/esm/utils/event-collector.js +30 -0
  141. package/dist/esm/utils/event-collector.js.map +1 -0
  142. package/package.json +1 -1
@@ -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,3 @@
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
+ //# 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"}
@@ -0,0 +1,5 @@
1
+ // ============================================================
2
+ // A2A 模块统一导出
3
+ // ============================================================
4
+ export { A2AClient } from "./client.js";
5
+ //# 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"}
@@ -0,0 +1,149 @@
1
+ /** Agent 技能描述 */
2
+ export interface A2AAgentSkill {
3
+ id: string;
4
+ name: string;
5
+ description: string;
6
+ tags?: string[];
7
+ examples?: string[];
8
+ inputModes?: string[];
9
+ outputModes?: string[];
10
+ }
11
+ /** Agent 能力声明 */
12
+ export interface A2AAgentCapabilities {
13
+ streaming: boolean;
14
+ pushNotifications: boolean;
15
+ stateTransitionHistory?: boolean;
16
+ }
17
+ /** Agent Card — 通过 /.well-known/agent.json 发布 */
18
+ export interface A2AAgentCard {
19
+ name: string;
20
+ description: string;
21
+ url: string;
22
+ version: string;
23
+ provider?: {
24
+ organization: string;
25
+ url?: string;
26
+ };
27
+ capabilities: A2AAgentCapabilities;
28
+ skills: A2AAgentSkill[];
29
+ defaultInputModes: string[];
30
+ defaultOutputModes: string[];
31
+ supportsAuthenticatedExtendedCard?: boolean;
32
+ }
33
+ export interface A2ATextPart {
34
+ kind: 'text';
35
+ text: string;
36
+ }
37
+ export interface A2AFilePart {
38
+ kind: 'file';
39
+ file: {
40
+ name?: string;
41
+ mimeType?: string;
42
+ bytes?: string;
43
+ uri?: string;
44
+ };
45
+ }
46
+ export interface A2ADataPart {
47
+ kind: 'data';
48
+ data: Record<string, unknown>;
49
+ }
50
+ export type A2APart = A2ATextPart | A2AFilePart | A2ADataPart;
51
+ export interface A2AMessage {
52
+ kind: 'message';
53
+ role: 'user' | 'agent';
54
+ messageId: string;
55
+ parts: A2APart[];
56
+ taskId?: string;
57
+ contextId?: string;
58
+ referenceTaskIds?: string[];
59
+ metadata?: Record<string, unknown>;
60
+ }
61
+ export type A2ATaskState = 'submitted' | 'working' | 'input-required' | 'completed' | 'failed' | 'canceled' | 'unknown';
62
+ export interface A2ATaskStatus {
63
+ state: A2ATaskState;
64
+ message?: A2AMessage;
65
+ timestamp?: string;
66
+ }
67
+ export interface A2AArtifact {
68
+ artifactId: string;
69
+ name?: string;
70
+ description?: string;
71
+ parts: A2APart[];
72
+ metadata?: Record<string, unknown>;
73
+ }
74
+ export interface A2ATask {
75
+ id: string;
76
+ contextId: string;
77
+ status: A2ATaskStatus;
78
+ artifacts?: A2AArtifact[];
79
+ history?: A2AMessage[];
80
+ metadata?: Record<string, unknown>;
81
+ }
82
+ export interface A2ATaskStatusUpdateEvent {
83
+ kind: 'status-update';
84
+ taskId: string;
85
+ contextId: string;
86
+ status: A2ATaskStatus;
87
+ final: boolean;
88
+ metadata?: Record<string, unknown>;
89
+ }
90
+ export interface A2ATaskArtifactUpdateEvent {
91
+ kind: 'artifact-update';
92
+ taskId: string;
93
+ contextId: string;
94
+ artifact: A2AArtifact;
95
+ metadata?: Record<string, unknown>;
96
+ }
97
+ export type A2ATaskEvent = A2ATaskStatusUpdateEvent | A2ATaskArtifactUpdateEvent;
98
+ export interface A2AJsonRpcRequest {
99
+ jsonrpc: '2.0';
100
+ id: string;
101
+ method: string;
102
+ params?: Record<string, unknown>;
103
+ }
104
+ export interface A2AJsonRpcError {
105
+ code: number;
106
+ message: string;
107
+ data?: unknown;
108
+ }
109
+ export interface A2AJsonRpcResponse {
110
+ jsonrpc: '2.0';
111
+ id: string;
112
+ result?: unknown;
113
+ error?: A2AJsonRpcError;
114
+ }
115
+ /** tasks/send 参数 */
116
+ export interface A2ASendTaskParams {
117
+ id: string;
118
+ contextId?: string;
119
+ message: A2AMessage;
120
+ acceptedOutputModes?: string[];
121
+ pushNotificationConfig?: {
122
+ url: string;
123
+ token?: string;
124
+ };
125
+ metadata?: Record<string, unknown>;
126
+ }
127
+ /** tasks/sendSubscribe 参数(同 tasks/send,但返回 SSE 流) */
128
+ export type A2ASendSubscribeParams = A2ASendTaskParams;
129
+ /** tasks/get 参数 */
130
+ export interface A2AGetTaskParams {
131
+ id: string;
132
+ historyLength?: number;
133
+ }
134
+ /** tasks/cancel 参数 */
135
+ export interface A2ACancelTaskParams {
136
+ id: string;
137
+ }
138
+ /** 存储在 data/a2a-remotes.json 中的远程 Agent 配置 */
139
+ export interface A2ARemoteAgentConfig {
140
+ id: string;
141
+ name: string;
142
+ url: string;
143
+ agentCardUrl: string;
144
+ enabled: boolean;
145
+ discoveredAt?: string;
146
+ lastCheckedAt?: string;
147
+ card?: A2AAgentCard;
148
+ }
149
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/a2a/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // ============================================================
2
+ // A2A (Agent-to-Agent) 协议核心类型定义
3
+ // 基于 A2A Protocol v1.x(Linux Foundation / Google)
4
+ // JSON-RPC 2.0 over HTTP(S)
5
+ // ============================================================
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/a2a/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gCAAgC;AAChC,kDAAkD;AAClD,4BAA4B;AAC5B,+DAA+D"}
@@ -34,8 +34,25 @@ export type { ProxyMode, ProxyCategoryConfig, ProxySettings, } from './mcp/proxy
34
34
  export type { MCPClient, MCPServerConfig, MCPTransport, } from './mcp/types.ts';
35
35
  export { SecurityGuard } from './security/guard.ts';
36
36
  export type { SanitizeResult, SecurityRule, SecurityPolicy, Severity, } from './security/types.ts';
37
+ export { assessToolRisk, isLowRiskTool, clearRiskCache, setToolSecurityPolicyProvider, } from './security/risk.ts';
38
+ export type { ToolRiskLevel, ToolRiskAssessment, ToolSecurityPolicy, ToolSecurityPolicyProvider, } from './security/risk.ts';
39
+ export { createPermissionRequest, listPermissionRequests, findApprovedPermission, decidePermissionRequest, configurePermissionManager, InMemoryPermissionStore, } from './security/permission.ts';
40
+ export type { PermissionDecision, PermissionRequest, PermissionStore, } from './security/permission.ts';
37
41
  export type { Sandbox, SandboxConfig, SandboxManager, ScriptLanguage, } from './sandbox/types.ts';
38
42
  export { SANDBOX_BLOCKED_COMMANDS, SANDBOX_SAFE_ENV_KEYS, DEFAULT_SANDBOX_CONFIG } from './sandbox/types.ts';
43
+ export { logEvent, setLogTransport } from './observability/logger.ts';
44
+ export type { LogLevel, ObservabilityEvent, LogTransport, } from './observability/logger.ts';
45
+ export { EnginePool } from './pool/engine-pool.ts';
46
+ export { RunRegistry, InMemoryRunStateStore } from './runtime/run-registry.ts';
47
+ export type { BufferedEvent, RunToolCallRecord, EventSubscriber, RunStatus, ActiveRun, RunSnapshot, RunStateStore, } from './runtime/run-registry.ts';
48
+ export { JsonStore, JsonListStore } from './store/json-store.ts';
49
+ export type { JsonStoreOptions } from './store/json-store.ts';
50
+ export { FileToolResultStore } from './store/file-tool-result-store.ts';
51
+ export type { FileToolResultStoreOptions } from './store/file-tool-result-store.ts';
52
+ export { TimingMiddleware } from './middleware/timing.ts';
53
+ export type { TimingReport } from './middleware/timing.ts';
54
+ export { ToolGuardMiddleware } from './middleware/tool-guard.ts';
55
+ export { AuditLogMiddleware } from './middleware/audit-log.ts';
39
56
  export type { Hook, HookEvent, HookContext, HookResult, } from './hooks/types.ts';
40
57
  export type { Middleware, MiddlewareContext, } from './middleware/types.ts';
41
58
  export type { MemoryEntry, MemoryLayer, MemoryServiceLike, } from './memory/types.ts';
@@ -51,4 +68,9 @@ export { MemoryRecallEngine, formatRecallForPrompt } from './memory/recall.ts';
51
68
  export type { RecallResult, ScoredMemoryEntry, RecallOptions } from './memory/recall.ts';
52
69
  export { MemoryPipeline } from './memory/pipeline.ts';
53
70
  export type { PipelineOptions, PipelineResult } from './memory/pipeline.ts';
71
+ export { getDataPath, getProjectDataPath, ensureDataDir, ensureProjectDataDir, expandEnvVars, setAppName, getAppName, } from './utils/data-dir.ts';
72
+ export { collectEngineOutput } from './utils/event-collector.ts';
73
+ export type { EngineRunResult } from './utils/event-collector.ts';
74
+ export { A2AClient, } from './a2a/index.ts';
75
+ export type { A2AAgentCard, A2AAgentSkill, A2AAgentCapabilities, A2APart, A2ATextPart, A2AFilePart, A2ADataPart, A2AMessage, A2ATaskState, A2ATaskStatus, A2AArtifact, A2ATask, A2ATaskStatusUpdateEvent, A2ATaskArtifactUpdateEvent, A2ATaskEvent, A2AJsonRpcRequest, A2AJsonRpcResponse, A2AJsonRpcError, A2ASendTaskParams, A2ASendSubscribeParams, A2AGetTaskParams, A2ACancelTaskParams, A2ARemoteAgentConfig, } from './a2a/index.ts';
54
76
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAG7B,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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -29,11 +29,31 @@ export { HttpMCPClient } from "./mcp/http-client.js";
29
29
  export { resolveProxyAgentForCategory, resolveProxyUrlForCategory, getSystemProxyUrl, clearSystemProxyCache, getWindowsSystemProxy, DEFAULT_PROXY_SETTINGS, } from "./mcp/proxy-agent.js";
30
30
  // ---- Security ----
31
31
  export { SecurityGuard } from "./security/guard.js";
32
+ export { assessToolRisk, isLowRiskTool, clearRiskCache, setToolSecurityPolicyProvider, } from "./security/risk.js";
33
+ export { createPermissionRequest, listPermissionRequests, findApprovedPermission, decidePermissionRequest, configurePermissionManager, InMemoryPermissionStore, } from "./security/permission.js";
32
34
  export { SANDBOX_BLOCKED_COMMANDS, SANDBOX_SAFE_ENV_KEYS, DEFAULT_SANDBOX_CONFIG } from "./sandbox/types.js";
35
+ // ---- Observability ----
36
+ export { logEvent, setLogTransport } from "./observability/logger.js";
37
+ // ---- Pool ----
38
+ export { EnginePool } from "./pool/engine-pool.js";
39
+ // ---- Runtime ----
40
+ export { RunRegistry, InMemoryRunStateStore } from "./runtime/run-registry.js";
41
+ // ---- Store ----
42
+ export { JsonStore, JsonListStore } from "./store/json-store.js";
43
+ export { FileToolResultStore } from "./store/file-tool-result-store.js";
44
+ // ---- Middleware (builtin) ----
45
+ export { TimingMiddleware } from "./middleware/timing.js";
46
+ export { ToolGuardMiddleware } from "./middleware/tool-guard.js";
47
+ export { AuditLogMiddleware } from "./middleware/audit-log.js";
33
48
  export { MemoryExtractor } from "./memory/extractor.js";
34
49
  export { SceneAggregator } from "./memory/scene.js";
35
50
  export { PersonaGenerator } from "./memory/persona.js";
36
51
  export { MemoryCheckpoint, getMemoryCheckpoint, resetMemoryCheckpoint } from "./memory/checkpoint.js";
37
52
  export { MemoryRecallEngine, formatRecallForPrompt } from "./memory/recall.js";
38
53
  export { MemoryPipeline } from "./memory/pipeline.js";
54
+ // ---- Utils ----
55
+ export { getDataPath, getProjectDataPath, ensureDataDir, ensureProjectDataDir, expandEnvVars, setAppName, getAppName, } from "./utils/data-dir.js";
56
+ export { collectEngineOutput } from "./utils/event-collector.js";
57
+ // ---- A2A (Agent-to-Agent Protocol) ----
58
+ export { A2AClient, } from "./a2a/index.js";
39
59
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,YAAY;AACZ,+DAA+D;AAwB/D,yBAAyB;AACzB,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;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAY7D,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;AAGxE,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgBxD,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,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;AAY9B,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAepD,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAsB7G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEtG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Middleware, MiddlewareContext } from '../middleware/types.ts';
2
+ import type { HookContext, HookResult } from '../hooks/types.ts';
3
+ /**
4
+ * 记录每轮迭代和工具调用的审计日志
5
+ * - before/after: 记录迭代开始/结束 + 消息数量
6
+ * - onToolBefore/onToolAfter: 记录工具调用名称、参数、耗时
7
+ */
8
+ export declare class AuditLogMiddleware implements Middleware {
9
+ name: string;
10
+ private logger;
11
+ /**
12
+ * @param logger 自定义日志输出函数,默认写入文件 data/logs/audit-YYYY-MM-DD.log
13
+ * 传入 'console' 字符串则输出到 console.log
14
+ * 也可传入自定义函数
15
+ */
16
+ constructor(logger?: ((msg: string) => void) | 'console' | string);
17
+ before(ctx: MiddlewareContext): Promise<void>;
18
+ after(ctx: MiddlewareContext): Promise<void>;
19
+ onToolBefore(ctx: HookContext): Promise<HookResult | void>;
20
+ onToolAfter(ctx: HookContext): Promise<HookResult | void>;
21
+ }
22
+ //# sourceMappingURL=audit-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../../src/middleware/audit-log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA2BjE;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACnD,IAAI,SAAe;IAEnB,OAAO,CAAC,MAAM,CAAwB;IAEtC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM;IAY3D,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI1D,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAIhE"}
@@ -0,0 +1,67 @@
1
+ // ============================================================
2
+ // AuditLogMiddleware — 审计日志中间件
3
+ // ============================================================
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ /**
7
+ * 文件审计日志器 — 以 JSONL 格式追加写入日志文件
8
+ * 默认路径:{logDir}/audit-YYYY-MM-DD.log
9
+ */
10
+ function createFileAuditLogger(logDir) {
11
+ const dir = logDir || path.join(process.cwd(), 'data', 'logs');
12
+ if (!fs.existsSync(dir)) {
13
+ fs.mkdirSync(dir, { recursive: true });
14
+ }
15
+ return (msg) => {
16
+ const now = new Date();
17
+ const dateStr = now.toISOString().slice(0, 10);
18
+ const logFile = path.join(dir, `audit-${dateStr}.log`);
19
+ const entry = JSON.stringify({
20
+ ts: now.toISOString(),
21
+ msg,
22
+ }) + '\n';
23
+ fs.appendFileSync(logFile, entry, 'utf-8');
24
+ };
25
+ }
26
+ /**
27
+ * 记录每轮迭代和工具调用的审计日志
28
+ * - before/after: 记录迭代开始/结束 + 消息数量
29
+ * - onToolBefore/onToolAfter: 记录工具调用名称、参数、耗时
30
+ */
31
+ export class AuditLogMiddleware {
32
+ name = 'audit-log';
33
+ logger;
34
+ /**
35
+ * @param logger 自定义日志输出函数,默认写入文件 data/logs/audit-YYYY-MM-DD.log
36
+ * 传入 'console' 字符串则输出到 console.log
37
+ * 也可传入自定义函数
38
+ */
39
+ constructor(logger) {
40
+ if (logger === 'console') {
41
+ this.logger = (msg) => console.log(`[Audit] ${msg}`);
42
+ }
43
+ else if (typeof logger === 'function') {
44
+ this.logger = logger;
45
+ }
46
+ else if (typeof logger === 'string') {
47
+ this.logger = createFileAuditLogger(logger);
48
+ }
49
+ else {
50
+ this.logger = createFileAuditLogger();
51
+ }
52
+ }
53
+ async before(ctx) {
54
+ this.logger(`Session=${ctx.sessionId} Iter=${ctx.iteration} START | messages=${ctx.messages.length} tools=${ctx.toolCount}`);
55
+ }
56
+ async after(ctx) {
57
+ this.logger(`Session=${ctx.sessionId} Iter=${ctx.iteration} END | messages=${ctx.messages.length}`);
58
+ }
59
+ async onToolBefore(ctx) {
60
+ this.logger(`Tool CALL: ${ctx.tool} | args=${JSON.stringify(ctx.args || {}).slice(0, 200)}`);
61
+ }
62
+ async onToolAfter(ctx) {
63
+ const output = ctx.result ? String(ctx.result).slice(0, 200) : '(empty)';
64
+ this.logger(`Tool DONE: ${ctx.tool} | output=${output}`);
65
+ }
66
+ }
67
+ //# sourceMappingURL=audit-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../../src/middleware/audit-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { Middleware, MiddlewareContext } from '../middleware/types.ts';
2
+ import type { HookContext, HookResult } from '../hooks/types.ts';
3
+ export interface TimingReport {
4
+ type: 'iteration' | 'tool';
5
+ sessionId?: string;
6
+ iteration?: number;
7
+ toolName?: string;
8
+ elapsedMs: number;
9
+ }
10
+ /**
11
+ * 统计每轮迭代和每次工具调用的耗时
12
+ * 可通过 onReport 回调获取汇总数据(如写入监控)
13
+ */
14
+ export declare class TimingMiddleware implements Middleware {
15
+ name: string;
16
+ private iterStarts;
17
+ private toolTimings;
18
+ private onReport?;
19
+ constructor(onReport?: (report: TimingReport) => void);
20
+ before(ctx: MiddlewareContext): Promise<void>;
21
+ after(ctx: MiddlewareContext): Promise<void>;
22
+ onToolBefore(ctx: HookContext): Promise<HookResult | void>;
23
+ onToolAfter(ctx: HookContext): Promise<HookResult | void>;
24
+ }
25
+ //# sourceMappingURL=timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../src/middleware/timing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,IAAI,SAAY;IAEhB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAC,CAAiC;gBAEtC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI;IAI/C,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5C,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAM1D,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAgBhE"}