@devflow-tools/server 0.8.10 → 0.9.0

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 (35) hide show
  1. package/README.md +30 -19
  2. package/dist/app.module.d.ts.map +1 -1
  3. package/dist/app.module.js +1 -7
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/database/database.module.d.ts.map +1 -1
  6. package/dist/database/database.module.js +4 -2
  7. package/dist/database/database.module.js.map +1 -1
  8. package/dist/knowledge/knowledge.service.d.ts +1 -0
  9. package/dist/knowledge/knowledge.service.d.ts.map +1 -1
  10. package/dist/knowledge/knowledge.service.js +7 -2
  11. package/dist/knowledge/knowledge.service.js.map +1 -1
  12. package/dist/main.js +1 -1
  13. package/dist/main.js.map +1 -1
  14. package/dist/memory/memory.service.d.ts +1 -0
  15. package/dist/memory/memory.service.d.ts.map +1 -1
  16. package/dist/memory/memory.service.js +22 -4
  17. package/dist/memory/memory.service.js.map +1 -1
  18. package/dist/telemetry/auto-checker.d.ts +23 -0
  19. package/dist/telemetry/auto-checker.d.ts.map +1 -0
  20. package/dist/telemetry/auto-checker.js +121 -0
  21. package/dist/telemetry/auto-checker.js.map +1 -0
  22. package/dist/telemetry/telemetry.controller.d.ts +101 -43
  23. package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
  24. package/dist/telemetry/telemetry.controller.js +198 -9
  25. package/dist/telemetry/telemetry.controller.js.map +1 -1
  26. package/dist/telemetry/telemetry.service.d.ts +137 -84
  27. package/dist/telemetry/telemetry.service.d.ts.map +1 -1
  28. package/dist/telemetry/telemetry.service.js +439 -455
  29. package/dist/telemetry/telemetry.service.js.map +1 -1
  30. package/dist/workflow/workflow.controller.d.ts +4 -4
  31. package/dist/workflow/workflow.service.d.ts +6 -4
  32. package/dist/workflow/workflow.service.d.ts.map +1 -1
  33. package/dist/workflow/workflow.service.js +46 -4
  34. package/dist/workflow/workflow.service.js.map +1 -1
  35. package/package.json +11 -11
@@ -8,32 +8,43 @@ export declare class TelemetryController {
8
8
  constructor(service: TelemetryService, memoryService: MemoryService, projectsService: ProjectsService);
9
9
  listRuns(limit?: string, offset?: string, source?: string): Promise<{
10
10
  id: any;
11
- agent: any;
12
- mode: any;
13
- source: any;
11
+ agent: string;
12
+ mode: string;
13
+ source: string;
14
14
  status: any;
15
15
  startedAt: any;
16
- tokenUsed: any;
16
+ totalToolCalls: any;
17
+ mcpToolCalls: any;
18
+ mcpComplianceRate: number;
17
19
  }[]>;
18
20
  getRun(id: string): Promise<any>;
19
- getTimeline(from?: string, to?: string): Promise<any[]>;
20
- getRunEvents(runId: string): Promise<any>;
21
+ getTimeline(from?: string, to?: string): Promise<{
22
+ runId: any;
23
+ stepId: any;
24
+ type: string;
25
+ duration: any;
26
+ timestamp: any;
27
+ }[]>;
28
+ getRunEvents(runId: string): Promise<any[]>;
29
+ recordRunEvent(runId: string, body: Record<string, unknown>): Promise<{
30
+ ok: boolean;
31
+ eventId: string;
32
+ }>;
21
33
  getRunStats(runId: string): Promise<import("@devflow-tools/sdk").RunStats | {
22
- totalEvents: any;
34
+ totalEvents: number;
23
35
  llmCalls: number;
24
- totalTokens: any;
25
- toolUses: any;
36
+ totalTokens: number;
37
+ toolUses: number;
26
38
  fileReads: number;
27
39
  fileWrites: number;
28
40
  bashCommands: number;
29
- errors: any;
30
- totalDuration: any;
31
- mcpToolCalls: any;
32
- directToolCalls: any;
33
- mcpComplianceRate: any;
41
+ errors: number;
42
+ totalDuration: number;
43
+ mcpToolCalls: number;
44
+ directToolCalls: number;
45
+ mcpComplianceRate: number;
34
46
  }>;
35
47
  completeRun(runId: string): Promise<{
36
- ok: boolean;
37
48
  extracted: number;
38
49
  }>;
39
50
  getStats(days?: string): Promise<{
@@ -52,32 +63,45 @@ export declare class TelemetryController {
52
63
  };
53
64
  byDay: {
54
65
  runs: number;
55
- tokens: number;
56
66
  date: string;
67
+ tokens: number;
57
68
  }[];
58
- byWorkflow: {
59
- name: string;
60
- runs: number;
61
- successRate: number;
62
- avgDuration: number;
63
- }[];
64
- byPlugin: {
65
- name: string;
66
- runs: number;
67
- successRate: number;
68
- }[];
69
+ byWorkflow: never[];
70
+ byPlugin: never[];
69
71
  }>;
70
- getRoiSummary(days?: string): Promise<import("@devflow-tools/sdk").RoiSummary>;
72
+ getRoiSummary(days?: string): Promise<any>;
71
73
  cleanup(body: {
72
74
  olderThanDays?: number;
73
75
  }): Promise<{
76
+ removedRuns: number;
77
+ }>;
78
+ cleanupStale(): Promise<{
74
79
  ok: boolean;
75
- data: {
76
- removedRuns: number;
77
- };
80
+ }>;
81
+ createSession(body: {
82
+ id: string;
83
+ projectRoot: string;
84
+ startedAt: number;
85
+ label?: string;
86
+ }): Promise<{
87
+ id: string;
88
+ }>;
89
+ listSessions(limit?: string, offset?: string, projectRoot?: string): Promise<any[]>;
90
+ getSession(id: string): Promise<any>;
91
+ getSessionEvents(sessionId: string): Promise<any[]>;
92
+ closeSession(sessionId: string, body: {
93
+ finishedAt: number;
94
+ }): Promise<{}>;
95
+ startSessionSkillExecution(sessionId: string, body: {
96
+ executionId: string;
97
+ skillName: string;
98
+ startedAt: number;
99
+ }): Promise<{
100
+ executionId: string;
78
101
  }>;
79
102
  startSkillExecution(body: {
80
103
  executionId: string;
104
+ sessionId?: string;
81
105
  skillName: string;
82
106
  startedAt: number;
83
107
  }): Promise<{
@@ -86,6 +110,7 @@ export declare class TelemetryController {
86
110
  recordToolCall(event: {
87
111
  eventId: string;
88
112
  executionId: string;
113
+ sessionId?: string;
89
114
  timestamp: number;
90
115
  toolName: string;
91
116
  toolType: string;
@@ -93,8 +118,8 @@ export declare class TelemetryController {
93
118
  mcpToolName?: string;
94
119
  mcpEnforced: boolean;
95
120
  mcpFallback: boolean;
121
+ kind?: string;
96
122
  input: unknown;
97
- tokensUsed: number;
98
123
  duration: number;
99
124
  blocked: boolean;
100
125
  blockReason?: string;
@@ -103,11 +128,11 @@ export declare class TelemetryController {
103
128
  }>;
104
129
  updateToolCallOutput(body: {
105
130
  eventId: string;
106
- executionId: string;
131
+ sessionId?: string;
107
132
  output: unknown;
108
- }): Promise<{
109
- ok: boolean;
110
- }>;
133
+ completedAt?: number;
134
+ duration?: number;
135
+ }): Promise<{}>;
111
136
  completeSkillExecution(body: {
112
137
  executionId: string;
113
138
  finishedAt: number;
@@ -117,21 +142,54 @@ export declare class TelemetryController {
117
142
  mcpToolCalls: number;
118
143
  directToolCalls: number;
119
144
  subagentCount: number;
120
- totalTokens: number;
121
145
  totalDuration: number;
122
146
  mcpComplianceRate: number;
123
147
  };
124
148
  }): Promise<{}>;
125
- getExecutions(limit?: string, skillName?: string): Promise<{
126
- data: any[];
127
- }>;
128
- getExecutionEvents(executionId: string): Promise<{
129
- data: any[];
130
- }>;
149
+ getExecutions(limit?: string, skillName?: string): Promise<any[]>;
150
+ getExecutionEvents(executionId: string): Promise<any[]>;
131
151
  getMcpCompliance(): Promise<{
132
152
  overall: number;
133
153
  bySkill: Record<string, number>;
134
154
  missedTools: string[];
135
155
  }>;
156
+ recordToolMetric(body: {
157
+ id: string;
158
+ toolCallEventId: string;
159
+ sessionId: string;
160
+ toolName: string;
161
+ query?: string;
162
+ status?: string;
163
+ resultCount?: number;
164
+ resultSizeBytes?: number;
165
+ latencyMs?: number;
166
+ engine?: string;
167
+ accuracyQueryId?: string;
168
+ metadata?: string;
169
+ }): Promise<{
170
+ ok: boolean;
171
+ }>;
172
+ getToolMetrics(sessionId?: string, toolName?: string, limit?: string, offset?: string): Promise<any[]>;
173
+ getToolMetricsSummary(days?: string): Promise<any[]>;
174
+ recordAccuracyQuery(body: {
175
+ id: string;
176
+ sessionId: string;
177
+ engine: string;
178
+ query: string;
179
+ topKResults: any;
180
+ selectedIds?: string[];
181
+ }): Promise<{
182
+ id: string;
183
+ }>;
184
+ getAccuracyQueries(engine?: string, status?: string, limit?: string, offset?: string): Promise<any[]>;
185
+ updateAccuracyFeedback(body: {
186
+ queryId: string;
187
+ relevance: 'hit' | 'partial' | 'miss';
188
+ note?: string;
189
+ }): Promise<{
190
+ ok: boolean;
191
+ }>;
192
+ getAccuracyStats(engine?: string, since?: string): Promise<any>;
193
+ runAutoCheck(): Promise<any[]>;
136
194
  }
137
195
  //# sourceMappingURL=telemetry.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.controller.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,mBAAmB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFd,OAAO,EAAE,gBAAgB,EAC5B,aAAa,EAAE,aAAa,EAC1B,eAAe,EAAE,eAAe;IAItE,QAAQ,CAAiB,KAAK,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAK3G,MAAM,CAAc,EAAE,EAAE,MAAM;IAO9B,WAAW,CAAgB,IAAI,CAAC,EAAE,MAAM,EAAe,EAAE,CAAC,EAAE,MAAM;IAKlE,YAAY,CAAiB,KAAK,EAAE,MAAM;IAK1C,WAAW,CAAiB,KAAK,EAAE,MAAM;;;;;;;;;;;;;;IAKzC,WAAW,CAAc,KAAK,EAAE,MAAM;;;;IAYtC,QAAQ,CAAgB,IAAI,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKrC,aAAa,CAAgB,IAAI,CAAC,EAAE,MAAM;IAK1C,OAAO,CAAS,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;IAMhD,mBAAmB,CACf,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;;;IAOvE,cAAc,CACV,KAAK,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QACxD,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QACvD,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QACjE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KACxC;;;IAOG,oBAAoB,CAChB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;;;IAOnE,sBAAsB,CAClB,IAAI,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QACxC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE;YACP,cAAc,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAC7C,eAAe,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAC/C,WAAW,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAC3C,iBAAiB,EAAE,MAAM,CAAC;SAC3B,CAAC;KACH;IAOG,aAAa,CACD,KAAK,CAAC,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,MAAM;;;IAOlC,kBAAkB,CAAc,WAAW,EAAE,MAAM;;;IAMnD,gBAAgB;;;;;CAGvB"}
1
+ {"version":3,"file":"telemetry.controller.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"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"}
@@ -34,15 +34,25 @@ let TelemetryController = class TelemetryController {
34
34
  async getRunEvents(runId) {
35
35
  return this.service.getRunEvents(runId);
36
36
  }
37
+ async recordRunEvent(runId, body) {
38
+ const event = {
39
+ ...body,
40
+ runId,
41
+ id: body.id || `evt:${Date.now()}:${Math.random().toString(36).slice(2, 7)}`,
42
+ stepId: body.stepId || body.metadata?.stepId || 'unknown',
43
+ };
44
+ await this.service.recordEvent(event);
45
+ return { ok: true, eventId: event.id };
46
+ }
37
47
  async getRunStats(runId) {
38
48
  return this.service.getRunStats(runId);
39
49
  }
40
50
  async completeRun(runId) {
41
- await this.service.endRun(runId, { status: "success", tokenUsed: 0 });
51
+ await this.service.endRun(runId, { status: "success" });
42
52
  const events = await this.service.getRunEvents(runId);
43
53
  const rootPath = this.projectsService.getActiveProjectRoot();
44
54
  const result = await this.memoryService.extract(rootPath ?? "", events);
45
- return { ok: true, extracted: Array.isArray(result) ? result.length : 0 };
55
+ return { extracted: Array.isArray(result) ? result.length : 0 };
46
56
  }
47
57
  async getStats(days) {
48
58
  return this.service.getStats(Number(days) || 7);
@@ -52,7 +62,33 @@ let TelemetryController = class TelemetryController {
52
62
  }
53
63
  async cleanup(body) {
54
64
  const count = await this.service.cleanup(body.olderThanDays ?? 30);
55
- return { ok: true, data: { removedRuns: count } };
65
+ return { removedRuns: count };
66
+ }
67
+ async cleanupStale() {
68
+ await this.service.cleanupStaleRecords();
69
+ return { ok: true };
70
+ }
71
+ // ---- Sessions ----
72
+ async createSession(body) {
73
+ await this.service.createSession(body);
74
+ return { id: body.id };
75
+ }
76
+ async listSessions(limit, offset, projectRoot) {
77
+ return this.service.listSessions(Number(limit) || 20, Number(offset) || 0, projectRoot);
78
+ }
79
+ async getSession(id) {
80
+ return this.service.getSession(id);
81
+ }
82
+ async getSessionEvents(sessionId) {
83
+ return this.service.getSessionEvents(sessionId);
84
+ }
85
+ async closeSession(sessionId, body) {
86
+ await this.service.closeSession(sessionId, body.finishedAt);
87
+ return {};
88
+ }
89
+ async startSessionSkillExecution(sessionId, body) {
90
+ await this.service.createSkillExecution({ ...body, sessionId });
91
+ return { executionId: body.executionId };
56
92
  }
57
93
  async startSkillExecution(body) {
58
94
  await this.service.recordExecutionStart(body);
@@ -63,24 +99,55 @@ let TelemetryController = class TelemetryController {
63
99
  return { eventId: event.eventId };
64
100
  }
65
101
  async updateToolCallOutput(body) {
66
- await this.service.updateToolCallOutput(body.eventId, body.output);
67
- return { ok: true };
102
+ await this.service.updateToolCallOutput(body.eventId, body.output, body.completedAt, body.duration);
103
+ return {};
68
104
  }
69
105
  async completeSkillExecution(body) {
70
106
  await this.service.recordExecutionComplete(body);
71
107
  return {};
72
108
  }
73
109
  async getExecutions(limit, skillName) {
74
- const executions = await this.service.getExecutions(Number(limit) || 20, skillName);
75
- return { data: executions };
110
+ return this.service.getExecutions(Number(limit) || 20, skillName);
76
111
  }
77
112
  async getExecutionEvents(executionId) {
78
- const events = await this.service.getExecutionEvents(executionId);
79
- return { data: events };
113
+ return this.service.getExecutionEvents(executionId);
80
114
  }
81
115
  async getMcpCompliance() {
82
116
  return await this.service.getMcpCompliance();
83
117
  }
118
+ // ---- Tool Metrics ----
119
+ async recordToolMetric(body) {
120
+ await this.service.recordToolMetric(body);
121
+ return { ok: true };
122
+ }
123
+ async getToolMetrics(sessionId, toolName, limit, offset) {
124
+ return this.service.getToolMetrics(sessionId, toolName, Number(limit) || 100, Number(offset) || 0);
125
+ }
126
+ async getToolMetricsSummary(days) {
127
+ return this.service.getToolMetricsSummary(Number(days) || 7);
128
+ }
129
+ // ---- Accuracy Queries ----
130
+ async recordAccuracyQuery(body) {
131
+ await this.service.recordAccuracyQuery({
132
+ ...body,
133
+ topKResults: JSON.stringify(body.topKResults),
134
+ selectedIds: body.selectedIds ? JSON.stringify(body.selectedIds) : undefined,
135
+ });
136
+ return { id: body.id };
137
+ }
138
+ async getAccuracyQueries(engine, status, limit, offset) {
139
+ return this.service.getAccuracyQueries({ engine, status, limit: Number(limit) || 50, offset: Number(offset) || 0 });
140
+ }
141
+ async updateAccuracyFeedback(body) {
142
+ await this.service.updateAccuracyFeedback(body.queryId, { relevance: body.relevance, note: body.note });
143
+ return { ok: true };
144
+ }
145
+ async getAccuracyStats(engine, since) {
146
+ return this.service.getAccuracyStats(engine, since ? Number(since) : undefined);
147
+ }
148
+ async runAutoCheck() {
149
+ return this.service.runAutoCheck();
150
+ }
84
151
  };
85
152
  __decorate([
86
153
  Get("runs"),
@@ -113,6 +180,14 @@ __decorate([
113
180
  __metadata("design:paramtypes", [String]),
114
181
  __metadata("design:returntype", Promise)
115
182
  ], TelemetryController.prototype, "getRunEvents", null);
183
+ __decorate([
184
+ Post("runs/:runId/events"),
185
+ __param(0, Param("runId")),
186
+ __param(1, Body()),
187
+ __metadata("design:type", Function),
188
+ __metadata("design:paramtypes", [String, Object]),
189
+ __metadata("design:returntype", Promise)
190
+ ], TelemetryController.prototype, "recordRunEvent", null);
116
191
  __decorate([
117
192
  Get("runs/:runId/stats"),
118
193
  __param(0, Param("runId")),
@@ -148,6 +223,58 @@ __decorate([
148
223
  __metadata("design:paramtypes", [Object]),
149
224
  __metadata("design:returntype", Promise)
150
225
  ], TelemetryController.prototype, "cleanup", null);
226
+ __decorate([
227
+ Post("cleanup-stale"),
228
+ __metadata("design:type", Function),
229
+ __metadata("design:paramtypes", []),
230
+ __metadata("design:returntype", Promise)
231
+ ], TelemetryController.prototype, "cleanupStale", null);
232
+ __decorate([
233
+ Post("sessions"),
234
+ __param(0, Body()),
235
+ __metadata("design:type", Function),
236
+ __metadata("design:paramtypes", [Object]),
237
+ __metadata("design:returntype", Promise)
238
+ ], TelemetryController.prototype, "createSession", null);
239
+ __decorate([
240
+ Get("sessions"),
241
+ __param(0, Query("limit")),
242
+ __param(1, Query("offset")),
243
+ __param(2, Query("projectRoot")),
244
+ __metadata("design:type", Function),
245
+ __metadata("design:paramtypes", [String, String, String]),
246
+ __metadata("design:returntype", Promise)
247
+ ], TelemetryController.prototype, "listSessions", null);
248
+ __decorate([
249
+ Get("sessions/:id"),
250
+ __param(0, Param("id")),
251
+ __metadata("design:type", Function),
252
+ __metadata("design:paramtypes", [String]),
253
+ __metadata("design:returntype", Promise)
254
+ ], TelemetryController.prototype, "getSession", null);
255
+ __decorate([
256
+ Get("sessions/:id/events"),
257
+ __param(0, Param("id")),
258
+ __metadata("design:type", Function),
259
+ __metadata("design:paramtypes", [String]),
260
+ __metadata("design:returntype", Promise)
261
+ ], TelemetryController.prototype, "getSessionEvents", null);
262
+ __decorate([
263
+ Post("sessions/:id/close"),
264
+ __param(0, Param("id")),
265
+ __param(1, Body()),
266
+ __metadata("design:type", Function),
267
+ __metadata("design:paramtypes", [String, Object]),
268
+ __metadata("design:returntype", Promise)
269
+ ], TelemetryController.prototype, "closeSession", null);
270
+ __decorate([
271
+ Post("sessions/:id/skill-executions"),
272
+ __param(0, Param("id")),
273
+ __param(1, Body()),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [String, Object]),
276
+ __metadata("design:returntype", Promise)
277
+ ], TelemetryController.prototype, "startSessionSkillExecution", null);
151
278
  __decorate([
152
279
  Post("skill-execution/start"),
153
280
  __param(0, Body()),
@@ -197,6 +324,68 @@ __decorate([
197
324
  __metadata("design:paramtypes", []),
198
325
  __metadata("design:returntype", Promise)
199
326
  ], TelemetryController.prototype, "getMcpCompliance", null);
327
+ __decorate([
328
+ Post("tool-metrics"),
329
+ __param(0, Body()),
330
+ __metadata("design:type", Function),
331
+ __metadata("design:paramtypes", [Object]),
332
+ __metadata("design:returntype", Promise)
333
+ ], TelemetryController.prototype, "recordToolMetric", null);
334
+ __decorate([
335
+ Get("tool-metrics"),
336
+ __param(0, Query("sessionId")),
337
+ __param(1, Query("toolName")),
338
+ __param(2, Query("limit")),
339
+ __param(3, Query("offset")),
340
+ __metadata("design:type", Function),
341
+ __metadata("design:paramtypes", [String, String, String, String]),
342
+ __metadata("design:returntype", Promise)
343
+ ], TelemetryController.prototype, "getToolMetrics", null);
344
+ __decorate([
345
+ Get("tool-metrics/summary"),
346
+ __param(0, Query("days")),
347
+ __metadata("design:type", Function),
348
+ __metadata("design:paramtypes", [String]),
349
+ __metadata("design:returntype", Promise)
350
+ ], TelemetryController.prototype, "getToolMetricsSummary", null);
351
+ __decorate([
352
+ Post("accuracy/query"),
353
+ __param(0, Body()),
354
+ __metadata("design:type", Function),
355
+ __metadata("design:paramtypes", [Object]),
356
+ __metadata("design:returntype", Promise)
357
+ ], TelemetryController.prototype, "recordAccuracyQuery", null);
358
+ __decorate([
359
+ Get("accuracy/queries"),
360
+ __param(0, Query("engine")),
361
+ __param(1, Query("status")),
362
+ __param(2, Query("limit")),
363
+ __param(3, Query("offset")),
364
+ __metadata("design:type", Function),
365
+ __metadata("design:paramtypes", [String, String, String, String]),
366
+ __metadata("design:returntype", Promise)
367
+ ], TelemetryController.prototype, "getAccuracyQueries", null);
368
+ __decorate([
369
+ Post("accuracy/feedback"),
370
+ __param(0, Body()),
371
+ __metadata("design:type", Function),
372
+ __metadata("design:paramtypes", [Object]),
373
+ __metadata("design:returntype", Promise)
374
+ ], TelemetryController.prototype, "updateAccuracyFeedback", null);
375
+ __decorate([
376
+ Get("accuracy/stats"),
377
+ __param(0, Query("engine")),
378
+ __param(1, Query("since")),
379
+ __metadata("design:type", Function),
380
+ __metadata("design:paramtypes", [String, String]),
381
+ __metadata("design:returntype", Promise)
382
+ ], TelemetryController.prototype, "getAccuracyStats", null);
383
+ __decorate([
384
+ Get("auto-check"),
385
+ __metadata("design:type", Function),
386
+ __metadata("design:paramtypes", []),
387
+ __metadata("design:returntype", Promise)
388
+ ], TelemetryController.prototype, "runAutoCheck", null);
200
389
  TelemetryController = __decorate([
201
390
  Controller("telemetry"),
202
391
  __param(0, Inject(TelemetryService)),
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAG3D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAC6C,OAAyB,EAC5B,aAA4B,EAC1B,eAAgC;QAF/B,YAAO,GAAP,OAAO,CAAkB;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC1B,oBAAe,GAAf,eAAe,CAAiB;IACzE,CAAC;IAGE,AAAN,KAAK,CAAC,QAAQ,CAAiB,KAAc,EAAmB,MAAe,EAAmB,MAAe;QAC/G,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IACjC,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAa,EAAe,EAAW;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAiB,KAAa;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAiB,KAAa;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAc,KAAa;QAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAC7C,QAAQ,IAAI,EAAE,EACd,MAAmD,CACpD,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAgB,IAAa;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CAAgB,IAAa;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAgC;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;IACpD,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACf,IAAmE;QAE3E,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CACV,KAMP;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CAChB,IAA+D;QAEvE,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAClB,IASP;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CACD,KAAc,EACV,SAAkB;QAEtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QACpF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAc,WAAmB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC;CACF,CAAA;AAxHO;IADL,GAAG,CAAC,MAAM,CAAC;IACI,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAmB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;mDAEhG;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACF,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAIxB;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACG,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAiB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAE3D;AAGK;IADL,GAAG,CAAC,oBAAoB,CAAC;IACN,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;uDAEjC;AAGK;IADL,GAAG,CAAC,mBAAmB,CAAC;IACN,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;sDAEhC;AAGK;IADL,IAAI,CAAC,mBAAmB,CAAC;IACP,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAS7B;AAGK;IADL,GAAG,CAAC,OAAO,CAAC;IACG,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;mDAE5B;AAGK;IADL,GAAG,CAAC,aAAa,CAAC;IACE,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;wDAEjC;AAGK;IADL,IAAI,CAAC,SAAS,CAAC;IACD,WAAA,IAAI,EAAE,CAAA;;;;kDAGpB;AAGK;IADL,IAAI,CAAC,uBAAuB,CAAC;IAE3B,WAAA,IAAI,EAAE,CAAA;;;;8DAIR;AAGK;IADL,IAAI,CAAC,WAAW,CAAC;IAEf,WAAA,IAAI,EAAE,CAAA;;;;yDAUR;AAGK;IADL,IAAI,CAAC,kBAAkB,CAAC;IAEtB,WAAA,IAAI,EAAE,CAAA;;;;+DAIR;AAGK;IADL,IAAI,CAAC,0BAA0B,CAAC;IAE9B,WAAA,IAAI,EAAE,CAAA;;;;iEAaR;AAGK;IADL,GAAG,CAAC,YAAY,CAAC;IAEf,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,WAAA,KAAK,CAAC,WAAW,CAAC,CAAA;;;;wDAIpB;AAGK;IADL,GAAG,CAAC,uBAAuB,CAAC;IACH,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;6DAGpC;AAGK;IADL,GAAG,CAAC,gBAAgB,CAAC;;;;2DAGrB;AA/HU,mBAAmB;IAD/B,UAAU,CAAC,WAAW,CAAC;IAGnB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;IACrB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAF4B,gBAAgB;QACb,aAAa;QACT,eAAe;GAJjE,mBAAmB,CAgI/B"}
1
+ {"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"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"}