@devflow-tools/server 0.18.2 → 0.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ npm install @devflow-tools/server
14
14
 
15
15
  ```bash
16
16
  npm install -g @devflow-tools/cli
17
- devflow server start
17
+ devflow dashboard
18
18
  # 默认监听 http://127.0.0.1:13337
19
19
  ```
20
20
 
@@ -22,6 +22,10 @@ devflow server start
22
22
 
23
23
  binary `devflow-server`;提供 `/api/context`、`/api/graph`、`/api/workflows`、`/api/memory`、`/api/knowledge`、`/api/telemetry`、`/api/benchmark` 和 `/api/registry`。
24
24
 
25
+ ## Runtime 与 Dashboard
26
+
27
+ 建议使用 `devflow dashboard` 管理用户级 Runtime;`devflow dashboard --open` 才会打开浏览器,`devflow dashboard --no-start` 只查询已就绪实例。`/api/health` 是存活检查;`/api/ready` 还验证 Dashboard 静态资源、实例归属和数据库就绪状态。
28
+
25
29
 
26
30
  二进制入口:
27
31
  - `devflow-server`
@@ -32,8 +36,8 @@ binary `devflow-server`;提供 `/api/context`、`/api/graph`、`/api/workflows
32
36
 
33
37
  ## 版本与兼容性
34
38
 
35
- - 当前包版本:`0.17.8`
36
- - Node.js:未在 package manifest 声明更高版本时,使用 Node.js 18+;原生 SQLite/Playwright 能力请按对应依赖安装
39
+ - 当前包版本:`0.18.3`
40
+ - Node.js:22.13.0+
37
41
  - workspace 内部包应使用同一 DevFlow minor/patch 版本,避免类型和数据库 schema 不一致
38
42
 
39
43
  ## 相关链接
@@ -12,6 +12,9 @@ export declare const ErrorCode: {
12
12
  readonly BAD_REQUEST: "BAD_REQUEST";
13
13
  readonly VALIDATION_ERROR: "VALIDATION_ERROR";
14
14
  readonly INTERNAL_ERROR: "INTERNAL_ERROR";
15
+ readonly RUNTIME_OWNER_MISMATCH: "RUNTIME_OWNER_MISMATCH";
16
+ readonly DASHBOARD_BUNDLE_MISSING: "DASHBOARD_BUNDLE_MISSING";
17
+ readonly DATABASE_NOT_READY: "DATABASE_NOT_READY";
15
18
  };
16
19
  export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
17
20
  //# sourceMappingURL=error-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/common/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/common/error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;CAiBZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
@@ -12,5 +12,8 @@ export const ErrorCode = {
12
12
  BAD_REQUEST: "BAD_REQUEST",
13
13
  VALIDATION_ERROR: "VALIDATION_ERROR",
14
14
  INTERNAL_ERROR: "INTERNAL_ERROR",
15
+ RUNTIME_OWNER_MISMATCH: "RUNTIME_OWNER_MISMATCH",
16
+ DASHBOARD_BUNDLE_MISSING: "DASHBOARD_BUNDLE_MISSING",
17
+ DATABASE_NOT_READY: "DATABASE_NOT_READY",
15
18
  };
16
19
  //# sourceMappingURL=error-codes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/common/error-codes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;CACxB,CAAC"}
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/common/error-codes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;CAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAEL,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AA+BlC,wBAAsB,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC,CA8FjE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAEL,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAgClC,wBAAsB,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAkGjE"}
package/dist/main.js CHANGED
@@ -9,6 +9,7 @@ import send from "@fastify/send";
9
9
  import { AppModule } from "./app.module.js";
10
10
  import { HttpExceptionFilter } from "./common/http-exception.filter.js";
11
11
  import { createDashboardSessionCookie, isLoopbackHost, } from "./auth/dashboard-session.js";
12
+ import { configureRuntimeReadiness } from "./runtime-readiness.js";
12
13
  function resolveDashboardDir() {
13
14
  const require = createRequire(import.meta.url);
14
15
  // Production: dashboard static files in devflow package dist
@@ -31,6 +32,9 @@ function resolveDashboardDir() {
31
32
  return null;
32
33
  }
33
34
  export async function bootstrap() {
35
+ const tokenIndex = process.argv.indexOf("--devflow-instance-token");
36
+ const instanceToken = tokenIndex >= 0 ? process.argv[tokenIndex + 1] : process.env.DEVFLOW_INSTANCE_TOKEN;
37
+ const instanceTokenHash = instanceToken ? (await import("node:crypto")).createHash("sha256").update(instanceToken).digest("hex") : null;
34
38
  const adapter = new FastifyAdapter();
35
39
  const app = await NestFactory.create(AppModule, adapter);
36
40
  app.setGlobalPrefix("api");
@@ -61,6 +65,8 @@ export async function bootstrap() {
61
65
  });
62
66
  // Serve dashboard static files
63
67
  const dashboardDir = resolveDashboardDir();
68
+ const port = parseInt(process.env.PORT || "13337", 10);
69
+ configureRuntimeReadiness({ dashboardDir, instanceTokenHash, port, version: "0.18.3" });
64
70
  if (dashboardDir) {
65
71
  // Serve static files and the SPA fallback through one low-priority route;
66
72
  // setNotFoundHandler conflicts with NestJS registration during app.listen().
@@ -98,7 +104,6 @@ export async function bootstrap() {
98
104
  },
99
105
  });
100
106
  }
101
- const port = parseInt(process.env.PORT || "13337", 10);
102
107
  try {
103
108
  await app.listen({ port, host: "127.0.0.1" });
104
109
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type RuntimeFailureCode } from '@devflow-tools/sdk';
2
+ export interface RuntimeReadinessConfig {
3
+ dashboardDir: string | null;
4
+ instanceTokenHash: string | null;
5
+ port: number;
6
+ version: string;
7
+ databaseReady?: () => boolean;
8
+ }
9
+ export interface RuntimeReadinessResult {
10
+ ok: boolean;
11
+ code?: RuntimeFailureCode;
12
+ message?: string;
13
+ port: number;
14
+ version: string;
15
+ buildHash?: string;
16
+ ownerVerified: boolean;
17
+ ownerTokenHashPrefix: string;
18
+ }
19
+ export declare function configureRuntimeReadiness(next: Partial<RuntimeReadinessConfig>): void;
20
+ export declare function getRuntimeReadinessConfig(): RuntimeReadinessConfig;
21
+ export declare function resetRuntimeReadiness(): void;
22
+ export declare function checkRuntimeReadiness(): RuntimeReadinessResult;
23
+ //# sourceMappingURL=runtime-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-readiness.d.ts","sourceRoot":"","sources":["../src/runtime-readiness.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AASD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAErF;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAO5C;AAED,wBAAgB,qBAAqB,IAAI,sBAAsB,CAe9D"}
@@ -0,0 +1,57 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { readRuntimeState } from '@devflow-tools/sdk';
5
+ let config = {
6
+ dashboardDir: null,
7
+ instanceTokenHash: null,
8
+ port: Number(process.env.PORT || 13337),
9
+ version: '0.18.3',
10
+ };
11
+ export function configureRuntimeReadiness(next) {
12
+ config = { ...config, ...next };
13
+ }
14
+ export function getRuntimeReadinessConfig() {
15
+ return { ...config };
16
+ }
17
+ export function resetRuntimeReadiness() {
18
+ config = {
19
+ dashboardDir: null,
20
+ instanceTokenHash: null,
21
+ port: Number(process.env.PORT || 13337),
22
+ version: '0.18.3',
23
+ };
24
+ }
25
+ export function checkRuntimeReadiness() {
26
+ const ownerTokenHashPrefix = config.instanceTokenHash?.slice(0, 12) ?? '';
27
+ const state = readRuntimeState();
28
+ const ownerVerified = Boolean(config.instanceTokenHash
29
+ && state
30
+ && state.port === config.port
31
+ && (state.status === 'launching' || state.status === 'ready')
32
+ && hash(state.ownerToken) === config.instanceTokenHash);
33
+ if (!ownerVerified)
34
+ return failure('RUNTIME_OWNER_MISMATCH', 'Runtime owner could not be verified.');
35
+ if (!config.dashboardDir || !existsSync(join(config.dashboardDir, 'index.html')))
36
+ return failure('DASHBOARD_BUNDLE_MISSING', 'Dashboard bundle is missing.');
37
+ if (config.databaseReady && !config.databaseReady())
38
+ return failure('DATABASE_NOT_READY', 'Runtime database is not ready.');
39
+ const buildHash = readBuildHash(config.dashboardDir);
40
+ return { ok: true, port: config.port, version: config.version, buildHash, ownerVerified, ownerTokenHashPrefix };
41
+ }
42
+ function failure(code, message) {
43
+ return { ok: false, code, message, port: config.port, version: config.version, ownerVerified: false, ownerTokenHashPrefix: config.instanceTokenHash?.slice(0, 12) ?? '' };
44
+ }
45
+ function hash(value) { return createHash('sha256').update(value).digest('hex'); }
46
+ function readBuildHash(dir) {
47
+ for (const file of ['manifest.json', 'build-manifest.json']) {
48
+ try {
49
+ const value = JSON.parse(readFileSync(join(dir, file), 'utf8'));
50
+ if (value.buildHash)
51
+ return value.buildHash;
52
+ }
53
+ catch { }
54
+ }
55
+ return undefined;
56
+ }
57
+ //# sourceMappingURL=runtime-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-readiness.js","sourceRoot":"","sources":["../src/runtime-readiness.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,15 @@ export declare class ServerController {
4
4
  version: string;
5
5
  uptime: number;
6
6
  };
7
+ ready(): {
8
+ runtime: string;
9
+ pid: number;
10
+ port: number;
11
+ dashboard: boolean;
12
+ version: string;
13
+ buildHash: string | undefined;
14
+ ownerVerified: boolean;
15
+ ownerTokenHashPrefix: string;
16
+ };
7
17
  }
8
18
  //# sourceMappingURL=server.controller.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"server.controller.d.ts","sourceRoot":"","sources":["../src/server.controller.ts"],"names":[],"mappings":"AAIA,qBACa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAc;IAI/B,MAAM;;;;IAMN,KAAK;;;;;;;;;;CAgBN"}
@@ -7,8 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Controller, Get } from "@nestjs/common";
10
+ import { Controller, Get, HttpException, HttpStatus } from "@nestjs/common";
11
11
  import { Public } from "./auth/api-key.decorator.js";
12
+ import { checkRuntimeReadiness } from "./runtime-readiness.js";
12
13
  let ServerController = class ServerController {
13
14
  constructor() {
14
15
  this.startTime = Date.now();
@@ -16,6 +17,22 @@ let ServerController = class ServerController {
16
17
  health() {
17
18
  return { version: "0.2.3", uptime: Date.now() - this.startTime };
18
19
  }
20
+ ready() {
21
+ const result = checkRuntimeReadiness();
22
+ if (!result.ok) {
23
+ throw new HttpException({ error: { code: result.code, message: result.message, details: {} } }, HttpStatus.SERVICE_UNAVAILABLE);
24
+ }
25
+ return {
26
+ runtime: "ready",
27
+ pid: process.pid,
28
+ port: result.port,
29
+ dashboard: true,
30
+ version: result.version,
31
+ buildHash: result.buildHash,
32
+ ownerVerified: result.ownerVerified,
33
+ ownerTokenHashPrefix: result.ownerTokenHashPrefix,
34
+ };
35
+ }
19
36
  };
20
37
  __decorate([
21
38
  Public(),
@@ -24,6 +41,13 @@ __decorate([
24
41
  __metadata("design:paramtypes", []),
25
42
  __metadata("design:returntype", void 0)
26
43
  ], ServerController.prototype, "health", null);
44
+ __decorate([
45
+ Public(),
46
+ Get("ready"),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", []),
49
+ __metadata("design:returntype", void 0)
50
+ ], ServerController.prototype, "ready", null);
27
51
  ServerController = __decorate([
28
52
  Controller()
29
53
  ], ServerController);
@@ -1 +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"}
1
+ {"version":3,"file":"server.controller.js","sourceRoot":"","sources":["../src/server.controller.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGxD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QACG,cAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IA0BjC,CAAC;IAtBC,MAAM;QACJ,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACnE,CAAC;IAID,KAAK;QACH,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAClI,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;SAClD,CAAC;IACJ,CAAC;CACF,CAAA;AAtBC;IAFC,MAAM,EAAE;IACR,GAAG,CAAC,QAAQ,CAAC;;;;8CAGb;AAID;IAFC,MAAM,EAAE;IACR,GAAG,CAAC,OAAO,CAAC;;;;6CAgBZ;AA1BU,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA2B5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/server",
3
- "version": "0.18.2",
3
+ "version": "0.18.4",
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.2",
19
- "@devflow-tools/benchmark": "0.18.2",
20
- "@devflow-tools/context-engine": "0.18.2",
21
- "@devflow-tools/database": "0.18.2",
22
- "@devflow-tools/knowledge-engine": "0.18.2",
23
- "@devflow-tools/mcp-server": "0.18.2",
24
- "@devflow-tools/memory-engine": "0.18.2",
25
- "@devflow-tools/sdk": "0.18.2",
26
- "@devflow-tools/telemetry": "0.18.2",
27
- "@devflow-tools/workflow-engine": "0.18.2",
18
+ "@devflow-tools/adapters": "0.18.4",
19
+ "@devflow-tools/benchmark": "0.18.4",
20
+ "@devflow-tools/context-engine": "0.18.4",
21
+ "@devflow-tools/database": "0.18.4",
22
+ "@devflow-tools/knowledge-engine": "0.18.4",
23
+ "@devflow-tools/mcp-server": "0.18.4",
24
+ "@devflow-tools/memory-engine": "0.18.4",
25
+ "@devflow-tools/sdk": "0.18.4",
26
+ "@devflow-tools/telemetry": "0.18.4",
27
+ "@devflow-tools/workflow-engine": "0.18.4",
28
28
  "@fastify/send": "^4.1.1",
29
29
  "@nestjs/common": "^11.1.28",
30
30
  "@nestjs/core": "^11.1.28",