@devflow-tools/server 0.6.1 → 0.7.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 (84) hide show
  1. package/README.md +1 -1
  2. package/dist/app.module.d.ts.map +1 -1
  3. package/dist/app.module.js +10 -0
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/benchmark/benchmark.controller.d.ts +18 -4
  6. package/dist/benchmark/benchmark.controller.d.ts.map +1 -1
  7. package/dist/benchmark/benchmark.controller.js +20 -12
  8. package/dist/benchmark/benchmark.controller.js.map +1 -1
  9. package/dist/benchmark/benchmark.service.d.ts +23 -5
  10. package/dist/benchmark/benchmark.service.d.ts.map +1 -1
  11. package/dist/benchmark/benchmark.service.js +82 -19
  12. package/dist/benchmark/benchmark.service.js.map +1 -1
  13. package/dist/context/context.controller.d.ts +4 -0
  14. package/dist/context/context.controller.d.ts.map +1 -1
  15. package/dist/context/context.controller.js +6 -1
  16. package/dist/context/context.controller.js.map +1 -1
  17. package/dist/context/context.controller.spec.d.ts +2 -0
  18. package/dist/context/context.controller.spec.d.ts.map +1 -0
  19. package/dist/context/context.controller.spec.js +191 -0
  20. package/dist/context/context.controller.spec.js.map +1 -0
  21. package/dist/context/context.module.d.ts.map +1 -1
  22. package/dist/context/context.module.js +2 -1
  23. package/dist/context/context.module.js.map +1 -1
  24. package/dist/context/context.service.d.ts +18 -1
  25. package/dist/context/context.service.d.ts.map +1 -1
  26. package/dist/context/context.service.js +35 -4
  27. package/dist/context/context.service.js.map +1 -1
  28. package/dist/data/data.controller.d.ts +19 -0
  29. package/dist/data/data.controller.d.ts.map +1 -0
  30. package/dist/data/data.controller.js +78 -0
  31. package/dist/data/data.controller.js.map +1 -0
  32. package/dist/data/data.controller.spec.d.ts +2 -0
  33. package/dist/data/data.controller.spec.d.ts.map +1 -0
  34. package/dist/data/data.controller.spec.js +85 -0
  35. package/dist/data/data.controller.spec.js.map +1 -0
  36. package/dist/data/data.module.d.ts +3 -0
  37. package/dist/data/data.module.d.ts.map +1 -0
  38. package/dist/data/data.module.js +22 -0
  39. package/dist/data/data.module.js.map +1 -0
  40. package/dist/data/data.service.d.ts +54 -0
  41. package/dist/data/data.service.d.ts.map +1 -0
  42. package/dist/data/data.service.js +99 -0
  43. package/dist/data/data.service.js.map +1 -0
  44. package/dist/data/data.service.spec.d.ts +2 -0
  45. package/dist/data/data.service.spec.d.ts.map +1 -0
  46. package/dist/data/data.service.spec.js +148 -0
  47. package/dist/data/data.service.spec.js.map +1 -0
  48. package/dist/main.js +1 -1
  49. package/dist/main.js.map +1 -1
  50. package/dist/projects/projects.controller.d.ts +1 -0
  51. package/dist/projects/projects.controller.d.ts.map +1 -1
  52. package/dist/projects/projects.controller.js +14 -1
  53. package/dist/projects/projects.controller.js.map +1 -1
  54. package/dist/projects/projects.controller.spec.d.ts +2 -0
  55. package/dist/projects/projects.controller.spec.d.ts.map +1 -0
  56. package/dist/projects/projects.controller.spec.js +81 -0
  57. package/dist/projects/projects.controller.spec.js.map +1 -0
  58. package/dist/projects/projects.service.d.ts +1 -0
  59. package/dist/projects/projects.service.d.ts.map +1 -1
  60. package/dist/projects/projects.service.js +12 -0
  61. package/dist/projects/projects.service.js.map +1 -1
  62. package/dist/registry/registry.controller.d.ts +1 -0
  63. package/dist/registry/registry.controller.d.ts.map +1 -1
  64. package/dist/registry/registry.controller.js +10 -0
  65. package/dist/registry/registry.controller.js.map +1 -1
  66. package/dist/registry/registry.module.d.ts.map +1 -1
  67. package/dist/registry/registry.module.js +2 -1
  68. package/dist/registry/registry.module.js.map +1 -1
  69. package/dist/registry/registry.service.d.ts +12 -2
  70. package/dist/registry/registry.service.d.ts.map +1 -1
  71. package/dist/registry/registry.service.js +87 -6
  72. package/dist/registry/registry.service.js.map +1 -1
  73. package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
  74. package/dist/telemetry/telemetry.controller.js +9 -5
  75. package/dist/telemetry/telemetry.controller.js.map +1 -1
  76. package/dist/telemetry/telemetry.service.d.ts +56 -2
  77. package/dist/telemetry/telemetry.service.d.ts.map +1 -1
  78. package/dist/telemetry/telemetry.service.js +217 -3
  79. package/dist/telemetry/telemetry.service.js.map +1 -1
  80. package/dist/workflow/workflow.service.d.ts +3 -1
  81. package/dist/workflow/workflow.service.d.ts.map +1 -1
  82. package/dist/workflow/workflow.service.js +18 -0
  83. package/dist/workflow/workflow.service.js.map +1 -1
  84. package/package.json +11 -10
@@ -4,16 +4,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Injectable, NotFoundException } from "@nestjs/common";
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 { Injectable, NotFoundException, Inject } from "@nestjs/common";
14
+ import { TelemetryService } from "../telemetry/telemetry.service.js";
8
15
  import { ErrorCode } from "../common/error-codes.js";
9
16
  let RegistryService = class RegistryService {
10
- constructor() {
17
+ constructor(telemetryService) {
18
+ this.telemetryService = telemetryService;
11
19
  this.plugins = new Map();
20
+ this.installRecords = [];
12
21
  }
13
22
  async list(search, tag) {
14
23
  let result = Array.from(this.plugins.values());
15
24
  if (search) {
16
- const q = search.toLowerCase();
25
+ let q = search.toLowerCase();
17
26
  result = result.filter((p) => p.name.toLowerCase().includes(q) || p.description.toLowerCase().includes(q));
18
27
  }
19
28
  if (tag) {
@@ -40,7 +49,7 @@ let RegistryService = class RegistryService {
40
49
  this.plugins.set(name, meta);
41
50
  return meta;
42
51
  }
43
- async install(name, _rootPath) {
52
+ async install(name, rootPath) {
44
53
  const npmName = name.startsWith("@devflow-tools/plugin-") ? name : `@devflow-tools/plugin-${name}`;
45
54
  const shortName = name.replace(/^@devflow-tools\/plugin-/, "");
46
55
  this.plugins.set(shortName, {
@@ -51,16 +60,88 @@ let RegistryService = class RegistryService {
51
60
  tags: [],
52
61
  createdAt: Date.now(),
53
62
  });
63
+ if (rootPath) {
64
+ await this.recordPluginInstall(shortName, rootPath);
65
+ }
54
66
  return { ok: true, name: shortName };
55
67
  }
56
- async uninstall(name, _rootPath) {
68
+ async uninstall(name, rootPath) {
57
69
  const shortName = name.replace(/^@devflow-tools\/plugin-/, "");
58
70
  this.plugins.delete(shortName);
71
+ if (rootPath) {
72
+ await this.recordPluginUninstall(shortName, rootPath);
73
+ }
59
74
  return { ok: true, name: shortName };
60
75
  }
76
+ async recordPluginInstall(pluginName, projectRoot) {
77
+ const existing = this.installRecords.find((r) => r.pluginName === pluginName && r.projectRoot === projectRoot);
78
+ if (existing) {
79
+ existing.uninstalledAt = undefined;
80
+ }
81
+ else {
82
+ this.installRecords.push({
83
+ pluginName,
84
+ projectRoot,
85
+ installedAt: Date.now(),
86
+ });
87
+ }
88
+ }
89
+ async recordPluginUninstall(pluginName, projectRoot) {
90
+ const record = this.installRecords.find((r) => r.pluginName === pluginName && r.projectRoot === projectRoot);
91
+ if (record) {
92
+ record.uninstalledAt = Date.now();
93
+ }
94
+ }
95
+ async listInstalledProjects(pluginName) {
96
+ return this.installRecords
97
+ .filter((r) => r.pluginName === pluginName && !r.uninstalledAt)
98
+ .map((r) => r.projectRoot);
99
+ }
100
+ async buildPluginEffectiveness(pluginName) {
101
+ const installedProjects = await this.listInstalledProjects(pluginName);
102
+ const installCount = installedProjects.length;
103
+ const usageStats = await this.telemetryService.getPluginUsageStats(pluginName);
104
+ const activeRate = installCount > 0
105
+ ? usageStats.activeProjects / installCount
106
+ : 0;
107
+ const successRate = usageStats.totalRuns > 0
108
+ ? usageStats.successfulRuns / usageStats.totalRuns
109
+ : 0;
110
+ let recommendation = "optimize";
111
+ if (activeRate > 0.7 && successRate > 0.8) {
112
+ recommendation = "install";
113
+ }
114
+ else if (activeRate < 0.3 || successRate < 0.5) {
115
+ recommendation = "remove";
116
+ }
117
+ return {
118
+ name: pluginName,
119
+ installCount,
120
+ usageCount: usageStats.totalRuns,
121
+ activeRate,
122
+ successRate,
123
+ avgTokenImpact: usageStats.avgTokenImpact,
124
+ lastUsedAt: usageStats.lastUsedAt,
125
+ recommendation,
126
+ };
127
+ }
128
+ async getPluginEffectiveness(projectRoot) {
129
+ const records = projectRoot
130
+ ? this.installRecords.filter((r) => r.projectRoot === projectRoot && !r.uninstalledAt)
131
+ : this.installRecords.filter((r) => !r.uninstalledAt);
132
+ const pluginNames = [...new Set(records.map((r) => r.pluginName))];
133
+ const summaries = [];
134
+ for (const name of pluginNames) {
135
+ const summary = await this.buildPluginEffectiveness(name);
136
+ summaries.push(summary);
137
+ }
138
+ return summaries;
139
+ }
61
140
  };
62
141
  RegistryService = __decorate([
63
- Injectable()
142
+ Injectable(),
143
+ __param(0, Inject(TelemetryService)),
144
+ __metadata("design:paramtypes", [TelemetryService])
64
145
  ], RegistryService);
65
146
  export { RegistryService };
66
147
  //# sourceMappingURL=registry.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"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"}
@@ -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;AAE1D,qBACa,mBAAmB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,gBAAgB;IAG1E,QAAQ,CAAiB,KAAK,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAK3G,MAAM,CAAc,EAAE,EAAE,MAAM;IAG9B,WAAW,CAAgB,IAAI,CAAC,EAAE,MAAM,EAAe,EAAE,CAAC,EAAE,MAAM;IAKlE,YAAY,CAAiB,KAAK,EAAE,MAAM;IAK1C,WAAW,CAAiB,KAAK,EAAE,MAAM;IAKzC,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;;;;;;CAIvD"}
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;AAE1D,qBACa,mBAAmB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,gBAAgB;IAG1E,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,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;;;;;;CAIvD"}
@@ -19,7 +19,11 @@ let TelemetryController = class TelemetryController {
19
19
  async listRuns(limit, offset, source) {
20
20
  return this.service.listRuns(Number(limit) || 20, Number(offset) || 0, source);
21
21
  }
22
- async getRun(id) { return this.service.getRun(id); }
22
+ async getRun(id) {
23
+ const run = await this.service.getRun(id);
24
+ const analysis = await this.service.classifyFailure(id);
25
+ return { ...run, ...analysis };
26
+ }
23
27
  async getTimeline(from, to) {
24
28
  return this.service.getTimeline(from, to);
25
29
  }
@@ -79,28 +83,28 @@ __decorate([
79
83
  __metadata("design:returntype", Promise)
80
84
  ], TelemetryController.prototype, "getRunStats", null);
81
85
  __decorate([
82
- Get("telemetry/stats"),
86
+ Get("stats"),
83
87
  __param(0, Query("days")),
84
88
  __metadata("design:type", Function),
85
89
  __metadata("design:paramtypes", [String]),
86
90
  __metadata("design:returntype", Promise)
87
91
  ], TelemetryController.prototype, "getStats", null);
88
92
  __decorate([
89
- Get("telemetry/roi-summary"),
93
+ Get("roi-summary"),
90
94
  __param(0, Query("days")),
91
95
  __metadata("design:type", Function),
92
96
  __metadata("design:paramtypes", [String]),
93
97
  __metadata("design:returntype", Promise)
94
98
  ], TelemetryController.prototype, "getRoiSummary", null);
95
99
  __decorate([
96
- Post("telemetry/cleanup"),
100
+ Post("cleanup"),
97
101
  __param(0, Body()),
98
102
  __metadata("design:type", Function),
99
103
  __metadata("design:paramtypes", [Object]),
100
104
  __metadata("design:returntype", Promise)
101
105
  ], TelemetryController.prototype, "cleanup", null);
102
106
  TelemetryController = __decorate([
103
- Controller(),
107
+ Controller("telemetry"),
104
108
  __param(0, Inject(TelemetryService)),
105
109
  __metadata("design:paramtypes", [TelemetryService])
106
110
  ], TelemetryController);
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { TelemetryEngine } from "@devflow-tools/telemetry";
2
- import type { RoiSummary } from "@devflow-tools/sdk";
2
+ import type { TelemetryEvent, RoiSummary } from "@devflow-tools/sdk";
3
3
  export declare class TelemetryService {
4
4
  engine: TelemetryEngine;
5
+ recordEvent(event: TelemetryEvent): Promise<void>;
5
6
  listRuns(limit: number, offset: number, source?: string): Promise<{
6
7
  id: any;
7
8
  agent: any;
@@ -13,8 +14,18 @@ export declare class TelemetryService {
13
14
  }[]>;
14
15
  getRun(id: string): Promise<any>;
15
16
  getTimeline(from?: string, to?: string): Promise<any[]>;
16
- getRunEvents(runId: string): Promise<import("@devflow-tools/sdk").TelemetryEvent[]>;
17
+ getRunEvents(runId: string): Promise<TelemetryEvent[]>;
17
18
  getRunStats(runId: string): Promise<import("@devflow-tools/sdk").RunStats>;
19
+ getFeedbackStats(projectRoot?: string, periodDays?: number): Promise<{
20
+ total: number;
21
+ hits: number;
22
+ partials: number;
23
+ misses: number;
24
+ hitRate: number;
25
+ partialRate: number;
26
+ missRate: number;
27
+ }>;
28
+ private collectAllEvents;
18
29
  getStats(periodDays?: number): Promise<{
19
30
  period: {
20
31
  from: string;
@@ -48,7 +59,50 @@ export declare class TelemetryService {
48
59
  }>;
49
60
  private buildWorkflowBreakdown;
50
61
  private buildPluginBreakdown;
62
+ getOpsRoiSummary(): Promise<{
63
+ period: string;
64
+ totalRuns: number;
65
+ successfulRuns: number;
66
+ successRate: number;
67
+ avgTokenUsage: number;
68
+ avgDuration: number;
69
+ feedbackHitRate: number;
70
+ trend: "stable";
71
+ }>;
72
+ getExperimentalRoiSummary(): Promise<{
73
+ totalScenarios: number;
74
+ avgTimeSavedRate: number;
75
+ avgTokenReductionRate: number;
76
+ avgFirstPassLift: number;
77
+ avgReworkReductionRate: number;
78
+ conclusion: string;
79
+ }>;
51
80
  getRoiSummary(periodDays?: number): Promise<RoiSummary>;
81
+ getPluginEffectiveness(pluginName: string, projectRoot?: string): Promise<{
82
+ name: string;
83
+ installCount: number;
84
+ activeRate: number;
85
+ successRate: number;
86
+ avgTokenImpact: number;
87
+ lastUsedAt: string | undefined;
88
+ recommendation: "install" | "optimize" | "remove";
89
+ }>;
90
+ getPluginUsageStats(pluginName: string): Promise<{
91
+ activeProjects: number;
92
+ totalRuns: number;
93
+ successfulRuns: number;
94
+ avgTokenImpact: number;
95
+ lastUsedAt?: string;
96
+ }>;
97
+ private getRecommendation;
98
+ classifyFailure(runId: string): Promise<{
99
+ failureCategory?: string;
100
+ failureReason?: string;
101
+ suggestedActions?: Array<{
102
+ action: string;
103
+ priority: string;
104
+ }>;
105
+ }>;
52
106
  cleanup(olderThanDays: number): Promise<number>;
53
107
  }
54
108
  //# sourceMappingURL=telemetry.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.service.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAGtE,qBACa,gBAAgB;IAC3B,MAAM,kBAAyB;IAEzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAYvD,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IActC,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,QAAQ,CAAC,UAAU,SAAI;;;;;;;;;;;;;;;kBAMQ,MAAM;oBAAU,MAAM;;;;;;;;;;;;;;;IA2C3D,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,oBAAoB;IAgBtB,aAAa,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAgGlD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYtD"}
1
+ {"version":3,"file":"telemetry.service.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAGtF,qBACa,gBAAgB;IAC3B,MAAM,kBAAyB;IAEzB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAYvD,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IActC,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACzE,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IA4BF,OAAO,CAAC,gBAAgB;IAUlB,QAAQ,CAAC,UAAU,SAAI;;;;;;;;;;;;;;;kBAMQ,MAAM;oBAAU,MAAM;;;;;;;;;;;;;;;IA2C3D,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,oBAAoB;IAgBtB,gBAAgB,IAAI,OAAO,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,QAAQ,CAAC;KACjB,CAAC;IA0CI,yBAAyB,IAAI,OAAO,CAAC;QACzC,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,gBAAgB,EAAE,MAAM,CAAC;QACzB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAcI,aAAa,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAsGlD,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;;;;IA6B/D,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAkCF,OAAO,CAAC,iBAAiB;IAOnB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChE,CAAC;IA+DI,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYtD"}
@@ -11,6 +11,9 @@ let TelemetryService = class TelemetryService {
11
11
  constructor() {
12
12
  this.engine = new TelemetryEngine();
13
13
  }
14
+ async recordEvent(event) {
15
+ await this.engine.recordEvent(event);
16
+ }
14
17
  async listRuns(limit, offset, source) {
15
18
  const runs = Array.from(this.engine.runs.values());
16
19
  let filtered = runs;
@@ -49,6 +52,45 @@ let TelemetryService = class TelemetryService {
49
52
  async getRunStats(runId) {
50
53
  return this.engine.getRunStats(runId);
51
54
  }
55
+ async getFeedbackStats(projectRoot, periodDays) {
56
+ const allEvents = this.collectAllEvents();
57
+ const cutoff = periodDays != null
58
+ ? Date.now() - periodDays * 24 * 60 * 60 * 1000
59
+ : undefined;
60
+ const feedbackEvents = allEvents.filter((e) => {
61
+ if (e.data?.toolName !== "context_feedback")
62
+ return false;
63
+ if (projectRoot && e.data?.toolInput?.projectRoot !== projectRoot)
64
+ return false;
65
+ if (cutoff != null && (e.timestamp ?? 0) < cutoff)
66
+ return false;
67
+ return true;
68
+ });
69
+ const total = feedbackEvents.length;
70
+ const hits = feedbackEvents.filter((e) => e.data?.toolInput?.feedback === "hit").length;
71
+ const partials = feedbackEvents.filter((e) => e.data?.toolInput?.feedback === "partial").length;
72
+ const misses = feedbackEvents.filter((e) => e.data?.toolInput?.feedback === "miss").length;
73
+ return {
74
+ total,
75
+ hits,
76
+ partials,
77
+ misses,
78
+ hitRate: total > 0 ? hits / total : 0,
79
+ partialRate: total > 0 ? partials / total : 0,
80
+ missRate: total > 0 ? misses / total : 0,
81
+ };
82
+ }
83
+ collectAllEvents() {
84
+ const eventsMap = this.engine.events;
85
+ if (!eventsMap)
86
+ return [];
87
+ const all = [];
88
+ for (const events of eventsMap.values()) {
89
+ if (Array.isArray(events))
90
+ all.push(...events);
91
+ }
92
+ return all;
93
+ }
52
94
  async getStats(periodDays = 7) {
53
95
  const runs = Array.from(this.engine.runs.values());
54
96
  const now = Date.now();
@@ -135,6 +177,51 @@ let TelemetryService = class TelemetryService {
135
177
  successRate: d.runs > 0 ? d.completed / d.runs : 0,
136
178
  }));
137
179
  }
180
+ async getOpsRoiSummary() {
181
+ const runs = Array.from(this.engine.runs.values());
182
+ const now = Date.now();
183
+ const totalRuns = runs.length;
184
+ const successfulRuns = runs.filter((r) => r.status === "completed").length;
185
+ const successRate = totalRuns > 0 ? successfulRuns / totalRuns : 0;
186
+ const totalTokens = runs.reduce((sum, r) => sum + (r.tokenUsed ?? 0), 0);
187
+ const avgTokenUsage = totalRuns > 0 ? totalTokens / totalRuns : 0;
188
+ const totalDuration = runs.reduce((sum, r) => {
189
+ const start = r.startedAt ?? 0;
190
+ const end = r.finishedAt ?? now;
191
+ return sum + (end - start);
192
+ }, 0);
193
+ const avgDuration = totalRuns > 0 ? totalDuration / totalRuns : 0;
194
+ // Feedback hit rate: combine run-level feedback with context_feedback telemetry events
195
+ const runFeedbackHits = runs.filter((r) => r.relevanceFeedback === "hit" || r.meta?.relevanceFeedback === "hit").length;
196
+ const runFeedbackTotal = runs.filter((r) => r.relevanceFeedback !== undefined || r.meta?.relevanceFeedback !== undefined).length;
197
+ const telemetryFeedback = await this.getFeedbackStats();
198
+ const combinedHits = runFeedbackHits + telemetryFeedback.hits;
199
+ const combinedTotal = runFeedbackTotal + telemetryFeedback.total;
200
+ const feedbackHitRate = combinedTotal > 0 ? combinedHits / combinedTotal : 0;
201
+ return {
202
+ period: "all-time",
203
+ totalRuns,
204
+ successfulRuns,
205
+ successRate,
206
+ avgTokenUsage,
207
+ avgDuration,
208
+ feedbackHitRate,
209
+ trend: "stable",
210
+ };
211
+ }
212
+ async getExperimentalRoiSummary() {
213
+ // Experimental ROI — delegated to BenchmarkService in production.
214
+ // Simplified here to avoid a hard dependency on BenchmarkModule.
215
+ // TODO: inject BenchmarkService and forward the call.
216
+ return {
217
+ totalScenarios: 0,
218
+ avgTimeSavedRate: 0,
219
+ avgTokenReductionRate: 0,
220
+ avgFirstPassLift: 0,
221
+ avgReworkReductionRate: 0,
222
+ conclusion: "No experimental data available yet",
223
+ };
224
+ }
138
225
  async getRoiSummary(periodDays = 7) {
139
226
  const runs = Array.from(this.engine.runs.values());
140
227
  const now = Date.now();
@@ -152,9 +239,13 @@ let TelemetryService = class TelemetryService {
152
239
  : 0;
153
240
  const firstPassSuccesses = periodRuns.filter((r) => r.firstPassSuccess === true || r.meta?.firstPassSuccess === true).length;
154
241
  const firstPassSuccessRate = totalRuns > 0 ? firstPassSuccesses / totalRuns : 0;
155
- const feedbackHits = periodRuns.filter((r) => r.relevanceFeedback === "hit" || r.meta?.relevanceFeedback === "hit").length;
156
- const feedbackTotal = periodRuns.filter((r) => r.relevanceFeedback !== undefined || r.meta?.relevanceFeedback !== undefined).length;
157
- const feedbackHitRate = feedbackTotal > 0 ? feedbackHits / feedbackTotal : 0;
242
+ // Combine run-level feedback with context_feedback telemetry events
243
+ const runFeedbackHits = periodRuns.filter((r) => r.relevanceFeedback === "hit" || r.meta?.relevanceFeedback === "hit").length;
244
+ const runFeedbackTotal = periodRuns.filter((r) => r.relevanceFeedback !== undefined || r.meta?.relevanceFeedback !== undefined).length;
245
+ const telemetryFeedback = await this.getFeedbackStats(undefined, periodDays);
246
+ const combinedHits = runFeedbackHits + telemetryFeedback.hits;
247
+ const combinedTotal = runFeedbackTotal + telemetryFeedback.total;
248
+ const feedbackHitRate = combinedTotal > 0 ? combinedHits / combinedTotal : 0;
158
249
  // Efficiency
159
250
  const totalRetries = periodRuns.reduce((s, r) => s + (r.retryCount ?? r.meta?.retryCount ?? 0), 0);
160
251
  const avgRetryCount = totalRuns > 0 ? totalRetries / totalRuns : 0;
@@ -221,6 +312,129 @@ let TelemetryService = class TelemetryService {
221
312
  .sort((a, b) => a.date.localeCompare(b.date)),
222
313
  };
223
314
  }
315
+ async getPluginEffectiveness(pluginName, projectRoot) {
316
+ const usageStats = await this.getPluginUsageStats(pluginName);
317
+ const runs = Array.from(this.engine.runs.values());
318
+ const pluginRuns = runs.filter((r) => {
319
+ const name = r.pluginName ?? r.meta?.pluginName;
320
+ if (name !== pluginName)
321
+ return false;
322
+ if (projectRoot && r.meta?.projectRoot !== projectRoot)
323
+ return false;
324
+ return true;
325
+ });
326
+ const total = pluginRuns.length;
327
+ const successful = pluginRuns.filter((r) => r.status === "completed").length;
328
+ const avgDuration = total > 0
329
+ ? pluginRuns.reduce((sum, r) => sum + ((r.finishedAt ?? Date.now()) - r.startedAt), 0) / total
330
+ : 0;
331
+ return {
332
+ name: pluginName,
333
+ installCount: 1, // Simplified
334
+ activeRate: total > 0 ? 1 : 0,
335
+ successRate: total > 0 ? successful / total : 0,
336
+ avgTokenImpact: -avgDuration * 0.1, // Simplified estimation
337
+ lastUsedAt: pluginRuns.length > 0
338
+ ? new Date(Math.max(...pluginRuns.map((r) => r.startedAt))).toISOString()
339
+ : undefined,
340
+ recommendation: this.getRecommendation(total > 0 ? successful / total : 0, total),
341
+ };
342
+ }
343
+ async getPluginUsageStats(pluginName) {
344
+ const runs = Array.from(this.engine.runs.values());
345
+ const pluginRuns = runs.filter((r) => {
346
+ const name = r.pluginName ?? r.meta?.pluginName;
347
+ return name === pluginName;
348
+ });
349
+ const totalRuns = pluginRuns.length;
350
+ const successfulRuns = pluginRuns.filter((r) => r.status === "completed").length;
351
+ const projectRoots = new Set();
352
+ for (const r of pluginRuns) {
353
+ const root = r.meta?.projectRoot;
354
+ if (root)
355
+ projectRoots.add(root);
356
+ }
357
+ const avgDuration = totalRuns > 0
358
+ ? pluginRuns.reduce((sum, r) => sum + ((r.finishedAt ?? Date.now()) - r.startedAt), 0) / totalRuns
359
+ : 0;
360
+ const startedAts = pluginRuns.map((r) => r.startedAt).filter((t) => typeof t === "number");
361
+ const lastUsedAt = startedAts.length > 0
362
+ ? new Date(Math.max(...startedAts)).toISOString()
363
+ : undefined;
364
+ return {
365
+ activeProjects: projectRoots.size,
366
+ totalRuns,
367
+ successfulRuns,
368
+ avgTokenImpact: -avgDuration * 0.1,
369
+ lastUsedAt,
370
+ };
371
+ }
372
+ getRecommendation(successRate, usageCount) {
373
+ if (usageCount === 0)
374
+ return "remove";
375
+ if (successRate > 0.8)
376
+ return "install";
377
+ if (successRate > 0.5)
378
+ return "optimize";
379
+ return "remove";
380
+ }
381
+ async classifyFailure(runId) {
382
+ const run = await this.getRun(runId).catch(() => null);
383
+ if (!run || run.status !== "failed")
384
+ return {};
385
+ const failedStep = run.steps?.find((s) => s.status === "failed");
386
+ if (!failedStep)
387
+ return {};
388
+ const error = failedStep.error?.toLowerCase() ?? "";
389
+ if (error.includes("context") || error.includes("insufficient")) {
390
+ return {
391
+ failureCategory: "context_insufficient",
392
+ failureReason: "Context provided was insufficient for the task",
393
+ suggestedActions: [
394
+ { action: "Supplement task context", priority: "high" },
395
+ { action: "View graph roots", priority: "medium" },
396
+ { action: "Add related memory", priority: "medium" },
397
+ ],
398
+ };
399
+ }
400
+ if (error.includes("knowledge") || error.includes("docs")) {
401
+ return {
402
+ failureCategory: "knowledge_missing",
403
+ failureReason: "Required knowledge was not available",
404
+ suggestedActions: [
405
+ { action: "Sync knowledge source", priority: "high" },
406
+ { action: "Add docs source", priority: "medium" },
407
+ ],
408
+ };
409
+ }
410
+ if (error.includes("workflow") || error.includes("step")) {
411
+ return {
412
+ failureCategory: "workflow_design_issue",
413
+ failureReason: "Workflow design issue detected",
414
+ suggestedActions: [
415
+ { action: "Adjust specific step", priority: "high" },
416
+ { action: "Split workflow", priority: "medium" },
417
+ ],
418
+ };
419
+ }
420
+ if (error.includes("tool") || error.includes("connection")) {
421
+ return {
422
+ failureCategory: "tool_error",
423
+ failureReason: "Tool execution error",
424
+ suggestedActions: [
425
+ { action: "Check tool connectivity", priority: "high" },
426
+ { action: "Retry or fallback", priority: "medium" },
427
+ ],
428
+ };
429
+ }
430
+ return {
431
+ failureCategory: "agent_override",
432
+ failureReason: "Agent override detected",
433
+ suggestedActions: [
434
+ { action: "Enable/strengthen enforcer", priority: "high" },
435
+ ],
436
+ };
437
+ }
224
438
  async cleanup(olderThanDays) {
225
439
  const runs = this.engine.runs;
226
440
  const cutoff = Date.now() - olderThanDays * 24 * 60 * 60 * 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { OnModuleInit } from "@nestjs/common";
1
2
  import { WorkflowEngine } from "@devflow-tools/workflow-engine";
2
3
  import type { WorkflowMeta } from "@devflow-tools/sdk";
3
4
  import { Subject } from "rxjs";
@@ -9,10 +10,11 @@ export interface StepEvent {
9
10
  error?: string;
10
11
  timestamp: number;
11
12
  }
12
- export declare class WorkflowService {
13
+ export declare class WorkflowService implements OnModuleInit {
13
14
  engine: WorkflowEngine;
14
15
  private events;
15
16
  private engineRunIds;
17
+ onModuleInit(): Promise<void>;
16
18
  list(): Promise<WorkflowMeta[]>;
17
19
  run(type: string, input: Record<string, unknown>): Promise<{
18
20
  runId: string;