@intuitionrobotics/thunderstorm 2.1.3 → 2.2.1

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 (36) hide show
  1. package/dist/app-backend/modules/server/ApiFunction.d.ts.map +1 -1
  2. package/dist/app-backend/modules/server/ApiFunction.js +6 -0
  3. package/dist/app-backend/modules/server/ApiFunction.js.map +1 -1
  4. package/dist/app-backend/modules/server/api-error.d.ts +21 -0
  5. package/dist/app-backend/modules/server/api-error.d.ts.map +1 -0
  6. package/dist/app-backend/modules/server/api-error.js +77 -0
  7. package/dist/app-backend/modules/server/api-error.js.map +1 -0
  8. package/dist/app-backend/modules/server/app-middleware.d.ts +13 -0
  9. package/dist/app-backend/modules/server/app-middleware.d.ts.map +1 -0
  10. package/dist/app-backend/modules/server/app-middleware.js +53 -0
  11. package/dist/app-backend/modules/server/app-middleware.js.map +1 -0
  12. package/dist/app-backend/modules/server/express-augmentation.d.ts +28 -0
  13. package/dist/app-backend/modules/server/express-augmentation.d.ts.map +1 -0
  14. package/dist/app-backend/modules/server/express-augmentation.js +2 -0
  15. package/dist/app-backend/modules/server/express-augmentation.js.map +1 -0
  16. package/dist/app-backend/modules/server/handler.d.ts +29 -0
  17. package/dist/app-backend/modules/server/handler.d.ts.map +1 -0
  18. package/dist/app-backend/modules/server/handler.js +49 -0
  19. package/dist/app-backend/modules/server/handler.js.map +1 -0
  20. package/dist/app-backend/modules/server/requireAuth.d.ts +24 -0
  21. package/dist/app-backend/modules/server/requireAuth.d.ts.map +1 -0
  22. package/dist/app-backend/modules/server/requireAuth.js +23 -0
  23. package/dist/app-backend/modules/server/requireAuth.js.map +1 -0
  24. package/dist/app-backend/modules/server/server-api.d.ts.map +1 -1
  25. package/dist/app-backend/modules/server/server-api.js +8 -55
  26. package/dist/app-backend/modules/server/server-api.js.map +1 -1
  27. package/dist/app-backend/modules/server/validators.d.ts +17 -0
  28. package/dist/app-backend/modules/server/validators.d.ts.map +1 -0
  29. package/dist/app-backend/modules/server/validators.js +37 -0
  30. package/dist/app-backend/modules/server/validators.js.map +1 -0
  31. package/dist/backend.d.ts +6 -0
  32. package/dist/backend.d.ts.map +1 -1
  33. package/dist/backend.js +12 -0
  34. package/dist/backend.js.map +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ApiFunction.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/ApiFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EACH,KAAK,kBAAkB,EAEvB,gBAAgB,EAChB,KAAK,uBAAuB,EAC/B,MAAM,+CAA+C,CAAC;AAGvD,MAAM,MAAM,eAAe,GAAG;IAC1B;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WACT,SAAQ,gBAAgB;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,CAAC,CAAU;gBAEX,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB;IAMpD,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB,OAAO,KAAK,GAAG,GAcd;IAED,WAAW,QAAO,kBAAkB,CAUlC;CACL"}
1
+ {"version":3,"file":"ApiFunction.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/ApiFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EACH,KAAK,kBAAkB,EAEvB,gBAAgB,EAChB,KAAK,uBAAuB,EAC/B,MAAM,+CAA+C,CAAC;AAIvD,MAAM,MAAM,eAAe,GAAG;IAC1B;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WACT,SAAQ,gBAAgB;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,CAAC,CAAU;gBAEX,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB;IAMpD,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB,OAAO,KAAK,GAAG,GAoBd;IAED,WAAW,QAAO,kBAAkB,CAUlC;CACL"}
@@ -2,6 +2,7 @@ import express from "express";
2
2
  import {} from "express";
3
3
  import { Firebase_ExpressFunction, FirebaseFunction } from "@intuitionrobotics/firebase/backend-functions";
4
4
  import { HttpServer_Class } from "./HttpServer.js";
5
+ import { terminalErrorHandler } from "./app-middleware.js";
5
6
  /**
6
7
  * An Express-backed HTTPS Cloud Function as a *regular module* — registered via
7
8
  * `Storm.addModules(...)` like any other function, named after the module
@@ -49,6 +50,11 @@ export class ApiFunction extends FirebaseFunction {
49
50
  // function serves `…/api/**`), so the router always mounts at root.
50
51
  if (this.router)
51
52
  httpServer.mountRouter(this.router);
53
+ // Terminal error handler for raw handler()-wrapped endpoints — MUST be
54
+ // registered LAST, after the router (Express is order-sensitive). Legacy
55
+ // ServerApi endpoints catch internally and never reach it, so it is
56
+ // purely additive: only handler()'s `.catch(next)` routes here.
57
+ app.use(terminalErrorHandler());
52
58
  return this._app = app;
53
59
  }
54
60
  getFunction = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ApiFunction.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/ApiFunction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAEH,wBAAwB,EACxB,gBAAgB,EAEnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAsBjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,WACT,SAAQ,gBAAgB;IAEP,WAAW,CAAW;IAC/B,MAAM,CAAU;IAChB,IAAI,CAAW;IAEvB,YAAY,IAAY,EAAE,OAAwB,EAAE;QAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,IAAY,GAAG;QACX,IAAI,IAAI,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,IAAI,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,0EAA0E;QAC1E,oEAAoE;QACpE,IAAI,IAAI,CAAC,MAAM;YACX,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,WAAW,GAAG,GAAuB,EAAE;QACnC,0EAA0E;QAC1E,8DAA8D;QAC9D,MAAM,eAAe,GAAG,IAAI,wBAAwB,CAChD,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAC9C,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC;CACL"}
1
+ {"version":3,"file":"ApiFunction.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/ApiFunction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAEH,wBAAwB,EACxB,gBAAgB,EAEnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAsBzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,WACT,SAAQ,gBAAgB;IAEP,WAAW,CAAW;IAC/B,MAAM,CAAU;IAChB,IAAI,CAAW;IAEvB,YAAY,IAAY,EAAE,OAAwB,EAAE;QAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,IAAY,GAAG;QACX,IAAI,IAAI,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,IAAI,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,0EAA0E;QAC1E,oEAAoE;QACpE,IAAI,IAAI,CAAC,MAAM;YACX,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,uEAAuE;QACvE,yEAAyE;QACzE,oEAAoE;QACpE,gEAAgE;QAChE,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,WAAW,GAAG,GAAuB,EAAE;QACnC,0EAA0E;QAC1E,8DAA8D;QAC9D,MAAM,eAAe,GAAG,IAAI,wBAAwB,CAChD,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAC9C,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC;CACL"}
@@ -0,0 +1,21 @@
1
+ import { type Logger } from "@intuitionrobotics/ts-common";
2
+ import { ApiException } from "../../exceptions.js";
3
+ import { type HttpRequestData } from "./server-api.js";
4
+ /**
5
+ * The shared error-composition pipeline, extracted verbatim from
6
+ * `ServerApi.call()`'s catch block. BOTH the legacy `ServerApi` (its own
7
+ * internal catch) and the new app-level `terminalErrorHandler` route errors
8
+ * through this ONE function, so the two endpoint styles can never drift.
9
+ *
10
+ * It normalizes any thrown value to an `ApiException`, logs it, maps the
11
+ * response code to a `ServerErrorSeverity`, and — unless the exception opts
12
+ * out via `setDispatchError(false)` — composes an error message through the
13
+ * `Storm` instance and dispatches `dispatch_onServerError`.
14
+ *
15
+ * Returns the resolved `ApiException`; the CALLER decides how to write it
16
+ * (`response.serverError` for 500, `response.exception` otherwise). The
17
+ * `logger` lets callers attribute the logs to themselves (`ServerApi` passes
18
+ * `this`; the app-level handler passes its own module logger).
19
+ */
20
+ export declare function composeApiError(err: any, requestData: HttpRequestData, logger: Logger): Promise<ApiException>;
21
+ //# sourceMappingURL=api-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/api-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,MAAM,EAId,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoEnH"}
@@ -0,0 +1,77 @@
1
+ import { BadImplementationException, dispatch_onServerError, isErrorOfType, MUSTNeverHappenException, ServerErrorSeverity, ValidationException } from "@intuitionrobotics/ts-common";
2
+ import { ApiException } from "../../exceptions.js";
3
+ import { Storm } from "../../core/Storm.js";
4
+ import {} from "./server-api.js";
5
+ /**
6
+ * The shared error-composition pipeline, extracted verbatim from
7
+ * `ServerApi.call()`'s catch block. BOTH the legacy `ServerApi` (its own
8
+ * internal catch) and the new app-level `terminalErrorHandler` route errors
9
+ * through this ONE function, so the two endpoint styles can never drift.
10
+ *
11
+ * It normalizes any thrown value to an `ApiException`, logs it, maps the
12
+ * response code to a `ServerErrorSeverity`, and — unless the exception opts
13
+ * out via `setDispatchError(false)` — composes an error message through the
14
+ * `Storm` instance and dispatches `dispatch_onServerError`.
15
+ *
16
+ * Returns the resolved `ApiException`; the CALLER decides how to write it
17
+ * (`response.serverError` for 500, `response.exception` otherwise). The
18
+ * `logger` lets callers attribute the logs to themselves (`ServerApi` passes
19
+ * `this`; the app-level handler passes its own module logger).
20
+ */
21
+ export async function composeApiError(err, requestData, logger) {
22
+ let dispatchError = true;
23
+ let e = err;
24
+ let severity = ServerErrorSeverity.Warning;
25
+ if (typeof e === "string")
26
+ e = new BadImplementationException(`String was thrown: ${e}`);
27
+ if (!(e instanceof Error) && typeof e === "object")
28
+ e = new BadImplementationException(`Object instance was thrown: ${JSON.stringify(e)}`);
29
+ try {
30
+ logger.logErrorBold(e);
31
+ }
32
+ catch (e2) {
33
+ logger.logErrorBold("Error while handling error on request...", e2);
34
+ logger.logErrorBold(`Original error thrown: ${JSON.stringify(e)}`);
35
+ logger.logErrorBold(`-- Someone was stupid... you MUST only throw an Error and not objects or strings!! --`);
36
+ }
37
+ if (isErrorOfType(e, ValidationException))
38
+ e = new ApiException(400, "Validator exception", e);
39
+ if (!isErrorOfType(e, ApiException))
40
+ e = new ApiException(500, "Unexpected server error", e);
41
+ const apiException = isErrorOfType(e, ApiException);
42
+ if (!apiException)
43
+ throw new MUSTNeverHappenException("MUST NEVER REACH HERE!!!");
44
+ dispatchError = apiException.getDispatchError();
45
+ if (apiException.responseCode >= 500)
46
+ severity = ServerErrorSeverity.Error;
47
+ else if (apiException.responseCode >= 400)
48
+ severity = ServerErrorSeverity.Warning;
49
+ switch (apiException.responseCode) {
50
+ case 401:
51
+ severity = ServerErrorSeverity.Debug;
52
+ break;
53
+ case 404:
54
+ severity = ServerErrorSeverity.Info;
55
+ break;
56
+ case 403:
57
+ severity = ServerErrorSeverity.Warning;
58
+ break;
59
+ case 500:
60
+ severity = ServerErrorSeverity.Critical;
61
+ break;
62
+ }
63
+ if (dispatchError) {
64
+ try {
65
+ const storm = Storm.getInstance();
66
+ if (storm) {
67
+ const message = await storm.errorMessageComposer(requestData, apiException);
68
+ await dispatch_onServerError.dispatchModuleAsync(severity, message);
69
+ }
70
+ }
71
+ catch (e) {
72
+ logger.logError("Error while handing server error", e);
73
+ }
74
+ }
75
+ return apiException;
76
+ }
77
+ //# sourceMappingURL=api-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/api-error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ErrorRequestHandler } from "express";
2
+ /**
3
+ * The single app-level error handler for raw (`handler()`-wrapped) endpoints.
4
+ * Register it LAST, after the router (see `ApiFunction`). It routes the error
5
+ * through the shared `composeApiError` pipeline, then writes the response with
6
+ * the same shape + `ServerApi.isDebug` gating as `ApiResponse.serverError` /
7
+ * `ApiResponse.exception` (server-api.ts:428-440).
8
+ *
9
+ * Legacy `ServerApi` endpoints never reach here (they catch internally), so
10
+ * this is purely additive.
11
+ */
12
+ export declare function terminalErrorHandler(): ErrorRequestHandler;
13
+ //# sourceMappingURL=app-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-middleware.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/app-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,mBAAmB,EAAe,MAAM,SAAS,CAAC;AAwB/D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,CAsB1D"}
@@ -0,0 +1,53 @@
1
+ import { Logger } from "@intuitionrobotics/ts-common";
2
+ import {} from "express";
3
+ import { parse } from "url";
4
+ import { composeApiError } from "./api-error.js";
5
+ import { ServerApi } from "./server-api.js";
6
+ import { HttpMethod } from "../../../shared/types.js";
7
+ const logger = new Logger("terminalErrorHandler");
8
+ /**
9
+ * Build the `HttpRequestData` shape (the same one `ServerApi.call()` assembles,
10
+ * server-api.ts:154-161) from a raw Express request, for the Storm error
11
+ * composer.
12
+ */
13
+ function requestDataFrom(req) {
14
+ return {
15
+ method: (req.method ? req.method.toLowerCase() : HttpMethod.ALL),
16
+ originalUrl: req.path,
17
+ headers: req.headers,
18
+ url: req.url,
19
+ query: parse(req.url, true).query,
20
+ body: req.body
21
+ };
22
+ }
23
+ /**
24
+ * The single app-level error handler for raw (`handler()`-wrapped) endpoints.
25
+ * Register it LAST, after the router (see `ApiFunction`). It routes the error
26
+ * through the shared `composeApiError` pipeline, then writes the response with
27
+ * the same shape + `ServerApi.isDebug` gating as `ApiResponse.serverError` /
28
+ * `ApiResponse.exception` (server-api.ts:428-440).
29
+ *
30
+ * Legacy `ServerApi` endpoints never reach here (they catch internally), so
31
+ * this is purely additive.
32
+ */
33
+ export function terminalErrorHandler() {
34
+ return async (err, req, res, next) => {
35
+ // Headers already sent (stream/SSE) → can't rewrite the response; let
36
+ // Express's default finalize the (already-broken) connection.
37
+ if (res.headersSent)
38
+ return next(err);
39
+ const apiException = await composeApiError(err, requestDataFrom(req), logger);
40
+ const responseBody = apiException.responseBody;
41
+ if (!ServerApi.isDebug)
42
+ delete responseBody.debugMessage;
43
+ if (apiException.responseCode === 500) {
44
+ const cause = apiException.cause;
45
+ const stack = cause ? cause.stack : apiException.stack;
46
+ const message = (cause ? cause.message : apiException.message) || "";
47
+ res.status(500).set("Content-Type", "text/plain").send(ServerApi.isDebug && stack ? stack : message);
48
+ return;
49
+ }
50
+ res.status(apiException.responseCode).set("Content-Type", "application/json").send(JSON.stringify(responseBody, null, 2));
51
+ };
52
+ }
53
+ //# sourceMappingURL=app-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-middleware.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/app-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAwC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAC,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElD;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAY;IACjC,OAAO;QACH,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAe;QAC9E,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK;QACjC,IAAI,EAAE,GAAG,CAAC,IAAI;KACjB,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAChC,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjC,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,GAAG,CAAC,WAAW;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,OAAO;YAClB,OAAO,YAAY,CAAC,YAAY,CAAC;QAErC,IAAI,YAAY,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YACpC,MAAM,KAAK,GAAI,YAA0C,CAAC,KAAK,CAAC;YAChE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;YACvD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACrG,OAAO;QACX,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Adds `req.account` to Express's `Request`, populated by `makeRequireAuth`.
3
+ *
4
+ * `AuthAccount` is intentionally EMPTY here so CONSUMERS widen it via
5
+ * declaration merging to their real account shape, e.g. in ir-q-support:
6
+ *
7
+ * declare global { namespace Express { interface AuthAccount {
8
+ * _id: string;
9
+ * email: string;
10
+ * } } }
11
+ *
12
+ * (A single `account` property can't be re-typed by two declarations, but an
13
+ * open interface merges cleanly across the framework and each consumer.)
14
+ *
15
+ * Side-effect-imported from `backend.ts` so the global merge loads transitively
16
+ * for consumers — without that, `req.account` silently degrades to `any`.
17
+ */
18
+ declare global {
19
+ namespace Express {
20
+ interface AuthAccount {
21
+ }
22
+ interface Request {
23
+ account?: AuthAccount;
24
+ }
25
+ }
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=express-augmentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-augmentation.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/express-augmentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,CAAC,MAAM,CAAC;IAIX,UAAU,OAAO,CAAC;QACd,UAAU,WAAW;SACpB;QAED,UAAU,OAAO;YACb,OAAO,CAAC,EAAE,WAAW,CAAC;SACzB;KACJ;CACJ;AAED,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=express-augmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-augmentation.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/express-augmentation.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type NextFunction, type Request, type RequestHandler, type Response } from "express";
2
+ import { type ApiTypeBinder } from "../../../shared/types.js";
3
+ /**
4
+ * An Express request typed off the same `ApiTypeBinder` the endpoint declares,
5
+ * so `req.body` / `req.query` and the handler's return value are all typed.
6
+ */
7
+ export type TypedRequest<Binder extends ApiTypeBinder<any, any, any, any>> = Request<Record<string, string>, Binder["response"], Binder["body"], Binder["queryParams"]>;
8
+ /**
9
+ * A plain endpoint handler: receives the typed request (plus the raw `res`/`next`
10
+ * for the rare stream/redirect case) and usually just `return`s a value.
11
+ */
12
+ export type TypedHandler<Binder extends ApiTypeBinder<any, any, any, any>> = (req: TypedRequest<Binder>, res: Response, next: NextFunction) => Promise<Binder["response"] | void> | Binder["response"] | void;
13
+ export type HandlerOptions = {
14
+ printResponse?: boolean;
15
+ };
16
+ /**
17
+ * Wrap a plain typed handler fn as an Express `RequestHandler`.
18
+ *
19
+ * Why a wrapper is needed at all on Express 4: a thrown/rejected async handler
20
+ * is NOT forwarded to `app.use((err,…)=>)` — so we `.catch(next)` to route it
21
+ * to the app-level `terminalErrorHandler`. We also auto-serialize the return
22
+ * value (object→json, "<html…>"→html, else text), matching the legacy
23
+ * `ServerApi.call()` behavior so handlers can simply `return`.
24
+ *
25
+ * A handler may instead write to `res` directly (stream/SSE/redirect): once
26
+ * `res.headersSent`, autoSend is a no-op. Rule: return a value XOR write `res`.
27
+ */
28
+ export declare function handler<Binder extends ApiTypeBinder<any, any, any, any>>(fn: TypedHandler<Binder>, opts?: HandlerOptions): RequestHandler;
29
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAI5D;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACrE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACrE,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAErI,MAAM,MAAM,cAAc,GAAG;IAIzB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACpE,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,EACxB,IAAI,GAAE,cAAmB,GAC1B,cAAc,CAOhB"}
@@ -0,0 +1,49 @@
1
+ import { Logger } from "@intuitionrobotics/ts-common";
2
+ import {} from "express";
3
+ import {} from "../../../shared/types.js";
4
+ const logger = new Logger("api-handler");
5
+ /**
6
+ * Wrap a plain typed handler fn as an Express `RequestHandler`.
7
+ *
8
+ * Why a wrapper is needed at all on Express 4: a thrown/rejected async handler
9
+ * is NOT forwarded to `app.use((err,…)=>)` — so we `.catch(next)` to route it
10
+ * to the app-level `terminalErrorHandler`. We also auto-serialize the return
11
+ * value (object→json, "<html…>"→html, else text), matching the legacy
12
+ * `ServerApi.call()` behavior so handlers can simply `return`.
13
+ *
14
+ * A handler may instead write to `res` directly (stream/SSE/redirect): once
15
+ * `res.headersSent`, autoSend is a no-op. Rule: return a value XOR write `res`.
16
+ */
17
+ export function handler(fn, opts = {}) {
18
+ return (req, res, next) => {
19
+ Promise.resolve()
20
+ .then(() => fn(req, res, next))
21
+ .then(value => autoSend(res, value, opts))
22
+ .catch(next);
23
+ };
24
+ }
25
+ /**
26
+ * Mirrors the response auto-detect of the legacy `ServerApi.call()`
27
+ * (server-api.ts:170-187) — including the 2-space JSON formatting and the
28
+ * case-insensitive "<html" sniff — so migrated endpoints stay byte-identical.
29
+ */
30
+ function autoSend(res, value, opts) {
31
+ if (res.headersSent)
32
+ return; // handler wrote the response itself (stream/SSE/redirect/manual res.*)
33
+ if (value === undefined || value === null) {
34
+ res.status(200).end();
35
+ return;
36
+ }
37
+ if (opts.printResponse !== false)
38
+ logger.logVerbose(" -- Response:", value);
39
+ if (typeof value === "object") {
40
+ res.status(200).set("Content-Type", "application/json").send(JSON.stringify(value, null, 2));
41
+ return;
42
+ }
43
+ if (typeof value === "string" && value.toLowerCase().startsWith("<html")) {
44
+ res.status(200).set("Content-Type", "text/html").send(value);
45
+ return;
46
+ }
47
+ res.status(200).set("Content-Type", "text/plain").send(String(value));
48
+ }
49
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAqE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAoB,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;AAuBzC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACnB,EAAwB,EACxB,OAAuB,EAAE;IAEzB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,OAAO,EAAE;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAsC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;aACjE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aACzC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,GAAa,EAAE,KAAc,EAAE,IAAoB;IACjE,IAAI,GAAG,CAAC,WAAW;QACf,OAAO,CAAG,uEAAuE;IAErF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK;QAC5B,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,KAAe,CAAC,CAAC;IAExD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO;IACX,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO;IACX,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type Request, type RequestHandler, type Response } from "express";
2
+ /**
3
+ * The auth logic itself (session/JWT validation + scope checks) lives in the
4
+ * CONSUMER (e.g. `AccountModule.validateSession` / `KasperoProxy.validateRequest`),
5
+ * so the framework ships only this factory. A validator resolves the request to
6
+ * an account (or rejects → the rejection flows to the terminal error handler).
7
+ *
8
+ * The legacy validators take an `ApiResponse`-shaped 3rd arg to refresh the JWT
9
+ * response header; the consumer adapts the raw `res` to that shape when
10
+ * instantiating (a tiny header sink) — see the migration recipe.
11
+ */
12
+ export type AuthValidator = (req: Request, scopes: string[], res: Response) => Promise<Express.AuthAccount>;
13
+ /**
14
+ * Build a `requireAuth(...scopes)` middleware from a consumer auth validator.
15
+ *
16
+ * export const requireAuth = makeRequireAuth((req, scopes, res) =>
17
+ * AccountModule.validateSession(req, scopes, headerSink(res)));
18
+ *
19
+ * The returned middleware populates `req.account` and works both per-route
20
+ * (`router.post("/x", requireAuth("admin"), handler(fn))`) and at router-group
21
+ * level (`router.use(requireAuth())`).
22
+ */
23
+ export declare function makeRequireAuth(validator: AuthValidator): (...scopes: string[]) => RequestHandler;
24
+ //# sourceMappingURL=requireAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireAuth.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/requireAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE5F;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAE5G;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa,IAC5C,GAAG,QAAQ,MAAM,EAAE,KAAG,cAAc,CAU/C"}
@@ -0,0 +1,23 @@
1
+ import {} from "express";
2
+ /**
3
+ * Build a `requireAuth(...scopes)` middleware from a consumer auth validator.
4
+ *
5
+ * export const requireAuth = makeRequireAuth((req, scopes, res) =>
6
+ * AccountModule.validateSession(req, scopes, headerSink(res)));
7
+ *
8
+ * The returned middleware populates `req.account` and works both per-route
9
+ * (`router.post("/x", requireAuth("admin"), handler(fn))`) and at router-group
10
+ * level (`router.use(requireAuth())`).
11
+ */
12
+ export function makeRequireAuth(validator) {
13
+ return (...scopes) => (req, res, next) => {
14
+ Promise.resolve()
15
+ .then(() => validator(req, scopes, res))
16
+ .then(account => {
17
+ req.account = account;
18
+ next();
19
+ })
20
+ .catch(next);
21
+ };
22
+ }
23
+ //# sourceMappingURL=requireAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireAuth.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/requireAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,MAAM,SAAS,CAAC;AAc5F;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACpD,OAAO,CAAC,GAAG,MAAgB,EAAkB,EAAE,CAC3C,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAChD,OAAO,CAAC,OAAO,EAAE;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;aACvC,IAAI,CAAC,OAAO,CAAC,EAAE;YACZ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,IAAI,EAAE,CAAC;QACX,CAAC,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-api.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/server-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EAIN,KAAK,QAAQ,EAIb,KAAK,qBAAqB,EAC7B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAC,KAAK,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,MAAM,CAAC;AAE9C,OAAO,EAAC,KAAK,aAAa,EAAE,UAAU,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAI/E,MAAM,MAAM,eAAe,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;IACV,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,UAAU,CAAA;CACrB,CAAA;AAGD,8BAAsB,SAAS,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACzE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAC7C,SAAQ,MAAM;IACd,OAAc,OAAO,EAAE,OAAO,CAAC;IAE/B,OAAO,CAAC,aAAa,CAAiB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAM;IAErC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAK5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,MAAM,CAAgB;IAE9B,SAAS,aAAa,MAAM,EAAE,UAAU,EAAE,YAAY,GAAE,MAAW,EAAE,GAAG,CAAC,EAAE,MAAM;IAWjF,OAAO,CAAC,QAAQ,CAAC,CAA2F;IAC5G,IAAI,OAAO,UADc,cAAc,OAAO,eAAe,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAK1G;IAED,mBAAmB;IAInB,cAAc,CAAC,GAAG,WAAW,EAAE,oBAAoB,EAAE;IAKrD,cAAc,CAAC,GAAG,WAAW,EAAE,oBAAoB,EAAE;IAKrD,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE;IAK7B,SAAS;IAIT,cAAc,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE;IAIxC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAIxD,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAI1D,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;IAI5B,iBAAiB;IAIjB,uBAAuB,CAAC,yBAAyB,EAAE,MAAM;IAIzD,cAAc,wJAAkB;IAE1B,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAsItD,gBAAgB;IAS9B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAErI;AAKD,qBAAa,eAAe,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAC7C,SAAQ,SAAS,CAAC,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAErB,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;cAMtB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAIlI;AAED,qBAAa,kBACT,SAAQ,SAAS,CAAC,GAAG,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAElB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;cAM7D,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAO/H;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,eAAe;IAK9C,UAAU,IAAI,OAAO;IAI5B,OAAO,CAAC,OAAO;IASf,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAY1D,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAUd,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAK/C,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;IAO5D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;IAO5D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;IAKrE,OAAO,CAAC,KAAK;IAOb,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAWnE,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAI9B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI5D,SAAS,CAAC,SAAS,EAAE,MAAM;IAI3B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAM1C,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,GAAG;IAQhD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,GAAG;CAK9D"}
1
+ {"version":3,"file":"server-api.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/server-api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _keys, BadImplementationException, dispatch_onServerError, isErrorOfType, Logger, LogLevel, merge, MUSTNeverHappenException, ServerErrorSeverity, validate, ValidationException } from "@intuitionrobotics/ts-common";
1
+ import { _keys, Logger, LogLevel, merge, validate } from "@intuitionrobotics/ts-common";
2
2
  import { Stream } from "stream";
3
3
  import { parse } from "url";
4
4
  import {} from "./HttpServer.js";
@@ -9,7 +9,7 @@ import { assertProperty } from "../../utils/to-be-removed.js";
9
9
  import { ApiException } from "../../exceptions.js";
10
10
  import {} from "../../utils/types.js";
11
11
  import { RemoteProxy } from "../proxy/RemoteProxy.js";
12
- import { Storm } from "../../core/Storm.js";
12
+ import { composeApiError } from "./api-error.js";
13
13
  export class ServerApi extends Logger {
14
14
  static isDebug;
15
15
  printResponse = true;
@@ -129,59 +129,12 @@ export class ServerApi extends Logger {
129
129
  return await response.text(200, toReturn);
130
130
  }
131
131
  catch (err) {
132
- let dispatchError = true;
133
- let e = err;
134
- let severity = ServerErrorSeverity.Warning;
135
- if (typeof e === "string")
136
- e = new BadImplementationException(`String was thrown: ${e}`);
137
- if (!(e instanceof Error) && typeof e === "object")
138
- e = new BadImplementationException(`Object instance was thrown: ${JSON.stringify(e)}`);
139
- try {
140
- this.logErrorBold(e);
141
- }
142
- catch (e2) {
143
- this.logErrorBold("Error while handling error on request...", e2);
144
- this.logErrorBold(`Original error thrown: ${JSON.stringify(e)}`);
145
- this.logErrorBold(`-- Someone was stupid... you MUST only throw an Error and not objects or strings!! --`);
146
- }
147
- if (isErrorOfType(e, ValidationException))
148
- e = new ApiException(400, "Validator exception", e);
149
- if (!isErrorOfType(e, ApiException))
150
- e = new ApiException(500, "Unexpected server error", e);
151
- const apiException = isErrorOfType(e, ApiException);
152
- if (!apiException)
153
- throw new MUSTNeverHappenException("MUST NEVER REACH HERE!!!");
154
- dispatchError = apiException.getDispatchError();
155
- if (apiException.responseCode >= 500)
156
- severity = ServerErrorSeverity.Error;
157
- else if (apiException.responseCode >= 400)
158
- severity = ServerErrorSeverity.Warning;
159
- switch (apiException.responseCode) {
160
- case 401:
161
- severity = ServerErrorSeverity.Debug;
162
- break;
163
- case 404:
164
- severity = ServerErrorSeverity.Info;
165
- break;
166
- case 403:
167
- severity = ServerErrorSeverity.Warning;
168
- break;
169
- case 500:
170
- severity = ServerErrorSeverity.Critical;
171
- break;
172
- }
173
- if (dispatchError) {
174
- try {
175
- const storm = Storm.getInstance();
176
- if (storm) {
177
- const message = await storm.errorMessageComposer(requestData, apiException);
178
- await dispatch_onServerError.dispatchModuleAsync(severity, message);
179
- }
180
- }
181
- catch (e) {
182
- this.logError("Error while handing server error", e);
183
- }
184
- }
132
+ // The normalize → severity → Storm-composer → dispatch pipeline now
133
+ // lives in composeApiError, shared with the app-level
134
+ // terminalErrorHandler so legacy and raw-handler endpoints never
135
+ // drift. We still write the response here: legacy endpoints catch
136
+ // internally and never throw past `.handler`.
137
+ const apiException = await composeApiError(err, requestData, this);
185
138
  if (apiException.responseCode === 500)
186
139
  return response.serverError(apiException);
187
140
  return response.exception(apiException);
@@ -1 +1 @@
1
- {"version":3,"file":"server-api.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/server-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-api.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/server-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type ValidatorTypeResolver } from "@intuitionrobotics/ts-common";
2
+ import { type RequestHandler } from "express";
3
+ /**
4
+ * Body-validation middleware. Runs the same ts-common `validate()` the legacy
5
+ * `ServerApi` used (server-api.ts:164), forwarding a `ValidationException` to
6
+ * the app-level `terminalErrorHandler` (which maps it to 400 via
7
+ * `composeApiError`, identical to today) through `next(err)`.
8
+ *
9
+ * Compose it at the route site: `router.post("/x", validateBody(V), handler(fn))`.
10
+ */
11
+ export declare function validateBody<B = any>(validator: ValidatorTypeResolver<B>): RequestHandler;
12
+ /**
13
+ * Query-validation middleware. Uses Express-parsed `req.query` (the raw model
14
+ * drops the old manual `parse(req.url, true).query`).
15
+ */
16
+ export declare function validateQuery<P = any>(validator: ValidatorTypeResolver<P>): RequestHandler;
17
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAC,KAAK,cAAc,EAAC,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,cAAc,CASzF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,cAAc,CAS1F"}