@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.
- package/README.md +30 -19
- package/dist/app.module.d.ts.map +1 -1
- package/dist/app.module.js +1 -7
- package/dist/app.module.js.map +1 -1
- package/dist/database/database.module.d.ts.map +1 -1
- package/dist/database/database.module.js +4 -2
- package/dist/database/database.module.js.map +1 -1
- package/dist/knowledge/knowledge.service.d.ts +1 -0
- package/dist/knowledge/knowledge.service.d.ts.map +1 -1
- package/dist/knowledge/knowledge.service.js +7 -2
- package/dist/knowledge/knowledge.service.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/memory/memory.service.d.ts +1 -0
- package/dist/memory/memory.service.d.ts.map +1 -1
- package/dist/memory/memory.service.js +22 -4
- package/dist/memory/memory.service.js.map +1 -1
- package/dist/telemetry/auto-checker.d.ts +23 -0
- package/dist/telemetry/auto-checker.d.ts.map +1 -0
- package/dist/telemetry/auto-checker.js +121 -0
- package/dist/telemetry/auto-checker.js.map +1 -0
- package/dist/telemetry/telemetry.controller.d.ts +101 -43
- package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
- package/dist/telemetry/telemetry.controller.js +198 -9
- package/dist/telemetry/telemetry.controller.js.map +1 -1
- package/dist/telemetry/telemetry.service.d.ts +137 -84
- package/dist/telemetry/telemetry.service.d.ts.map +1 -1
- package/dist/telemetry/telemetry.service.js +439 -455
- package/dist/telemetry/telemetry.service.js.map +1 -1
- package/dist/workflow/workflow.controller.d.ts +4 -4
- package/dist/workflow/workflow.service.d.ts +6 -4
- package/dist/workflow/workflow.service.d.ts.map +1 -1
- package/dist/workflow/workflow.service.js +46 -4
- package/dist/workflow/workflow.service.js.map +1 -1
- 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:
|
|
12
|
-
mode:
|
|
13
|
-
source:
|
|
11
|
+
agent: string;
|
|
12
|
+
mode: string;
|
|
13
|
+
source: string;
|
|
14
14
|
status: any;
|
|
15
15
|
startedAt: any;
|
|
16
|
-
|
|
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<
|
|
20
|
-
|
|
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:
|
|
34
|
+
totalEvents: number;
|
|
23
35
|
llmCalls: number;
|
|
24
|
-
totalTokens:
|
|
25
|
-
toolUses:
|
|
36
|
+
totalTokens: number;
|
|
37
|
+
toolUses: number;
|
|
26
38
|
fileReads: number;
|
|
27
39
|
fileWrites: number;
|
|
28
40
|
bashCommands: number;
|
|
29
|
-
errors:
|
|
30
|
-
totalDuration:
|
|
31
|
-
mcpToolCalls:
|
|
32
|
-
directToolCalls:
|
|
33
|
-
mcpComplianceRate:
|
|
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
|
-
|
|
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<
|
|
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
|
-
|
|
76
|
-
|
|
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
|
-
|
|
131
|
+
sessionId?: string;
|
|
107
132
|
output: unknown;
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
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
|
|
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"
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
75
|
-
return { data: executions };
|
|
110
|
+
return this.service.getExecutions(Number(limit) || 20, skillName);
|
|
76
111
|
}
|
|
77
112
|
async getExecutionEvents(executionId) {
|
|
78
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"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"}
|