@tencent-ai/agent-sdk 0.0.1 → 0.0.3

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 (103) hide show
  1. package/README.md +46 -32
  2. package/dist/agent-sdk.js +1 -1
  3. package/lib/common/index.d.ts +1 -0
  4. package/lib/common/index.d.ts.map +1 -1
  5. package/lib/common/index.js +1 -0
  6. package/lib/common/index.js.map +1 -1
  7. package/lib/common/services/agent.d.ts +8 -0
  8. package/lib/common/services/agent.d.ts.map +1 -0
  9. package/lib/common/services/agent.js +13 -0
  10. package/lib/common/services/agent.js.map +1 -0
  11. package/lib/common/services/event.d.ts +8 -0
  12. package/lib/common/services/event.d.ts.map +1 -0
  13. package/lib/common/services/event.js +18 -0
  14. package/lib/common/services/event.js.map +1 -0
  15. package/lib/common/services/http.d.ts +6 -0
  16. package/lib/common/services/http.d.ts.map +1 -0
  17. package/lib/common/services/http.js +12 -0
  18. package/lib/common/services/http.js.map +1 -0
  19. package/lib/common/services/index.d.ts +7 -0
  20. package/lib/common/services/index.d.ts.map +1 -0
  21. package/lib/common/services/index.js +23 -0
  22. package/lib/common/services/index.js.map +1 -0
  23. package/lib/common/services/logger.d.ts +7 -0
  24. package/lib/common/services/logger.d.ts.map +1 -0
  25. package/lib/common/services/logger.js +18 -0
  26. package/lib/common/services/logger.js.map +1 -0
  27. package/lib/common/services/product.d.ts +11 -0
  28. package/lib/common/services/product.d.ts.map +1 -0
  29. package/lib/common/services/product.js +25 -0
  30. package/lib/common/services/product.js.map +1 -0
  31. package/lib/common/services/trace.d.ts +10 -0
  32. package/lib/common/services/trace.d.ts.map +1 -0
  33. package/lib/common/services/trace.js +25 -0
  34. package/lib/common/services/trace.js.map +1 -0
  35. package/lib/common/types/event/activity.d.ts +5 -0
  36. package/lib/common/types/event/activity.d.ts.map +1 -0
  37. package/lib/common/types/event/activity.js +3 -0
  38. package/lib/common/types/event/activity.js.map +1 -0
  39. package/lib/common/types/event/authentication.d.ts +9 -0
  40. package/lib/common/types/event/authentication.d.ts.map +1 -0
  41. package/lib/common/types/event/authentication.js +9 -0
  42. package/lib/common/types/event/authentication.js.map +1 -0
  43. package/lib/common/types/event/chat.d.ts +33 -0
  44. package/lib/common/types/event/chat.d.ts.map +1 -0
  45. package/lib/common/types/event/chat.js +3 -0
  46. package/lib/common/types/event/chat.js.map +1 -0
  47. package/lib/common/types/event/check-point.d.ts +10 -0
  48. package/lib/common/types/event/check-point.d.ts.map +1 -0
  49. package/lib/common/types/event/check-point.js +3 -0
  50. package/lib/common/types/event/check-point.js.map +1 -0
  51. package/lib/common/types/event/code.d.ts +19 -0
  52. package/lib/common/types/event/code.d.ts.map +1 -0
  53. package/lib/common/types/event/code.js +11 -0
  54. package/lib/common/types/event/code.js.map +1 -0
  55. package/lib/common/types/event/commit-message.d.ts +25 -0
  56. package/lib/common/types/event/commit-message.d.ts.map +1 -0
  57. package/lib/common/types/event/commit-message.js +3 -0
  58. package/lib/common/types/event/commit-message.js.map +1 -0
  59. package/lib/common/types/event/completion.d.ts +276 -0
  60. package/lib/common/types/event/completion.d.ts.map +1 -0
  61. package/lib/common/types/event/completion.js +38 -0
  62. package/lib/common/types/event/completion.js.map +1 -0
  63. package/lib/common/types/event/craft.d.ts +202 -0
  64. package/lib/common/types/event/craft.d.ts.map +1 -0
  65. package/lib/common/types/event/craft.js +3 -0
  66. package/lib/common/types/event/craft.js.map +1 -0
  67. package/lib/common/types/event/events.d.ts +96 -0
  68. package/lib/common/types/event/events.d.ts.map +1 -0
  69. package/lib/common/types/event/events.js +70 -0
  70. package/lib/common/types/event/events.js.map +1 -0
  71. package/lib/common/types/event/index.d.ts +11 -0
  72. package/lib/common/types/event/index.d.ts.map +1 -0
  73. package/lib/common/types/event/index.js +27 -0
  74. package/lib/common/types/event/index.js.map +1 -0
  75. package/lib/common/types/event/legacy-completion.d.ts +196 -0
  76. package/lib/common/types/event/legacy-completion.d.ts.map +1 -0
  77. package/lib/common/types/event/legacy-completion.js +38 -0
  78. package/lib/common/types/event/legacy-completion.js.map +1 -0
  79. package/lib/common/types/event/mcp.d.ts +20 -0
  80. package/lib/common/types/event/mcp.d.ts.map +1 -0
  81. package/lib/common/types/event/mcp.js +3 -0
  82. package/lib/common/types/event/mcp.js.map +1 -0
  83. package/lib/common/types/event/plugin-status.d.ts +7 -0
  84. package/lib/common/types/event/plugin-status.d.ts.map +1 -0
  85. package/lib/common/types/event/plugin-status.js +3 -0
  86. package/lib/common/types/event/plugin-status.js.map +1 -0
  87. package/lib/common/types/event/protocol.d.ts +21 -0
  88. package/lib/common/types/event/protocol.d.ts.map +1 -0
  89. package/lib/common/types/event/protocol.js +3 -0
  90. package/lib/common/types/event/protocol.js.map +1 -0
  91. package/lib/common/types/index.d.ts +2 -0
  92. package/lib/common/types/index.d.ts.map +1 -0
  93. package/lib/common/types/index.js +18 -0
  94. package/lib/common/types/index.js.map +1 -0
  95. package/lib/common/utils.d.ts +3 -0
  96. package/lib/common/utils.d.ts.map +1 -0
  97. package/lib/common/utils.js +10 -0
  98. package/lib/common/utils.js.map +1 -0
  99. package/package.json +1 -1
  100. package/lib/common/services.d.ts +0 -19
  101. package/lib/common/services.d.ts.map +0 -1
  102. package/lib/common/services.js +0 -54
  103. package/lib/common/services.js.map +0 -1
@@ -0,0 +1,276 @@
1
+ /**
2
+ * 补全公共信息
3
+ */
4
+ export interface CompletionBaseTelemetry {
5
+ /**
6
+ * 补全 ID,request_id + completion_id 可关联到 source_request_id + completion_id 确定唯一一组补全行为,避免跨事件匹配
7
+ */
8
+ completionId: string;
9
+ /**
10
+ * 请求 ID
11
+ */
12
+ requestId: string;
13
+ /**
14
+ * 相对工作区路径
15
+ */
16
+ filePath: string;
17
+ /**
18
+ * 语言 ID
19
+ */
20
+ languageId: string;
21
+ /**
22
+ * 触发来源
23
+ */
24
+ triggerSource: CompletionTriggerSource;
25
+ /**
26
+ * 补全类型
27
+ */
28
+ type: CompletionType;
29
+ /**
30
+ * 补全意图
31
+ */
32
+ intent: CompletionIntent;
33
+ /**
34
+ * 提示内容长度
35
+ */
36
+ promptLength: number;
37
+ }
38
+ export declare enum CompletionType {
39
+ Completion = "completion",
40
+ NES = "nes"
41
+ }
42
+ /**
43
+ * 补全触发事件
44
+ */
45
+ export interface CompletionTriggerTelemetry extends CompletionBaseTelemetry {
46
+ /**
47
+ * 触发时间
48
+ */
49
+ triggerAt: number;
50
+ /**
51
+ * 模型的 stops
52
+ */
53
+ stops: string;
54
+ /**
55
+ * 采样数 即模型参数中的 n
56
+ */
57
+ sampleCount: number;
58
+ /**
59
+ * 当前编辑的文档的行数
60
+ */
61
+ fileLineCount: number;
62
+ /**
63
+ * 提示后缀长度
64
+ */
65
+ suffixLength: number;
66
+ /**
67
+ * 光标所在 AST 节点类型
68
+ */
69
+ cursorNodeType: string;
70
+ /**
71
+ * 归一化 AST 节点类型
72
+ */
73
+ astNodeGroup: string;
74
+ /**
75
+ * 光标前一个字符
76
+ */
77
+ charBeforeCursor: string;
78
+ /**
79
+ * 触发字符
80
+ */
81
+ triggerChar: string;
82
+ }
83
+ export declare enum CompletionTriggerSource {
84
+ Auto = "auto",
85
+ Shortcut = "shortcut"
86
+ }
87
+ export declare enum CompletionIntent {
88
+ Inline = "inline",
89
+ BlockScope = "block-scope",
90
+ Unknown = "unknown"
91
+ }
92
+ /**
93
+ * 补全完成事件
94
+ */
95
+ export interface CompletionResponseTelemetry extends CompletionBaseTelemetry {
96
+ /**
97
+ * 片段原始的 remote 请求 ID,remote 请求下等于自身,cache 模式下会追溯到原始请求
98
+ */
99
+ sourceRequestId: string;
100
+ /**
101
+ * 模型 ID (后端返回)
102
+ */
103
+ modelId: string;
104
+ /**
105
+ * 本条推荐的下标
106
+ */
107
+ index: number;
108
+ /**
109
+ * 本条推荐的行数
110
+ */
111
+ lineCount: number;
112
+ /**
113
+ * 本条推荐的代码片段
114
+ */
115
+ snippet: string;
116
+ /**
117
+ * 本条推荐片段的字符数
118
+ */
119
+ snippetLength: number;
120
+ /**
121
+ * 请求耗时,联合 source 是 remote 的情况下计算平均有效耗时
122
+ */
123
+ cost: number;
124
+ /**
125
+ * 推荐来源
126
+ */
127
+ source: 'remote' | 'cache';
128
+ /**
129
+ * 停止的原因 'stop' | 'length'
130
+ */
131
+ finishReason: string;
132
+ /**
133
+ * 停止时间
134
+ */
135
+ finishAt: number;
136
+ /**
137
+ * 原始的推荐片段
138
+ */
139
+ originSnippet: string;
140
+ /**
141
+ * 原始推荐片段的长度
142
+ */
143
+ originSnippetLength: number;
144
+ /**
145
+ * 原始推荐片段的中止原因
146
+ */
147
+ originFinishReason: string;
148
+ /**
149
+ * 后处理的耗时
150
+ */
151
+ postProcessCost: number;
152
+ /**
153
+ * 后处理的详情
154
+ */
155
+ postProcessDetails: string;
156
+ /**
157
+ * 传输停止的操作来自 remote 或 client
158
+ */
159
+ stoppedBy: string;
160
+ }
161
+ export declare enum CompletionAction {
162
+ Accept = "accept",
163
+ Reject = "reject",
164
+ Navigate = "navigate"
165
+ }
166
+ export declare enum CompletionActionSource {
167
+ Tab = "tab",
168
+ ESC = "esc",
169
+ Cursor = "cursor"
170
+ }
171
+ /**
172
+ * 补全采纳事件
173
+ */
174
+ export interface CompletionActionTelemetry extends CompletionBaseTelemetry {
175
+ /**
176
+ * 采纳的动作
177
+ */
178
+ action: CompletionAction;
179
+ /**
180
+ * 采纳的动作来源
181
+ */
182
+ actionSource: CompletionActionSource;
183
+ /**
184
+ * 片段原始的 remote 请求 ID,remote 请求下等于自身,cache 模式下会追溯到原始请求
185
+ */
186
+ sourceRequestId: string;
187
+ /**
188
+ * 采纳的方式
189
+ */
190
+ acceptMode?: CompletionAcceptMode;
191
+ /**
192
+ * 本次接受的下标
193
+ */
194
+ acceptIndex?: number;
195
+ /**
196
+ * 本次接受的片段行数
197
+ */
198
+ acceptLines: number;
199
+ /**
200
+ * 本次接受的代码片段内容
201
+ */
202
+ snippet: string;
203
+ /**
204
+ * 代码片段的字符数,按自然字符计数
205
+ */
206
+ snippetLength: number;
207
+ /**
208
+ * 本次补全推荐的代码片段包含的代码行数
209
+ */
210
+ recommendedLines: number;
211
+ /**
212
+ * 本次补全推荐的的代码片段内容
213
+ */
214
+ recommendedSnippet: string;
215
+ /**
216
+ * 本次补全推荐的代码片段的字符数,按自然字符计数
217
+ */
218
+ recommendedSnippetLength: number;
219
+ /**
220
+ * 本次推荐光标前缀内容,仅仅包括光标行前的内容
221
+ */
222
+ cursorPrefix?: string;
223
+ /**
224
+ * 本次推荐光标前缀内容的长度
225
+ */
226
+ cursorPrefixLength?: number;
227
+ /**
228
+ * 采纳或者取消动作触发的时间,主要用于 typeAsSuggested 的延时计算,其他情况下几乎等同于 event_time
229
+ */
230
+ actionAt: number;
231
+ /**
232
+ * 模型返回推荐片段呈现的时间戳
233
+ */
234
+ presentAt: number;
235
+ }
236
+ export declare enum CompletionAcceptMode {
237
+ Full = "full",
238
+ Partial = "partial",
239
+ Navigate = "navigate"
240
+ }
241
+ /**
242
+ * 补全采纳后留存事件
243
+ */
244
+ export interface CompletionPostAcceptTelemetry extends CompletionBaseTelemetry {
245
+ /**
246
+ * 上报间隔:单位(秒)
247
+ *
248
+ * 15, 30, 60, 300, 600
249
+ */
250
+ duration: number;
251
+ /**
252
+ * 当前选区的状态:部分修改,完全未修改
253
+ */
254
+ state: string;
255
+ /**
256
+ * 修改后的代码内容,完全未修改时无需上报
257
+ */
258
+ textInRange: string;
259
+ /**
260
+ * 相似度 0~1
261
+ */
262
+ similarity: number;
263
+ /**
264
+ * 原始的推荐片段
265
+ */
266
+ snippet: string;
267
+ /**
268
+ * 原始推荐片段的长度
269
+ */
270
+ snippetLength: number;
271
+ /**
272
+ * 采纳的方式
273
+ */
274
+ acceptMode: 'full' | 'line' | 'word' | 'typeAsSuggested';
275
+ }
276
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../../src/common/types/event/completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompletionAcceptMode = exports.CompletionActionSource = exports.CompletionAction = exports.CompletionIntent = exports.CompletionTriggerSource = exports.CompletionType = void 0;
4
+ var CompletionType;
5
+ (function (CompletionType) {
6
+ CompletionType["Completion"] = "completion";
7
+ CompletionType["NES"] = "nes";
8
+ })(CompletionType || (exports.CompletionType = CompletionType = {}));
9
+ var CompletionTriggerSource;
10
+ (function (CompletionTriggerSource) {
11
+ CompletionTriggerSource["Auto"] = "auto";
12
+ CompletionTriggerSource["Shortcut"] = "shortcut";
13
+ })(CompletionTriggerSource || (exports.CompletionTriggerSource = CompletionTriggerSource = {}));
14
+ var CompletionIntent;
15
+ (function (CompletionIntent) {
16
+ CompletionIntent["Inline"] = "inline";
17
+ CompletionIntent["BlockScope"] = "block-scope";
18
+ CompletionIntent["Unknown"] = "unknown";
19
+ })(CompletionIntent || (exports.CompletionIntent = CompletionIntent = {}));
20
+ var CompletionAction;
21
+ (function (CompletionAction) {
22
+ CompletionAction["Accept"] = "accept";
23
+ CompletionAction["Reject"] = "reject";
24
+ CompletionAction["Navigate"] = "navigate";
25
+ })(CompletionAction || (exports.CompletionAction = CompletionAction = {}));
26
+ var CompletionActionSource;
27
+ (function (CompletionActionSource) {
28
+ CompletionActionSource["Tab"] = "tab";
29
+ CompletionActionSource["ESC"] = "esc";
30
+ CompletionActionSource["Cursor"] = "cursor";
31
+ })(CompletionActionSource || (exports.CompletionActionSource = CompletionActionSource = {}));
32
+ var CompletionAcceptMode;
33
+ (function (CompletionAcceptMode) {
34
+ CompletionAcceptMode["Full"] = "full";
35
+ CompletionAcceptMode["Partial"] = "partial";
36
+ CompletionAcceptMode["Navigate"] = "navigate";
37
+ })(CompletionAcceptMode || (exports.CompletionAcceptMode = CompletionAcceptMode = {}));
38
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../../src/common/types/event/completion.ts"],"names":[],"mappings":";;;AAsCA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,2CAAyB,CAAA;IACzB,6BAAW,CAAA;AACf,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AA4CD,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,wCAAa,CAAA;IACb,gDAAqB,CAAA;AACzB,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,qCAAiB,CAAA;IACjB,8CAA0B,CAAA;IAC1B,uCAAmB,CAAA;AACvB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAwED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACzB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAC9B,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,2CAAiB,CAAA;AACrB,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC;AAwED,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;AACzB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * 表示工艺请求的接口
3
+ */
4
+ export interface CraftRequest {
5
+ /** 代理版本 */
6
+ agentVersion: string;
7
+ /** 代理名称 */
8
+ agentName: string;
9
+ /** 模型 */
10
+ model: string;
11
+ /** 模型请求 */
12
+ modelRequest: string;
13
+ /** 模型响应 */
14
+ modelResponse: string;
15
+ /** 工作空间文件 */
16
+ workSpaceFiles: string;
17
+ /** 时间戳 */
18
+ timestamp: number;
19
+ /** 场景 */
20
+ scene: string;
21
+ /** 操作代码 */
22
+ actionCode: string;
23
+ }
24
+ /**
25
+ * 聊天请求发送遥测数据接口
26
+ */
27
+ export interface ChatRequestSendTelemetry {
28
+ /** 聊天模式,枚举值:ask / chat */
29
+ mode: string;
30
+ /** 会话 ID */
31
+ conversationId: string;
32
+ /** 请求 ID */
33
+ requestId: string;
34
+ /** 模型调用 ID */
35
+ messageId: string;
36
+ /** 用户原始内容长度 */
37
+ inputLength: number;
38
+ /** 模型 ID */
39
+ modelId: string;
40
+ /** 模型名称 */
41
+ modelName: string;
42
+ /** 是否启用计划 */
43
+ isPlan: boolean;
44
+ /** 是否自动运行终端命令 */
45
+ isAutoExecuteTerminal: boolean;
46
+ /** 是否自动修改 */
47
+ isAutoModify: boolean;
48
+ /** Codebase 是否开启 */
49
+ codebaseEnable: boolean;
50
+ /** model 最大 token 数量 */
51
+ maxToken: number;
52
+ /** 请求最大步骤数 */
53
+ maxSteps: number;
54
+ /** 模型 temperature 参数 */
55
+ temperature: number;
56
+ /** 最大重试次数 */
57
+ maxRetries: number;
58
+ /** 上下文提及类型 */
59
+ mentionContexts: string[];
60
+ /** 提及的上下文数量 */
61
+ mentionContextCount: number;
62
+ /** 使用的命令类型,枚举值:cr(代码审查)/fix(修复)/explain(解释)/tests(测试)/docs(文档) */
63
+ command: string;
64
+ }
65
+ /**
66
+ * 聊天请求响应遥测数据接口
67
+ */
68
+ export interface ChatRequestResponseTelemetry {
69
+ /** 聊天模式,枚举值:ask / chat */
70
+ mode: string;
71
+ /** 会话 ID */
72
+ conversationId: string;
73
+ /** 请求 ID */
74
+ requestId: string;
75
+ /** 模型调用 ID */
76
+ messageId: string;
77
+ /** 模型 ID */
78
+ modelId: string;
79
+ /** 模型名称 */
80
+ modelName: string;
81
+ /** 工具调用次数 */
82
+ toolCallCount: number;
83
+ /** 输入 token 数量 */
84
+ inputToken: number;
85
+ /** 输出 token 数量 */
86
+ outputToken: number;
87
+ /** 总 token 消耗 */
88
+ totalToken: number;
89
+ /** 业务定义是否成功 */
90
+ isSuccessful: boolean;
91
+ }
92
+ /**
93
+ * 聊天消息发送遥测数据接口
94
+ */
95
+ export interface ChatMessageSendTelemetry {
96
+ /** 会话 ID */
97
+ conversationId: string;
98
+ /** 用户请求 ID */
99
+ requestId: string;
100
+ /** 模型调用 ID */
101
+ messageId: string;
102
+ /** 模型 ID */
103
+ modelId: string;
104
+ /** 模型名称 */
105
+ modelName: string;
106
+ /** 消息内容长度 */
107
+ historyCount: number;
108
+ /** 上下文是否被剪裁 */
109
+ isContextTruncated: boolean;
110
+ /** 当前 stepCount 数值 */
111
+ currentStepCount: number;
112
+ }
113
+ /**
114
+ * 聊天消息响应遥测数据接口
115
+ */
116
+ export interface ChatMessageResponseTelemetry {
117
+ /** 会话 ID */
118
+ conversationId: string;
119
+ /** 用户请求 ID */
120
+ requestId: string;
121
+ /** 模型调用 ID */
122
+ messageId: string;
123
+ /** 模型 ID */
124
+ modelId: string;
125
+ /** 模型名称 */
126
+ modelName: string;
127
+ /** 输入 token 数量 */
128
+ inputToken: number;
129
+ /** 输出 token 数量 */
130
+ outputToken: number;
131
+ /** 总 token 消耗 */
132
+ totalToken: number;
133
+ }
134
+ /**
135
+ * 聊天工具操作遥测数据接口
136
+ */
137
+ export interface ChatToolActionTelemetry {
138
+ /** 会话 ID */
139
+ conversationId: string;
140
+ /** 请求 ID */
141
+ requestId: string;
142
+ /** 消息 ID */
143
+ messageId: string;
144
+ /** 当前 stepCount 数值 */
145
+ stepCount: number;
146
+ /** 工具 ID */
147
+ toolCallId: string;
148
+ /** 工具名称 */
149
+ toolName: string;
150
+ /** 工具执行是否成功 */
151
+ toolCallSuccessful: boolean;
152
+ }
153
+ /**
154
+ * 聊天文件操作遥测数据接口
155
+ */
156
+ export interface ChatFileActionTelemetry {
157
+ /** 会话 ID */
158
+ conversationId: string;
159
+ /** 请求 ID */
160
+ requestId: string;
161
+ /** 消息 ID */
162
+ messageId: string;
163
+ /** 操作类型:accept/reject */
164
+ action: string;
165
+ /** 文件语言类型 */
166
+ languageId: string;
167
+ /** 是否为新创建的文件(仅 accept 时有效) */
168
+ isNewFile: boolean;
169
+ /** add 行数 */
170
+ addLineCount: number;
171
+ /** delete 行数 */
172
+ removedLines: number;
173
+ /** 文件路径 */
174
+ files: [{
175
+ path: string;
176
+ }];
177
+ }
178
+ /** 代码块操作类型 */
179
+ type CHAT_USER_ACTION_CODE_BLOCK = 'insert' | 'copy' | 'newFile' | 'terminal' | 'save' | 'apply' | 'applyAccept' | 'applyReject' | 'applyCancel' | 'applyCancelWithoutFile';
180
+ /** 聊天用户操作所有操作类型 */
181
+ type CHAT_USER_ACTION = 'like' | 'dislike' | 'delete' | 'share' | 'favor' | 'feedbackComment' | CHAT_USER_ACTION_CODE_BLOCK;
182
+ /**
183
+ * 聊天用户操作遥测数据接口
184
+ */
185
+ export interface ChatUserActionTelemetry {
186
+ /** 会话 ID */
187
+ conversationId: string;
188
+ /** 请求 ID */
189
+ requestId: string;
190
+ /** 消息 ID */
191
+ messageId: string;
192
+ /** 模型 ID */
193
+ modelId: string;
194
+ /** 模型名称 */
195
+ modelName: string;
196
+ /** 操作类型 like/dislike/delete/share/favor/feedbackComment */
197
+ action: CHAT_USER_ACTION | string;
198
+ /** 当操作与代码块相关时的代码内容 (可选) */
199
+ content?: string;
200
+ }
201
+ export {};
202
+ //# sourceMappingURL=craft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft.d.ts","sourceRoot":"","sources":["../../../../src/common/types/event/craft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=craft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft.js","sourceRoot":"","sources":["../../../../src/common/types/event/craft.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { ActivityNotifyTelemetry } from './activity';
2
+ import { UserAuthActionTelemetry } from './authentication';
3
+ import { ChatClickTelemetry, ChatVoteTelemetry, FileReceivingRejectionTelemetry, PageClickTelemetry, PageExposureTelemetry } from './chat';
4
+ import { CheckPointRequest } from './check-point';
5
+ import { CodeEditTelemetry } from './code';
6
+ import { CommitGenerateCancelTelemetry, CommitGenerateTelemetry } from './commit-message';
7
+ import { CompletionActionTelemetry, CompletionPostAcceptTelemetry, CompletionResponseTelemetry, CompletionTriggerTelemetry } from './completion';
8
+ import { ChatFileActionTelemetry, ChatMessageResponseTelemetry, ChatMessageSendTelemetry, ChatRequestResponseTelemetry, ChatRequestSendTelemetry, ChatToolActionTelemetry, ChatUserActionTelemetry, CraftRequest } from './craft';
9
+ import { McpServerActionTelemetry, McpSettingsChangeTelemetry, McpToolCallTelemetry } from './mcp';
10
+ import { PluginStatusTelemetry } from './plugin-status';
11
+ export declare enum Events {
12
+ UserAuthAction = "user_auth_action",
13
+ PluginStatus = "plugin_status",
14
+ /** craft 功能使用数据 */
15
+ Craft = "craft",
16
+ /** craft 编辑文件操作 */
17
+ CraftEditFile = "craft_edit_file",
18
+ /** craft 终端执行操作 */
19
+ CraftTerminalExecution = "craft_terminal_execution",
20
+ /** craft 文件应用状态 */
21
+ CraftFileApplyStatus = "craft_file_apply_status",
22
+ /** craft 限制调用相关 */
23
+ CraftLimitCall = "craft_limit_call",
24
+ /** llm craft request 上报 */
25
+ CraftRequestEvent = "craft_request",
26
+ CheckPointRollbackVersion = "rollback_version",
27
+ CheckPointRevertVersion = "revert_version",
28
+ /** chat 面板上所有的点击事件 */
29
+ ChatClick = "chat_click_event",
30
+ /** chat 面板点赞/点踩事件 */
31
+ VoteLikeDislike = "vote_like_dislike",
32
+ /** 页面展示 */
33
+ PageExposure = "page_show",
34
+ /** 页面点击事件 */
35
+ PageClick = "page_button_click",
36
+ /** Chat Request 开始 */
37
+ ChatRequestSend = "chat_request_send",
38
+ /** Chat Request 响应 */
39
+ ChatRequestResponse = "chat_request_response",
40
+ /** Chat Message 开始 */
41
+ ChatMessageSend = "chat_message_send",
42
+ /** Chat Message 响应 */
43
+ ChatMessageResponse = "chat_message_response",
44
+ /** Chat 工具执行 */
45
+ ChatToolAction = "chat_tool_action",
46
+ /** Chat 文件操作 */
47
+ ChatFileAction = "chat_file_action",
48
+ /** Chat 用户动作(点赞、点踩等) */
49
+ ChatUserAction = "chat_user_action",
50
+ /** 文件接收拒绝事件 */
51
+ FileReceivingRejection = "craft_file_op",
52
+ /** 代码补全事件 */
53
+ CompletionTrigger = "completion_trigger",
54
+ CompletionResponse = "completion_response",
55
+ CompletionAction = "completion_action",
56
+ CompletionPostAccept = "completion_post_accept",
57
+ CommitGenerate = "commit_generate",
58
+ CommitGenerateCancel = "commit_generate_cancel",
59
+ /** 代码编辑事件 */
60
+ CodeEdit = "code_edit",
61
+ ActivityNotify = "activity_notify",
62
+ McpToolCall = "mcp_tool_call",
63
+ McpServerAction = "mcp_action",
64
+ McpSettingsChange = "mcp_settings_change"
65
+ }
66
+ export interface EventPayloadMapping {
67
+ [Events.UserAuthAction]: UserAuthActionTelemetry;
68
+ [Events.PluginStatus]: PluginStatusTelemetry;
69
+ [Events.CompletionTrigger]: CompletionTriggerTelemetry;
70
+ [Events.CompletionResponse]: CompletionResponseTelemetry;
71
+ [Events.CompletionAction]: CompletionActionTelemetry;
72
+ [Events.CompletionPostAccept]: CompletionPostAcceptTelemetry;
73
+ [Events.CommitGenerate]: CommitGenerateTelemetry;
74
+ [Events.CommitGenerateCancel]: CommitGenerateCancelTelemetry;
75
+ [Events.CodeEdit]: CodeEditTelemetry;
76
+ [Events.ChatClick]: ChatClickTelemetry;
77
+ [Events.VoteLikeDislike]: ChatVoteTelemetry;
78
+ [Events.PageExposure]: PageExposureTelemetry;
79
+ [Events.PageClick]: PageClickTelemetry;
80
+ [Events.FileReceivingRejection]: FileReceivingRejectionTelemetry;
81
+ [Events.ChatRequestSend]: ChatRequestSendTelemetry;
82
+ [Events.ChatRequestResponse]: ChatRequestResponseTelemetry;
83
+ [Events.ChatMessageSend]: ChatMessageSendTelemetry;
84
+ [Events.ChatMessageResponse]: ChatMessageResponseTelemetry;
85
+ [Events.ChatToolAction]: ChatToolActionTelemetry;
86
+ [Events.ChatFileAction]: ChatFileActionTelemetry;
87
+ [Events.ChatUserAction]: ChatUserActionTelemetry;
88
+ [Events.ActivityNotify]: ActivityNotifyTelemetry;
89
+ [Events.CraftRequestEvent]: CraftRequest;
90
+ [Events.CheckPointRevertVersion]: CheckPointRequest;
91
+ [Events.CheckPointRollbackVersion]: CheckPointRequest;
92
+ [Events.McpToolCall]: McpToolCallTelemetry;
93
+ [Events.McpServerAction]: McpServerActionTelemetry;
94
+ [Events.McpSettingsChange]: McpSettingsChangeTelemetry;
95
+ }
96
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/common/types/event/events.ts"],"names":[],"mappings":"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"}