@futdevpro/fsm-dynamo 1.20.60 → 1.20.65

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 (43) hide show
  1. package/build/_collections/utils/operation-authz.util.d.ts.map +1 -1
  2. package/build/_collections/utils/operation-authz.util.js +5 -1
  3. package/build/_collections/utils/operation-authz.util.js.map +1 -1
  4. package/build/_collections/utils/operation-guardrails.util.d.ts +46 -0
  5. package/build/_collections/utils/operation-guardrails.util.d.ts.map +1 -0
  6. package/build/_collections/utils/operation-guardrails.util.js +138 -0
  7. package/build/_collections/utils/operation-guardrails.util.js.map +1 -0
  8. package/build/_collections/utils/operation-run.util.d.ts +6 -0
  9. package/build/_collections/utils/operation-run.util.d.ts.map +1 -1
  10. package/build/_collections/utils/operation-run.util.js +18 -1
  11. package/build/_collections/utils/operation-run.util.js.map +1 -1
  12. package/build/_collections/utils/operation-schema.util.d.ts +46 -0
  13. package/build/_collections/utils/operation-schema.util.d.ts.map +1 -0
  14. package/build/_collections/utils/operation-schema.util.js +138 -0
  15. package/build/_collections/utils/operation-schema.util.js.map +1 -0
  16. package/build/_enums/operation-if-match.type-enum.d.ts +17 -0
  17. package/build/_enums/operation-if-match.type-enum.d.ts.map +1 -0
  18. package/build/_enums/operation-if-match.type-enum.js +21 -0
  19. package/build/_enums/operation-if-match.type-enum.js.map +1 -0
  20. package/build/_models/control-models/error.control-model.d.ts.map +1 -1
  21. package/build/_models/control-models/error.control-model.js +9 -2
  22. package/build/_models/control-models/error.control-model.js.map +1 -1
  23. package/build/_models/control-models/operation-settings.control-model.d.ts +3 -0
  24. package/build/_models/control-models/operation-settings.control-model.d.ts.map +1 -1
  25. package/build/_models/control-models/operation-settings.control-model.js +16 -0
  26. package/build/_models/control-models/operation-settings.control-model.js.map +1 -1
  27. package/build/_models/interfaces/operation-guardrails.interface.d.ts +28 -0
  28. package/build/_models/interfaces/operation-guardrails.interface.d.ts.map +1 -0
  29. package/build/_models/interfaces/operation-guardrails.interface.js +3 -0
  30. package/build/_models/interfaces/operation-guardrails.interface.js.map +1 -0
  31. package/build/_models/interfaces/operation-json-schema.interface.d.ts +27 -0
  32. package/build/_models/interfaces/operation-json-schema.interface.d.ts.map +1 -0
  33. package/build/_models/interfaces/operation-json-schema.interface.js +3 -0
  34. package/build/_models/interfaces/operation-json-schema.interface.js.map +1 -0
  35. package/build/_models/interfaces/operation-patch-result.interface.d.ts +14 -0
  36. package/build/_models/interfaces/operation-patch-result.interface.d.ts.map +1 -0
  37. package/build/_models/interfaces/operation-patch-result.interface.js +3 -0
  38. package/build/_models/interfaces/operation-patch-result.interface.js.map +1 -0
  39. package/build/index.d.ts +6 -0
  40. package/build/index.d.ts.map +1 -1
  41. package/build/index.js +6 -0
  42. package/build/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"operation-authz.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-authz.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EACnC,MAAM,8DAA8D,CAAC;AAEtE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AAGvG;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;IACnC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CACV,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,GACtC,0BAA0B;IAyC7B;;;OAGG;IACH,MAAM,CAAC,MAAM,CACX,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,GACtC,0BAA0B;IAM7B;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACnB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,MAAM,GACb,0BAA0B;IA6B7B,2FAA2F;IAC3F,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,MAAM,GACb,0BAA0B;IAM7B,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
1
+ {"version":3,"file":"operation-authz.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-authz.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EACnC,MAAM,8DAA8D,CAAC;AAEtE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AAGvG;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;IACnC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CACV,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,GACtC,0BAA0B;IA8C7B;;;OAGG;IACH,MAAM,CAAC,MAAM,CACX,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,GACtC,0BAA0B;IAM7B;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACnB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,MAAM,GACb,0BAA0B;IA6B7B,2FAA2F;IAC3F,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,MAAM,GACb,0BAA0B;IAM7B,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
@@ -40,7 +40,11 @@ class DyFM_OperationAuthz_Util {
40
40
  return { allowed: true, warning: 'legacy-api-key' };
41
41
  }
42
42
  const requiredScope = operation?.authz?.apiKeyScope;
43
- // least privilege: a scoped key can not reach an operation that belongs to no scope
43
+ // a public operation without scope is reachable anonymously, so a scoped key must not be worse off
44
+ if (!requiredScope && !issuerRequired) {
45
+ return { allowed: true };
46
+ }
47
+ // least privilege: a scoped key can not reach a protected operation that belongs to no scope
44
48
  if (!requiredScope) {
45
49
  return DyFM_OperationAuthz_Util.deny('DyFM-OPZ-NSC', 403, `operation "${operation?.name}" declares no apiKeyScope, a scoped API key can not call it`);
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operation-authz.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-authz.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-authz.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-authz.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { DyFM_OperationContext_ControlModel } from '../../_models/control-models/operation-context.control-model';
2
+ import { DyFM_OperationSettings_ControlModel } from '../../_models/control-models/operation-settings.control-model';
3
+ import { DyFM_OperationPatch_Result } from '../../_models/interfaces/operation-patch-result.interface';
4
+ /**
5
+ * Transport-independent write guardrails of an operation (HP-DOPL MP-1.5, DMCP-009).
6
+ *
7
+ * Two phases, like the authorization:
8
+ * 1. `assertPreconditions` — before running (called by `DyFM_OperationRun_Util.execute`);
9
+ * 2. `assertIfMatch` / `filterPatch` — inside `run`, once the current entity is loaded.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const task: Task = await loadTask(id);
14
+ * DyFM_OperationGuardrails_Util.assertIfMatch(op, ctx, DyFM_OperationGuardrails_Util.buildEtag(task.__v));
15
+ * const { patch } = DyFM_OperationGuardrails_Util.filterPatch(op, input);
16
+ * if (!ctx.dryRun) await saveTask(id, patch);
17
+ * ```
18
+ */
19
+ export declare class DyFM_OperationGuardrails_Util {
20
+ /**
21
+ * Builds the etag of an entity from its document version (`__v`), as the organizer MCP does.
22
+ * @param version - the document version; a missing version counts as `0`
23
+ */
24
+ static buildEtag(version: number | undefined): string;
25
+ /**
26
+ * Checks what can be checked without the entity: dry-run support and the presence of a required `ifMatch`.
27
+ * @throws a coded `DyFM_Error` (400 `DyFM-OPG-DRY` · 428 `DyFM-OPG-IFM`)
28
+ */
29
+ static assertPreconditions(operation: DyFM_OperationSettings_ControlModel<unknown, unknown[], unknown>, ctx: DyFM_OperationContext_ControlModel): void;
30
+ /**
31
+ * Compares the caller's `ifMatch` with the entity's current etag.
32
+ * @param currentEtag - the etag of the entity as loaded now
33
+ * @throws 409 `DyFM-OPG-CNF` on mismatch (and 428 when a required `ifMatch` is missing)
34
+ */
35
+ static assertIfMatch(operation: DyFM_OperationSettings_ControlModel<unknown, unknown[], unknown>, ctx: DyFM_OperationContext_ControlModel, currentEtag: string): void;
36
+ /**
37
+ * Applies the patch whitelist of the operation.
38
+ * @param patch - the caller-provided patch object
39
+ * @returns the whitelisted patch and the dropped field names (unchanged patch without a whitelist)
40
+ * @throws 400 `DyFM-OPG-PTY` (not an object) · `DyFM-OPG-PFD` (rejected fields) · `DyFM-OPG-PEM` (nothing left)
41
+ */
42
+ static filterPatch(operation: DyFM_OperationSettings_ControlModel<unknown, unknown[], unknown>, patch: Record<string, unknown>, ctx?: DyFM_OperationContext_ControlModel): DyFM_OperationPatch_Result;
43
+ /** Builds a coded guardrail error carrying the operation, the requestId and the details. */
44
+ private static error;
45
+ }
46
+ //# sourceMappingURL=operation-guardrails.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-guardrails.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-guardrails.util.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kCAAkC,EACnC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AAGvG;;;;;;;;;;;;;;GAcG;AACH,qBAAa,6BAA6B;IACxC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAIrD;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CACxB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,GACtC,IAAI;IAmBP;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAClB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,GAAG,EAAE,kCAAkC,EACvC,WAAW,EAAE,MAAM,GAClB,IAAI;IAiCP;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAChB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,kCAAkC,GACvC,0BAA0B;IA6C7B,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAC,KAAK;CAerB"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationGuardrails_Util = void 0;
4
+ const operation_if_match_type_enum_1 = require("../../_enums/operation-if-match.type-enum");
5
+ const error_control_model_1 = require("../../_models/control-models/error.control-model");
6
+ /**
7
+ * Transport-independent write guardrails of an operation (HP-DOPL MP-1.5, DMCP-009).
8
+ *
9
+ * Two phases, like the authorization:
10
+ * 1. `assertPreconditions` — before running (called by `DyFM_OperationRun_Util.execute`);
11
+ * 2. `assertIfMatch` / `filterPatch` — inside `run`, once the current entity is loaded.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const task: Task = await loadTask(id);
16
+ * DyFM_OperationGuardrails_Util.assertIfMatch(op, ctx, DyFM_OperationGuardrails_Util.buildEtag(task.__v));
17
+ * const { patch } = DyFM_OperationGuardrails_Util.filterPatch(op, input);
18
+ * if (!ctx.dryRun) await saveTask(id, patch);
19
+ * ```
20
+ */
21
+ class DyFM_OperationGuardrails_Util {
22
+ /**
23
+ * Builds the etag of an entity from its document version (`__v`), as the organizer MCP does.
24
+ * @param version - the document version; a missing version counts as `0`
25
+ */
26
+ static buildEtag(version) {
27
+ return String(version || 0);
28
+ }
29
+ /**
30
+ * Checks what can be checked without the entity: dry-run support and the presence of a required `ifMatch`.
31
+ * @throws a coded `DyFM_Error` (400 `DyFM-OPG-DRY` · 428 `DyFM-OPG-IFM`)
32
+ */
33
+ static assertPreconditions(operation, ctx) {
34
+ // a caller asking for a dry run must never cause a real write
35
+ if (ctx?.dryRun === true && operation?.guardrails?.dryRun !== true) {
36
+ throw DyFM_OperationGuardrails_Util.error({
37
+ errorCode: 'DyFM-OPG-DRY', status: 400, operation: operation, ctx: ctx,
38
+ message: `operation "${operation?.name}" does not support dryRun`,
39
+ });
40
+ }
41
+ // a required precondition that is missing: the caller must fetch the entity first
42
+ if (operation?.guardrails?.ifMatch === operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.required && !ctx?.ifMatch) {
43
+ throw DyFM_OperationGuardrails_Util.error({
44
+ errorCode: 'DyFM-OPG-IFM', status: 428, operation: operation, ctx: ctx,
45
+ message: `operation "${operation?.name}" requires ifMatch (the etag of the entity)`,
46
+ details: { suggestion: 'Fetch the entity and send its current etag as ifMatch.' },
47
+ });
48
+ }
49
+ }
50
+ /**
51
+ * Compares the caller's `ifMatch` with the entity's current etag.
52
+ * @param currentEtag - the etag of the entity as loaded now
53
+ * @throws 409 `DyFM-OPG-CNF` on mismatch (and 428 when a required `ifMatch` is missing)
54
+ */
55
+ static assertIfMatch(operation, ctx, currentEtag) {
56
+ const mode = operation?.guardrails?.ifMatch ?? operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none;
57
+ if (mode === operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none) {
58
+ return;
59
+ }
60
+ // repeated here, so the check is complete even when run is called outside execute
61
+ if (!ctx?.ifMatch) {
62
+ if (mode === operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.required) {
63
+ throw DyFM_OperationGuardrails_Util.error({
64
+ errorCode: 'DyFM-OPG-IFM', status: 428, operation: operation, ctx: ctx,
65
+ message: `operation "${operation?.name}" requires ifMatch (the etag of the entity)`,
66
+ details: { suggestion: 'Fetch the entity and send its current etag as ifMatch.' },
67
+ });
68
+ }
69
+ return;
70
+ }
71
+ if (ctx.ifMatch !== currentEtag) {
72
+ throw DyFM_OperationGuardrails_Util.error({
73
+ errorCode: 'DyFM-OPG-CNF', status: 409, operation: operation, ctx: ctx,
74
+ message: `operation "${operation?.name}": etag mismatch (expected ${currentEtag}, got ${ctx.ifMatch})`,
75
+ details: {
76
+ expected: currentEtag,
77
+ received: ctx.ifMatch,
78
+ suggestion: 'Fetch the entity again and retry with its fresh etag.',
79
+ },
80
+ });
81
+ }
82
+ }
83
+ /**
84
+ * Applies the patch whitelist of the operation.
85
+ * @param patch - the caller-provided patch object
86
+ * @returns the whitelisted patch and the dropped field names (unchanged patch without a whitelist)
87
+ * @throws 400 `DyFM-OPG-PTY` (not an object) · `DyFM-OPG-PFD` (rejected fields) · `DyFM-OPG-PEM` (nothing left)
88
+ */
89
+ static filterPatch(operation, patch, ctx) {
90
+ if (!patch || typeof patch !== 'object' || Array.isArray(patch)) {
91
+ throw DyFM_OperationGuardrails_Util.error({
92
+ errorCode: 'DyFM-OPG-PTY', status: 400, operation: operation, ctx: ctx,
93
+ message: `operation "${operation?.name}": patch must be an object`,
94
+ });
95
+ }
96
+ const whitelist = operation?.guardrails?.patchWhitelist;
97
+ // no whitelist declared: the guardrail is not active for this operation
98
+ if (!whitelist) {
99
+ return { patch: { ...patch }, droppedFields: [] };
100
+ }
101
+ const filtered = {};
102
+ const droppedFields = [];
103
+ Object.keys(patch).forEach((field) => {
104
+ if (whitelist.includes(field)) {
105
+ filtered[field] = patch[field];
106
+ }
107
+ else {
108
+ droppedFields.push(field);
109
+ }
110
+ });
111
+ if (droppedFields.length && operation.guardrails?.unknownPatchFields === 'reject') {
112
+ throw DyFM_OperationGuardrails_Util.error({
113
+ errorCode: 'DyFM-OPG-PFD', status: 400, operation: operation, ctx: ctx,
114
+ message: `operation "${operation?.name}": patch fields not allowed: ${droppedFields.join(', ')}`,
115
+ details: { droppedFields: droppedFields, allowedFields: whitelist },
116
+ });
117
+ }
118
+ if (!Object.keys(filtered).length) {
119
+ throw DyFM_OperationGuardrails_Util.error({
120
+ errorCode: 'DyFM-OPG-PEM', status: 400, operation: operation, ctx: ctx,
121
+ message: `operation "${operation?.name}": the patch has no allowed field`,
122
+ details: { droppedFields: droppedFields, allowedFields: whitelist },
123
+ });
124
+ }
125
+ return { patch: filtered, droppedFields: droppedFields };
126
+ }
127
+ /** Builds a coded guardrail error carrying the operation, the requestId and the details. */
128
+ static error(set) {
129
+ return new error_control_model_1.DyFM_Error({
130
+ errorCode: set.errorCode,
131
+ status: set.status,
132
+ message: set.message,
133
+ additionalContent: { operation: set.operation?.name, requestId: set.ctx?.requestId, ...set.details },
134
+ });
135
+ }
136
+ }
137
+ exports.DyFM_OperationGuardrails_Util = DyFM_OperationGuardrails_Util;
138
+ //# sourceMappingURL=operation-guardrails.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-guardrails.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-guardrails.util.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,12 @@ export declare class DyFM_OperationRun_Util {
19
19
  * @returns the result and the non-fatal warnings; throws a coded `DyFM_Error` on any failure
20
20
  */
21
21
  static execute<T_Result, T_Inputs extends unknown[], T_Body>(operation: DyFM_OperationSettings_ControlModel<T_Result, T_Inputs, T_Body>, ctx: DyFM_OperationContext_ControlModel, inputs: T_Inputs): Promise<DyFM_OperationRun_Result<T_Result>>;
22
+ /**
23
+ * Collects the non-fatal warnings of a successful call.
24
+ * `if-match-ignored`: the caller sent `ifMatch`, but the operation does not check it — the caller must not
25
+ * believe the write was protected against concurrent changes.
26
+ */
27
+ private static warningsOf;
22
28
  /**
23
29
  * Transitional bridge (D-2): wraps an existing route `simpleTask` as a `run` implementation.
24
30
  * The context is ignored, because a `simpleTask` never received one; the wrapped operation still
@@ -1 +1 @@
1
- {"version":3,"file":"operation-run.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-run.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EACnC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AAKnG;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC;;;;;;OAMG;WACU,OAAO,CAAC,QAAQ,EAAE,QAAQ,SAAS,OAAO,EAAE,EAAE,MAAM,EAC/D,SAAS,EAAE,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAC1E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAiC9C;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,SAAS,OAAO,EAAE,EACxD,UAAU,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,GACrD,CAAC,GAAG,EAAE,kCAAkC,EAAE,GAAG,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;CAUvF"}
1
+ {"version":3,"file":"operation-run.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-run.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EACnC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AAQnG;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC;;;;;;OAMG;WACU,OAAO,CAAC,QAAQ,EAAE,QAAQ,SAAS,OAAO,EAAE,EAAE,MAAM,EAC/D,SAAS,EAAE,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAC1E,GAAG,EAAE,kCAAkC,EACvC,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAoC9C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAgBzB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,SAAS,OAAO,EAAE,EACxD,UAAU,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,GACrD,CAAC,GAAG,EAAE,kCAAkC,EAAE,GAAG,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;CAUvF"}
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyFM_OperationRun_Util = void 0;
4
4
  const error_control_model_1 = require("../../_models/control-models/error.control-model");
5
+ const operation_if_match_type_enum_1 = require("../../_enums/operation-if-match.type-enum");
5
6
  const operation_authz_util_1 = require("./operation-authz.util");
7
+ const operation_guardrails_util_1 = require("./operation-guardrails.util");
6
8
  /**
7
9
  * The single execution path of an operation (HP-DOPL MP-1.2, decision D-2): every transport adapter
8
10
  * calls `execute`, so authorization and error shaping can not diverge between REST, MCP and CLI.
@@ -32,9 +34,11 @@ class DyFM_OperationRun_Util {
32
34
  }
33
35
  // authorization happens before any work, on every transport alike
34
36
  const authz = operation_authz_util_1.DyFM_OperationAuthz_Util.assert(operation, ctx);
37
+ // guardrail preconditions after authorization, so an unauthorized caller learns nothing about them
38
+ operation_guardrails_util_1.DyFM_OperationGuardrails_Util.assertPreconditions(operation, ctx);
35
39
  try {
36
40
  const result = await operation.run(ctx, ...(inputs ?? []));
37
- return { result: result, warnings: authz.warning ? [authz.warning] : [] };
41
+ return { result: result, warnings: DyFM_OperationRun_Util.warningsOf(operation, ctx, authz) };
38
42
  }
39
43
  catch (error) {
40
44
  // a coded DyFM_Error is kept as-is, anything else is wrapped with the operation context
@@ -49,6 +53,19 @@ class DyFM_OperationRun_Util {
49
53
  });
50
54
  }
51
55
  }
56
+ /**
57
+ * Collects the non-fatal warnings of a successful call.
58
+ * `if-match-ignored`: the caller sent `ifMatch`, but the operation does not check it — the caller must not
59
+ * believe the write was protected against concurrent changes.
60
+ */
61
+ static warningsOf(operation, ctx, authz) {
62
+ const warnings = authz.warning ? [authz.warning] : [];
63
+ const ifMatchMode = operation.guardrails?.ifMatch ?? operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none;
64
+ if (ctx?.ifMatch && ifMatchMode === operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none) {
65
+ warnings.push('if-match-ignored');
66
+ }
67
+ return warnings;
68
+ }
52
69
  /**
53
70
  * Transitional bridge (D-2): wraps an existing route `simpleTask` as a `run` implementation.
54
71
  * The context is ignored, because a `simpleTask` never received one; the wrapped operation still
@@ -1 +1 @@
1
- {"version":3,"file":"operation-run.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-run.util.ts"],"names":[],"mappings":";;;AAAA,0FAA8E;AAU9E,iEAAkE;AAGlE;;;;;;;;GAQG;AACH,MAAa,sBAAsB;IACjC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,SAA0E,EAC1E,GAAuC,EACvC,MAAgB;QAEhB,oFAAoF;QACpF,IAAI,OAAO,SAAS,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,cAAc,SAAS,EAAE,IAAI,6BAA6B;gBACnE,iBAAiB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;aAC7E,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,KAAK,GAA+B,+CAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE1F,IAAI,CAAC;YACH,MAAM,MAAM,GAAa,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,IAAK,EAA4B,CAAC,CAAC,CAAC;YAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wFAAwF;YACxF,IAAI,KAAK,YAAY,gCAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,UAAU;gBAC/C,KAAK,EAAE,KAAK;gBACZ,iBAAiB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACnB,UAAsD;QAEtD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,+CAA+C;aACzD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAuC,EAAE,GAAG,MAAgB,EAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;IACpH,CAAC;CACF;AA/DD,wDA+DC"}
1
+ {"version":3,"file":"operation-run.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-run.util.ts"],"names":[],"mappings":";;;AAAA,0FAA8E;AAU9E,4FAAuF;AAEvF,iEAAkE;AAClE,2EAA4E;AAG5E;;;;;;;;GAQG;AACH,MAAa,sBAAsB;IACjC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,SAA0E,EAC1E,GAAuC,EACvC,MAAgB;QAEhB,oFAAoF;QACpF,IAAI,OAAO,SAAS,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,cAAc,SAAS,EAAE,IAAI,6BAA6B;gBACnE,iBAAiB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;aAC7E,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,KAAK,GAA+B,+CAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE1F,mGAAmG;QACnG,yDAA6B,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,MAAM,GAAa,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,IAAK,EAA4B,CAAC,CAAC,CAAC;YAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wFAAwF;YACxF,IAAI,KAAK,YAAY,gCAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,UAAU;gBAC/C,KAAK,EAAE,KAAK;gBACZ,iBAAiB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,UAAU,CACvB,SAA2E,EAC3E,GAAuC,EACvC,KAAiC;QAEjC,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,MAAM,WAAW,GAA+B,SAAS,CAAC,UAAU,EAAE,OAAO,IAAI,yDAA0B,CAAC,IAAI,CAAC;QAEjH,IAAI,GAAG,EAAE,OAAO,IAAI,WAAW,KAAK,yDAA0B,CAAC,IAAI,EAAE,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACnB,UAAsD;QAEtD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,+CAA+C;aACzD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAuC,EAAE,GAAG,MAAgB,EAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;IACpH,CAAC;CACF;AAvFD,wDAuFC"}
@@ -0,0 +1,46 @@
1
+ import { DyFM_DataProperty_Params } from '../../_models/control-models/data-property-params.control-model';
2
+ import { DyFM_OperationSettings_ControlModel } from '../../_models/control-models/operation-settings.control-model';
3
+ import { DyFM_Operation_JsonSchema } from '../../_models/interfaces/operation-json-schema.interface';
4
+ /**
5
+ * Generates the input JSON-schema of an operation (HP-DOPL MP-1.6, DMCP-005) from the runtime data model
6
+ * description (`bodyParams.properties`) — TypeScript generics do not exist at runtime, the properties do.
7
+ * Explicit `inputs` are added on top and override a body property of the same name.
8
+ *
9
+ * Left out on purpose:
10
+ * - server-managed metadata (every key starting with `_`, e.g. `_id`, `__v`, `__created`);
11
+ * - `forbidden`, `readonly` and function-typed properties;
12
+ * - the `authz.ownership` field — ownership is resolved server-side, never taken from caller input.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const schema: DyFM_Operation_JsonSchema = DyFM_OperationSchema_Util.inputSchema(createTask);
17
+ * // { type: 'object', properties: { title: { type: 'string' } }, required: [ 'title' ], additionalProperties: false }
18
+ * ```
19
+ */
20
+ export declare class DyFM_OperationSchema_Util {
21
+ /**
22
+ * Builds the object schema of all inputs of the operation.
23
+ * @param operation - the operation description
24
+ */
25
+ static inputSchema(operation: DyFM_OperationSettings_ControlModel<unknown, unknown[], unknown>): DyFM_Operation_JsonSchema;
26
+ /**
27
+ * Maps one data property (recursively for objects) to a schema.
28
+ * @param property - the data property params
29
+ */
30
+ static propertySchema(property: DyFM_DataProperty_Params<unknown, unknown>): DyFM_Operation_JsonSchema;
31
+ /**
32
+ * Builds an object schema from data properties, leaving out the fields a caller must not set.
33
+ * @param dataProperties - the data model properties
34
+ * @param excludedKey - an additional field to leave out (the ownership field)
35
+ */
36
+ private static objectSchema;
37
+ /** Maps an explicit operation input to a schema. */
38
+ private static inputSettingsSchema;
39
+ /** Base schema of a basic type; dates travel as ISO strings. */
40
+ private static typeSchema;
41
+ /** A property is caller-settable unless it is metadata, forbidden, readonly or a function. */
42
+ private static isCallerSettable;
43
+ /** Normalizes a declared type text to a basic type; a missing type counts as `object`. */
44
+ private static basicTypeOf;
45
+ }
46
+ //# sourceMappingURL=operation-schema.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-schema.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/operation-schema.util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACzB,MAAM,iEAAiE,CAAC;AACzE,OAAO,EACL,mCAAmC,EACpC,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAKrG;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAAyB;IACpC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,SAAS,EAAE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,GAC1E,yBAAyB;IAkC5B;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,yBAAyB;IAiCtG;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkBlC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,UAAU;IAQzB,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,WAAW;CAG3B"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationSchema_Util = void 0;
4
+ const basic_property_type_enum_1 = require("../../_enums/basic-property-type.enum");
5
+ const utilities_util_1 = require("./utilities.util");
6
+ /**
7
+ * Generates the input JSON-schema of an operation (HP-DOPL MP-1.6, DMCP-005) from the runtime data model
8
+ * description (`bodyParams.properties`) — TypeScript generics do not exist at runtime, the properties do.
9
+ * Explicit `inputs` are added on top and override a body property of the same name.
10
+ *
11
+ * Left out on purpose:
12
+ * - server-managed metadata (every key starting with `_`, e.g. `_id`, `__v`, `__created`);
13
+ * - `forbidden`, `readonly` and function-typed properties;
14
+ * - the `authz.ownership` field — ownership is resolved server-side, never taken from caller input.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const schema: DyFM_Operation_JsonSchema = DyFM_OperationSchema_Util.inputSchema(createTask);
19
+ * // { type: 'object', properties: { title: { type: 'string' } }, required: [ 'title' ], additionalProperties: false }
20
+ * ```
21
+ */
22
+ class DyFM_OperationSchema_Util {
23
+ /**
24
+ * Builds the object schema of all inputs of the operation.
25
+ * @param operation - the operation description
26
+ */
27
+ static inputSchema(operation) {
28
+ // body properties first, so explicit inputs can override them
29
+ const body = DyFM_OperationSchema_Util.objectSchema(operation?.bodyParams?.properties, operation?.authz?.ownership);
30
+ const properties = body.properties ?? {};
31
+ const required = new Set(body.required ?? []);
32
+ Object.entries(operation?.inputs ?? {}).forEach(([key, input]) => {
33
+ properties[key] = DyFM_OperationSchema_Util.inputSettingsSchema(input);
34
+ // the explicit input decides alone whether the name is required
35
+ if (input.required === true) {
36
+ required.add(key);
37
+ }
38
+ else {
39
+ required.delete(key);
40
+ }
41
+ });
42
+ const schema = {
43
+ type: 'object',
44
+ properties: properties,
45
+ additionalProperties: false,
46
+ };
47
+ if (required.size) {
48
+ schema.required = [...required];
49
+ }
50
+ return schema;
51
+ }
52
+ /**
53
+ * Maps one data property (recursively for objects) to a schema.
54
+ * @param property - the data property params
55
+ */
56
+ static propertySchema(property) {
57
+ const basicType = DyFM_OperationSchema_Util.basicTypeOf(property?.type);
58
+ const schema = DyFM_OperationSchema_Util.typeSchema(basicType);
59
+ // the declared type text (e.g. `string[]`) is kept in nonBasicType once the params are constructed
60
+ const declaredType = String(property?.nonBasicType ?? property?.type ?? '');
61
+ // array element type
62
+ if (basicType === basic_property_type_enum_1.DyFM_BasicProperty_Type.array && declaredType.endsWith('[]')) {
63
+ schema.items = DyFM_OperationSchema_Util.typeSchema(DyFM_OperationSchema_Util.basicTypeOf(declaredType.slice(0, -2)));
64
+ }
65
+ // nested object properties
66
+ if (basicType === basic_property_type_enum_1.DyFM_BasicProperty_Type.object && property.subObjectParams) {
67
+ Object.assign(schema, DyFM_OperationSchema_Util.objectSchema(property.subObjectParams));
68
+ }
69
+ if (property?.default !== undefined) {
70
+ schema.default = property.default;
71
+ }
72
+ if (typeof property?.minlength === 'number') {
73
+ schema.minLength = property.minlength;
74
+ }
75
+ if (typeof property?.maxlength === 'number') {
76
+ schema.maxLength = property.maxlength;
77
+ }
78
+ return schema;
79
+ }
80
+ /**
81
+ * Builds an object schema from data properties, leaving out the fields a caller must not set.
82
+ * @param dataProperties - the data model properties
83
+ * @param excludedKey - an additional field to leave out (the ownership field)
84
+ */
85
+ static objectSchema(dataProperties, excludedKey) {
86
+ const properties = {};
87
+ const required = [];
88
+ Object.entries(dataProperties ?? {}).forEach(([key, property]) => {
89
+ if (key === excludedKey || !DyFM_OperationSchema_Util.isCallerSettable(key, property)) {
90
+ return;
91
+ }
92
+ properties[key] = DyFM_OperationSchema_Util.propertySchema(property);
93
+ // a default makes the field optional for the caller
94
+ if (property.required === true && property.default === undefined) {
95
+ required.push(key);
96
+ }
97
+ });
98
+ const schema = { type: 'object', properties: properties, additionalProperties: false };
99
+ if (required.length) {
100
+ schema.required = required;
101
+ }
102
+ return schema;
103
+ }
104
+ /** Maps an explicit operation input to a schema. */
105
+ static inputSettingsSchema(input) {
106
+ const schema = DyFM_OperationSchema_Util.typeSchema(input.type);
107
+ if (input.description) {
108
+ schema.description = input.description;
109
+ }
110
+ if (input.enum) {
111
+ schema.enum = [...input.enum];
112
+ }
113
+ if (input.default !== undefined) {
114
+ schema.default = input.default;
115
+ }
116
+ return schema;
117
+ }
118
+ /** Base schema of a basic type; dates travel as ISO strings. */
119
+ static typeSchema(type) {
120
+ if (type === basic_property_type_enum_1.DyFM_BasicProperty_Type.date) {
121
+ return { type: 'string', format: 'date-time' };
122
+ }
123
+ return { type: type };
124
+ }
125
+ /** A property is caller-settable unless it is metadata, forbidden, readonly or a function. */
126
+ static isCallerSettable(key, property) {
127
+ return !key.startsWith('_') &&
128
+ property?.forbidden !== true &&
129
+ property?.readonly !== true &&
130
+ DyFM_OperationSchema_Util.basicTypeOf(property?.type) !== basic_property_type_enum_1.DyFM_BasicProperty_Type.function;
131
+ }
132
+ /** Normalizes a declared type text to a basic type; a missing type counts as `object`. */
133
+ static basicTypeOf(type) {
134
+ return type ? (0, utilities_util_1.DyFM_getBasicPropertyType)(type) : basic_property_type_enum_1.DyFM_BasicProperty_Type.object;
135
+ }
136
+ }
137
+ exports.DyFM_OperationSchema_Util = DyFM_OperationSchema_Util;
138
+ //# sourceMappingURL=operation-schema.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-schema.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/operation-schema.util.ts"],"names":[],"mappings":";;;AAAA,oFAAgF;AAUhF,qDAA6D;AAG7D;;;;;;;;;;;;;;;GAeG;AACH,MAAa,yBAAyB;IACpC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,SAA2E;QAE3E,8DAA8D;QAC9D,MAAM,IAAI,GAA8B,yBAAyB,CAAC,YAAY,CAC5E,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAC/D,CAAC;QACF,MAAM,UAAU,GAAiD,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACvF,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAS,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAC7C,CAAC,CAAE,GAAG,EAAE,KAAK,CAA0C,EAAQ,EAAE;YAC/D,UAAU,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAEvE,gEAAgE;YAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAA8B;YACxC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;YACtB,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,GAAG,CAAE,GAAG,QAAQ,CAAE,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAoD;QACxE,MAAM,SAAS,GAA4B,yBAAyB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjG,MAAM,MAAM,GAA8B,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1F,mGAAmG;QACnG,MAAM,YAAY,GAAW,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAEpF,qBAAqB;QACrB,IAAI,SAAS,KAAK,kDAAuB,CAAC,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,UAAU,CACjD,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,SAAS,KAAK,kDAAuB,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7E,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,YAAY,CACzB,cAAsF,EACtF,WAAoB;QAEpB,MAAM,UAAU,GAAiD,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAE,GAAG,EAAE,QAAQ,CAAwD,EAAQ,EAAE;YAChF,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACtF,OAAO;YACT,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAErE,oDAAoD;YACpD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAElH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oDAAoD;IAC5C,MAAM,CAAC,mBAAmB,CAAC,KAAmC;QACpE,MAAM,MAAM,GAA8B,yBAAyB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3F,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,GAAG,CAAE,GAAG,KAAK,CAAC,IAAI,CAAE,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gEAAgE;IACxD,MAAM,CAAC,UAAU,CAAC,IAA6B;QACrD,IAAI,IAAI,KAAK,kDAAuB,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,8FAA8F;IACtF,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,QAAoD;QAC/F,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,QAAQ,EAAE,SAAS,KAAK,IAAI;YAC5B,QAAQ,EAAE,QAAQ,KAAK,IAAI;YAC3B,yBAAyB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,kDAAuB,CAAC,QAAQ,CAAC;IAC/F,CAAC;IAED,0FAA0F;IAClF,MAAM,CAAC,WAAW,CAAC,IAAwB;QACjD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,0CAAyB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kDAAuB,CAAC,MAAM,CAAC;IACjF,CAAC;CACF;AA1JD,8DA0JC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Optimistic-concurrency mode of an operation (`guardrails.ifMatch`).
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const guardrails: DyFM_Operation_Guardrails = { ifMatch: DyFM_OperationIfMatch_Type.required };
7
+ * ```
8
+ */
9
+ export declare enum DyFM_OperationIfMatch_Type {
10
+ /** A call without `ifMatch` is rejected with 428 before running. */
11
+ required = "required",
12
+ /** Checked only when the caller sends `ifMatch`. */
13
+ optional = "optional",
14
+ /** Never checked. */
15
+ none = "none"
16
+ }
17
+ //# sourceMappingURL=operation-if-match.type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-if-match.type-enum.d.ts","sourceRoot":"","sources":["../../src/_enums/operation-if-match.type-enum.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,oBAAY,0BAA0B;IACpC,oEAAoE;IACpE,QAAQ,aAAa;IACrB,oDAAoD;IACpD,QAAQ,aAAa;IACrB,qBAAqB;IACrB,IAAI,SAAS;CACd"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationIfMatch_Type = void 0;
4
+ /**
5
+ * Optimistic-concurrency mode of an operation (`guardrails.ifMatch`).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const guardrails: DyFM_Operation_Guardrails = { ifMatch: DyFM_OperationIfMatch_Type.required };
10
+ * ```
11
+ */
12
+ var DyFM_OperationIfMatch_Type;
13
+ (function (DyFM_OperationIfMatch_Type) {
14
+ /** A call without `ifMatch` is rejected with 428 before running. */
15
+ DyFM_OperationIfMatch_Type["required"] = "required";
16
+ /** Checked only when the caller sends `ifMatch`. */
17
+ DyFM_OperationIfMatch_Type["optional"] = "optional";
18
+ /** Never checked. */
19
+ DyFM_OperationIfMatch_Type["none"] = "none";
20
+ })(DyFM_OperationIfMatch_Type || (exports.DyFM_OperationIfMatch_Type = DyFM_OperationIfMatch_Type = {}));
21
+ //# sourceMappingURL=operation-if-match.type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-if-match.type-enum.js","sourceRoot":"","sources":["../../src/_enums/operation-if-match.type-enum.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IACpC,oEAAoE;IACpE,mDAAqB,CAAA;IACrB,oDAAoD;IACpD,mDAAqB,CAAA;IACrB,qBAAqB;IACrB,2CAAa,CAAA;AACf,CAAC,EAPW,0BAA0B,0CAA1B,0BAA0B,QAOrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/error.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/error.control-model.ts"],"names":[],"mappings":"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"}
@@ -226,8 +226,15 @@ class DyFM_Error_ControlModel extends Error {
226
226
  /** bring up non NTS and non default first error */
227
227
  const filteredErrorCodes = this._errorCodes.filter((code) => code && code !== error_defaults_const_1.DyFM_error_defaults.errorCode &&
228
228
  !exports.DyFM_errorĐFlagParts.some((part) => code.includes(part)));
229
- this._errorCode = filteredErrorCodes[0] ?? this._errorCodes?.[0];
230
- const highlightedErrorCodeIndex = this._errorCodes.findIndex((code) => code === filteredErrorCodes?.[0]);
229
+ // Fallback: the first REAL code. The BFR-CCAPREVISIONED-007 placeholder sits at index 0 of a plain-source
230
+ // chain; when every real code is a framework (e.g. DyNTS) code, `_errorCodes[0]` would surface the
231
+ // placeholder instead of the caller's code (measured: nts DataService / ClientSafeError specs).
232
+ this._errorCode = filteredErrorCodes[0] ??
233
+ this._errorCodes?.find((code) => code !== error_defaults_const_1.DyFM_error_defaults.errorCode) ??
234
+ this._errorCodes?.[0];
235
+ // the message follows the highlighted code, also when only framework codes are present — otherwise the
236
+ // plain-source chain level (BFR-CCAPREVISIONED-007) at index 0 would become the primary message
237
+ const highlightedErrorCodeIndex = this._errorCodes.findIndex((code) => code === (filteredErrorCodes?.[0] ?? this._errorCode));
231
238
  /** set message */
232
239
  if (!set.message) {
233
240
  if (typeof set.error === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"error.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/error.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/error.control-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { DyFM_Operation_Authz } from '../interfaces/operation-authz.interface';
2
2
  import { DyFM_Operation_Exposure } from '../interfaces/operation-exposure.interface';
3
+ import { DyFM_Operation_Guardrails } from '../interfaces/operation-guardrails.interface';
3
4
  import { DyFM_OperationInput_Settings } from '../interfaces/operation-input-settings.interface';
4
5
  import { DyFM_DataModel_Params } from './data-model-params.control-model';
5
6
  import { DyFM_OperationContext_ControlModel } from './operation-context.control-model';
@@ -43,6 +44,8 @@ export declare class DyFM_OperationSettings_ControlModel<T_Result = unknown, T_I
43
44
  expose?: DyFM_Operation_Exposure;
44
45
  /** Declarative authorization; `issuerRequired` defaults to `true`. */
45
46
  authz?: DyFM_Operation_Authz;
47
+ /** Write-safety guardrails; defaults: `ifMatch: none`, `dryRun: false`, `unknownPatchFields: drop`. */
48
+ guardrails?: DyFM_Operation_Guardrails;
46
49
  /**
47
50
  * The implementation — the single execution source of the operation (D-2). Optional, because a
48
51
  * definition-only copy (e.g. for CLI generation) has none; run it through `DyFM_OperationRun_Util.execute`.
@@ -1 +1 @@
1
- {"version":3,"file":"operation-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/operation-settings.control-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AASvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mCAAmC,CAC9C,QAAQ,GAAG,OAAO,EAClB,QAAQ,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EACtC,MAAM,GAAG,SAAS;IAMlB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAM;IAC3D,oEAAoE;IACpE,UAAU,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACxC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B;;;;OAIG;IACH,GAAG,CAAC,CAAC,GAAG,EAAE,kCAAkC,EAAE,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrF,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;gBAED,GAAG,EAAE,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAkHtE,mEAAmE;IACnE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKzC,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAC,OAAO;CAOvB;AAED,OAAO,EACL,mCAAmC,IAAI,uBAAuB,EAC/D,CAAC"}
1
+ {"version":3,"file":"operation-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/operation-settings.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AASvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mCAAmC,CAC9C,QAAQ,GAAG,OAAO,EAClB,QAAQ,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EACtC,MAAM,GAAG,SAAS;IAMlB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAM;IAC3D,oEAAoE;IACpE,UAAU,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACxC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,uGAAuG;IACvG,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC;;;;OAIG;IACH,GAAG,CAAC,CAAC,GAAG,EAAE,kCAAkC,EAAE,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrF,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;gBAED,GAAG,EAAE,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAuItE,mEAAmE;IACnE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKzC,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAC,OAAO;CAOvB;AAED,OAAO,EACL,mCAAmC,IAAI,uBAAuB,EAC/D,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyFM_Operation_Settings = exports.DyFM_OperationSettings_ControlModel = void 0;
4
4
  const stack_util_1 = require("../../_collections/utils/stack.util");
5
5
  const basic_property_type_enum_1 = require("../../_enums/basic-property-type.enum");
6
+ const operation_if_match_type_enum_1 = require("../../_enums/operation-if-match.type-enum");
6
7
  const error_control_model_1 = require("./error.control-model");
7
8
  /** Kebab-case segment: lowercase letters/digits, separated by single dashes. */
8
9
  const DyFM_operationKebabSegment = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
@@ -51,6 +52,8 @@ class DyFM_OperationSettings_ControlModel {
51
52
  expose;
52
53
  /** Declarative authorization; `issuerRequired` defaults to `true`. */
53
54
  authz;
55
+ /** Write-safety guardrails; defaults: `ifMatch: none`, `dryRun: false`, `unknownPatchFields: drop`. */
56
+ guardrails;
54
57
  /** Source location of the construction, for debugging duplicated or misconfigured operations. */
55
58
  stackLocation;
56
59
  /**
@@ -102,6 +105,18 @@ class DyFM_OperationSettings_ControlModel {
102
105
  if (authz.ownership !== undefined && authz.issuerRequired === false) {
103
106
  throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-AZO', `authz.ownership can not be combined with issuerRequired: false (${label})`, stackLocation);
104
107
  }
108
+ // guardrails: known modes, and a whitelist of usable field names
109
+ const guardrails = {
110
+ ifMatch: operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none, dryRun: false, unknownPatchFields: 'drop', ...set.guardrails,
111
+ };
112
+ if (!Object.values(operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type).includes(guardrails.ifMatch ?? operation_if_match_type_enum_1.DyFM_OperationIfMatch_Type.none) ||
113
+ !['drop', 'reject'].includes(guardrails.unknownPatchFields ?? 'drop') ||
114
+ typeof guardrails.dryRun !== 'boolean' ||
115
+ (guardrails.patchWhitelist !== undefined && (!Array.isArray(guardrails.patchWhitelist) ||
116
+ !guardrails.patchWhitelist.length ||
117
+ !guardrails.patchWhitelist.every((field) => DyFM_operationInputName.test(field))))) {
118
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-GRD', `guardrails has an unknown mode or an invalid patchWhitelist (${label})`, stackLocation);
119
+ }
105
120
  // run: when given, it must be callable
106
121
  if (set.run !== undefined && typeof set.run !== 'function') {
107
122
  throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-RUN', `run must be a function (${label})`, stackLocation);
@@ -115,6 +130,7 @@ class DyFM_OperationSettings_ControlModel {
115
130
  // a missing expose flag means: exposed on that transport
116
131
  this.expose = { rest: true, mcp: true, cli: true, ...set.expose };
117
132
  this.authz = authz;
133
+ this.guardrails = guardrails;
118
134
  this.stackLocation = stackLocation;
119
135
  }
120
136
  /** Checks the `name` format: dot-separated kebab-case segments. */
@@ -1 +1 @@
1
- {"version":3,"file":"operation-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/operation-settings.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/operation-settings.control-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { DyFM_OperationIfMatch_Type } from '../../_enums/operation-if-match.type-enum';
2
+ /**
3
+ * Write-safety guardrails of an operation (HP-DOPL MP-1.5, DMCP-009), lifted from the organizer MCP
4
+ * "safe write" pattern: optimistic concurrency, dry run, patch whitelist.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const guardrails: DyFM_Operation_Guardrails = {
9
+ * ifMatch: DyFM_OperationIfMatch_Type.required,
10
+ * dryRun: true,
11
+ * patchWhitelist: [ 'title', 'dueDate' ],
12
+ * };
13
+ * ```
14
+ */
15
+ export interface DyFM_Operation_Guardrails {
16
+ /** Optimistic concurrency via `ctx.ifMatch` (default: `none`). */
17
+ ifMatch?: DyFM_OperationIfMatch_Type;
18
+ /**
19
+ * The operation honours `ctx.dryRun` (default: `false`). A dry-run call to an operation that does not
20
+ * support it is rejected, so a caller asking for a dry run can never cause a real write.
21
+ */
22
+ dryRun?: boolean;
23
+ /** Fields a patch may change; when set, `DyFM_OperationGuardrails_Util.filterPatch` enforces it. */
24
+ patchWhitelist?: string[];
25
+ /** What happens with non-whitelisted patch fields (default: `drop`, reported back as dropped). */
26
+ unknownPatchFields?: 'drop' | 'reject';
27
+ }
28
+ //# sourceMappingURL=operation-guardrails.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-guardrails.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-guardrails.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAGvF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kGAAkG;IAClG,kBAAkB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operation-guardrails.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-guardrails.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-guardrails.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * JSON-schema subset generated for an operation (HP-DOPL MP-1.6). Structurally compatible with the
3
+ * `nts-dynamo` MCP `DyNTS_Mcp_JsonSchema`, so it can be advertised as an MCP tool `inputSchema` as-is,
4
+ * and the CLI generator can derive its options from the same object.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const schema: DyFM_Operation_JsonSchema = DyFM_OperationSchema_Util.inputSchema(operation);
9
+ * ```
10
+ */
11
+ export interface DyFM_Operation_JsonSchema {
12
+ type: string;
13
+ properties?: {
14
+ [key: string]: DyFM_Operation_JsonSchema;
15
+ };
16
+ required?: string[];
17
+ items?: DyFM_Operation_JsonSchema;
18
+ enum?: (string | number | boolean)[];
19
+ description?: string;
20
+ default?: unknown;
21
+ /** String format hint (e.g. `date-time`). */
22
+ format?: string;
23
+ minLength?: number;
24
+ maxLength?: number;
25
+ additionalProperties?: boolean;
26
+ }
27
+ //# sourceMappingURL=operation-json-schema.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-json-schema.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-json-schema.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operation-json-schema.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-json-schema.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-json-schema.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Result of `DyFM_OperationGuardrails_Util.filterPatch`: the whitelisted patch and the fields that were
3
+ * dropped, so the adapter can tell the caller instead of ignoring them silently.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * const { patch, droppedFields }: DyFM_OperationPatch_Result = DyFM_OperationGuardrails_Util.filterPatch(op, input);
8
+ * ```
9
+ */
10
+ export interface DyFM_OperationPatch_Result {
11
+ patch: Record<string, unknown>;
12
+ droppedFields: string[];
13
+ }
14
+ //# sourceMappingURL=operation-patch-result.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-patch-result.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-patch-result.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operation-patch-result.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-patch-result.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/operation-patch-result.interface.ts"],"names":[],"mappings":""}
package/build/index.d.ts CHANGED
@@ -20,7 +20,9 @@ export * from './_collections/utils/time.util';
20
20
  export * from './_collections/utils/type-cloning-facility.util';
21
21
  export * from './_collections/utils/utilities.util';
22
22
  export * from './_collections/utils/operation-authz.util';
23
+ export * from './_collections/utils/operation-guardrails.util';
23
24
  export * from './_collections/utils/operation-run.util';
25
+ export * from './_collections/utils/operation-schema.util';
24
26
  export * from './_collections/utils/uuid.util';
25
27
  export * from './_collections/utils/math/box-bounds.util';
26
28
  export * from './_collections/utils/math/math.util';
@@ -37,6 +39,7 @@ export * from './_enums/error-level.enum';
37
39
  export * from './_enums/error-status.enum';
38
40
  export * from './_enums/log-style.enum';
39
41
  export * from './_enums/operation-auth.type-enum';
42
+ export * from './_enums/operation-if-match.type-enum';
40
43
  export * from './_enums/server-connection-status.enum';
41
44
  export * from './_enums/http/http-call-type.enum';
42
45
  export * from './_enums/http/http-event-type.enum';
@@ -64,7 +67,10 @@ export * from './_models/interfaces/operation-authz-result.interface';
64
67
  export * from './_models/interfaces/operation-authz.interface';
65
68
  export * from './_models/interfaces/operation-run-result.interface';
66
69
  export * from './_models/interfaces/operation-exposure.interface';
70
+ export * from './_models/interfaces/operation-guardrails.interface';
67
71
  export * from './_models/interfaces/operation-input-settings.interface';
72
+ export * from './_models/interfaces/operation-json-schema.interface';
73
+ export * from './_models/interfaces/operation-patch-result.interface';
68
74
  export * from './_models/interfaces/paged.interface';
69
75
  export * from './_models/interfaces/random-weight.interface';
70
76
  export * from './_models/interfaces/route-settings.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAGrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAI/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AAGtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AAKjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uEAAuE,CAAC;AAGtF,cAAc,iEAAiE,CAAC;AAChF,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AAGvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uDAAuD,CAAC;AACtE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,yDAAyD,CAAC;AACxE,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wDAAwD,CAAC;AACvE,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,4DAA4D,CAAC;AAG3E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAGrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gCAAgC,CAAC;AAG/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAI/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AAGtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AAKjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uEAAuE,CAAC;AAGtF,cAAc,iEAAiE,CAAC;AAChF,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AAGvE,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uDAAuD,CAAC;AACtE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,yDAAyD,CAAC;AACxE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wDAAwD,CAAC;AACvE,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,4DAA4D,CAAC;AAG3E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC"}
package/build/index.js CHANGED
@@ -26,7 +26,9 @@ tslib_1.__exportStar(require("./_collections/utils/time.util"), exports);
26
26
  tslib_1.__exportStar(require("./_collections/utils/type-cloning-facility.util"), exports);
27
27
  tslib_1.__exportStar(require("./_collections/utils/utilities.util"), exports);
28
28
  tslib_1.__exportStar(require("./_collections/utils/operation-authz.util"), exports);
29
+ tslib_1.__exportStar(require("./_collections/utils/operation-guardrails.util"), exports);
29
30
  tslib_1.__exportStar(require("./_collections/utils/operation-run.util"), exports);
31
+ tslib_1.__exportStar(require("./_collections/utils/operation-schema.util"), exports);
30
32
  tslib_1.__exportStar(require("./_collections/utils/uuid.util"), exports);
31
33
  // collections/utils/MATH
32
34
  tslib_1.__exportStar(require("./_collections/utils/math/box-bounds.util"), exports);
@@ -46,6 +48,7 @@ tslib_1.__exportStar(require("./_enums/error-level.enum"), exports);
46
48
  tslib_1.__exportStar(require("./_enums/error-status.enum"), exports);
47
49
  tslib_1.__exportStar(require("./_enums/log-style.enum"), exports);
48
50
  tslib_1.__exportStar(require("./_enums/operation-auth.type-enum"), exports);
51
+ tslib_1.__exportStar(require("./_enums/operation-if-match.type-enum"), exports);
49
52
  tslib_1.__exportStar(require("./_enums/server-connection-status.enum"), exports);
50
53
  // enums/HTTP
51
54
  tslib_1.__exportStar(require("./_enums/http/http-call-type.enum"), exports);
@@ -80,7 +83,10 @@ tslib_1.__exportStar(require("./_models/interfaces/operation-authz-result.interf
80
83
  tslib_1.__exportStar(require("./_models/interfaces/operation-authz.interface"), exports);
81
84
  tslib_1.__exportStar(require("./_models/interfaces/operation-run-result.interface"), exports);
82
85
  tslib_1.__exportStar(require("./_models/interfaces/operation-exposure.interface"), exports);
86
+ tslib_1.__exportStar(require("./_models/interfaces/operation-guardrails.interface"), exports);
83
87
  tslib_1.__exportStar(require("./_models/interfaces/operation-input-settings.interface"), exports);
88
+ tslib_1.__exportStar(require("./_models/interfaces/operation-json-schema.interface"), exports);
89
+ tslib_1.__exportStar(require("./_models/interfaces/operation-patch-result.interface"), exports);
84
90
  tslib_1.__exportStar(require("./_models/interfaces/paged.interface"), exports);
85
91
  tslib_1.__exportStar(require("./_models/interfaces/random-weight.interface"), exports);
86
92
  tslib_1.__exportStar(require("./_models/interfaces/route-settings.interface"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd,wBAAwB;AACxB,oFAA0D;AAC1D,wFAA8D;AAC9D,yFAA+D;AAC/D,iFAAuD;AACvD,+EAAqD;AAErD,oBAAoB;AACpB,0EAAgD;AAChD,0EAAgD;AAChD,yEAA+C;AAC/C,0FAAgE;AAChE,sFAA4D;AAC5D,wEAA8C;AAC9C,+EAAqD;AACrD,gFAAsD;AACtD,2EAAiD;AACjD,gFAAsD;AACtD,0EAAgD;AAChD,2EAAiD;AACjD,gFAAsD;AACtD,yEAA+C;AAC/C,0FAAgE;AAChE,8EAAoD;AACpD,oFAA0D;AAC1D,kFAAwD;AACxD,yEAA+C;AAE/C,yBAAyB;AACzB,oFAA0D;AAC1D,8EAAoD;AACpD,gFAAsD;AACtD,sFAA4D;AAC5D,iFAAuD;AAEvD,2BAA2B;AAC3B,yFAA+D;AAC/D,gFAAsD;AACtD,yFAA+D;AAG/D,QAAQ;AACR,4EAAkD;AAClD,wEAA8C;AAC9C,yEAA+C;AAC/C,oEAA0C;AAC1C,qEAA2C;AAC3C,kEAAwC;AACxC,4EAAkD;AAClD,iFAAuD;AAEvD,aAAa;AACb,4EAAkD;AAClD,6EAAmD;AACnD,gFAAsD;AAEtD,aAAa;AACb,yEAA+C;AAC/C,mEAAyC;AACzC,2EAAiD;AAGjD,SAAS;AACT,wBAAwB;AACxB,mGAAyE;AACzE,sGAA4E;AAC5E,uFAA6D;AAC7D,mGAAyE;AACzE,oGAA0E;AAC1E,sFAA4D;AAC5D,6FAAmE;AACnE,+FAAqE;AACrE,gHAAsF;AAEtF,6BAA6B;AAC7B,0GAAgF;AAChF,mGAAyE;AACzE,iGAAuE;AAEvE,qBAAqB;AACrB,kFAAwD;AACxD,oFAA0D;AAE1D,oBAAoB;AACpB,oFAA0D;AAC1D,wFAA8D;AAC9D,gGAAsE;AACtE,yFAA+D;AAC/D,8FAAoE;AACpE,4FAAkE;AAClE,kGAAwE;AACxE,+EAAqD;AACrD,uFAA6D;AAC7D,wFAA8D;AAC9D,sFAA4D;AAC5D,uFAA6D;AAC7D,iGAAuE;AACvE,iFAAuD;AAEvD,gCAAgC;AAChC,yGAA+E;AAC/E,qGAA2E;AAE3E,eAAe;AACf,yEAA+C;AAC/C,uEAA6C;AAC7C,yEAA+C;AAC/C,uEAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd,wBAAwB;AACxB,oFAA0D;AAC1D,wFAA8D;AAC9D,yFAA+D;AAC/D,iFAAuD;AACvD,+EAAqD;AAErD,oBAAoB;AACpB,0EAAgD;AAChD,0EAAgD;AAChD,yEAA+C;AAC/C,0FAAgE;AAChE,sFAA4D;AAC5D,wEAA8C;AAC9C,+EAAqD;AACrD,gFAAsD;AACtD,2EAAiD;AACjD,gFAAsD;AACtD,0EAAgD;AAChD,2EAAiD;AACjD,gFAAsD;AACtD,yEAA+C;AAC/C,0FAAgE;AAChE,8EAAoD;AACpD,oFAA0D;AAC1D,yFAA+D;AAC/D,kFAAwD;AACxD,qFAA2D;AAC3D,yEAA+C;AAE/C,yBAAyB;AACzB,oFAA0D;AAC1D,8EAAoD;AACpD,gFAAsD;AACtD,sFAA4D;AAC5D,iFAAuD;AAEvD,2BAA2B;AAC3B,yFAA+D;AAC/D,gFAAsD;AACtD,yFAA+D;AAG/D,QAAQ;AACR,4EAAkD;AAClD,wEAA8C;AAC9C,yEAA+C;AAC/C,oEAA0C;AAC1C,qEAA2C;AAC3C,kEAAwC;AACxC,4EAAkD;AAClD,gFAAsD;AACtD,iFAAuD;AAEvD,aAAa;AACb,4EAAkD;AAClD,6EAAmD;AACnD,gFAAsD;AAEtD,aAAa;AACb,yEAA+C;AAC/C,mEAAyC;AACzC,2EAAiD;AAGjD,SAAS;AACT,wBAAwB;AACxB,mGAAyE;AACzE,sGAA4E;AAC5E,uFAA6D;AAC7D,mGAAyE;AACzE,oGAA0E;AAC1E,sFAA4D;AAC5D,6FAAmE;AACnE,+FAAqE;AACrE,gHAAsF;AAEtF,6BAA6B;AAC7B,0GAAgF;AAChF,mGAAyE;AACzE,iGAAuE;AAEvE,qBAAqB;AACrB,kFAAwD;AACxD,oFAA0D;AAE1D,oBAAoB;AACpB,oFAA0D;AAC1D,wFAA8D;AAC9D,gGAAsE;AACtE,yFAA+D;AAC/D,8FAAoE;AACpE,4FAAkE;AAClE,8FAAoE;AACpE,kGAAwE;AACxE,+FAAqE;AACrE,gGAAsE;AACtE,+EAAqD;AACrD,uFAA6D;AAC7D,wFAA8D;AAC9D,sFAA4D;AAC5D,uFAA6D;AAC7D,iGAAuE;AACvE,iFAAuD;AAEvD,gCAAgC;AAChC,yGAA+E;AAC/E,qGAA2E;AAE3E,eAAe;AACf,yEAA+C;AAC/C,uEAA6C;AAC7C,yEAA+C;AAC/C,uEAA6C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "1.20.60",
3
+ "version": "1.20.65",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",