@devflow-tools/server 0.18.3 → 0.18.5

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 (78) hide show
  1. package/README.md +7 -3
  2. package/dist/app.module.d.ts.map +1 -1
  3. package/dist/app.module.js +2 -0
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/common/error-codes.d.ts +3 -0
  6. package/dist/common/error-codes.d.ts.map +1 -1
  7. package/dist/common/error-codes.js +3 -0
  8. package/dist/common/error-codes.js.map +1 -1
  9. package/dist/common/response.interceptor.d.ts.map +1 -1
  10. package/dist/common/response.interceptor.js +24 -1
  11. package/dist/common/response.interceptor.js.map +1 -1
  12. package/dist/dashboard/dashboard.controller.d.ts +30 -0
  13. package/dist/dashboard/dashboard.controller.d.ts.map +1 -0
  14. package/dist/dashboard/dashboard.controller.js +152 -0
  15. package/dist/dashboard/dashboard.controller.js.map +1 -0
  16. package/dist/dashboard/dashboard.controller.spec.d.ts +2 -0
  17. package/dist/dashboard/dashboard.controller.spec.d.ts.map +1 -0
  18. package/dist/dashboard/dashboard.controller.spec.js +17 -0
  19. package/dist/dashboard/dashboard.controller.spec.js.map +1 -0
  20. package/dist/dashboard/dashboard.module.d.ts +3 -0
  21. package/dist/dashboard/dashboard.module.d.ts.map +1 -0
  22. package/dist/dashboard/dashboard.module.js +26 -0
  23. package/dist/dashboard/dashboard.module.js.map +1 -0
  24. package/dist/dashboard/dashboard.service.d.ts +32 -0
  25. package/dist/dashboard/dashboard.service.d.ts.map +1 -0
  26. package/dist/dashboard/dashboard.service.js +194 -0
  27. package/dist/dashboard/dashboard.service.js.map +1 -0
  28. package/dist/dashboard/dashboard.service.spec.d.ts +2 -0
  29. package/dist/dashboard/dashboard.service.spec.d.ts.map +1 -0
  30. package/dist/dashboard/dashboard.service.spec.js +28 -0
  31. package/dist/dashboard/dashboard.service.spec.js.map +1 -0
  32. package/dist/dashboard/dashboard.types.d.ts +12 -0
  33. package/dist/dashboard/dashboard.types.d.ts.map +1 -0
  34. package/dist/dashboard/dashboard.types.js +2 -0
  35. package/dist/dashboard/dashboard.types.js.map +1 -0
  36. package/dist/main.d.ts.map +1 -1
  37. package/dist/main.js +6 -1
  38. package/dist/main.js.map +1 -1
  39. package/dist/projects/project-scope.d.ts +8 -0
  40. package/dist/projects/project-scope.d.ts.map +1 -0
  41. package/dist/projects/project-scope.js +24 -0
  42. package/dist/projects/project-scope.js.map +1 -0
  43. package/dist/projects/project-scope.spec.d.ts +2 -0
  44. package/dist/projects/project-scope.spec.d.ts.map +1 -0
  45. package/dist/projects/project-scope.spec.js +18 -0
  46. package/dist/projects/project-scope.spec.js.map +1 -0
  47. package/dist/projects/projects.service.d.ts +2 -0
  48. package/dist/projects/projects.service.d.ts.map +1 -1
  49. package/dist/projects/projects.service.js +10 -0
  50. package/dist/projects/projects.service.js.map +1 -1
  51. package/dist/runtime-readiness.d.ts +23 -0
  52. package/dist/runtime-readiness.d.ts.map +1 -0
  53. package/dist/runtime-readiness.js +57 -0
  54. package/dist/runtime-readiness.js.map +1 -0
  55. package/dist/server.controller.d.ts +10 -0
  56. package/dist/server.controller.d.ts.map +1 -1
  57. package/dist/server.controller.js +25 -1
  58. package/dist/server.controller.js.map +1 -1
  59. package/dist/telemetry/telemetry.controller.d.ts +21 -18
  60. package/dist/telemetry/telemetry.controller.d.ts.map +1 -1
  61. package/dist/telemetry/telemetry.controller.js +99 -54
  62. package/dist/telemetry/telemetry.controller.js.map +1 -1
  63. package/dist/telemetry/telemetry.service.d.ts +16 -15
  64. package/dist/telemetry/telemetry.service.d.ts.map +1 -1
  65. package/dist/telemetry/telemetry.service.js +53 -28
  66. package/dist/telemetry/telemetry.service.js.map +1 -1
  67. package/dist/workflow/workflow.controller.d.ts +19 -21
  68. package/dist/workflow/workflow.controller.d.ts.map +1 -1
  69. package/dist/workflow/workflow.controller.js +40 -15
  70. package/dist/workflow/workflow.controller.js.map +1 -1
  71. package/dist/workflow/workflow.module.d.ts.map +1 -1
  72. package/dist/workflow/workflow.module.js +2 -1
  73. package/dist/workflow/workflow.module.js.map +1 -1
  74. package/dist/workflow/workflow.service.d.ts +19 -19
  75. package/dist/workflow/workflow.service.d.ts.map +1 -1
  76. package/dist/workflow/workflow.service.js +93 -16
  77. package/dist/workflow/workflow.service.js.map +1 -1
  78. package/package.json +11 -11
@@ -10,25 +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, Post, Param, Body, Query, Res, Inject } from "@nestjs/common";
13
+ import { BadRequestException, Controller, Get, Post, Param, Body, Query, Res, Inject, Headers, Optional } from "@nestjs/common";
14
14
  import { WorkflowService } from "./workflow.service.js";
15
+ import { ProjectsService } from "../projects/projects.service.js";
15
16
  let WorkflowController = class WorkflowController {
16
- constructor(service) {
17
+ constructor(service, projects) {
17
18
  this.service = service;
19
+ this.projects = projects;
20
+ }
21
+ root(rootPath, headerRoot) {
22
+ return this.projects?.resolveScope(rootPath, headerRoot, false)?.rootPath ?? rootPath ?? headerRoot;
18
23
  }
19
24
  async list() { return this.service.list(); }
20
- async run(type, body) {
21
- return this.service.run(type, body.input ?? {});
25
+ async run(type, body, headerRoot) {
26
+ return this.service.run(type, body.input ?? {}, this.root(body.projectRoot, headerRoot));
22
27
  }
23
- async listRuns(limit, offset) {
24
- return this.service.listRuns(Number(limit) || 20, Number(offset) || 0);
28
+ async listRuns(limit, offset, projectRoot, headerRoot) {
29
+ const root = this.root(projectRoot, headerRoot);
30
+ return root ? this.service.listRuns(Number(limit) || 20, Number(offset) || 0, root) : this.service.listRuns(Number(limit) || 20, Number(offset) || 0);
25
31
  }
26
- async getRun(id) { return this.service.getRun(id); }
27
- async stream(id, reply) {
32
+ async getRun(id, projectRoot, headerRoot) { const root = this.root(projectRoot, headerRoot); return root ? this.service.getRun(id, root) : this.service.getRun(id); }
33
+ async stream(id, projectRoot, headerRoot, lastEventId, reply) {
28
34
  reply.raw.writeHead(200, { "Content-Type": "text/event-stream", "Cache-Control": "no-cache", Connection: "keep-alive" });
35
+ const root = this.root(projectRoot, headerRoot);
36
+ if (!root)
37
+ throw new BadRequestException("projectRoot is required for run streams");
38
+ await this.service.getRun(id, root);
29
39
  const subject = this.service.streamRun(id);
40
+ const after = Number(lastEventId ?? 0) || 0;
41
+ for (const event of this.service.listPersistedEvents(id, root, after)) {
42
+ reply.raw.write(`id: ${event.sequence}\nevent: step-${event.status}\ndata: ${JSON.stringify(event)}\n\n`);
43
+ }
30
44
  const sub = subject.subscribe({
31
- next: (event) => { reply.raw.write(`event: step-${event.status}\ndata: ${JSON.stringify(event)}\n\n`); },
45
+ next: (event) => { const sequence = event.sequence; if (sequence && sequence <= after)
46
+ return; reply.raw.write(`${sequence ? `id: ${sequence}\n` : ''}event: step-${event.status}\ndata: ${JSON.stringify(event)}\n\n`); },
32
47
  error: (err) => { reply.raw.write(`event: error\ndata: ${JSON.stringify({ error: err.message })}\n\n`); reply.raw.end(); },
33
48
  complete: () => { reply.raw.write("event: done\ndata: {}\n\n"); reply.raw.end(); },
34
49
  });
@@ -53,31 +68,39 @@ __decorate([
53
68
  Post(":type/run"),
54
69
  __param(0, Param("type")),
55
70
  __param(1, Body()),
71
+ __param(2, Headers("x-devflow-project")),
56
72
  __metadata("design:type", Function),
57
- __metadata("design:paramtypes", [String, Object]),
73
+ __metadata("design:paramtypes", [String, Object, String]),
58
74
  __metadata("design:returntype", Promise)
59
75
  ], WorkflowController.prototype, "run", null);
60
76
  __decorate([
61
77
  Get("runs"),
62
78
  __param(0, Query("limit")),
63
79
  __param(1, Query("offset")),
80
+ __param(2, Query("projectRoot")),
81
+ __param(3, Headers("x-devflow-project")),
64
82
  __metadata("design:type", Function),
65
- __metadata("design:paramtypes", [String, String]),
83
+ __metadata("design:paramtypes", [String, String, String, String]),
66
84
  __metadata("design:returntype", Promise)
67
85
  ], WorkflowController.prototype, "listRuns", null);
68
86
  __decorate([
69
87
  Get("runs/:id"),
70
88
  __param(0, Param("id")),
89
+ __param(1, Query("projectRoot")),
90
+ __param(2, Headers("x-devflow-project")),
71
91
  __metadata("design:type", Function),
72
- __metadata("design:paramtypes", [String]),
92
+ __metadata("design:paramtypes", [String, String, String]),
73
93
  __metadata("design:returntype", Promise)
74
94
  ], WorkflowController.prototype, "getRun", null);
75
95
  __decorate([
76
96
  Get("runs/:id/stream"),
77
97
  __param(0, Param("id")),
78
- __param(1, Res()),
98
+ __param(1, Query("projectRoot")),
99
+ __param(2, Headers("x-devflow-project")),
100
+ __param(3, Headers("last-event-id")),
101
+ __param(4, Res()),
79
102
  __metadata("design:type", Function),
80
- __metadata("design:paramtypes", [String, Object]),
103
+ __metadata("design:paramtypes", [String, Object, Object, Object, Object]),
81
104
  __metadata("design:returntype", Promise)
82
105
  ], WorkflowController.prototype, "stream", null);
83
106
  __decorate([
@@ -105,7 +128,9 @@ __decorate([
105
128
  WorkflowController = __decorate([
106
129
  Controller("workflows"),
107
130
  __param(0, Inject(WorkflowService)),
108
- __metadata("design:paramtypes", [WorkflowService])
131
+ __param(1, Optional()),
132
+ __param(1, Inject(ProjectsService)),
133
+ __metadata("design:paramtypes", [WorkflowService, ProjectsService])
109
134
  ], WorkflowController);
110
135
  export { WorkflowController };
111
136
  //# sourceMappingURL=workflow.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.controller.js","sourceRoot":"","sources":["../../src/workflow/workflow.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.controller.js","sourceRoot":"","sources":["../../src/workflow/workflow.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAG3D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAsD,OAAwB,EAAwD,QAA0B;QAA1G,YAAO,GAAP,OAAO,CAAiB;QAAwD,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE5J,IAAI,CAAC,QAAiB,EAAE,UAAmB;QACjD,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC;IACtG,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAGtC,AAAN,KAAK,CAAC,GAAG,CAAgB,IAAY,EAAU,IAA+D,EAAgC,UAAmB;QAC/J,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3F,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAiB,KAAc,EAAmB,MAAe,EAAwB,WAAoB,EAAgC,UAAmB;QAC5K,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxJ,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,EAAwB,WAAoB,EAAgC,UAAmB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAG1P,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,EAAwB,WAA+B,EAAgC,UAA8B,EAA4B,WAA+B,EAAS,KAAmB;QAC9O,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QACzH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,mBAAmB,CAAC,yCAAyC,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACtE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,QAAQ,iBAAiB,KAAK,CAAC,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,QAAQ,GAAI,KAA+B,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,CAAC,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrP,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1H,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAc,EAAU,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAGlG,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,EAAU,IAAyB;QACrE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAiB,KAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA/CO;IADL,GAAG,EAAE;;;;8CACsC;AAGtC;IADL,IAAI,CAAC,WAAW,CAAC;IACP,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAI,EAAE,CAAA;IAAmE,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;6CAE5I;AAGK;IADL,GAAG,CAAC,MAAM,CAAC;IACI,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAmB,WAAA,KAAK,CAAC,aAAa,CAAC,CAAA;IAAwB,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;kDAGzJ;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACF,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,aAAa,CAAC,CAAA;IAAwB,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;gDAAiJ;AAG1P;IADL,GAAG,CAAC,iBAAiB,CAAC;IACT,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,aAAa,CAAC,CAAA;IAAmC,WAAA,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAAkC,WAAA,OAAO,CAAC,eAAe,CAAC,CAAA;IAAmC,WAAA,GAAG,EAAE,CAAA;;;;gDAgB3N;AAGK;IADL,IAAI,CAAC,kBAAkB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAA8E;AAGlG;IADL,IAAI,CAAC,iBAAiB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAI,EAAE,CAAA;;;;gDAE5C;AAGK;IADL,GAAG,CAAC,WAAW,CAAC;IACD,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;;;;kDAE7B;AAtDU,kBAAkB;IAD9B,UAAU,CAAC,WAAW,CAAC;IAET,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;IAA6C,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAArD,eAAe,EAAmE,eAAe;GADrJ,kBAAkB,CAuD9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.module.ts"],"names":[],"mappings":"AAIA,qBACa,cAAc;CAAG"}
1
+ {"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.module.ts"],"names":[],"mappings":"AAKA,qBACa,cAAc;CAAG"}
@@ -7,10 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Module } from "@nestjs/common";
8
8
  import { WorkflowService } from "./workflow.service.js";
9
9
  import { WorkflowController } from "./workflow.controller.js";
10
+ import { ProjectsModule } from "../projects/projects.module.js";
10
11
  let WorkflowModule = class WorkflowModule {
11
12
  };
12
13
  WorkflowModule = __decorate([
13
- Module({ controllers: [WorkflowController], providers: [WorkflowService], exports: [WorkflowService] })
14
+ Module({ imports: [ProjectsModule], controllers: [WorkflowController], providers: [WorkflowService], exports: [WorkflowService] })
14
15
  ], WorkflowModule);
15
16
  export { WorkflowModule };
16
17
  //# sourceMappingURL=workflow.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../../src/workflow/workflow.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGvD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAD1B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;GAC3F,cAAc,CAAG"}
1
+ {"version":3,"file":"workflow.module.js","sourceRoot":"","sources":["../../src/workflow/workflow.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGzD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAD1B,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;GACtH,cAAc,CAAG"}
@@ -15,36 +15,32 @@ export declare class WorkflowService implements OnModuleInit {
15
15
  engine: WorkflowEngine;
16
16
  private events;
17
17
  private engineRunIds;
18
+ private runProjectRoots;
19
+ private runSequences;
18
20
  constructor(db?: any | undefined);
19
21
  onModuleInit(): Promise<void>;
20
22
  list(): Promise<WorkflowMeta[]>;
21
- run(type: string, input: Record<string, unknown>): Promise<{
23
+ run(type: string, input: Record<string, unknown>, projectRoot?: string): Promise<{
22
24
  runId: string;
23
25
  }>;
24
- listRuns(limit: number, offset: number): Promise<{
26
+ listRuns(limit: number, offset: number, projectRoot?: string): Promise<any[]>;
27
+ getRun(runId: string, projectRoot?: string): Promise<{
25
28
  runId: string;
26
- workflowName: string;
27
- status: "completed" | "failed" | "canceled" | "running";
28
- steps: {
29
- stepId: string;
30
- status: "failed" | "pending" | "success" | "running" | "skipped";
31
- output: unknown;
32
- error: string | undefined;
33
- startedAt: number;
34
- }[];
35
- startedAt: number;
36
- finishedAt: number | undefined;
37
- failureCategory: import("@devflow-tools/sdk").FailureCategory | null;
29
+ workflowName: any;
30
+ status: any;
31
+ steps: never[];
32
+ startedAt: any;
33
+ finishedAt: any;
34
+ failureCategory: string | undefined;
38
35
  failureReason: string | undefined;
39
- failureEvidence: Record<string, unknown> | undefined;
40
- }[]>;
41
- getRun(runId: string): Promise<{
36
+ failureEvidence: never[];
37
+ } | {
42
38
  runId: string;
43
39
  workflowName: string;
44
- status: "completed" | "failed" | "canceled" | "running";
40
+ status: "completed" | "failed" | "running" | "canceled";
45
41
  steps: {
46
42
  stepId: string;
47
- status: "failed" | "pending" | "success" | "running" | "skipped";
43
+ status: "failed" | "running" | "pending" | "success" | "skipped";
48
44
  output: unknown;
49
45
  error: string | undefined;
50
46
  }[];
@@ -54,6 +50,10 @@ export declare class WorkflowService implements OnModuleInit {
54
50
  failureReason: string | undefined;
55
51
  failureEvidence: Record<string, unknown> | undefined;
56
52
  }>;
53
+ private emitRunEvent;
54
+ listPersistedEvents(runId: string, projectRoot: string | undefined, after?: number): Array<StepEvent & {
55
+ sequence: number;
56
+ }>;
57
57
  streamRun(runId: string): Subject<StepEvent>;
58
58
  approveRun(runId: string): Promise<void>;
59
59
  rejectRun(runId: string, reason?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAgB,YAAW,YAAY;IAKN,OAAO,CAAC,EAAE,CAAC;IAJvD,MAAM,iBAAwB;IAC9B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAA6B;gBAEG,EAAE,CAAC,EAAE,GAAG,YAAA;IAEtD,YAAY;IAgBZ,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAwF7E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;IA2BtC,MAAM,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;IAwB1B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAQtC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAY3D"}
1
+ {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAgB,YAAW,YAAY;IAON,OAAO,CAAC,EAAE,CAAC;IANvD,MAAM,iBAAwB;IAC9B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,YAAY,CAA6B;gBAEG,EAAE,CAAC,EAAE,GAAG,YAAA;IAEtD,YAAY;IAgBZ,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA8FnG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAqD5D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAwChD,OAAO,CAAC,YAAY;IAWpB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,SAAI,GAAG,KAAK,CAAC,SAAS,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAWvH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IActC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAY3D"}
@@ -21,6 +21,8 @@ let WorkflowService = class WorkflowService {
21
21
  this.engine = new WorkflowEngine();
22
22
  this.events = new Map();
23
23
  this.engineRunIds = new Map();
24
+ this.runProjectRoots = new Map();
25
+ this.runSequences = new Map();
24
26
  }
25
27
  async onModuleInit() {
26
28
  // Load plugins and register their workflow templates
@@ -41,7 +43,7 @@ let WorkflowService = class WorkflowService {
41
43
  async list() {
42
44
  return this.engine.list();
43
45
  }
44
- async run(type, input) {
46
+ async run(type, input, projectRoot) {
45
47
  const defs = await this.engine.list();
46
48
  if (!defs.find((d) => d.name === type)) {
47
49
  throw new NotFoundException({
@@ -51,6 +53,9 @@ let WorkflowService = class WorkflowService {
51
53
  const serviceRunId = `run_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;
52
54
  const subject = new Subject();
53
55
  this.events.set(serviceRunId, subject);
56
+ const persistedRoot = projectRoot ?? '__unscoped__';
57
+ this.runProjectRoots.set(serviceRunId, persistedRoot);
58
+ this.runSequences.set(serviceRunId, 0);
54
59
  if (this.db) {
55
60
  try {
56
61
  this.db.insertSkillExecution({
@@ -59,6 +64,9 @@ let WorkflowService = class WorkflowService {
59
64
  startedAt: Date.now(),
60
65
  status: 'running',
61
66
  });
67
+ this.db.updateSkillExecution(serviceRunId, {
68
+ metadata: { projectRoot: persistedRoot, workflowType: type },
69
+ });
62
70
  }
63
71
  catch { }
64
72
  }
@@ -78,7 +86,7 @@ let WorkflowService = class WorkflowService {
78
86
  const engineRun = this.engine.getRun(result.runId);
79
87
  if (engineRun) {
80
88
  for (const step of engineRun.steps) {
81
- subject.next({
89
+ this.emitRunEvent(serviceRunId, subject, {
82
90
  runId: serviceRunId,
83
91
  stepId: step.stepId,
84
92
  status: step.status === "success" ? "completed" : step.status === "failed" ? "failed" : "started",
@@ -93,7 +101,7 @@ let WorkflowService = class WorkflowService {
93
101
  }
94
102
  if (result.status === "running") {
95
103
  this.engine.onEvent(result.runId, (event) => {
96
- subject.next({
104
+ this.emitRunEvent(serviceRunId, subject, {
97
105
  runId: serviceRunId,
98
106
  stepId: event.stepId,
99
107
  status: event.type === "step-done" ? "completed" : event.type === "step-error" ? "failed" : "started",
@@ -113,7 +121,7 @@ let WorkflowService = class WorkflowService {
113
121
  }
114
122
  catch { }
115
123
  }
116
- subject.next({
124
+ this.emitRunEvent(serviceRunId, subject, {
117
125
  runId: serviceRunId,
118
126
  stepId: "engine",
119
127
  status: "failed",
@@ -124,9 +132,18 @@ let WorkflowService = class WorkflowService {
124
132
  });
125
133
  return { runId: serviceRunId };
126
134
  }
127
- async listRuns(limit, offset) {
135
+ async listRuns(limit, offset, projectRoot) {
128
136
  const engineRuns = await this.engine.listRuns();
129
- const runs = engineRuns.map((r) => {
137
+ const persisted = this.db?.listSkillExecutions?.(Math.max(limit + offset, 1000))
138
+ ?.filter((execution) => String(execution.skillName ?? '').startsWith('workflow:'))
139
+ ?? [];
140
+ const persistedById = new Map(persisted.map((execution) => [execution.executionId, execution]));
141
+ const runs = engineRuns.filter((r) => {
142
+ const serviceRunId = Array.from(this.engineRunIds.entries()).find(([, engineId]) => engineId === r.runId)?.[0] ?? r.runId;
143
+ const execution = persistedById.get(serviceRunId);
144
+ const persistedRoot = execution?.metadata?.projectRoot ?? this.runProjectRoots.get(serviceRunId);
145
+ return !projectRoot || persistedRoot === projectRoot;
146
+ }).map((r) => {
130
147
  const serviceRunId = Array.from(this.engineRunIds.entries()).find(([, engineId]) => engineId === r.runId)?.[0];
131
148
  return {
132
149
  runId: serviceRunId ?? r.runId,
@@ -146,15 +163,48 @@ let WorkflowService = class WorkflowService {
146
163
  failureEvidence: r.failureEvidence,
147
164
  };
148
165
  });
149
- return runs.slice(offset, offset + limit);
166
+ const persistedOnly = persisted
167
+ .filter((execution) => !engineRuns.some((run) => {
168
+ const serviceRunId = Array.from(this.engineRunIds.entries()).find(([, engineId]) => engineId === run.runId)?.[0] ?? run.runId;
169
+ return serviceRunId === execution.executionId;
170
+ }))
171
+ .filter((execution) => !projectRoot || execution.metadata?.projectRoot === projectRoot)
172
+ .map((execution) => ({
173
+ runId: execution.executionId,
174
+ workflowName: execution.metadata?.workflowType ?? String(execution.skillName).replace(/^workflow:/u, ''),
175
+ status: execution.status,
176
+ steps: [],
177
+ startedAt: execution.startedAt,
178
+ finishedAt: execution.finishedAt,
179
+ failureCategory: execution.status === 'failed' ? 'workflow_design_issue' : undefined,
180
+ failureReason: execution.status === 'failed' ? 'Run state was restored from durable storage after restart.' : undefined,
181
+ failureEvidence: [],
182
+ }));
183
+ return [...runs, ...persistedOnly].sort((a, b) => Number(b.startedAt ?? 0) - Number(a.startedAt ?? 0)).slice(offset, offset + limit);
150
184
  }
151
- async getRun(runId) {
185
+ async getRun(runId, projectRoot) {
186
+ const persistedExecution = this.db?.getSkillExecution?.(runId);
187
+ const persistedRoot = persistedExecution?.metadata?.projectRoot ?? this.runProjectRoots.get(runId);
188
+ if (projectRoot && persistedRoot !== projectRoot)
189
+ throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} } });
152
190
  const engineRunId = this.engineRunIds.get(runId) ?? runId;
153
191
  const run = this.engine.getRun(engineRunId);
154
- if (!run)
155
- throw new NotFoundException({
156
- error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} }
157
- });
192
+ if (!run) {
193
+ if (!persistedExecution || !String(persistedExecution.skillName ?? '').startsWith('workflow:')) {
194
+ throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} } });
195
+ }
196
+ return {
197
+ runId,
198
+ workflowName: persistedExecution.metadata?.workflowType ?? String(persistedExecution.skillName).replace(/^workflow:/u, ''),
199
+ status: persistedExecution.status,
200
+ steps: [],
201
+ startedAt: persistedExecution.startedAt,
202
+ finishedAt: persistedExecution.finishedAt,
203
+ failureCategory: persistedExecution.status === 'failed' ? 'workflow_design_issue' : undefined,
204
+ failureReason: persistedExecution.status === 'failed' ? 'Run state was restored from durable storage after restart.' : undefined,
205
+ failureEvidence: [],
206
+ };
207
+ }
158
208
  return {
159
209
  runId,
160
210
  workflowName: run.type,
@@ -172,12 +222,39 @@ let WorkflowService = class WorkflowService {
172
222
  failureEvidence: run.failureEvidence,
173
223
  };
174
224
  }
225
+ emitRunEvent(runId, subject, event) {
226
+ const sequence = (this.runSequences.get(runId) ?? 0) + 1;
227
+ this.runSequences.set(runId, sequence);
228
+ const enriched = { ...event, sequence };
229
+ const projectRoot = this.runProjectRoots.get(runId) ?? '__unscoped__';
230
+ try {
231
+ this.db?.appendDashboardRunEvent({ runId, projectRoot, sequence, kind: event.status, payload: enriched, timestamp: event.timestamp });
232
+ }
233
+ catch { }
234
+ subject.next(enriched);
235
+ }
236
+ listPersistedEvents(runId, projectRoot, after = 0) {
237
+ const root = projectRoot ?? this.runProjectRoots.get(runId) ?? '__unscoped__';
238
+ try {
239
+ return (this.db?.listDashboardRunEvents(runId, root, after) ?? []).map((event) => ({
240
+ ...(event.payload ?? {}), runId, sequence: event.sequence,
241
+ }));
242
+ }
243
+ catch {
244
+ return [];
245
+ }
246
+ }
175
247
  streamRun(runId) {
176
248
  const subject = this.events.get(runId);
177
- if (!subject)
178
- throw new NotFoundException({
179
- error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} }
180
- });
249
+ if (!subject) {
250
+ const persisted = this.db?.getSkillExecution?.(runId);
251
+ if (!persisted || !String(persisted.skillName ?? '').startsWith('workflow:')) {
252
+ throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} } });
253
+ }
254
+ const restored = new Subject();
255
+ restored.complete();
256
+ return restored;
257
+ }
181
258
  return subject;
182
259
  }
183
260
  async approveRun(runId) {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/server",
3
- "version": "0.18.3",
3
+ "version": "0.18.5",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "bin": {
@@ -15,16 +15,16 @@
15
15
  "clean": "rm -rf dist"
16
16
  },
17
17
  "dependencies": {
18
- "@devflow-tools/adapters": "0.18.3",
19
- "@devflow-tools/benchmark": "0.18.3",
20
- "@devflow-tools/context-engine": "0.18.3",
21
- "@devflow-tools/database": "0.18.3",
22
- "@devflow-tools/knowledge-engine": "0.18.3",
23
- "@devflow-tools/mcp-server": "0.18.3",
24
- "@devflow-tools/memory-engine": "0.18.3",
25
- "@devflow-tools/sdk": "0.18.3",
26
- "@devflow-tools/telemetry": "0.18.3",
27
- "@devflow-tools/workflow-engine": "0.18.3",
18
+ "@devflow-tools/adapters": "0.18.5",
19
+ "@devflow-tools/benchmark": "0.18.5",
20
+ "@devflow-tools/context-engine": "0.18.5",
21
+ "@devflow-tools/database": "0.18.5",
22
+ "@devflow-tools/knowledge-engine": "0.18.5",
23
+ "@devflow-tools/mcp-server": "0.18.5",
24
+ "@devflow-tools/memory-engine": "0.18.5",
25
+ "@devflow-tools/sdk": "0.18.5",
26
+ "@devflow-tools/telemetry": "0.18.5",
27
+ "@devflow-tools/workflow-engine": "0.18.5",
28
28
  "@fastify/send": "^4.1.1",
29
29
  "@nestjs/common": "^11.1.28",
30
30
  "@nestjs/core": "^11.1.28",