@devflow-tools/server 0.1.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 (145) hide show
  1. package/dist/app.module.d.ts +3 -0
  2. package/dist/app.module.d.ts.map +1 -0
  3. package/dist/app.module.js +37 -0
  4. package/dist/app.module.js.map +1 -0
  5. package/dist/auth/api-key.decorator.d.ts +3 -0
  6. package/dist/auth/api-key.decorator.d.ts.map +1 -0
  7. package/dist/auth/api-key.decorator.js +4 -0
  8. package/dist/auth/api-key.decorator.js.map +1 -0
  9. package/dist/auth/api-key.guard.d.ts +8 -0
  10. package/dist/auth/api-key.guard.d.ts.map +1 -0
  11. package/dist/auth/api-key.guard.js +61 -0
  12. package/dist/auth/api-key.guard.js.map +1 -0
  13. package/dist/auth/auth.module.d.ts +3 -0
  14. package/dist/auth/auth.module.d.ts.map +1 -0
  15. package/dist/auth/auth.module.js +19 -0
  16. package/dist/auth/auth.module.js.map +1 -0
  17. package/dist/auth/errors.d.ts +6 -0
  18. package/dist/auth/errors.d.ts.map +1 -0
  19. package/dist/auth/errors.js +5 -0
  20. package/dist/auth/errors.js.map +1 -0
  21. package/dist/benchmark/benchmark.controller.d.ts +11 -0
  22. package/dist/benchmark/benchmark.controller.d.ts.map +1 -0
  23. package/dist/benchmark/benchmark.controller.js +55 -0
  24. package/dist/benchmark/benchmark.controller.js.map +1 -0
  25. package/dist/benchmark/benchmark.module.d.ts +3 -0
  26. package/dist/benchmark/benchmark.module.d.ts.map +1 -0
  27. package/dist/benchmark/benchmark.module.js +16 -0
  28. package/dist/benchmark/benchmark.module.js.map +1 -0
  29. package/dist/benchmark/benchmark.service.d.ts +8 -0
  30. package/dist/benchmark/benchmark.service.d.ts.map +1 -0
  31. package/dist/benchmark/benchmark.service.js +38 -0
  32. package/dist/benchmark/benchmark.service.js.map +1 -0
  33. package/dist/common/dto.d.ts +11 -0
  34. package/dist/common/dto.d.ts.map +1 -0
  35. package/dist/common/dto.js +2 -0
  36. package/dist/common/dto.js.map +1 -0
  37. package/dist/common/error-codes.d.ts +16 -0
  38. package/dist/common/error-codes.d.ts.map +1 -0
  39. package/dist/common/error-codes.js +15 -0
  40. package/dist/common/error-codes.js.map +1 -0
  41. package/dist/common/http-exception.filter.d.ts +6 -0
  42. package/dist/common/http-exception.filter.d.ts.map +1 -0
  43. package/dist/common/http-exception.filter.js +51 -0
  44. package/dist/common/http-exception.filter.js.map +1 -0
  45. package/dist/context/context.controller.d.ts +17 -0
  46. package/dist/context/context.controller.d.ts.map +1 -0
  47. package/dist/context/context.controller.js +56 -0
  48. package/dist/context/context.controller.js.map +1 -0
  49. package/dist/context/context.module.d.ts +3 -0
  50. package/dist/context/context.module.d.ts.map +1 -0
  51. package/dist/context/context.module.js +16 -0
  52. package/dist/context/context.module.js.map +1 -0
  53. package/dist/context/context.service.d.ts +13 -0
  54. package/dist/context/context.service.d.ts.map +1 -0
  55. package/dist/context/context.service.js +50 -0
  56. package/dist/context/context.service.js.map +1 -0
  57. package/dist/graph/graph.controller.d.ts +15 -0
  58. package/dist/graph/graph.controller.d.ts.map +1 -0
  59. package/dist/graph/graph.controller.js +54 -0
  60. package/dist/graph/graph.controller.js.map +1 -0
  61. package/dist/graph/graph.module.d.ts +3 -0
  62. package/dist/graph/graph.module.d.ts.map +1 -0
  63. package/dist/graph/graph.module.js +17 -0
  64. package/dist/graph/graph.module.js.map +1 -0
  65. package/dist/graph/graph.service.d.ts +12 -0
  66. package/dist/graph/graph.service.d.ts.map +1 -0
  67. package/dist/graph/graph.service.js +37 -0
  68. package/dist/graph/graph.service.js.map +1 -0
  69. package/dist/knowledge/knowledge.controller.d.ts +13 -0
  70. package/dist/knowledge/knowledge.controller.d.ts.map +1 -0
  71. package/dist/knowledge/knowledge.controller.js +48 -0
  72. package/dist/knowledge/knowledge.controller.js.map +1 -0
  73. package/dist/knowledge/knowledge.module.d.ts +3 -0
  74. package/dist/knowledge/knowledge.module.d.ts.map +1 -0
  75. package/dist/knowledge/knowledge.module.js +17 -0
  76. package/dist/knowledge/knowledge.module.js.map +1 -0
  77. package/dist/knowledge/knowledge.service.d.ts +8 -0
  78. package/dist/knowledge/knowledge.service.d.ts.map +1 -0
  79. package/dist/knowledge/knowledge.service.js +33 -0
  80. package/dist/knowledge/knowledge.service.js.map +1 -0
  81. package/dist/main.d.ts +4 -0
  82. package/dist/main.d.ts.map +1 -0
  83. package/dist/main.js +18 -0
  84. package/dist/main.js.map +1 -0
  85. package/dist/memory/memory.controller.d.ts +19 -0
  86. package/dist/memory/memory.controller.d.ts.map +1 -0
  87. package/dist/memory/memory.controller.js +74 -0
  88. package/dist/memory/memory.controller.js.map +1 -0
  89. package/dist/memory/memory.module.d.ts +3 -0
  90. package/dist/memory/memory.module.d.ts.map +1 -0
  91. package/dist/memory/memory.module.js +17 -0
  92. package/dist/memory/memory.module.js.map +1 -0
  93. package/dist/memory/memory.service.d.ts +22 -0
  94. package/dist/memory/memory.service.d.ts.map +1 -0
  95. package/dist/memory/memory.service.js +51 -0
  96. package/dist/memory/memory.service.js.map +1 -0
  97. package/dist/projects/projects.controller.d.ts +14 -0
  98. package/dist/projects/projects.controller.d.ts.map +1 -0
  99. package/dist/projects/projects.controller.js +57 -0
  100. package/dist/projects/projects.controller.js.map +1 -0
  101. package/dist/projects/projects.module.d.ts +3 -0
  102. package/dist/projects/projects.module.d.ts.map +1 -0
  103. package/dist/projects/projects.module.js +16 -0
  104. package/dist/projects/projects.module.js.map +1 -0
  105. package/dist/projects/projects.service.d.ts +19 -0
  106. package/dist/projects/projects.service.d.ts.map +1 -0
  107. package/dist/projects/projects.service.js +38 -0
  108. package/dist/projects/projects.service.js.map +1 -0
  109. package/dist/registry/registry.controller.d.ts +14 -0
  110. package/dist/registry/registry.controller.d.ts.map +1 -0
  111. package/dist/registry/registry.controller.js +57 -0
  112. package/dist/registry/registry.controller.js.map +1 -0
  113. package/dist/registry/registry.module.d.ts +3 -0
  114. package/dist/registry/registry.module.d.ts.map +1 -0
  115. package/dist/registry/registry.module.js +16 -0
  116. package/dist/registry/registry.module.js.map +1 -0
  117. package/dist/registry/registry.service.d.ts +20 -0
  118. package/dist/registry/registry.service.d.ts.map +1 -0
  119. package/dist/registry/registry.service.js +48 -0
  120. package/dist/registry/registry.service.js.map +1 -0
  121. package/dist/telemetry/telemetry.controller.d.ts +16 -0
  122. package/dist/telemetry/telemetry.controller.d.ts.map +1 -0
  123. package/dist/telemetry/telemetry.controller.js +56 -0
  124. package/dist/telemetry/telemetry.controller.js.map +1 -0
  125. package/dist/telemetry/telemetry.module.d.ts +3 -0
  126. package/dist/telemetry/telemetry.module.d.ts.map +1 -0
  127. package/dist/telemetry/telemetry.module.js +16 -0
  128. package/dist/telemetry/telemetry.module.js.map +1 -0
  129. package/dist/telemetry/telemetry.service.d.ts +15 -0
  130. package/dist/telemetry/telemetry.service.d.ts.map +1 -0
  131. package/dist/telemetry/telemetry.service.js +47 -0
  132. package/dist/telemetry/telemetry.service.js.map +1 -0
  133. package/dist/workflow/workflow.controller.d.ts +38 -0
  134. package/dist/workflow/workflow.controller.d.ts.map +1 -0
  135. package/dist/workflow/workflow.controller.js +101 -0
  136. package/dist/workflow/workflow.controller.js.map +1 -0
  137. package/dist/workflow/workflow.module.d.ts +3 -0
  138. package/dist/workflow/workflow.module.d.ts.map +1 -0
  139. package/dist/workflow/workflow.module.js +16 -0
  140. package/dist/workflow/workflow.module.js.map +1 -0
  141. package/dist/workflow/workflow.service.d.ts +40 -0
  142. package/dist/workflow/workflow.service.d.ts.map +1 -0
  143. package/dist/workflow/workflow.service.js +78 -0
  144. package/dist/workflow/workflow.service.js.map +1 -0
  145. package/package.json +41 -0
@@ -0,0 +1,38 @@
1
+ import type { FastifyReply } from "fastify";
2
+ import { WorkflowService } from "./workflow.service.js";
3
+ export declare class WorkflowController {
4
+ private readonly service;
5
+ constructor(service: WorkflowService);
6
+ list(): Promise<import("@devflow-tools/sdk").WorkflowMeta[]>;
7
+ run(type: string, body: {
8
+ input?: Record<string, unknown>;
9
+ }): Promise<{
10
+ runId: string;
11
+ }>;
12
+ listRuns(limit?: string, offset?: string): Promise<{
13
+ runId: string;
14
+ workflowName: string;
15
+ status: string;
16
+ steps: unknown[];
17
+ startedAt: number;
18
+ finishedAt?: number;
19
+ }[]>;
20
+ getRun(id: string): Promise<{
21
+ runId: string;
22
+ workflowName: string;
23
+ status: string;
24
+ steps: unknown[];
25
+ startedAt: number;
26
+ finishedAt?: number;
27
+ }>;
28
+ stream(id: string, reply: FastifyReply): Promise<void>;
29
+ approve(id: string): Promise<{
30
+ approved: boolean;
31
+ }>;
32
+ reject(id: string, body: {
33
+ reason?: string;
34
+ }): Promise<{
35
+ rejected: boolean;
36
+ }>;
37
+ }
38
+ //# sourceMappingURL=workflow.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.controller.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGxE,IAAI;IAGJ,GAAG,CAAgB,IAAI,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;;;IAKlF,QAAQ,CAAiB,KAAK,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;;;;;IAKzE,MAAM,CAAc,EAAE,EAAE,MAAM;;;;;;;;IAG9B,MAAM,CAAc,EAAE,EAAE,MAAM,EAAS,KAAK,EAAE,YAAY;IAY1D,OAAO,CAAc,EAAE,EAAE,MAAM;;;IAG/B,MAAM,CAAc,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;CAGxE"}
@@ -0,0 +1,101 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Controller, Get, Post, Param, Body, Query, Res, Inject } from "@nestjs/common";
14
+ import { WorkflowService } from "./workflow.service.js";
15
+ let WorkflowController = class WorkflowController {
16
+ constructor(service) {
17
+ this.service = service;
18
+ }
19
+ async list() { return this.service.list(); }
20
+ async run(type, body) {
21
+ return this.service.run(type, body.input ?? {});
22
+ }
23
+ async listRuns(limit, offset) {
24
+ return this.service.listRuns(Number(limit) || 20, Number(offset) || 0);
25
+ }
26
+ async getRun(id) { return this.service.getRun(id); }
27
+ async stream(id, reply) {
28
+ reply.raw.writeHead(200, { "Content-Type": "text/event-stream", "Cache-Control": "no-cache", Connection: "keep-alive" });
29
+ const subject = this.service.streamRun(id);
30
+ const sub = subject.subscribe({
31
+ next: (event) => { reply.raw.write(`event: step-${event.status}\ndata: ${JSON.stringify(event)}\n\n`); },
32
+ error: (err) => { reply.raw.write(`event: error\ndata: ${JSON.stringify({ error: err.message })}\n\n`); reply.raw.end(); },
33
+ complete: () => { reply.raw.write("event: done\ndata: {}\n\n"); reply.raw.end(); },
34
+ });
35
+ reply.raw.on("close", () => sub.unsubscribe());
36
+ }
37
+ async approve(id) { await this.service.approveRun(id); return { approved: true }; }
38
+ async reject(id, body) {
39
+ await this.service.rejectRun(id, body.reason);
40
+ return { rejected: true };
41
+ }
42
+ };
43
+ __decorate([
44
+ Get(),
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", []),
47
+ __metadata("design:returntype", Promise)
48
+ ], WorkflowController.prototype, "list", null);
49
+ __decorate([
50
+ Post(":type/run"),
51
+ __param(0, Param("type")),
52
+ __param(1, Body()),
53
+ __metadata("design:type", Function),
54
+ __metadata("design:paramtypes", [String, Object]),
55
+ __metadata("design:returntype", Promise)
56
+ ], WorkflowController.prototype, "run", null);
57
+ __decorate([
58
+ Get("runs"),
59
+ __param(0, Query("limit")),
60
+ __param(1, Query("offset")),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [String, String]),
63
+ __metadata("design:returntype", Promise)
64
+ ], WorkflowController.prototype, "listRuns", null);
65
+ __decorate([
66
+ Get("runs/:id"),
67
+ __param(0, Param("id")),
68
+ __metadata("design:type", Function),
69
+ __metadata("design:paramtypes", [String]),
70
+ __metadata("design:returntype", Promise)
71
+ ], WorkflowController.prototype, "getRun", null);
72
+ __decorate([
73
+ Get("runs/:id/stream"),
74
+ __param(0, Param("id")),
75
+ __param(1, Res()),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [String, Object]),
78
+ __metadata("design:returntype", Promise)
79
+ ], WorkflowController.prototype, "stream", null);
80
+ __decorate([
81
+ Post("runs/:id/approve"),
82
+ __param(0, Param("id")),
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", [String]),
85
+ __metadata("design:returntype", Promise)
86
+ ], WorkflowController.prototype, "approve", null);
87
+ __decorate([
88
+ Post("runs/:id/reject"),
89
+ __param(0, Param("id")),
90
+ __param(1, Body()),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", [String, Object]),
93
+ __metadata("design:returntype", Promise)
94
+ ], WorkflowController.prototype, "reject", null);
95
+ WorkflowController = __decorate([
96
+ Controller("workflows"),
97
+ __param(0, Inject(WorkflowService)),
98
+ __metadata("design:paramtypes", [WorkflowService])
99
+ ], WorkflowController);
100
+ export { WorkflowController };
101
+ //# sourceMappingURL=workflow.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.controller.js","sourceRoot":"","sources":["../../src/workflow/workflow.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class WorkflowModule {
2
+ }
3
+ //# sourceMappingURL=workflow.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.module.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.module.ts"],"names":[],"mappings":"AAIA,qBACa,cAAc;CAAG"}
@@ -0,0 +1,16 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from "@nestjs/common";
8
+ import { WorkflowService } from "./workflow.service.js";
9
+ import { WorkflowController } from "./workflow.controller.js";
10
+ let WorkflowModule = class WorkflowModule {
11
+ };
12
+ WorkflowModule = __decorate([
13
+ Module({ controllers: [WorkflowController], providers: [WorkflowService], exports: [WorkflowService] })
14
+ ], WorkflowModule);
15
+ export { WorkflowModule };
16
+ //# sourceMappingURL=workflow.module.js.map
@@ -0,0 +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"}
@@ -0,0 +1,40 @@
1
+ import { WorkflowEngine } from "@devflow-tools/workflow-engine";
2
+ import type { WorkflowMeta } from "@devflow-tools/sdk";
3
+ import { Subject } from "rxjs";
4
+ export interface StepEvent {
5
+ runId: string;
6
+ stepId: string;
7
+ status: "started" | "completed" | "failed";
8
+ output?: unknown;
9
+ error?: string;
10
+ timestamp: number;
11
+ }
12
+ export declare class WorkflowService {
13
+ engine: WorkflowEngine;
14
+ private events;
15
+ private runStates;
16
+ list(): Promise<WorkflowMeta[]>;
17
+ run(type: string, input: Record<string, unknown>): Promise<{
18
+ runId: string;
19
+ }>;
20
+ listRuns(limit: number, offset: number): Promise<{
21
+ runId: string;
22
+ workflowName: string;
23
+ status: string;
24
+ steps: unknown[];
25
+ startedAt: number;
26
+ finishedAt?: number;
27
+ }[]>;
28
+ getRun(runId: string): Promise<{
29
+ runId: string;
30
+ workflowName: string;
31
+ status: string;
32
+ steps: unknown[];
33
+ startedAt: number;
34
+ finishedAt?: number;
35
+ }>;
36
+ streamRun(runId: string): Subject<StepEvent>;
37
+ approveRun(runId: string): Promise<void>;
38
+ rejectRun(runId: string, reason?: string): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=workflow.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.service.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,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,eAAe;IAC1B,MAAM,iBAAwB;IAC9B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAwI;IAEnJ,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;IAyB7E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;eA/BC,MAAM;sBAAgB,MAAM;gBAAU,MAAM;eAAS,OAAO,EAAE;mBAAa,MAAM;qBAAe,MAAM;;IAoC7I,MAAM,CAAC,KAAK,EAAE,MAAM;eApCmB,MAAM;sBAAgB,MAAM;gBAAU,MAAM;eAAS,OAAO,EAAE;mBAAa,MAAM;qBAAe,MAAM;;IA0CnJ,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAMtC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK/D"}
@@ -0,0 +1,78 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable, NotFoundException } from "@nestjs/common";
8
+ import { WorkflowEngine } from "@devflow-tools/workflow-engine";
9
+ import { Subject } from "rxjs";
10
+ import { ErrorCode } from "../common/error-codes.js";
11
+ let WorkflowService = class WorkflowService {
12
+ constructor() {
13
+ this.engine = new WorkflowEngine();
14
+ this.events = new Map();
15
+ this.runStates = new Map();
16
+ }
17
+ async list() {
18
+ return this.engine.list();
19
+ }
20
+ async run(type, input) {
21
+ const defs = await this.engine.list();
22
+ if (!defs.find((d) => d.name === type)) {
23
+ throw new NotFoundException({ error: { code: ErrorCode.WORKFLOW_NOT_FOUND, message: `Workflow "${type}" not found`, details: {} } });
24
+ }
25
+ const runId = `run_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;
26
+ this.events.set(runId, new Subject());
27
+ const startTime = Date.now();
28
+ this.runStates.set(runId, { runId, workflowName: type, status: "running", steps: [], startedAt: startTime });
29
+ // Execute in background
30
+ this.engine.run(type, input).then((result) => {
31
+ const rs = this.runStates.get(runId);
32
+ if (rs) {
33
+ rs.status = result.status === "completed" ? "completed" : "failed";
34
+ rs.finishedAt = Date.now();
35
+ }
36
+ }).catch((err) => {
37
+ const rs = this.runStates.get(runId);
38
+ if (rs) {
39
+ rs.status = "failed";
40
+ rs.finishedAt = Date.now();
41
+ }
42
+ const subj = this.events.get(runId);
43
+ if (subj)
44
+ subj.error(err);
45
+ });
46
+ return { runId };
47
+ }
48
+ async listRuns(limit, offset) {
49
+ const runs = Array.from(this.runStates.values());
50
+ return runs.slice(offset, offset + limit);
51
+ }
52
+ async getRun(runId) {
53
+ const run = this.runStates.get(runId);
54
+ if (!run)
55
+ throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} } });
56
+ return run;
57
+ }
58
+ streamRun(runId) {
59
+ const subject = this.events.get(runId);
60
+ if (!subject)
61
+ throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${runId}" not found`, details: {} } });
62
+ return subject;
63
+ }
64
+ async approveRun(runId) {
65
+ const run = await this.getRun(runId);
66
+ run.approved = true;
67
+ }
68
+ async rejectRun(runId, reason) {
69
+ const run = await this.getRun(runId);
70
+ run.approved = false;
71
+ run.rejectReason = reason;
72
+ }
73
+ };
74
+ WorkflowService = __decorate([
75
+ Injectable()
76
+ ], WorkflowService);
77
+ export { WorkflowService };
78
+ //# sourceMappingURL=workflow.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.service.js","sourceRoot":"","sources":["../../src/workflow/workflow.service.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@devflow-tools/server",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/main.js",
6
+ "scripts": {
7
+ "build": "tsc -b",
8
+ "start": "cgnode dist/main.js",
9
+ "dev": "tsc -b && cgnode --watch dist/main.js",
10
+ "test": "cgnode ../../node_modules/.bin/vitest run",
11
+ "typecheck": "tsc --noEmit",
12
+ "clean": "rm -rf dist"
13
+ },
14
+ "dependencies": {
15
+ "@devflow-tools/adapters": "*",
16
+ "@devflow-tools/benchmark": "*",
17
+ "@devflow-tools/context-engine": "*",
18
+ "@devflow-tools/knowledge-engine": "*",
19
+ "@devflow-tools/memory-engine": "*",
20
+ "@devflow-tools/sdk": "*",
21
+ "@devflow-tools/telemetry": "*",
22
+ "@devflow-tools/workflow-engine": "*",
23
+ "@nestjs/common": "^10.4.0",
24
+ "@nestjs/core": "^10.4.0",
25
+ "@nestjs/platform-fastify": "^10.4.0",
26
+ "fastify": "^4.28.0",
27
+ "reflect-metadata": "^0.2.0",
28
+ "rxjs": "^7.8.0"
29
+ },
30
+ "devDependencies": {
31
+ "@nestjs/testing": "^10.4.0",
32
+ "@types/node": "^20.0.0",
33
+ "tsx": "^4.0.0",
34
+ "typescript": "^5.5.0",
35
+ "vitest": "^2.0.0"
36
+ },
37
+ "files": [
38
+ "dist"
39
+ ],
40
+ "gitHead": "4cede97fc7fc673f929427fac169acab100ca8ed"
41
+ }