@devflow-tools/server 0.10.0 → 0.12.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.
@@ -12,7 +12,7 @@ const databaseProvider = {
12
12
  provide: 'DATABASE',
13
13
  useFactory: () => {
14
14
  const stateDir = process.env.DEVFLOW_STATE_DIR ?? join(homedir(), '.devflow', 'global');
15
- return new DevFlowDatabase(stateDir);
15
+ return new DevFlowDatabase(homedir(), { dbPath: join(stateDir, 'devflow.db') });
16
16
  },
17
17
  };
18
18
  let DatabaseModule = class DatabaseModule {
@@ -1 +1 @@
1
- {"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE;QACf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxF,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF,CAAC;AAOK,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,EAAE;IACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC5B,CAAC;GACW,cAAc,CAAG"}
1
+ {"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE;QACf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxF,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;CACF,CAAC;AAOK,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,EAAE;IACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC5B,CAAC;GACW,cAAc,CAAG"}
@@ -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;AAKlC,wBAAsB,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAyBjE"}
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;AA0BlC,wBAAsB,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC,CA8CjE"}
package/dist/main.js CHANGED
@@ -2,18 +2,42 @@ import "reflect-metadata";
2
2
  import { NestFactory } from "@nestjs/core";
3
3
  import { FastifyAdapter, } from "@nestjs/platform-fastify";
4
4
  import { Readable } from "node:stream";
5
+ import { existsSync } from "node:fs";
6
+ import { join, dirname } from "node:path";
7
+ import { createRequire } from "node:module";
5
8
  import { AppModule } from "./app.module.js";
6
9
  import { HttpExceptionFilter } from "./common/http-exception.filter.js";
10
+ function resolveDashboardDir() {
11
+ const require = createRequire(import.meta.url);
12
+ // Production: dashboard static files in devflow package dist
13
+ try {
14
+ const pkgJson = require.resolve("@devflow-tools/devflow/package.json");
15
+ const distDir = join(dirname(pkgJson), "dist", "dashboard");
16
+ if (existsSync(join(distDir, "index.html")))
17
+ return distDir;
18
+ }
19
+ catch { }
20
+ // Monorepo dev: dashboard build output
21
+ try {
22
+ const pkgJson = require.resolve("@devflow-tools/devflow/package.json");
23
+ const repoRoot = join(dirname(pkgJson), "..", "..");
24
+ const outDir = join(repoRoot, "apps", "dashboard", "out");
25
+ if (existsSync(join(outDir, "index.html")))
26
+ return outDir;
27
+ }
28
+ catch { }
29
+ return null;
30
+ }
7
31
  export async function bootstrap() {
8
32
  const adapter = new FastifyAdapter();
9
33
  const app = await NestFactory.create(AppModule, adapter);
10
34
  app.setGlobalPrefix("api");
11
35
  app.useGlobalFilters(new HttpExceptionFilter());
12
36
  app.enableCors({ origin: true, credentials: true });
37
+ const fastify = adapter.getInstance();
13
38
  // Handle empty JSON body — browsers send Content-Type: application/json
14
39
  // with Content-Length: 0 on POST requests that have no body, and Fastify's
15
40
  // default JSON parser throws on an empty payload.
16
- const fastify = adapter.getInstance();
17
41
  fastify.addHook("preParsing", async (req, _reply, payload) => {
18
42
  if (req.headers["content-length"] === "0") {
19
43
  const body = Buffer.from("{}");
@@ -22,6 +46,26 @@ export async function bootstrap() {
22
46
  }
23
47
  return payload;
24
48
  });
49
+ // Serve dashboard static files + SPA fallback
50
+ const dashboardDir = resolveDashboardDir();
51
+ if (dashboardDir) {
52
+ const fastifyStatic = await import("@fastify/static");
53
+ const plugin = fastifyStatic.default ?? fastifyStatic;
54
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
55
+ await fastify.register(plugin, {
56
+ root: dashboardDir,
57
+ prefix: "/",
58
+ wildcard: false,
59
+ });
60
+ fastify.setNotFoundHandler((request, reply) => {
61
+ if (request.url.startsWith("/api/")) {
62
+ reply.status(404).send({ message: "Not Found" });
63
+ }
64
+ else {
65
+ reply.sendFile("index.html");
66
+ }
67
+ });
68
+ }
25
69
  await app.listen({ port: parseInt(process.env.PORT || "13337", 10), host: "127.0.0.1" });
26
70
  return app;
27
71
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAClC,SAAS,EACT,OAAO,CACR,CAAC;IACF,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG,CAAC,gBAAgB,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,wEAAwE;IACxE,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAC3D,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,IACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EACtC,CAAC;IACD,SAAS,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.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.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "scripts": {
@@ -12,15 +12,16 @@
12
12
  "clean": "rm -rf dist"
13
13
  },
14
14
  "dependencies": {
15
- "@devflow-tools/adapters": "^0.10.0",
16
- "@devflow-tools/benchmark": "^0.10.0",
17
- "@devflow-tools/context-engine": "^0.10.0",
18
- "@devflow-tools/database": "^0.10.0",
19
- "@devflow-tools/knowledge-engine": "^0.10.0",
20
- "@devflow-tools/memory-engine": "^0.10.0",
21
- "@devflow-tools/sdk": "^0.10.0",
22
- "@devflow-tools/telemetry": "^0.10.0",
23
- "@devflow-tools/workflow-engine": "^0.10.0",
15
+ "@devflow-tools/adapters": "^0.12.0",
16
+ "@devflow-tools/benchmark": "^0.12.0",
17
+ "@devflow-tools/context-engine": "^0.12.0",
18
+ "@devflow-tools/database": "^0.12.0",
19
+ "@devflow-tools/knowledge-engine": "^0.12.0",
20
+ "@devflow-tools/memory-engine": "^0.12.0",
21
+ "@devflow-tools/sdk": "^0.12.0",
22
+ "@devflow-tools/telemetry": "^0.12.0",
23
+ "@devflow-tools/workflow-engine": "^0.12.0",
24
+ "@fastify/static": "^7.0.4",
24
25
  "@nestjs/common": "^10.4.0",
25
26
  "@nestjs/core": "^10.4.0",
26
27
  "@nestjs/platform-fastify": "^10.4.0",
@@ -38,5 +39,5 @@
38
39
  "files": [
39
40
  "dist"
40
41
  ],
41
- "gitHead": "20444d2631e3d77c3b3a4c3afd9398b21d888a4f"
42
+ "gitHead": "b7b5606e419887fe8c1f921a8a5a564ce9afcbac"
42
43
  }