@futdevpro/nts-dynamo 1.15.279 → 1.15.285

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 (51) hide show
  1. package/build/_collections/endpoint-bridge.util.d.ts +40 -0
  2. package/build/_collections/endpoint-bridge.util.d.ts.map +1 -0
  3. package/build/_collections/endpoint-bridge.util.js +128 -0
  4. package/build/_collections/endpoint-bridge.util.js.map +1 -0
  5. package/build/_collections/operation-rest.util.d.ts +53 -0
  6. package/build/_collections/operation-rest.util.d.ts.map +1 -0
  7. package/build/_collections/operation-rest.util.js +143 -0
  8. package/build/_collections/operation-rest.util.js.map +1 -0
  9. package/build/_models/control-models/endpoint-params.control-model.d.ts +21 -2
  10. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  11. package/build/_models/control-models/endpoint-params.control-model.js +51 -3
  12. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  13. package/build/_models/interfaces/bridgeable-endpoint.interface.d.ts +15 -0
  14. package/build/_models/interfaces/bridgeable-endpoint.interface.d.ts.map +1 -0
  15. package/build/_models/interfaces/bridgeable-endpoint.interface.js +3 -0
  16. package/build/_models/interfaces/bridgeable-endpoint.interface.js.map +1 -0
  17. package/build/_models/interfaces/endpoint-bridge-call.interface.d.ts +16 -0
  18. package/build/_models/interfaces/endpoint-bridge-call.interface.d.ts.map +1 -0
  19. package/build/_models/interfaces/endpoint-bridge-call.interface.js +3 -0
  20. package/build/_models/interfaces/endpoint-bridge-call.interface.js.map +1 -0
  21. package/build/_models/interfaces/endpoint-bridge-result.interface.d.ts +17 -0
  22. package/build/_models/interfaces/endpoint-bridge-result.interface.d.ts.map +1 -0
  23. package/build/_models/interfaces/endpoint-bridge-result.interface.js +3 -0
  24. package/build/_models/interfaces/endpoint-bridge-result.interface.js.map +1 -0
  25. package/build/_models/interfaces/global-settings.interface.d.ts +5 -0
  26. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  27. package/build/_models/interfaces/operation-identity.interface.d.ts +20 -0
  28. package/build/_models/interfaces/operation-identity.interface.d.ts.map +1 -0
  29. package/build/_models/interfaces/operation-identity.interface.js +3 -0
  30. package/build/_models/interfaces/operation-identity.interface.js.map +1 -0
  31. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +4 -0
  32. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts.map +1 -1
  33. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +4 -0
  34. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js.map +1 -1
  35. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +36 -0
  36. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts.map +1 -1
  37. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +109 -17
  38. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js.map +1 -1
  39. package/build/_services/core/auth.service.d.ts +13 -0
  40. package/build/_services/core/auth.service.d.ts.map +1 -1
  41. package/build/_services/core/auth.service.js +23 -0
  42. package/build/_services/core/auth.service.js.map +1 -1
  43. package/build/_services/core/collection-growth-monitor.service.d.ts +15 -0
  44. package/build/_services/core/collection-growth-monitor.service.d.ts.map +1 -1
  45. package/build/_services/core/collection-growth-monitor.service.js +12 -1
  46. package/build/_services/core/collection-growth-monitor.service.js.map +1 -1
  47. package/build/index.d.ts +6 -0
  48. package/build/index.d.ts.map +1 -1
  49. package/build/index.js +6 -0
  50. package/build/index.js.map +1 -1
  51. package/package.json +5 -5
@@ -0,0 +1,40 @@
1
+ import { DyNTS_Bridgeable_Endpoint } from '../_models/interfaces/bridgeable-endpoint.interface';
2
+ import { DyNTS_EndpointBridge_Call } from '../_models/interfaces/endpoint-bridge-call.interface';
3
+ import { DyNTS_EndpointBridge_Result } from '../_models/interfaces/endpoint-bridge-result.interface';
4
+ /**
5
+ * TRANSITIONAL bridge (HP-DOPL MP-2.3, decision D-2, DMCP-002): calls an existing `tasks[]` endpoint programmatically
6
+ * through its real `getFullExecution()` — preProcesses (auth), `headersSent` guard, error handling and the request
7
+ * hunter all run exactly once, the same way as over HTTP.
8
+ *
9
+ * ⚠️ Capability-limited: only `DyNTS_EndpointBridge_Util.capabilities` exist on the synthetic response.
10
+ * A task using cookies, redirects, files or streams fails with 501 `DyNTS-BRG-UNS` — such an endpoint must stay
11
+ * `expose.mcp: false` and is a review finding.
12
+ *
13
+ * ⛔ Exit condition: the bridge is removed for a domain as soon as that domain's endpoints are migrated to
14
+ * `DyFM_Operation_Settings` (MP-6); new endpoints never rely on it.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const result: DyNTS_EndpointBridge_Result = await DyNTS_EndpointBridge_Util.invoke(getTaskEndpoint, {
19
+ * params: { taskId: 't-1' }, headers: { authorization: `Bearer ${token}` },
20
+ * });
21
+ * ```
22
+ */
23
+ export declare class DyNTS_EndpointBridge_Util {
24
+ /** Response methods the synthetic response supports — anything in `unsupportedMethods` fails loudly. */
25
+ static readonly capabilities: string[];
26
+ /** Response methods that can not be emulated without a real HTTP connection. */
27
+ static readonly unsupportedMethods: string[];
28
+ /**
29
+ * Runs the endpoint with a synthetic request and captures the response.
30
+ * @param endpoint - the endpoint (e.g. a `DyNTS_Endpoint_Params`)
31
+ * @param call - params, query, body and headers of the call
32
+ * @throws 500 `DyNTS-BRG-NRS` when the endpoint finished without sending a response
33
+ */
34
+ static invoke(endpoint: DyNTS_Bridgeable_Endpoint, call?: DyNTS_EndpointBridge_Call): Promise<DyNTS_EndpointBridge_Result>;
35
+ /** Builds the synthetic request (lowercase headers, Express-like accessors). */
36
+ private static buildRequest;
37
+ /** Builds the synthetic response that records status, body and headers. */
38
+ private static buildResponse;
39
+ }
40
+ //# sourceMappingURL=endpoint-bridge.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-bridge.util.d.ts","sourceRoot":"","sources":["../../src/_collections/endpoint-bridge.util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAC;AAKrG;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,yBAAyB;IACpC,wGAAwG;IACxG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAGpC;IAEF,gFAAgF;IAChF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAG1C;IAEF;;;;;OAKG;WACU,MAAM,CACjB,QAAQ,EAAE,yBAAyB,EACnC,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,2BAA2B,CAAC;IAqBvC,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAC,aAAa;CA0D7B"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_EndpointBridge_Util = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const global_settings_const_1 = require("./global-settings.const");
6
+ /**
7
+ * TRANSITIONAL bridge (HP-DOPL MP-2.3, decision D-2, DMCP-002): calls an existing `tasks[]` endpoint programmatically
8
+ * through its real `getFullExecution()` — preProcesses (auth), `headersSent` guard, error handling and the request
9
+ * hunter all run exactly once, the same way as over HTTP.
10
+ *
11
+ * ⚠️ Capability-limited: only `DyNTS_EndpointBridge_Util.capabilities` exist on the synthetic response.
12
+ * A task using cookies, redirects, files or streams fails with 501 `DyNTS-BRG-UNS` — such an endpoint must stay
13
+ * `expose.mcp: false` and is a review finding.
14
+ *
15
+ * ⛔ Exit condition: the bridge is removed for a domain as soon as that domain's endpoints are migrated to
16
+ * `DyFM_Operation_Settings` (MP-6); new endpoints never rely on it.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const result: DyNTS_EndpointBridge_Result = await DyNTS_EndpointBridge_Util.invoke(getTaskEndpoint, {
21
+ * params: { taskId: 't-1' }, headers: { authorization: `Bearer ${token}` },
22
+ * });
23
+ * ```
24
+ */
25
+ class DyNTS_EndpointBridge_Util {
26
+ /** Response methods the synthetic response supports — anything in `unsupportedMethods` fails loudly. */
27
+ static capabilities = [
28
+ 'status', 'sendStatus', 'send', 'json', 'end', 'setHeader', 'getHeader', 'removeHeader', 'set', 'header', 'type',
29
+ 'headersSent',
30
+ ];
31
+ /** Response methods that can not be emulated without a real HTTP connection. */
32
+ static unsupportedMethods = [
33
+ 'cookie', 'clearCookie', 'redirect', 'location', 'download', 'sendFile', 'attachment', 'render', 'write', 'pipe',
34
+ 'jsonp', 'format', 'writeHead', 'flushHeaders',
35
+ ];
36
+ /**
37
+ * Runs the endpoint with a synthetic request and captures the response.
38
+ * @param endpoint - the endpoint (e.g. a `DyNTS_Endpoint_Params`)
39
+ * @param call - params, query, body and headers of the call
40
+ * @throws 500 `DyNTS-BRG-NRS` when the endpoint finished without sending a response
41
+ */
42
+ static async invoke(endpoint, call = {}) {
43
+ const captured = {
44
+ sent: false, status: 200, body: undefined, headers: {},
45
+ };
46
+ const req = DyNTS_EndpointBridge_Util.buildRequest(endpoint, call);
47
+ const res = DyNTS_EndpointBridge_Util.buildResponse(endpoint, captured);
48
+ await endpoint.getFullExecution()(req, res);
49
+ // a task that never answers would hang a real HTTP client — here it is a loud error
50
+ if (!captured.sent) {
51
+ throw new fsm_dynamo_1.DyFM_Error({
52
+ status: 500,
53
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-BRG-NRS`,
54
+ message: `bridged endpoint "${endpoint.name}" finished without sending a response`,
55
+ });
56
+ }
57
+ return { status: captured.status, body: captured.body, headers: captured.headers };
58
+ }
59
+ /** Builds the synthetic request (lowercase headers, Express-like accessors). */
60
+ static buildRequest(endpoint, call) {
61
+ const headers = {};
62
+ Object.entries(call.headers ?? {}).forEach(([name, value]) => {
63
+ headers[name.toLowerCase()] = value;
64
+ });
65
+ const readHeader = (name) => headers[name.toLowerCase()];
66
+ return {
67
+ params: { ...call.params },
68
+ query: { ...call.query },
69
+ body: call.body,
70
+ headers: headers,
71
+ get: readHeader,
72
+ header: readHeader,
73
+ originalUrl: `bridge://${endpoint.name ?? 'endpoint'}`,
74
+ url: `bridge://${endpoint.name ?? 'endpoint'}`,
75
+ ip: 'bridge',
76
+ };
77
+ }
78
+ /** Builds the synthetic response that records status, body and headers. */
79
+ static buildResponse(endpoint, captured) {
80
+ const res = {};
81
+ const finish = (body) => {
82
+ captured.sent = true;
83
+ captured.body = body;
84
+ return res;
85
+ };
86
+ const setHeader = (name, value) => {
87
+ captured.headers[name.toLowerCase()] = String(value);
88
+ return res;
89
+ };
90
+ Object.assign(res, {
91
+ status: (code) => {
92
+ captured.status = code;
93
+ return res;
94
+ },
95
+ sendStatus: (code) => {
96
+ captured.status = code;
97
+ return finish(undefined);
98
+ },
99
+ send: finish,
100
+ json: finish,
101
+ end: () => finish(captured.body),
102
+ setHeader: setHeader,
103
+ set: setHeader,
104
+ header: setHeader,
105
+ type: (value) => setHeader('content-type', value),
106
+ getHeader: (name) => captured.headers[name.toLowerCase()],
107
+ removeHeader: (name) => {
108
+ delete captured.headers[name.toLowerCase()];
109
+ },
110
+ });
111
+ Object.defineProperty(res, 'headersSent', { get: () => captured.sent });
112
+ // unsupported methods fail loudly with a coded error instead of silently doing nothing
113
+ DyNTS_EndpointBridge_Util.unsupportedMethods.forEach((method) => {
114
+ res[method] = () => {
115
+ throw new fsm_dynamo_1.DyFM_Error({
116
+ status: 501,
117
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-BRG-UNS`,
118
+ message: `bridged endpoint "${endpoint.name}" uses res.${method}(), which the bridge can not emulate ` +
119
+ '(keep it expose.mcp: false)',
120
+ additionalContent: { endpoint: endpoint.name, method: method },
121
+ });
122
+ };
123
+ });
124
+ return res;
125
+ }
126
+ }
127
+ exports.DyNTS_EndpointBridge_Util = DyNTS_EndpointBridge_Util;
128
+ //# sourceMappingURL=endpoint-bridge.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-bridge.util.js","sourceRoot":"","sources":["../../src/_collections/endpoint-bridge.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Request, Response } from 'express';
2
+ import { DyFM_Operation_Context, DyFM_Operation_Settings } from '@futdevpro/fsm-dynamo';
3
+ /** Response header that carries the non-fatal warnings of an operation call (comma separated). */
4
+ export declare const DyNTS_operationWarningsHeader: string;
5
+ /**
6
+ * REST → operation adapter (HP-DOPL MP-2.2): builds the transport-independent context and the positional inputs
7
+ * from an Express request, runs the operation through the single execution path and sends the result.
8
+ *
9
+ * Conventions (the same for every operation endpoint):
10
+ * - identity: `DyNTS_AuthService.getOperationIdentityFromRequest` (issuer = accountId);
11
+ * - `ifMatch`: the `If-Match` header (quotes and the weak `W/` prefix are stripped);
12
+ * - `dryRun`: the `dryRun=true` query parameter or the `X-Dry-Run: true` header;
13
+ * - `requestId`: the `X-Request-Id` header, generated when missing;
14
+ * - inputs: in the declaration order of `operation.inputs`, each from the path params first, then the query;
15
+ * the request body is appended as the last input when the operation declares `bodyParams`.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * await DyNTS_OperationRest_Util.handle(getTask, req, res);
20
+ * ```
21
+ */
22
+ export declare class DyNTS_OperationRest_Util {
23
+ /**
24
+ * Runs the operation for the request and sends its result (errors are thrown to the endpoint error handler).
25
+ * @param operation - the operation of the endpoint
26
+ * @param req - the incoming request
27
+ * @param res - the response
28
+ */
29
+ static handle(operation: DyFM_Operation_Settings<unknown, unknown[], unknown>, req: Request, res: Response): Promise<void>;
30
+ /**
31
+ * Builds the operation context of a REST request.
32
+ * @param req - the incoming request
33
+ */
34
+ static buildContext(req: Request): DyFM_Operation_Context;
35
+ /**
36
+ * Builds the positional inputs of the operation from path params, query and body.
37
+ * @param operation - the operation of the endpoint
38
+ * @param req - the incoming request
39
+ * @throws 400 `DyNTS-OPR-INR` (missing required input) · `DyNTS-OPR-INT` (value of the wrong type)
40
+ */
41
+ static buildInputs(operation: DyFM_Operation_Settings<unknown, unknown[], unknown>, req: Request): unknown[];
42
+ /** Converts a path/query string to the declared basic type. */
43
+ private static coerce;
44
+ /** Reads the `If-Match` header without quotes and weak prefix. */
45
+ private static readIfMatch;
46
+ /** Reads a single header value (the first one when repeated). */
47
+ private static readHeader;
48
+ /** `true` only for the exact text `true`. */
49
+ private static readFlag;
50
+ /** Builds a coded 400 input error. */
51
+ private static inputError;
52
+ }
53
+ //# sourceMappingURL=operation-rest.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-rest.util.d.ts","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EACgC,sBAAsB,EAAE,uBAAuB,EAErF,MAAM,uBAAuB,CAAC;AAQ/B,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,EAAE,MAA+B,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,wBAAwB;IACnC;;;;;OAKG;WACU,MAAM,CACjB,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC/D,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAYhB;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB;IAkBzD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE;IA0B5G,+DAA+D;IAC/D,OAAO,CAAC,MAAM,CAAC,MAAM;IAiDrB,kEAAkE;IAClE,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B,iEAAiE;IACjE,OAAO,CAAC,MAAM,CAAC,UAAU;IAOzB,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ;IAIvB,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,UAAU;CAU1B"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OperationRest_Util = exports.DyNTS_operationWarningsHeader = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const global_service_1 = require("../_services/core/global.service");
6
+ const global_settings_const_1 = require("./global-settings.const");
7
+ /** Response header that carries the non-fatal warnings of an operation call (comma separated). */
8
+ exports.DyNTS_operationWarningsHeader = 'X-Operation-Warnings';
9
+ /**
10
+ * REST → operation adapter (HP-DOPL MP-2.2): builds the transport-independent context and the positional inputs
11
+ * from an Express request, runs the operation through the single execution path and sends the result.
12
+ *
13
+ * Conventions (the same for every operation endpoint):
14
+ * - identity: `DyNTS_AuthService.getOperationIdentityFromRequest` (issuer = accountId);
15
+ * - `ifMatch`: the `If-Match` header (quotes and the weak `W/` prefix are stripped);
16
+ * - `dryRun`: the `dryRun=true` query parameter or the `X-Dry-Run: true` header;
17
+ * - `requestId`: the `X-Request-Id` header, generated when missing;
18
+ * - inputs: in the declaration order of `operation.inputs`, each from the path params first, then the query;
19
+ * the request body is appended as the last input when the operation declares `bodyParams`.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * await DyNTS_OperationRest_Util.handle(getTask, req, res);
24
+ * ```
25
+ */
26
+ class DyNTS_OperationRest_Util {
27
+ /**
28
+ * Runs the operation for the request and sends its result (errors are thrown to the endpoint error handler).
29
+ * @param operation - the operation of the endpoint
30
+ * @param req - the incoming request
31
+ * @param res - the response
32
+ */
33
+ static async handle(operation, req, res) {
34
+ const ctx = DyNTS_OperationRest_Util.buildContext(req);
35
+ const inputs = DyNTS_OperationRest_Util.buildInputs(operation, req);
36
+ const outcome = await fsm_dynamo_1.DyFM_OperationRun_Util.execute(operation, ctx, inputs);
37
+ if (outcome.warnings.length && !res.headersSent) {
38
+ res.setHeader(exports.DyNTS_operationWarningsHeader, outcome.warnings.join(','));
39
+ }
40
+ res.send(outcome.result);
41
+ }
42
+ /**
43
+ * Builds the operation context of a REST request.
44
+ * @param req - the incoming request
45
+ */
46
+ static buildContext(req) {
47
+ const identity = global_service_1.DyNTS_GlobalService?.getAuthService()?.getOperationIdentityFromRequest?.(req) ??
48
+ { authKind: fsm_dynamo_1.DyFM_OperationAuth_Type.none };
49
+ return new fsm_dynamo_1.DyFM_Operation_Context({
50
+ transport: 'rest',
51
+ authKind: identity.authKind,
52
+ issuer: identity.issuer,
53
+ clientUserId: identity.clientUserId,
54
+ apiKeyScopes: identity.apiKeyScopes,
55
+ ifMatch: DyNTS_OperationRest_Util.readIfMatch(req),
56
+ dryRun: DyNTS_OperationRest_Util.readFlag(req?.query?.dryRun) ||
57
+ DyNTS_OperationRest_Util.readFlag(req?.headers?.['x-dry-run']),
58
+ requestId: DyNTS_OperationRest_Util.readHeader(req, 'x-request-id'),
59
+ });
60
+ }
61
+ /**
62
+ * Builds the positional inputs of the operation from path params, query and body.
63
+ * @param operation - the operation of the endpoint
64
+ * @param req - the incoming request
65
+ * @throws 400 `DyNTS-OPR-INR` (missing required input) · `DyNTS-OPR-INT` (value of the wrong type)
66
+ */
67
+ static buildInputs(operation, req) {
68
+ const inputs = Object.entries(operation?.inputs ?? {}).map(([name, input]) => {
69
+ const raw = req?.params?.[name] ?? req?.query?.[name];
70
+ if (raw === undefined || raw === '') {
71
+ if (input.required === true && input.default === undefined) {
72
+ throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INR', `operation "${operation.name}": input "${name}" is required`, name);
73
+ }
74
+ return input.default;
75
+ }
76
+ return DyNTS_OperationRest_Util.coerce({ operation: operation, name: name, input: input, raw: raw });
77
+ });
78
+ if (operation?.bodyParams) {
79
+ inputs.push(req?.body);
80
+ }
81
+ return inputs;
82
+ }
83
+ /** Converts a path/query string to the declared basic type. */
84
+ static coerce(set) {
85
+ const operation = set.operation;
86
+ const name = set.name;
87
+ const input = set.input;
88
+ const raw = set.raw;
89
+ const text = Array.isArray(raw) ? String(raw[raw.length - 1]) : String(raw);
90
+ let value = text;
91
+ if (input.type === fsm_dynamo_1.DyFM_BasicProperty_Type.number) {
92
+ value = Number(text);
93
+ if (!text.trim() || Number.isNaN(value)) {
94
+ throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INT', `operation "${operation.name}": input "${name}" must be a number`, name);
95
+ }
96
+ }
97
+ else if (input.type === fsm_dynamo_1.DyFM_BasicProperty_Type.boolean) {
98
+ if (text !== 'true' && text !== 'false') {
99
+ throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INT', `operation "${operation.name}": input "${name}" must be true or false`, name);
100
+ }
101
+ value = text === 'true';
102
+ }
103
+ else if (input.type === fsm_dynamo_1.DyFM_BasicProperty_Type.date) {
104
+ value = new Date(text);
105
+ if (Number.isNaN(value.getTime())) {
106
+ throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INT', `operation "${operation.name}": input "${name}" must be a date`, name);
107
+ }
108
+ }
109
+ // an enum is checked on the converted value
110
+ if (input.enum && !input.enum.includes(value)) {
111
+ throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INT', `operation "${operation.name}": input "${name}" must be one of ${input.enum.join(', ')}`, name);
112
+ }
113
+ return value;
114
+ }
115
+ /** Reads the `If-Match` header without quotes and weak prefix. */
116
+ static readIfMatch(req) {
117
+ const header = DyNTS_OperationRest_Util.readHeader(req, 'if-match');
118
+ return header ? header.replace(/^W\//, '').replace(/^"(.*)"$/, '$1') || undefined : undefined;
119
+ }
120
+ /** Reads a single header value (the first one when repeated). */
121
+ static readHeader(req, name) {
122
+ const value = req?.headers?.[name];
123
+ const single = Array.isArray(value) ? value[0] : value;
124
+ return single?.trim() || undefined;
125
+ }
126
+ /** `true` only for the exact text `true`. */
127
+ static readFlag(value) {
128
+ return (Array.isArray(value) ? value[value.length - 1] : value) === 'true';
129
+ }
130
+ /** Builds a coded 400 input error. */
131
+ static inputError(code, message, input) {
132
+ return new fsm_dynamo_1.DyFM_Error({
133
+ status: 400,
134
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|${code}`,
135
+ addECToUserMsg: true,
136
+ message: message,
137
+ userMessage: message,
138
+ additionalContent: { input: input },
139
+ });
140
+ }
141
+ }
142
+ exports.DyNTS_OperationRest_Util = DyNTS_OperationRest_Util;
143
+ //# sourceMappingURL=operation-rest.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-rest.util.js","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Request, Response } from 'express';
2
- import { DyFM_Endpoint_SettingsBase, DyFM_HttpCallType } from '@futdevpro/fsm-dynamo';
2
+ import { DyFM_Endpoint_SettingsBase, DyFM_HttpCallType, DyFM_Operation_Settings } from '@futdevpro/fsm-dynamo';
3
3
  import { DyNTS_RouteSecurity } from '../../_enums/route-security.enum';
4
4
  import { DyNTS_AdmissionShed_Interface } from '../interfaces/admission-shed.interface';
5
5
  /**
@@ -35,6 +35,12 @@ export declare class DyNTS_Endpoint_Params_ControlModel<T_Result = unknown, I_In
35
35
  private readonly pathParams;
36
36
  private readonly preProcesses;
37
37
  private readonly tasks;
38
+ /**
39
+ * HP-DOPL MP-2.1 — the transport-independent operation this endpoint serves, instead of `tasks`.
40
+ * Mutually exclusive with `tasks`. Served by `DyNTS_OperationRest_Util` (HP-DOPL MP-2.2).
41
+ * Declared only (no emitted field): a tasks-only endpoint keeps its exact instance key layout.
42
+ */
43
+ readonly operation?: DyFM_Operation_Settings<unknown, unknown[], unknown>;
38
44
  private readonly logRequest;
39
45
  private readonly logRequestsParams;
40
46
  private readonly logRequestsContent;
@@ -94,7 +100,13 @@ export declare class DyNTS_Endpoint_Params_ControlModel<T_Result = unknown, I_In
94
100
  * the actual tasks to run,
95
101
  * the last one should contain the res.send(); execution to send response on API requests
96
102
  */
97
- tasks: ((req: Request, res: Response, issuer: string) => Promise<void>)[];
103
+ tasks?: ((req: Request, res: Response, issuer: string) => Promise<void>)[];
104
+ /**
105
+ * HP-DOPL MP-2.1 — the operation this endpoint serves (`@futdevpro/fsm-dynamo` `DyFM_Operation_Settings`).
106
+ * Mutually exclusive with `tasks`: giving both is a construction error. The operation must be exposed
107
+ * on REST (`expose.rest !== false`).
108
+ */
109
+ operation?: DyFM_Operation_Settings<unknown, unknown[], unknown>;
98
110
  /**
99
111
  * log settings for request and response
100
112
  */
@@ -139,6 +151,13 @@ export declare class DyNTS_Endpoint_Params_ControlModel<T_Result = unknown, I_In
139
151
  * @returns
140
152
  */
141
153
  getFullExecution(): (req: Request, res: Response) => Promise<void>;
154
+ /**
155
+ * HP-DOPL MP-2.1 — validates the optional `operation` input of the constructor.
156
+ * @param label - the endpoint name for the error message
157
+ * @param set - the constructor input
158
+ * @returns the operation, or `undefined` when the endpoint uses `tasks`
159
+ */
160
+ private static validateOperation;
142
161
  /** BFR-OVERSEER-014 — a végpont ÉPPEN futó kéréseinek száma (diagnosztika/teszt). */
143
162
  getActiveCount(): number;
144
163
  /** BFR-OVERSEER-014 — az eddig ledobott kérések száma ezen a végponton (diagnosztika/teszt). */
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.DyNTS_Endpoint_Params = exports.DyNTS_Endpoint_Params_ControlModel = voi
4
4
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
5
  const global_settings_const_1 = require("../../_collections/global-settings.const");
6
6
  const client_safe_error_util_1 = require("../../_collections/client-safe-error.util");
7
+ const operation_rest_util_1 = require("../../_collections/operation-rest.util");
7
8
  const legacy_boolean_alias_util_1 = require("../../_collections/legacy-boolean-alias.util");
8
9
  const safe_diagnostic_control_service_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic.control-service");
9
10
  const safe_diagnostic_stage_type_enum_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum");
@@ -129,6 +130,10 @@ class DyNTS_Endpoint_Params_ControlModel extends fsm_dynamo_1.DyFM_Endpoint_Sett
129
130
  this.pathParams = pathParts;
130
131
  this.preProcesses = set.preProcesses ?? [];
131
132
  this.tasks = set.tasks ?? [];
133
+ const operation = DyNTS_Endpoint_Params_ControlModel.validateOperation(set.name ?? set.endpoint, set);
134
+ if (operation) {
135
+ this.operation = operation;
136
+ }
132
137
  this.stackLocation = (0, fsm_dynamo_1.DyFM_getConstructionStackLocation)();
133
138
  }
134
139
  catch (error) {
@@ -243,9 +248,15 @@ class DyNTS_Endpoint_Params_ControlModel extends fsm_dynamo_1.DyFM_Endpoint_Sett
243
248
  return originalSend(body);
244
249
  };
245
250
  }
246
- await fsm_dynamo_1.DyFM_Array.asyncForEach(this.tasks, async (task) => {
247
- await task(req, res, issuer);
248
- });
251
+ // HP-DOPL MP-2.2: an operation endpoint runs through the shared execution path, not tasks[]
252
+ if (this.operation) {
253
+ await operation_rest_util_1.DyNTS_OperationRest_Util.handle(this.operation, req, res);
254
+ }
255
+ else {
256
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.tasks, async (task) => {
257
+ await task(req, res, issuer);
258
+ });
259
+ }
249
260
  if (this.isRequestLoggingEnabled) {
250
261
  fsm_dynamo_1.DyFM_Log.success(` <<<===== '${this.name}' result sent.`);
251
262
  if (this.isResponseContentLoggingEnabled) {
@@ -265,6 +276,43 @@ class DyNTS_Endpoint_Params_ControlModel extends fsm_dynamo_1.DyFM_Endpoint_Sett
265
276
  }
266
277
  };
267
278
  }
279
+ /**
280
+ * HP-DOPL MP-2.1 — validates the optional `operation` input of the constructor.
281
+ * @param label - the endpoint name for the error message
282
+ * @param set - the constructor input
283
+ * @returns the operation, or `undefined` when the endpoint uses `tasks`
284
+ */
285
+ static validateOperation(label, set) {
286
+ if (set.operation === undefined || set.operation === null) {
287
+ return undefined;
288
+ }
289
+ // a plain object would bypass the construction-time validation of DyFM_Operation_Settings
290
+ if (typeof set.operation.name !== 'string' || typeof set.operation.domain !== 'string' || !set.operation.expose) {
291
+ throw new fsm_dynamo_1.DyFM_Error({
292
+ status: 406,
293
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-EP0-C03`,
294
+ addECToUserMsg: true,
295
+ message: `endpoint "${label}": operation must be a constructed DyFM_Operation_Settings`,
296
+ });
297
+ }
298
+ if (set.tasks?.length) {
299
+ throw new fsm_dynamo_1.DyFM_Error({
300
+ status: 406,
301
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-EP0-C01`,
302
+ addECToUserMsg: true,
303
+ message: `endpoint "${label}": operation "${set.operation.name}" and tasks are mutually exclusive`,
304
+ });
305
+ }
306
+ if (set.operation.expose.rest === false) {
307
+ throw new fsm_dynamo_1.DyFM_Error({
308
+ status: 406,
309
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-EP0-C02`,
310
+ addECToUserMsg: true,
311
+ message: `endpoint "${label}": operation "${set.operation.name}" is not exposed on REST (expose.rest: false)`,
312
+ });
313
+ }
314
+ return set.operation;
315
+ }
268
316
  /** BFR-OVERSEER-014 — a végpont ÉPPEN futó kéréseinek száma (diagnosztika/teszt). */
269
317
  getActiveCount() {
270
318
  return this.activeCount;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Request, Response } from 'express';
2
+ /**
3
+ * The part of an endpoint `DyNTS_EndpointBridge_Util` needs — a `DyNTS_Endpoint_Params` satisfies it
4
+ * (HP-DOPL MP-2.3). Kept minimal so the bridge does not import the endpoint model.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const bridgeable: DyNTS_Bridgeable_Endpoint = getTaskEndpoint;
9
+ * ```
10
+ */
11
+ export interface DyNTS_Bridgeable_Endpoint {
12
+ name?: string;
13
+ getFullExecution(): (req: Request, res: Response) => Promise<void>;
14
+ }
15
+ //# sourceMappingURL=bridgeable-endpoint.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeable-endpoint.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/bridgeable-endpoint.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=bridgeable-endpoint.interface.js.map