@devflow-tools/server 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/app.module.d.ts.map +1 -1
  2. package/dist/app.module.js +7 -0
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/common/dto.d.ts +1 -0
  5. package/dist/common/dto.d.ts.map +1 -1
  6. package/dist/common/response.interceptor.d.ts +6 -0
  7. package/dist/common/response.interceptor.d.ts.map +1 -0
  8. package/dist/common/response.interceptor.js +23 -0
  9. package/dist/common/response.interceptor.js.map +1 -0
  10. package/dist/common/response.interceptor.test.d.ts +2 -0
  11. package/dist/common/response.interceptor.test.d.ts.map +1 -0
  12. package/dist/common/response.interceptor.test.js +23 -0
  13. package/dist/common/response.interceptor.test.js.map +1 -0
  14. package/dist/common/root-path.decorator.d.ts +2 -0
  15. package/dist/common/root-path.decorator.d.ts.map +1 -0
  16. package/dist/common/root-path.decorator.js +6 -0
  17. package/dist/common/root-path.decorator.js.map +1 -0
  18. package/dist/context/context.controller.d.ts +4 -3
  19. package/dist/context/context.controller.d.ts.map +1 -1
  20. package/dist/context/context.controller.js +27 -12
  21. package/dist/context/context.controller.js.map +1 -1
  22. package/dist/context/context.service.d.ts +1 -0
  23. package/dist/context/context.service.d.ts.map +1 -1
  24. package/dist/context/context.service.js +4 -0
  25. package/dist/context/context.service.js.map +1 -1
  26. package/dist/graph/graph.controller.d.ts +3 -3
  27. package/dist/graph/graph.controller.d.ts.map +1 -1
  28. package/dist/graph/graph.controller.js +14 -11
  29. package/dist/graph/graph.controller.js.map +1 -1
  30. package/dist/knowledge/knowledge.controller.d.ts +5 -3
  31. package/dist/knowledge/knowledge.controller.d.ts.map +1 -1
  32. package/dist/knowledge/knowledge.controller.js +22 -9
  33. package/dist/knowledge/knowledge.controller.js.map +1 -1
  34. package/dist/knowledge/knowledge.service.d.ts +7 -5
  35. package/dist/knowledge/knowledge.service.d.ts.map +1 -1
  36. package/dist/knowledge/knowledge.service.js +26 -14
  37. package/dist/knowledge/knowledge.service.js.map +1 -1
  38. package/dist/memory/memory.controller.d.ts +5 -5
  39. package/dist/memory/memory.controller.d.ts.map +1 -1
  40. package/dist/memory/memory.controller.js +19 -14
  41. package/dist/memory/memory.controller.js.map +1 -1
  42. package/dist/registry/registry.controller.d.ts +13 -0
  43. package/dist/registry/registry.controller.d.ts.map +1 -1
  44. package/dist/registry/registry.controller.js +24 -1
  45. package/dist/registry/registry.controller.js.map +1 -1
  46. package/dist/registry/registry.service.d.ts +8 -0
  47. package/dist/registry/registry.service.d.ts.map +1 -1
  48. package/dist/registry/registry.service.js +18 -0
  49. package/dist/registry/registry.service.js.map +1 -1
  50. package/dist/server.controller.d.ts +8 -0
  51. package/dist/server.controller.d.ts.map +1 -0
  52. package/dist/server.controller.js +31 -0
  53. package/dist/server.controller.js.map +1 -0
  54. package/dist/telemetry/telemetry.controller.d.ts +32 -1
  55. package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
  56. package/dist/telemetry/telemetry.controller.js +46 -4
  57. package/dist/telemetry/telemetry.controller.js.map +1 -1
  58. package/dist/telemetry/telemetry.service.d.ts +25 -1
  59. package/dist/telemetry/telemetry.service.d.ts.map +1 -1
  60. package/dist/telemetry/telemetry.service.js +67 -3
  61. package/dist/telemetry/telemetry.service.js.map +1 -1
  62. package/dist/workflow/workflow.controller.d.ts +1 -0
  63. package/dist/workflow/workflow.controller.d.ts.map +1 -1
  64. package/dist/workflow/workflow.controller.js +10 -0
  65. package/dist/workflow/workflow.controller.js.map +1 -1
  66. package/dist/workflow/workflow.service.d.ts +1 -0
  67. package/dist/workflow/workflow.service.d.ts.map +1 -1
  68. package/dist/workflow/workflow.service.js +13 -0
  69. package/dist/workflow/workflow.service.js.map +1 -1
  70. package/package.json +10 -10
@@ -5,17 +5,17 @@ export declare class MemoryController {
5
5
  private readonly projects;
6
6
  constructor(service: MemoryService, projects: ProjectsService);
7
7
  private resolveRootPath;
8
- getAll(rootPath?: string): Promise<import("./memory.service.js").MemoryData>;
8
+ getAll(rootPath?: string, xProject?: string): Promise<import("./memory.service.js").MemoryData>;
9
9
  update(rootPath: string | undefined, layer: string, key: string, body: {
10
10
  value: unknown;
11
- }): Promise<{
11
+ }, xProject?: string): Promise<{
12
12
  ok: boolean;
13
13
  }>;
14
- getCandidates(rootPath?: string): Promise<unknown[]>;
15
- approve(rootPath: string | undefined, id: string): Promise<{
14
+ getCandidates(rootPath?: string, xProject?: string): Promise<unknown[]>;
15
+ approve(rootPath: string | undefined, id: string, xProject?: string): Promise<{
16
16
  approved: boolean;
17
17
  }>;
18
- reject(rootPath: string | undefined, id: string): Promise<{
18
+ reject(rootPath: string | undefined, id: string, xProject?: string): Promise<{
19
19
  rejected: boolean;
20
20
  }>;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory.controller.d.ts","sourceRoot":"","sources":["../../src/memory/memory.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,gBAAgB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADV,OAAO,EAAE,aAAa,EACpB,QAAQ,EAAE,eAAe;IAGrE,OAAO,CAAC,eAAe;IAOjB,MAAM,CAAoB,QAAQ,CAAC,EAAE,MAAM;IAG3C,MAAM,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAkB,KAAK,EAAE,MAAM,EAAgB,GAAG,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;;;IAKlJ,aAAa,CAAoB,QAAQ,CAAC,EAAE,MAAM;IAGlD,OAAO,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAe,EAAE,EAAE,MAAM;;;IAGhF,MAAM,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAe,EAAE,EAAE,MAAM;;;CACtF"}
1
+ {"version":3,"file":"memory.controller.d.ts","sourceRoot":"","sources":["../../src/memory/memory.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,gBAAgB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADV,OAAO,EAAE,aAAa,EACpB,QAAQ,EAAE,eAAe;IAGrE,OAAO,CAAC,eAAe;IAOjB,MAAM,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAG5F,MAAM,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAkB,KAAK,EAAE,MAAM,EAAgB,GAAG,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAAgC,QAAQ,CAAC,EAAE,MAAM;;;IAKnM,aAAa,CAAoB,QAAQ,CAAC,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;IAGnG,OAAO,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAe,EAAE,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;;;IAGjI,MAAM,CAAoB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAe,EAAE,EAAE,MAAM,EAAgC,QAAQ,CAAC,EAAE,MAAM;;;CACvI"}
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Controller, Get, Put, Post, Param, Body, Query, Inject, BadRequestException } from "@nestjs/common";
13
+ import { Controller, Get, Put, Post, Param, Body, Query, Headers, Inject, BadRequestException } from "@nestjs/common";
14
14
  import { MemoryService } from "./memory.service.js";
15
15
  import { ProjectsService } from "../projects/projects.service.js";
16
16
  let MemoryController = class MemoryController {
@@ -18,26 +18,27 @@ let MemoryController = class MemoryController {
18
18
  this.service = service;
19
19
  this.projects = projects;
20
20
  }
21
- resolveRootPath(rootPath) {
22
- const resolved = rootPath ?? this.projects.getActiveProjectRoot();
21
+ resolveRootPath(rootPath, xProject) {
22
+ const resolved = rootPath ?? xProject ?? this.projects.getActiveProjectRoot();
23
23
  if (!resolved)
24
24
  throw new BadRequestException("rootPath is required — no active project connected");
25
25
  return resolved;
26
26
  }
27
- async getAll(rootPath) { return this.service.getAll(this.resolveRootPath(rootPath)); }
28
- async update(rootPath, layer, key, body) {
29
- await this.service.update(this.resolveRootPath(rootPath), layer, key, body.value);
27
+ async getAll(rootPath, xProject) { return this.service.getAll(this.resolveRootPath(rootPath, xProject)); }
28
+ async update(rootPath, layer, key, body, xProject) {
29
+ await this.service.update(this.resolveRootPath(rootPath, xProject), layer, key, body.value);
30
30
  return { ok: true };
31
31
  }
32
- async getCandidates(rootPath) { return this.service.getCandidates(this.resolveRootPath(rootPath)); }
33
- async approve(rootPath, id) { await this.service.approveCandidate(this.resolveRootPath(rootPath), id); return { approved: true }; }
34
- async reject(rootPath, id) { await this.service.rejectCandidate(this.resolveRootPath(rootPath), id); return { rejected: true }; }
32
+ async getCandidates(rootPath, xProject) { return this.service.getCandidates(this.resolveRootPath(rootPath, xProject)); }
33
+ async approve(rootPath, id, xProject) { await this.service.approveCandidate(this.resolveRootPath(rootPath, xProject), id); return { approved: true }; }
34
+ async reject(rootPath, id, xProject) { await this.service.rejectCandidate(this.resolveRootPath(rootPath, xProject), id); return { rejected: true }; }
35
35
  };
36
36
  __decorate([
37
37
  Get(),
38
38
  __param(0, Query("rootPath")),
39
+ __param(1, Headers("x-devflow-project")),
39
40
  __metadata("design:type", Function),
40
- __metadata("design:paramtypes", [String]),
41
+ __metadata("design:paramtypes", [String, String]),
41
42
  __metadata("design:returntype", Promise)
42
43
  ], MemoryController.prototype, "getAll", null);
43
44
  __decorate([
@@ -46,31 +47,35 @@ __decorate([
46
47
  __param(1, Param("layer")),
47
48
  __param(2, Param("key")),
48
49
  __param(3, Body()),
50
+ __param(4, Headers("x-devflow-project")),
49
51
  __metadata("design:type", Function),
50
- __metadata("design:paramtypes", [Object, String, String, Object]),
52
+ __metadata("design:paramtypes", [Object, String, String, Object, String]),
51
53
  __metadata("design:returntype", Promise)
52
54
  ], MemoryController.prototype, "update", null);
53
55
  __decorate([
54
56
  Get("candidates"),
55
57
  __param(0, Query("rootPath")),
58
+ __param(1, Headers("x-devflow-project")),
56
59
  __metadata("design:type", Function),
57
- __metadata("design:paramtypes", [String]),
60
+ __metadata("design:paramtypes", [String, String]),
58
61
  __metadata("design:returntype", Promise)
59
62
  ], MemoryController.prototype, "getCandidates", null);
60
63
  __decorate([
61
64
  Post("candidates/:id/approve"),
62
65
  __param(0, Query("rootPath")),
63
66
  __param(1, Param("id")),
67
+ __param(2, Headers("x-devflow-project")),
64
68
  __metadata("design:type", Function),
65
- __metadata("design:paramtypes", [Object, String]),
69
+ __metadata("design:paramtypes", [Object, String, String]),
66
70
  __metadata("design:returntype", Promise)
67
71
  ], MemoryController.prototype, "approve", null);
68
72
  __decorate([
69
73
  Post("candidates/:id/reject"),
70
74
  __param(0, Query("rootPath")),
71
75
  __param(1, Param("id")),
76
+ __param(2, Headers("x-devflow-project")),
72
77
  __metadata("design:type", Function),
73
- __metadata("design:paramtypes", [Object, String]),
78
+ __metadata("design:paramtypes", [Object, String, String]),
74
79
  __metadata("design:returntype", Promise)
75
80
  ], MemoryController.prototype, "reject", null);
76
81
  MemoryController = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"memory.controller.js","sourceRoot":"","sources":["../../src/memory/memory.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.controller.js","sourceRoot":"","sources":["../../src/memory/memory.controller.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,18 @@ export declare class RegistryController {
10
10
  description: string;
11
11
  tags?: string[];
12
12
  }): Promise<import("./registry.service.js").PluginMeta>;
13
+ install(body: {
14
+ name: string;
15
+ rootPath?: string;
16
+ }, xProject?: string): Promise<{
17
+ ok: boolean;
18
+ name: string;
19
+ }>;
20
+ uninstall(name: string, body: {
21
+ rootPath?: string;
22
+ }, xProject?: string): Promise<{
23
+ ok: boolean;
24
+ name: string;
25
+ }>;
13
26
  }
14
27
  //# sourceMappingURL=registry.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.controller.d.ts","sourceRoot":"","sources":["../../src/registry/registry.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGxE,IAAI,CAAkB,MAAM,CAAC,EAAE,MAAM,EAAgB,GAAG,CAAC,EAAE,MAAM;IAKjE,SAAS,CAAgB,IAAI,EAAE,MAAM;IAKrC,OAAO,CAAS,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CAG1G"}
1
+ {"version":3,"file":"registry.controller.d.ts","sourceRoot":"","sources":["../../src/registry/registry.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGxE,IAAI,CAAkB,MAAM,CAAC,EAAE,MAAM,EAAgB,GAAG,CAAC,EAAE,MAAM;IAKjE,SAAS,CAAgB,IAAI,EAAE,MAAM;IAKrC,OAAO,CAAS,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAKnG,OAAO,CAAS,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAgC,QAAQ,CAAC,EAAE,MAAM;;;;IAK1G,SAAS,CAAgB,IAAI,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAgC,QAAQ,CAAC,EAAE,MAAM;;;;CAGlI"}
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Controller, Get, Post, Param, Query, Body, Inject } from "@nestjs/common";
13
+ import { Controller, Get, Post, Param, Query, Body, Headers, Inject } from "@nestjs/common";
14
14
  import { RegistryService } from "./registry.service.js";
15
15
  let RegistryController = class RegistryController {
16
16
  constructor(service) {
@@ -25,6 +25,12 @@ let RegistryController = class RegistryController {
25
25
  async publish(body) {
26
26
  return this.service.publish(body);
27
27
  }
28
+ async install(body, xProject) {
29
+ return this.service.install(body.name, body.rootPath ?? xProject);
30
+ }
31
+ async uninstall(name, body, xProject) {
32
+ return this.service.uninstall(name, body.rootPath ?? xProject);
33
+ }
28
34
  };
29
35
  __decorate([
30
36
  Get("plugins"),
@@ -48,6 +54,23 @@ __decorate([
48
54
  __metadata("design:paramtypes", [Object]),
49
55
  __metadata("design:returntype", Promise)
50
56
  ], RegistryController.prototype, "publish", null);
57
+ __decorate([
58
+ Post("plugins/install"),
59
+ __param(0, Body()),
60
+ __param(1, Headers("x-devflow-project")),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [Object, String]),
63
+ __metadata("design:returntype", Promise)
64
+ ], RegistryController.prototype, "install", null);
65
+ __decorate([
66
+ Post("plugins/:name/uninstall"),
67
+ __param(0, Param("name")),
68
+ __param(1, Body()),
69
+ __param(2, Headers("x-devflow-project")),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", [String, Object, String]),
72
+ __metadata("design:returntype", Promise)
73
+ ], RegistryController.prototype, "uninstall", null);
51
74
  RegistryController = __decorate([
52
75
  Controller("registry"),
53
76
  __param(0, Inject(RegistryService)),
@@ -1 +1 @@
1
- {"version":3,"file":"registry.controller.js","sourceRoot":"","sources":["../../src/registry/registry.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,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAsD,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAG5E,AAAN,KAAK,CAAC,IAAI,CAAkB,MAAe,EAAgB,GAAY;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAgB,IAAY;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAmF;QACvG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AAbO;IADL,GAAG,CAAC,SAAS,CAAC;IACH,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAmB,WAAA,KAAK,CAAC,KAAK,CAAC,CAAA;;;;8CAEzD;AAGK;IADL,GAAG,CAAC,eAAe,CAAC;IACJ,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;mDAE7B;AAGK;IADL,IAAI,CAAC,SAAS,CAAC;IACD,WAAA,IAAI,EAAE,CAAA;;;;iDAEpB;AAhBU,kBAAkB;IAD9B,UAAU,CAAC,UAAU,CAAC;IAER,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAA2B,eAAe;GADnE,kBAAkB,CAiB9B"}
1
+ {"version":3,"file":"registry.controller.js","sourceRoot":"","sources":["../../src/registry/registry.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAsD,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAG5E,AAAN,KAAK,CAAC,IAAI,CAAkB,MAAe,EAAgB,GAAY;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAgB,IAAY;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAmF;QACvG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAyC,EAAgC,QAAiB;QAC9G,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAgB,IAAY,EAAU,IAA2B,EAAgC,QAAiB;QAC/H,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AAvBO;IADL,GAAG,CAAC,SAAS,CAAC;IACH,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAmB,WAAA,KAAK,CAAC,KAAK,CAAC,CAAA;;;;8CAEzD;AAGK;IADL,GAAG,CAAC,eAAe,CAAC;IACJ,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;mDAE7B;AAGK;IADL,IAAI,CAAC,SAAS,CAAC;IACD,WAAA,IAAI,EAAE,CAAA;;;;iDAEpB;AAGK;IADL,IAAI,CAAC,iBAAiB,CAAC;IACT,WAAA,IAAI,EAAE,CAAA;IAA6C,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;iDAE7F;AAGK;IADL,IAAI,CAAC,yBAAyB,CAAC;IACf,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAI,EAAE,CAAA;IAA+B,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;mDAE9G;AA1BU,kBAAkB;IAD9B,UAAU,CAAC,UAAU,CAAC;IAER,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAA2B,eAAe;GADnE,kBAAkB,CA2B9B"}
@@ -16,5 +16,13 @@ export declare class RegistryService {
16
16
  description: string;
17
17
  tags?: string[];
18
18
  }): Promise<PluginMeta>;
19
+ install(name: string, _rootPath?: string): Promise<{
20
+ ok: boolean;
21
+ name: string;
22
+ }>;
23
+ uninstall(name: string, _rootPath?: string): Promise<{
24
+ ok: boolean;
25
+ name: string;
26
+ }>;
19
27
  }
20
28
  //# sourceMappingURL=registry.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.service.d.ts","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAiC;IAE1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY1D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5C,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CAazH"}
1
+ {"version":3,"file":"registry.service.d.ts","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAiC;IAE1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY1D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5C,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAclH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAcjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAK1F"}
@@ -40,6 +40,24 @@ let RegistryService = class RegistryService {
40
40
  this.plugins.set(name, meta);
41
41
  return meta;
42
42
  }
43
+ async install(name, _rootPath) {
44
+ const npmName = name.startsWith("@devflow-tools/plugin-") ? name : `@devflow-tools/plugin-${name}`;
45
+ const shortName = name.replace(/^@devflow-tools\/plugin-/, "");
46
+ this.plugins.set(shortName, {
47
+ name: shortName,
48
+ npmPackage: npmName,
49
+ version: "0.1.0",
50
+ description: "Installed plugin",
51
+ tags: [],
52
+ createdAt: Date.now(),
53
+ });
54
+ return { ok: true, name: shortName };
55
+ }
56
+ async uninstall(name, _rootPath) {
57
+ const shortName = name.replace(/^@devflow-tools\/plugin-/, "");
58
+ this.plugins.delete(shortName);
59
+ return { ok: true, name: shortName };
60
+ }
43
61
  };
44
62
  RegistryService = __decorate([
45
63
  Injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAY9C,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACG,YAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAiClD,CAAC;IA/BC,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,GAAY;QACtC,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,IAAI,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzI,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAoF;QAChG,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAe;YACvB,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlCY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAkC3B"}
1
+ {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class ServerController {
2
+ private startTime;
3
+ health(): {
4
+ version: string;
5
+ uptime: number;
6
+ };
7
+ }
8
+ //# sourceMappingURL=server.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.controller.d.ts","sourceRoot":"","sources":["../src/server.controller.ts"],"names":[],"mappings":"AAGA,qBACa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAc;IAI/B,MAAM;;;;CAGP"}
@@ -0,0 +1,31 @@
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
+ import { Controller, Get } from "@nestjs/common";
11
+ import { Public } from "./auth/api-key.decorator.js";
12
+ let ServerController = class ServerController {
13
+ constructor() {
14
+ this.startTime = Date.now();
15
+ }
16
+ health() {
17
+ return { version: "0.2.3", uptime: Date.now() - this.startTime };
18
+ }
19
+ };
20
+ __decorate([
21
+ Public(),
22
+ Get("health"),
23
+ __metadata("design:type", Function),
24
+ __metadata("design:paramtypes", []),
25
+ __metadata("design:returntype", void 0)
26
+ ], ServerController.prototype, "health", null);
27
+ ServerController = __decorate([
28
+ Controller()
29
+ ], ServerController);
30
+ export { ServerController };
31
+ //# sourceMappingURL=server.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.controller.js","sourceRoot":"","sources":["../src/server.controller.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QACG,cAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAOjC,CAAC;IAHC,MAAM;QACJ,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACnE,CAAC;CACF,CAAA;AAHC;IAFC,MAAM,EAAE;IACR,GAAG,CAAC,QAAQ,CAAC;;;;8CAGb;AAPU,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAQ5B"}
@@ -2,15 +2,46 @@ import { TelemetryService } from "./telemetry.service.js";
2
2
  export declare class TelemetryController {
3
3
  private readonly service;
4
4
  constructor(service: TelemetryService);
5
- listRuns(limit?: string, offset?: string): Promise<{
5
+ listRuns(limit?: string, offset?: string, source?: string): Promise<{
6
6
  id: any;
7
7
  agent: any;
8
8
  mode: any;
9
+ source: any;
9
10
  status: any;
10
11
  startedAt: any;
11
12
  tokenUsed: any;
12
13
  }[]>;
13
14
  getRun(id: string): Promise<any>;
14
15
  getTimeline(from?: string, to?: string): Promise<any[]>;
16
+ getRunEvents(runId: string): Promise<import("@devflow-tools/sdk").TelemetryEvent[]>;
17
+ getRunStats(runId: string): Promise<import("@devflow-tools/sdk").RunStats>;
18
+ getStats(days?: string): Promise<{
19
+ period: {
20
+ from: string;
21
+ to: string;
22
+ };
23
+ summary: {
24
+ totalRuns: number;
25
+ completedRuns: number;
26
+ failedRuns: number;
27
+ totalTokens: number;
28
+ totalLlmCalls: number;
29
+ totalToolUses: number;
30
+ avgRunDuration: number;
31
+ };
32
+ byDay: {
33
+ runs: number;
34
+ tokens: number;
35
+ date: string;
36
+ }[];
37
+ }>;
38
+ cleanup(body: {
39
+ olderThanDays?: number;
40
+ }): Promise<{
41
+ ok: boolean;
42
+ data: {
43
+ removedRuns: number;
44
+ };
45
+ }>;
15
46
  }
16
47
  //# 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;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;;;;;;;;IAKzE,MAAM,CAAc,EAAE,EAAE,MAAM;IAG9B,WAAW,CAAgB,IAAI,CAAC,EAAE,MAAM,EAAe,EAAE,CAAC,EAAE,MAAM;CAGzE"}
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,OAAO,CAAS,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;CAIvD"}
@@ -10,26 +10,40 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Controller, Get, Param, Query, Inject } from "@nestjs/common";
13
+ import { Controller, Get, Post, Param, Query, Body, Inject } from "@nestjs/common";
14
14
  import { TelemetryService } from "./telemetry.service.js";
15
15
  let TelemetryController = class TelemetryController {
16
16
  constructor(service) {
17
17
  this.service = service;
18
18
  }
19
- async listRuns(limit, offset) {
20
- return this.service.listRuns(Number(limit) || 20, Number(offset) || 0);
19
+ async listRuns(limit, offset, source) {
20
+ return this.service.listRuns(Number(limit) || 20, Number(offset) || 0, source);
21
21
  }
22
22
  async getRun(id) { return this.service.getRun(id); }
23
23
  async getTimeline(from, to) {
24
24
  return this.service.getTimeline(from, to);
25
25
  }
26
+ async getRunEvents(runId) {
27
+ return this.service.getRunEvents(runId);
28
+ }
29
+ async getRunStats(runId) {
30
+ return this.service.getRunStats(runId);
31
+ }
32
+ async getStats(days) {
33
+ return this.service.getStats(Number(days) || 7);
34
+ }
35
+ async cleanup(body) {
36
+ const count = await this.service.cleanup(body.olderThanDays ?? 30);
37
+ return { ok: true, data: { removedRuns: count } };
38
+ }
26
39
  };
27
40
  __decorate([
28
41
  Get("runs"),
29
42
  __param(0, Query("limit")),
30
43
  __param(1, Query("offset")),
44
+ __param(2, Query("source")),
31
45
  __metadata("design:type", Function),
32
- __metadata("design:paramtypes", [String, String]),
46
+ __metadata("design:paramtypes", [String, String, String]),
33
47
  __metadata("design:returntype", Promise)
34
48
  ], TelemetryController.prototype, "listRuns", null);
35
49
  __decorate([
@@ -47,6 +61,34 @@ __decorate([
47
61
  __metadata("design:paramtypes", [String, String]),
48
62
  __metadata("design:returntype", Promise)
49
63
  ], TelemetryController.prototype, "getTimeline", null);
64
+ __decorate([
65
+ Get("runs/:runId/events"),
66
+ __param(0, Param("runId")),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [String]),
69
+ __metadata("design:returntype", Promise)
70
+ ], TelemetryController.prototype, "getRunEvents", null);
71
+ __decorate([
72
+ Get("runs/:runId/stats"),
73
+ __param(0, Param("runId")),
74
+ __metadata("design:type", Function),
75
+ __metadata("design:paramtypes", [String]),
76
+ __metadata("design:returntype", Promise)
77
+ ], TelemetryController.prototype, "getRunStats", null);
78
+ __decorate([
79
+ Get("telemetry/stats"),
80
+ __param(0, Query("days")),
81
+ __metadata("design:type", Function),
82
+ __metadata("design:paramtypes", [String]),
83
+ __metadata("design:returntype", Promise)
84
+ ], TelemetryController.prototype, "getStats", null);
85
+ __decorate([
86
+ Post("telemetry/cleanup"),
87
+ __param(0, Body()),
88
+ __metadata("design:type", Function),
89
+ __metadata("design:paramtypes", [Object]),
90
+ __metadata("design:returntype", Promise)
91
+ ], TelemetryController.prototype, "cleanup", null);
50
92
  TelemetryController = __decorate([
51
93
  Controller(),
52
94
  __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,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAAuD,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAG9E,AAAN,KAAK,CAAC,QAAQ,CAAiB,KAAc,EAAmB,MAAe;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAGnE,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAa,EAAe,EAAW;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAXO;IADL,GAAG,CAAC,MAAM,CAAC;IACI,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;mDAE9D;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACF,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAAgD;AAGnE;IADL,GAAG,CAAC,UAAU,CAAC;IACG,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAiB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAE3D;AAdU,mBAAmB;IAD/B,UAAU,EAAE;IAEE,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;qCAA2B,gBAAgB;GADrE,mBAAmB,CAe/B"}
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;AAGnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAAuD,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAG9E,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,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAGnE,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,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,OAAO,CAAS,IAAgC;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;IACpD,CAAC;CACF,CAAA;AAhCO;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;;;;iDAAgD;AAGnE;IADL,GAAG,CAAC,UAAU,CAAC;IACG,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAiB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAE3D;AAGK;IADL,GAAG,CAAC,oBAAoB,CAAC;IACN,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;uDAEjC;AAGK;IADL,GAAG,CAAC,mBAAmB,CAAC;IACN,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;sDAEhC;AAGK;IADL,GAAG,CAAC,iBAAiB,CAAC;IACP,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;mDAE5B;AAGK;IADL,IAAI,CAAC,mBAAmB,CAAC;IACX,WAAA,IAAI,EAAE,CAAA;;;;kDAGpB;AAnCU,mBAAmB;IAD/B,UAAU,EAAE;IAEE,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;qCAA2B,gBAAgB;GADrE,mBAAmB,CAoC/B"}
@@ -1,15 +1,39 @@
1
1
  import { TelemetryEngine } from "@devflow-tools/telemetry";
2
2
  export declare class TelemetryService {
3
3
  engine: TelemetryEngine;
4
- listRuns(limit: number, offset: number): Promise<{
4
+ listRuns(limit: number, offset: number, source?: string): Promise<{
5
5
  id: any;
6
6
  agent: any;
7
7
  mode: any;
8
+ source: any;
8
9
  status: any;
9
10
  startedAt: any;
10
11
  tokenUsed: any;
11
12
  }[]>;
12
13
  getRun(id: string): Promise<any>;
13
14
  getTimeline(from?: string, to?: string): Promise<any[]>;
15
+ getRunEvents(runId: string): Promise<import("@devflow-tools/sdk").TelemetryEvent[]>;
16
+ getRunStats(runId: string): Promise<import("@devflow-tools/sdk").RunStats>;
17
+ getStats(periodDays?: number): Promise<{
18
+ period: {
19
+ from: string;
20
+ to: string;
21
+ };
22
+ summary: {
23
+ totalRuns: number;
24
+ completedRuns: number;
25
+ failedRuns: number;
26
+ totalTokens: number;
27
+ totalLlmCalls: number;
28
+ totalToolUses: number;
29
+ avgRunDuration: number;
30
+ };
31
+ byDay: {
32
+ runs: number;
33
+ tokens: number;
34
+ date: string;
35
+ }[];
36
+ }>;
37
+ cleanup(olderThanDays: number): Promise<number>;
14
38
  }
15
39
  //# 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;AAG3D,qBACa,gBAAgB;IAC3B,MAAM,kBAAyB;IAEzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;IAQtC,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;CAa7C"}
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;AAG3D,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;;;;IAyCrD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYtD"}
@@ -11,11 +11,15 @@ let TelemetryService = class TelemetryService {
11
11
  constructor() {
12
12
  this.engine = new TelemetryEngine();
13
13
  }
14
- async listRuns(limit, offset) {
14
+ async listRuns(limit, offset, source) {
15
15
  const runs = Array.from(this.engine.runs.values());
16
- return runs.slice(offset, offset + limit).map((r) => ({
16
+ let filtered = runs;
17
+ if (source) {
18
+ filtered = runs.filter((r) => r.meta?.source === source);
19
+ }
20
+ return filtered.slice(offset, offset + limit).map((r) => ({
17
21
  id: r.meta?.runId ?? "", agent: r.meta?.agent ?? "", mode: r.meta?.mode ?? "",
18
- status: r.status, startedAt: r.startedAt, tokenUsed: r.tokenUsed,
22
+ source: r.meta?.source ?? "unknown", status: r.status, startedAt: r.startedAt, tokenUsed: r.tokenUsed,
19
23
  }));
20
24
  }
21
25
  async getRun(id) {
@@ -39,6 +43,66 @@ let TelemetryService = class TelemetryService {
39
43
  duration: s.duration, timestamp: s.timestamp,
40
44
  })) ?? []);
41
45
  }
46
+ async getRunEvents(runId) {
47
+ return this.engine.listEvents(runId);
48
+ }
49
+ async getRunStats(runId) {
50
+ return this.engine.getRunStats(runId);
51
+ }
52
+ async getStats(periodDays = 7) {
53
+ const runs = Array.from(this.engine.runs.values());
54
+ const now = Date.now();
55
+ const cutoff = now - periodDays * 24 * 60 * 60 * 1000;
56
+ const periodRuns = runs.filter((r) => r.startedAt >= cutoff);
57
+ const days = {};
58
+ for (const r of periodRuns) {
59
+ const day = new Date(r.startedAt).toISOString().slice(0, 10);
60
+ if (!days[day])
61
+ days[day] = { runs: 0, tokens: 0 };
62
+ days[day].runs++;
63
+ days[day].tokens += r.tokenUsed ?? 0;
64
+ }
65
+ let totalTokens = 0;
66
+ let totalLlmCalls = 0;
67
+ let totalToolUses = 0;
68
+ for (const r of periodRuns) {
69
+ const events = (this.engine.events.get(r.meta?.runId) ?? []);
70
+ totalTokens += r.tokenUsed ?? 0;
71
+ totalLlmCalls += events.filter((e) => e.kind === "llm_call").length;
72
+ totalToolUses += events.filter((e) => e.kind === "tool_use").length;
73
+ }
74
+ const from = new Date(cutoff).toISOString().slice(0, 10);
75
+ const to = new Date(now).toISOString().slice(0, 10);
76
+ return {
77
+ period: { from, to },
78
+ summary: {
79
+ totalRuns: periodRuns.length,
80
+ completedRuns: periodRuns.filter((r) => r.status === "completed").length,
81
+ failedRuns: periodRuns.filter((r) => r.status === "failed").length,
82
+ totalTokens,
83
+ totalLlmCalls,
84
+ totalToolUses,
85
+ avgRunDuration: periodRuns.length > 0
86
+ ? Math.round(periodRuns.reduce((s, r) => s + ((r.finishedAt ?? now) - r.startedAt), 0) / periodRuns.length)
87
+ : 0,
88
+ },
89
+ byDay: Object.entries(days)
90
+ .map(([date, d]) => ({ date, ...d }))
91
+ .sort((a, b) => a.date.localeCompare(b.date)),
92
+ };
93
+ }
94
+ async cleanup(olderThanDays) {
95
+ const runs = this.engine.runs;
96
+ const cutoff = Date.now() - olderThanDays * 24 * 60 * 60 * 1000;
97
+ let removed = 0;
98
+ for (const [id, run] of runs) {
99
+ if (run.startedAt && run.startedAt < cutoff) {
100
+ runs.delete(id);
101
+ removed++;
102
+ }
103
+ }
104
+ return removed;
105
+ }
42
106
  };
43
107
  TelemetryService = __decorate([
44
108
  Injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QACL,WAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IA6BjC,CAAC;IA3BC,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAU,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,GAAG,GAAI,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnI,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAa,EAAE,EAAW;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAU,CAAC;QACrE,OAAO,IAAI;aACR,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YACjB,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;YACpD,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SAC7C,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AA9BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA8B5B"}
1
+ {"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"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"}
@@ -45,5 +45,6 @@ export declare class WorkflowController {
45
45
  }): Promise<{
46
46
  rejected: boolean;
47
47
  }>;
48
+ nextStep(runId?: string): Promise<unknown>;
48
49
  }
49
50
  //# sourceMappingURL=workflow.controller.d.ts.map