@devflow-tools/server 0.12.6 → 0.13.1

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 (201) hide show
  1. package/dist/app.module.d.ts +3 -0
  2. package/dist/app.module.d.ts.map +1 -0
  3. package/dist/app.module.js +42 -0
  4. package/dist/app.module.js.map +1 -0
  5. package/dist/auth/api-key.decorator.d.ts +3 -0
  6. package/dist/auth/api-key.decorator.d.ts.map +1 -0
  7. package/dist/auth/api-key.decorator.js +4 -0
  8. package/dist/auth/api-key.decorator.js.map +1 -0
  9. package/dist/auth/api-key.guard.d.ts +8 -0
  10. package/dist/auth/api-key.guard.d.ts.map +1 -0
  11. package/dist/auth/api-key.guard.js +61 -0
  12. package/dist/auth/api-key.guard.js.map +1 -0
  13. package/dist/auth/auth.module.d.ts +3 -0
  14. package/dist/auth/auth.module.d.ts.map +1 -0
  15. package/dist/auth/auth.module.js +19 -0
  16. package/dist/auth/auth.module.js.map +1 -0
  17. package/dist/auth/errors.d.ts +6 -0
  18. package/dist/auth/errors.d.ts.map +1 -0
  19. package/dist/auth/errors.js +5 -0
  20. package/dist/auth/errors.js.map +1 -0
  21. package/dist/benchmark/benchmark.controller.d.ts +11 -0
  22. package/dist/benchmark/benchmark.controller.d.ts.map +1 -0
  23. package/dist/benchmark/benchmark.controller.js +35 -0
  24. package/dist/benchmark/benchmark.controller.js.map +1 -0
  25. package/dist/benchmark/benchmark.module.d.ts +3 -0
  26. package/dist/benchmark/benchmark.module.d.ts.map +1 -0
  27. package/dist/benchmark/benchmark.module.js +16 -0
  28. package/dist/benchmark/benchmark.module.js.map +1 -0
  29. package/dist/benchmark/benchmark.service.d.ts +12 -0
  30. package/dist/benchmark/benchmark.service.d.ts.map +1 -0
  31. package/dist/benchmark/benchmark.service.js +58 -0
  32. package/dist/benchmark/benchmark.service.js.map +1 -0
  33. package/dist/common/dto.d.ts +12 -0
  34. package/dist/common/dto.d.ts.map +1 -0
  35. package/dist/common/dto.js +2 -0
  36. package/dist/common/dto.js.map +1 -0
  37. package/dist/common/error-codes.d.ts +17 -0
  38. package/dist/common/error-codes.d.ts.map +1 -0
  39. package/dist/common/error-codes.js +16 -0
  40. package/dist/common/error-codes.js.map +1 -0
  41. package/dist/common/http-exception.filter.d.ts +6 -0
  42. package/dist/common/http-exception.filter.d.ts.map +1 -0
  43. package/dist/common/http-exception.filter.js +77 -0
  44. package/dist/common/http-exception.filter.js.map +1 -0
  45. package/dist/common/response.interceptor.d.ts +6 -0
  46. package/dist/common/response.interceptor.d.ts.map +1 -0
  47. package/dist/common/response.interceptor.js +23 -0
  48. package/dist/common/response.interceptor.js.map +1 -0
  49. package/dist/common/response.interceptor.test.d.ts +2 -0
  50. package/dist/common/response.interceptor.test.d.ts.map +1 -0
  51. package/dist/common/response.interceptor.test.js +23 -0
  52. package/dist/common/response.interceptor.test.js.map +1 -0
  53. package/dist/common/root-path.decorator.d.ts +2 -0
  54. package/dist/common/root-path.decorator.d.ts.map +1 -0
  55. package/dist/common/root-path.decorator.js +6 -0
  56. package/dist/common/root-path.decorator.js.map +1 -0
  57. package/dist/context/context.controller.d.ts +43 -0
  58. package/dist/context/context.controller.d.ts.map +1 -0
  59. package/dist/context/context.controller.js +120 -0
  60. package/dist/context/context.controller.js.map +1 -0
  61. package/dist/context/context.controller.spec.d.ts +2 -0
  62. package/dist/context/context.controller.spec.d.ts.map +1 -0
  63. package/dist/context/context.controller.spec.js +191 -0
  64. package/dist/context/context.controller.spec.js.map +1 -0
  65. package/dist/context/context.module.d.ts +3 -0
  66. package/dist/context/context.module.d.ts.map +1 -0
  67. package/dist/context/context.module.js +18 -0
  68. package/dist/context/context.module.js.map +1 -0
  69. package/dist/context/context.service.d.ts +47 -0
  70. package/dist/context/context.service.d.ts.map +1 -0
  71. package/dist/context/context.service.js +104 -0
  72. package/dist/context/context.service.js.map +1 -0
  73. package/dist/data/data.controller.d.ts +19 -0
  74. package/dist/data/data.controller.d.ts.map +1 -0
  75. package/dist/data/data.controller.js +78 -0
  76. package/dist/data/data.controller.js.map +1 -0
  77. package/dist/data/data.controller.spec.d.ts +2 -0
  78. package/dist/data/data.controller.spec.d.ts.map +1 -0
  79. package/dist/data/data.controller.spec.js +85 -0
  80. package/dist/data/data.controller.spec.js.map +1 -0
  81. package/dist/data/data.module.d.ts +3 -0
  82. package/dist/data/data.module.d.ts.map +1 -0
  83. package/dist/data/data.module.js +22 -0
  84. package/dist/data/data.module.js.map +1 -0
  85. package/dist/data/data.service.d.ts +54 -0
  86. package/dist/data/data.service.d.ts.map +1 -0
  87. package/dist/data/data.service.js +99 -0
  88. package/dist/data/data.service.js.map +1 -0
  89. package/dist/data/data.service.spec.d.ts +2 -0
  90. package/dist/data/data.service.spec.d.ts.map +1 -0
  91. package/dist/data/data.service.spec.js +148 -0
  92. package/dist/data/data.service.spec.js.map +1 -0
  93. package/dist/database/database.module.d.ts +3 -0
  94. package/dist/database/database.module.d.ts.map +1 -0
  95. package/dist/database/database.module.js +28 -0
  96. package/dist/database/database.module.js.map +1 -0
  97. package/dist/graph/graph.controller.d.ts +15 -0
  98. package/dist/graph/graph.controller.d.ts.map +1 -0
  99. package/dist/graph/graph.controller.js +78 -0
  100. package/dist/graph/graph.controller.js.map +1 -0
  101. package/dist/graph/graph.module.d.ts +3 -0
  102. package/dist/graph/graph.module.d.ts.map +1 -0
  103. package/dist/graph/graph.module.js +18 -0
  104. package/dist/graph/graph.module.js.map +1 -0
  105. package/dist/graph/graph.service.d.ts +11 -0
  106. package/dist/graph/graph.service.d.ts.map +1 -0
  107. package/dist/graph/graph.service.js +45 -0
  108. package/dist/graph/graph.service.js.map +1 -0
  109. package/dist/knowledge/knowledge.controller.d.ts +15 -0
  110. package/dist/knowledge/knowledge.controller.d.ts.map +1 -0
  111. package/dist/knowledge/knowledge.controller.js +71 -0
  112. package/dist/knowledge/knowledge.controller.js.map +1 -0
  113. package/dist/knowledge/knowledge.module.d.ts +3 -0
  114. package/dist/knowledge/knowledge.module.d.ts.map +1 -0
  115. package/dist/knowledge/knowledge.module.js +18 -0
  116. package/dist/knowledge/knowledge.module.js.map +1 -0
  117. package/dist/knowledge/knowledge.service.d.ts +14 -0
  118. package/dist/knowledge/knowledge.service.d.ts.map +1 -0
  119. package/dist/knowledge/knowledge.service.js +75 -0
  120. package/dist/knowledge/knowledge.service.js.map +1 -0
  121. package/dist/main.d.ts +4 -0
  122. package/dist/main.d.ts.map +1 -0
  123. package/dist/main.js +79 -0
  124. package/dist/main.js.map +1 -0
  125. package/dist/memory/memory.controller.d.ts +69 -0
  126. package/dist/memory/memory.controller.d.ts.map +1 -0
  127. package/dist/memory/memory.controller.js +196 -0
  128. package/dist/memory/memory.controller.js.map +1 -0
  129. package/dist/memory/memory.module.d.ts +3 -0
  130. package/dist/memory/memory.module.d.ts.map +1 -0
  131. package/dist/memory/memory.module.js +18 -0
  132. package/dist/memory/memory.module.js.map +1 -0
  133. package/dist/memory/memory.service.d.ts +72 -0
  134. package/dist/memory/memory.service.d.ts.map +1 -0
  135. package/dist/memory/memory.service.js +128 -0
  136. package/dist/memory/memory.service.js.map +1 -0
  137. package/dist/projects/projects.controller.d.ts +32 -0
  138. package/dist/projects/projects.controller.d.ts.map +1 -0
  139. package/dist/projects/projects.controller.js +123 -0
  140. package/dist/projects/projects.controller.js.map +1 -0
  141. package/dist/projects/projects.controller.spec.d.ts +2 -0
  142. package/dist/projects/projects.controller.spec.d.ts.map +1 -0
  143. package/dist/projects/projects.controller.spec.js +81 -0
  144. package/dist/projects/projects.controller.spec.js.map +1 -0
  145. package/dist/projects/projects.module.d.ts +3 -0
  146. package/dist/projects/projects.module.d.ts.map +1 -0
  147. package/dist/projects/projects.module.js +16 -0
  148. package/dist/projects/projects.module.js.map +1 -0
  149. package/dist/projects/projects.service.d.ts +67 -0
  150. package/dist/projects/projects.service.d.ts.map +1 -0
  151. package/dist/projects/projects.service.js +100 -0
  152. package/dist/projects/projects.service.js.map +1 -0
  153. package/dist/registry/registry.controller.d.ts +28 -0
  154. package/dist/registry/registry.controller.d.ts.map +1 -0
  155. package/dist/registry/registry.controller.js +90 -0
  156. package/dist/registry/registry.controller.js.map +1 -0
  157. package/dist/registry/registry.module.d.ts +3 -0
  158. package/dist/registry/registry.module.d.ts.map +1 -0
  159. package/dist/registry/registry.module.js +17 -0
  160. package/dist/registry/registry.module.js.map +1 -0
  161. package/dist/registry/registry.service.d.ts +38 -0
  162. package/dist/registry/registry.service.d.ts.map +1 -0
  163. package/dist/registry/registry.service.js +146 -0
  164. package/dist/registry/registry.service.js.map +1 -0
  165. package/dist/server.controller.d.ts +8 -0
  166. package/dist/server.controller.d.ts.map +1 -0
  167. package/dist/server.controller.js +31 -0
  168. package/dist/server.controller.js.map +1 -0
  169. package/dist/telemetry/auto-checker.d.ts +23 -0
  170. package/dist/telemetry/auto-checker.d.ts.map +1 -0
  171. package/dist/telemetry/auto-checker.js +121 -0
  172. package/dist/telemetry/auto-checker.js.map +1 -0
  173. package/dist/telemetry/telemetry.controller.d.ts +201 -0
  174. package/dist/telemetry/telemetry.controller.d.ts.map +1 -0
  175. package/dist/telemetry/telemetry.controller.js +399 -0
  176. package/dist/telemetry/telemetry.controller.js.map +1 -0
  177. package/dist/telemetry/telemetry.controller.spec.d.ts +2 -0
  178. package/dist/telemetry/telemetry.controller.spec.d.ts.map +1 -0
  179. package/dist/telemetry/telemetry.controller.spec.js +78 -0
  180. package/dist/telemetry/telemetry.controller.spec.js.map +1 -0
  181. package/dist/telemetry/telemetry.module.d.ts +3 -0
  182. package/dist/telemetry/telemetry.module.d.ts.map +1 -0
  183. package/dist/telemetry/telemetry.module.js +23 -0
  184. package/dist/telemetry/telemetry.module.js.map +1 -0
  185. package/dist/telemetry/telemetry.service.d.ts +224 -0
  186. package/dist/telemetry/telemetry.service.d.ts.map +1 -0
  187. package/dist/telemetry/telemetry.service.js +663 -0
  188. package/dist/telemetry/telemetry.service.js.map +1 -0
  189. package/dist/workflow/workflow.controller.d.ts +50 -0
  190. package/dist/workflow/workflow.controller.d.ts.map +1 -0
  191. package/dist/workflow/workflow.controller.js +111 -0
  192. package/dist/workflow/workflow.controller.js.map +1 -0
  193. package/dist/workflow/workflow.module.d.ts +3 -0
  194. package/dist/workflow/workflow.module.d.ts.map +1 -0
  195. package/dist/workflow/workflow.module.js +16 -0
  196. package/dist/workflow/workflow.module.js.map +1 -0
  197. package/dist/workflow/workflow.service.d.ts +56 -0
  198. package/dist/workflow/workflow.service.d.ts.map +1 -0
  199. package/dist/workflow/workflow.service.js +224 -0
  200. package/dist/workflow/workflow.service.js.map +1 -0
  201. package/package.json +11 -11
@@ -0,0 +1,399 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Controller, Get, Post, Param, Query, Body, Inject } from "@nestjs/common";
14
+ import { TelemetryService } from "./telemetry.service.js";
15
+ import { MemoryService } from "../memory/memory.service.js";
16
+ import { ProjectsService } from "../projects/projects.service.js";
17
+ let TelemetryController = class TelemetryController {
18
+ constructor(service, memoryService, projectsService) {
19
+ this.service = service;
20
+ this.memoryService = memoryService;
21
+ this.projectsService = projectsService;
22
+ }
23
+ async listRuns(limit, offset, source) {
24
+ return this.service.listRuns(Number(limit) || 20, Number(offset) || 0, source);
25
+ }
26
+ async getRun(id) {
27
+ const run = await this.service.getRun(id);
28
+ const analysis = await this.service.classifyFailure(id);
29
+ return { ...run, ...analysis };
30
+ }
31
+ async getTimeline(from, to) {
32
+ return this.service.getTimeline(from, to);
33
+ }
34
+ async getRunEvents(runId) {
35
+ return this.service.getRunEvents(runId);
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
+ }
47
+ async getRunStats(runId) {
48
+ return this.service.getRunStats(runId);
49
+ }
50
+ async completeRun(runId) {
51
+ await this.service.endRun(runId, { status: "success" });
52
+ const events = await this.service.getRunEvents(runId);
53
+ const rootPath = this.projectsService.getActiveProjectRoot();
54
+ const result = await this.memoryService.extract(rootPath ?? "", events);
55
+ return { extracted: Array.isArray(result) ? result.length : 0 };
56
+ }
57
+ async getStats(days) {
58
+ return this.service.getStats(Number(days) || 7);
59
+ }
60
+ async getRoiSummary(days) {
61
+ return this.service.getRoiSummary(Number(days) || 7);
62
+ }
63
+ async cleanup(body) {
64
+ const count = await this.service.cleanup(body.olderThanDays ?? 30);
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 };
92
+ }
93
+ async startSkillExecution(body) {
94
+ await this.service.recordExecutionStart(body);
95
+ return { executionId: body.executionId };
96
+ }
97
+ async recordToolCall(event) {
98
+ await this.service.recordToolCall(event);
99
+ return { eventId: event.eventId };
100
+ }
101
+ async updateToolCallOutput(body) {
102
+ await this.service.updateToolCallOutput(body.eventId, body.output, body.completedAt, body.duration);
103
+ return {};
104
+ }
105
+ async completeSkillExecution(body) {
106
+ await this.service.recordExecutionComplete(body);
107
+ return {};
108
+ }
109
+ async getExecutions(limit, skillName) {
110
+ return this.service.getExecutions(Number(limit) || 20, skillName);
111
+ }
112
+ async getExecutionEvents(executionId) {
113
+ return this.service.getExecutionEvents(executionId);
114
+ }
115
+ async getMcpCompliance() {
116
+ return await this.service.getMcpCompliance();
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
+ }
151
+ };
152
+ __decorate([
153
+ Get("runs"),
154
+ __param(0, Query("limit")),
155
+ __param(1, Query("offset")),
156
+ __param(2, Query("source")),
157
+ __metadata("design:type", Function),
158
+ __metadata("design:paramtypes", [String, String, String]),
159
+ __metadata("design:returntype", Promise)
160
+ ], TelemetryController.prototype, "listRuns", null);
161
+ __decorate([
162
+ Get("runs/:id"),
163
+ __param(0, Param("id")),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [String]),
166
+ __metadata("design:returntype", Promise)
167
+ ], TelemetryController.prototype, "getRun", null);
168
+ __decorate([
169
+ Get("timeline"),
170
+ __param(0, Query("from")),
171
+ __param(1, Query("to")),
172
+ __metadata("design:type", Function),
173
+ __metadata("design:paramtypes", [String, String]),
174
+ __metadata("design:returntype", Promise)
175
+ ], TelemetryController.prototype, "getTimeline", null);
176
+ __decorate([
177
+ Get("runs/:runId/events"),
178
+ __param(0, Param("runId")),
179
+ __metadata("design:type", Function),
180
+ __metadata("design:paramtypes", [String]),
181
+ __metadata("design:returntype", Promise)
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);
191
+ __decorate([
192
+ Get("runs/:runId/stats"),
193
+ __param(0, Param("runId")),
194
+ __metadata("design:type", Function),
195
+ __metadata("design:paramtypes", [String]),
196
+ __metadata("design:returntype", Promise)
197
+ ], TelemetryController.prototype, "getRunStats", null);
198
+ __decorate([
199
+ Post("runs/:id/complete"),
200
+ __param(0, Param("id")),
201
+ __metadata("design:type", Function),
202
+ __metadata("design:paramtypes", [String]),
203
+ __metadata("design:returntype", Promise)
204
+ ], TelemetryController.prototype, "completeRun", null);
205
+ __decorate([
206
+ Get("stats"),
207
+ __param(0, Query("days")),
208
+ __metadata("design:type", Function),
209
+ __metadata("design:paramtypes", [String]),
210
+ __metadata("design:returntype", Promise)
211
+ ], TelemetryController.prototype, "getStats", null);
212
+ __decorate([
213
+ Get("roi-summary"),
214
+ __param(0, Query("days")),
215
+ __metadata("design:type", Function),
216
+ __metadata("design:paramtypes", [String]),
217
+ __metadata("design:returntype", Promise)
218
+ ], TelemetryController.prototype, "getRoiSummary", null);
219
+ __decorate([
220
+ Post("cleanup"),
221
+ __param(0, Body()),
222
+ __metadata("design:type", Function),
223
+ __metadata("design:paramtypes", [Object]),
224
+ __metadata("design:returntype", Promise)
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);
278
+ __decorate([
279
+ Post("skill-execution/start"),
280
+ __param(0, Body()),
281
+ __metadata("design:type", Function),
282
+ __metadata("design:paramtypes", [Object]),
283
+ __metadata("design:returntype", Promise)
284
+ ], TelemetryController.prototype, "startSkillExecution", null);
285
+ __decorate([
286
+ Post("tool-call"),
287
+ __param(0, Body()),
288
+ __metadata("design:type", Function),
289
+ __metadata("design:paramtypes", [Object]),
290
+ __metadata("design:returntype", Promise)
291
+ ], TelemetryController.prototype, "recordToolCall", null);
292
+ __decorate([
293
+ Post("tool-call/output"),
294
+ __param(0, Body()),
295
+ __metadata("design:type", Function),
296
+ __metadata("design:paramtypes", [Object]),
297
+ __metadata("design:returntype", Promise)
298
+ ], TelemetryController.prototype, "updateToolCallOutput", null);
299
+ __decorate([
300
+ Post("skill-execution/complete"),
301
+ __param(0, Body()),
302
+ __metadata("design:type", Function),
303
+ __metadata("design:paramtypes", [Object]),
304
+ __metadata("design:returntype", Promise)
305
+ ], TelemetryController.prototype, "completeSkillExecution", null);
306
+ __decorate([
307
+ Get("executions"),
308
+ __param(0, Query("limit")),
309
+ __param(1, Query("skillName")),
310
+ __metadata("design:type", Function),
311
+ __metadata("design:paramtypes", [String, String]),
312
+ __metadata("design:returntype", Promise)
313
+ ], TelemetryController.prototype, "getExecutions", null);
314
+ __decorate([
315
+ Get("executions/:id/events"),
316
+ __param(0, Param("id")),
317
+ __metadata("design:type", Function),
318
+ __metadata("design:paramtypes", [String]),
319
+ __metadata("design:returntype", Promise)
320
+ ], TelemetryController.prototype, "getExecutionEvents", null);
321
+ __decorate([
322
+ Get("mcp-compliance"),
323
+ __metadata("design:type", Function),
324
+ __metadata("design:paramtypes", []),
325
+ __metadata("design:returntype", Promise)
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);
389
+ TelemetryController = __decorate([
390
+ Controller("telemetry"),
391
+ __param(0, Inject(TelemetryService)),
392
+ __param(1, Inject(MemoryService)),
393
+ __param(2, Inject(ProjectsService)),
394
+ __metadata("design:paramtypes", [TelemetryService,
395
+ MemoryService,
396
+ ProjectsService])
397
+ ], TelemetryController);
398
+ export { TelemetryController };
399
+ //# sourceMappingURL=telemetry.controller.js.map
@@ -0,0 +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,cAAc,CAAiB,KAAa,EAAU,IAA6B;QACvF,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI;YACP,KAAK;YACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACxF,MAAM,EAAG,IAAI,CAAC,MAAiB,IAAK,IAAI,CAAC,QAAgB,EAAE,MAAM,IAAI,SAAS;SAC/E,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAY,CAAC,CAAC;QAC7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACzC,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,CAAC,CAAC;QACxD,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,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,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,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,qBAAqB;IAGf,AAAN,KAAK,CAAC,aAAa,CACT,IAA4E;QAEpF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CACA,KAAc,EACb,MAAe,EACV,WAAoB;QAE1C,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAc,EAAU;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAAc,SAAiB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAc,SAAiB,EAAU,IAA4B;QACrF,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,OAAO,EAAE,CAAC;IACZ,CAAC;IAGK,AAAN,KAAK,CAAC,0BAA0B,CACjB,SAAiB,EACtB,IAAmE;QAE3E,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACf,IAAuF;QAE/F,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,IAAuG;QAE/G,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpG,OAAO,EAAE,CAAC;IACZ,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAClB,IAQP;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,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAc,WAAmB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,yBAAyB;IAGnB,AAAN,KAAK,CAAC,gBAAgB,CACZ,IAKP;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CACE,SAAkB,EACnB,QAAiB,EACpB,KAAc,EACb,MAAe;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB,CAAgB,IAAa;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,6BAA6B;IAGvB,AAAN,KAAK,CAAC,mBAAmB,CACf,IAAgH;QAExH,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACrC,GAAG,IAAI;YACP,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7E,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACL,MAAe,EACf,MAAe,EAChB,KAAc,EACb,MAAe;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAClB,IAA+E;QAEvF,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CACH,MAAe,EAChB,KAAc;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AA9PO;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,IAAI,CAAC,oBAAoB,CAAC;IACL,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAI,EAAE,CAAA;;;;yDAS1D;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,eAAe,CAAC;;;;uDAIrB;AAKK;IADL,IAAI,CAAC,UAAU,CAAC;IAEd,WAAA,IAAI,EAAE,CAAA;;;;wDAIR;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IAEb,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IACf,WAAA,KAAK,CAAC,aAAa,CAAC,CAAA;;;;uDAGtB;AAGK;IADL,GAAG,CAAC,cAAc,CAAC;IACF,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;qDAE5B;AAGK;IADL,GAAG,CAAC,qBAAqB,CAAC;IACH,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;2DAElC;AAGK;IADL,IAAI,CAAC,oBAAoB,CAAC;IACP,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAqB,WAAA,IAAI,EAAE,CAAA;;;;uDAGzD;AAGK;IADL,IAAI,CAAC,+BAA+B,CAAC;IAEnC,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAI,EAAE,CAAA;;;;qEAIR;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;;;;iEAYR;AAGK;IADL,GAAG,CAAC,YAAY,CAAC;IAEf,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,WAAA,KAAK,CAAC,WAAW,CAAC,CAAA;;;;wDAGpB;AAGK;IADL,GAAG,CAAC,uBAAuB,CAAC;IACH,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;6DAEpC;AAGK;IADL,GAAG,CAAC,gBAAgB,CAAC;;;;2DAGrB;AAKK;IADL,IAAI,CAAC,cAAc,CAAC;IAElB,WAAA,IAAI,EAAE,CAAA;;;;2DASR;AAGK;IADL,GAAG,CAAC,cAAc,CAAC;IAEjB,WAAA,KAAK,CAAC,WAAW,CAAC,CAAA;IAClB,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;IACjB,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;yDAGjB;AAGK;IADL,GAAG,CAAC,sBAAsB,CAAC;IACC,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;gEAEzC;AAKK;IADL,IAAI,CAAC,gBAAgB,CAAC;IAEpB,WAAA,IAAI,EAAE,CAAA;;;;8DAQR;AAGK;IADL,GAAG,CAAC,kBAAkB,CAAC;IAErB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IACf,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IACf,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;6DAGjB;AAGK;IADL,IAAI,CAAC,mBAAmB,CAAC;IAEvB,WAAA,IAAI,EAAE,CAAA;;;;iEAIR;AAGK;IADL,GAAG,CAAC,gBAAgB,CAAC;IAEnB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IACf,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;2DAGhB;AAGK;IADL,GAAG,CAAC,YAAY,CAAC;;;;uDAGjB;AArQU,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,CAsQ/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=telemetry.controller.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.controller.spec.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
2
+ import { Test } from '@nestjs/testing';
3
+ import { TelemetryController } from './telemetry.controller.js';
4
+ import { TelemetryService } from './telemetry.service.js';
5
+ describe('TelemetryController - Skill Executions', () => {
6
+ let controller;
7
+ let service;
8
+ const mockService = {
9
+ recordExecutionStart: vi.fn().mockResolvedValue(undefined),
10
+ recordToolCall: vi.fn().mockResolvedValue(undefined),
11
+ recordExecutionComplete: vi.fn().mockResolvedValue(undefined),
12
+ getExecutions: vi.fn().mockResolvedValue([]),
13
+ getExecutionEvents: vi.fn().mockResolvedValue([]),
14
+ getMcpCompliance: vi.fn().mockResolvedValue({ overall: 0, bySkill: {}, missedTools: [] }),
15
+ };
16
+ beforeEach(async () => {
17
+ vi.clearAllMocks();
18
+ const module = await Test.createTestingModule({
19
+ controllers: [TelemetryController],
20
+ providers: [{ provide: TelemetryService, useValue: mockService }],
21
+ }).compile();
22
+ controller = module.get(TelemetryController);
23
+ service = module.get(TelemetryService);
24
+ });
25
+ it('should be defined', () => {
26
+ expect(controller).toBeDefined();
27
+ });
28
+ it('should start a skill execution', async () => {
29
+ const body = { executionId: 'exec_001', skillName: 'devflow:react', startedAt: Date.now() };
30
+ const result = await controller.startSkillExecution(body);
31
+ expect(service.recordExecutionStart).toHaveBeenCalledWith(body);
32
+ expect(result).toEqual({ executionId: 'exec_001' });
33
+ });
34
+ it('should record a tool call', async () => {
35
+ const event = {
36
+ eventId: 'evt_001', executionId: 'exec_001', timestamp: Date.now(),
37
+ toolName: 'Read', toolType: 'direct', isMcpTool: false,
38
+ mcpEnforced: false, mcpFallback: false,
39
+ input: {}, tokensUsed: 0, duration: 0, blocked: false,
40
+ };
41
+ const result = await controller.recordToolCall(event);
42
+ expect(service.recordToolCall).toHaveBeenCalledWith(event);
43
+ expect(result).toEqual({ eventId: 'evt_001' });
44
+ });
45
+ it('should complete a skill execution', async () => {
46
+ const body = {
47
+ executionId: 'exec_001', finishedAt: Date.now(),
48
+ status: 'completed',
49
+ summary: { totalToolCalls: 5, mcpToolCalls: 3, directToolCalls: 2, subagentCount: 0, totalTokens: 1000, totalDuration: 5000, mcpComplianceRate: 60 },
50
+ };
51
+ const result = await controller.completeSkillExecution(body);
52
+ expect(service.recordExecutionComplete).toHaveBeenCalledWith(body);
53
+ expect(result).toEqual({});
54
+ });
55
+ it('should list executions', async () => {
56
+ mockService.getExecutions.mockResolvedValue([
57
+ { executionId: 'exec_001', skillName: 'devflow:react', status: 'completed' },
58
+ ]);
59
+ const result = await controller.getExecutions('20', 'devflow:react');
60
+ expect(service.getExecutions).toHaveBeenCalledWith(20, 'devflow:react');
61
+ expect(result).toEqual({ data: [{ executionId: 'exec_001', skillName: 'devflow:react', status: 'completed' }] });
62
+ });
63
+ it('should get execution events', async () => {
64
+ mockService.getExecutionEvents.mockResolvedValue([
65
+ { eventId: 'evt_001', toolName: 'Read' },
66
+ ]);
67
+ const result = await controller.getExecutionEvents('exec_001');
68
+ expect(service.getExecutionEvents).toHaveBeenCalledWith('exec_001');
69
+ expect(result).toEqual({ data: [{ eventId: 'evt_001', toolName: 'Read' }] });
70
+ });
71
+ it('should get MCP compliance', async () => {
72
+ mockService.getMcpCompliance.mockResolvedValue({ overall: 75, bySkill: { 'devflow:react': 66.7 }, missedTools: [] });
73
+ const result = await controller.getMcpCompliance();
74
+ expect(service.getMcpCompliance).toHaveBeenCalled();
75
+ expect(result.overall).toBe(75);
76
+ });
77
+ });
78
+ //# sourceMappingURL=telemetry.controller.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.controller.spec.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class TelemetryModule {
2
+ }
3
+ //# sourceMappingURL=telemetry.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.module.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.module.ts"],"names":[],"mappings":"AAMA,qBAMa,eAAe;CAAG"}
@@ -0,0 +1,23 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from "@nestjs/common";
8
+ import { TelemetryService } from "./telemetry.service.js";
9
+ import { TelemetryController } from "./telemetry.controller.js";
10
+ import { MemoryModule } from "../memory/memory.module.js";
11
+ import { ProjectsModule } from "../projects/projects.module.js";
12
+ let TelemetryModule = class TelemetryModule {
13
+ };
14
+ TelemetryModule = __decorate([
15
+ Module({
16
+ imports: [MemoryModule, ProjectsModule],
17
+ controllers: [TelemetryController],
18
+ providers: [TelemetryService],
19
+ exports: [TelemetryService],
20
+ })
21
+ ], TelemetryModule);
22
+ export { TelemetryModule };
23
+ //# sourceMappingURL=telemetry.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.module.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAQzD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,eAAe;IAN3B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;QACvC,WAAW,EAAE,CAAC,mBAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC5B,CAAC;GACW,eAAe,CAAG"}