@futdevpro/fsm-dynamo 1.20.15 → 1.20.20

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 (125) hide show
  1. package/build/_collections/utils/async.util.d.ts.map +1 -1
  2. package/build/_collections/utils/async.util.js +1 -1
  3. package/build/_collections/utils/async.util.js.map +1 -1
  4. package/build/_collections/utils/extract-error-message.util.d.ts.map +1 -1
  5. package/build/_collections/utils/extract-error-message.util.js +0 -1
  6. package/build/_collections/utils/extract-error-message.util.js.map +1 -1
  7. package/build/_collections/utils/math/math.util.d.ts +41 -0
  8. package/build/_collections/utils/math/math.util.d.ts.map +1 -1
  9. package/build/_collections/utils/math/math.util.js +60 -0
  10. package/build/_collections/utils/math/math.util.js.map +1 -1
  11. package/build/_models/control-models/poll.control-model.d.ts.map +1 -1
  12. package/build/_models/control-models/poll.control-model.js +1 -1
  13. package/build/_models/control-models/poll.control-model.js.map +1 -1
  14. package/build/_modules/ai/_models/ai-user-provider-config.control-model.d.ts +5 -2
  15. package/build/_modules/ai/_models/ai-user-provider-config.control-model.d.ts.map +1 -1
  16. package/build/_modules/ai/_models/ai-user-provider-config.control-model.js +9 -3
  17. package/build/_modules/ai/_models/ai-user-provider-config.control-model.js.map +1 -1
  18. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.d.ts +5 -2
  19. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.d.ts.map +1 -1
  20. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +9 -3
  21. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js.map +1 -1
  22. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.d.ts +5 -2
  23. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.d.ts.map +1 -1
  24. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +9 -3
  25. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js.map +1 -1
  26. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.d.ts +5 -2
  27. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.d.ts.map +1 -1
  28. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +9 -3
  29. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js.map +1 -1
  30. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.d.ts +5 -2
  31. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.d.ts.map +1 -1
  32. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +9 -3
  33. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js.map +1 -1
  34. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.d.ts +5 -2
  35. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.d.ts.map +1 -1
  36. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +9 -3
  37. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js.map +1 -1
  38. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.d.ts +5 -2
  39. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.d.ts.map +1 -1
  40. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +9 -3
  41. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js.map +1 -1
  42. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.d.ts +5 -2
  43. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.d.ts.map +1 -1
  44. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +9 -3
  45. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js.map +1 -1
  46. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.d.ts +5 -2
  47. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.d.ts.map +1 -1
  48. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +9 -3
  49. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js.map +1 -1
  50. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.d.ts +5 -2
  51. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.d.ts.map +1 -1
  52. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +9 -3
  53. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js.map +1 -1
  54. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.d.ts +6 -2
  55. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.d.ts.map +1 -1
  56. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +10 -3
  57. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js.map +1 -1
  58. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.d.ts +6 -2
  59. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.d.ts.map +1 -1
  60. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +10 -3
  61. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js.map +1 -1
  62. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.d.ts +5 -2
  63. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.d.ts.map +1 -1
  64. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +9 -3
  65. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js.map +1 -1
  66. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.d.ts +5 -2
  67. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.d.ts.map +1 -1
  68. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +9 -3
  69. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js.map +1 -1
  70. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.d.ts +5 -2
  71. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.d.ts.map +1 -1
  72. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +9 -3
  73. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js.map +1 -1
  74. package/build/_modules/crypto/_collections/crypto-v1.util.d.ts.map +1 -1
  75. package/build/_modules/crypto/_collections/crypto-v1.util.js +1 -1
  76. package/build/_modules/crypto/_collections/crypto-v1.util.js.map +1 -1
  77. package/build/_modules/crypto/_collections/crypto-v4.util.d.ts.map +1 -1
  78. package/build/_modules/crypto/_collections/crypto-v4.util.js +1 -1
  79. package/build/_modules/crypto/_collections/crypto-v4.util.js.map +1 -1
  80. package/build/_modules/crypto/_collections/crypto.util.d.ts.map +1 -1
  81. package/build/_modules/crypto/_collections/crypto.util.js +2 -2
  82. package/build/_modules/crypto/_collections/crypto.util.js.map +1 -1
  83. package/build/_modules/data-handler/_models/data-handler.control-model.d.ts +1 -1
  84. package/build/_modules/data-handler/_models/data-handler.control-model.d.ts.map +1 -1
  85. package/build/_modules/data-handler/_models/data-handler.control-model.js +1 -1
  86. package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
  87. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.d.ts.map +1 -1
  88. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.js.map +1 -1
  89. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts.map +1 -1
  90. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js.map +1 -1
  91. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts +1 -1
  92. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts.map +1 -1
  93. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js.map +1 -1
  94. package/build/_modules/operation-control/_collections/operation-lease.util.d.ts +11 -0
  95. package/build/_modules/operation-control/_collections/operation-lease.util.d.ts.map +1 -0
  96. package/build/_modules/operation-control/_collections/operation-lease.util.js +328 -0
  97. package/build/_modules/operation-control/_collections/operation-lease.util.js.map +1 -0
  98. package/build/_modules/operation-control/_enums/operation-decision-code.type-enum.d.ts +22 -0
  99. package/build/_modules/operation-control/_enums/operation-decision-code.type-enum.d.ts.map +1 -0
  100. package/build/_modules/operation-control/_enums/operation-decision-code.type-enum.js +26 -0
  101. package/build/_modules/operation-control/_enums/operation-decision-code.type-enum.js.map +1 -0
  102. package/build/_modules/operation-control/_enums/operation-state.type-enum.d.ts +9 -0
  103. package/build/_modules/operation-control/_enums/operation-state.type-enum.d.ts.map +1 -0
  104. package/build/_modules/operation-control/_enums/operation-state.type-enum.js +13 -0
  105. package/build/_modules/operation-control/_enums/operation-state.type-enum.js.map +1 -0
  106. package/build/_modules/operation-control/_models/operation-lease.interface.d.ts +65 -0
  107. package/build/_modules/operation-control/_models/operation-lease.interface.d.ts.map +1 -0
  108. package/build/_modules/operation-control/_models/operation-lease.interface.js +3 -0
  109. package/build/_modules/operation-control/_models/operation-lease.interface.js.map +1 -0
  110. package/build/_modules/operation-control/index.d.ts +5 -0
  111. package/build/_modules/operation-control/index.d.ts.map +1 -0
  112. package/build/_modules/operation-control/index.js +8 -0
  113. package/build/_modules/operation-control/index.js.map +1 -0
  114. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.d.ts.map +1 -1
  115. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js.map +1 -1
  116. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.d.ts +1 -1
  117. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.d.ts.map +1 -1
  118. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.js.map +1 -1
  119. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.d.ts.map +1 -1
  120. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js.map +1 -1
  121. package/build/_modules/state-machine/_models/state-machine.control-model.d.ts +2 -2
  122. package/build/_modules/state-machine/_models/state-machine.control-model.d.ts.map +1 -1
  123. package/build/_modules/state-machine/_models/state-machine.control-model.js +10 -10
  124. package/build/_modules/state-machine/_models/state-machine.control-model.js.map +1 -1
  125. package/package.json +12 -3
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationLease_Util = void 0;
4
+ const dyfm_operationHash = /^[0-9a-f]{64}$/u;
5
+ const dyfm_maxOperationTime = 8_640_000_000_000_000;
6
+ const dyfm_commandBaseKeys = ['contractVersion', 'kind', 'operationId', 'requestId', 'scopeHash'];
7
+ const dyfm_recordKeys = [
8
+ 'contractVersion', 'scopeHash', 'operationId', 'state', 'revision', 'fencingToken', 'ownerId',
9
+ 'createdAtMs', 'updatedAtMs', 'heartbeatAtMs', 'leaseExpiresAtMs', 'cancellationRequestedAtMs',
10
+ 'terminalAtMs', 'reason',
11
+ ];
12
+ /** Copies plain own data properties without invoking getters or reflecting rejected values. */
13
+ function dyfm_operationData(value) {
14
+ try {
15
+ if (typeof value !== 'object' || value === null) {
16
+ return undefined;
17
+ }
18
+ const prototype = Object.getPrototypeOf(value);
19
+ if (prototype !== Object.prototype && prototype !== null) {
20
+ return undefined;
21
+ }
22
+ const result = Object.create(null);
23
+ for (const key of Reflect.ownKeys(value)) {
24
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
25
+ if (typeof key !== 'string' || !descriptor?.enumerable || !('value' in descriptor)) {
26
+ return undefined;
27
+ }
28
+ result[key] = descriptor.value;
29
+ }
30
+ return result;
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ }
36
+ /** Requires an exact schema, including absence of hidden or unknown fields. */
37
+ function dyfm_operationKeys(value, keys) {
38
+ const actual = Object.keys(value);
39
+ return actual.length === keys.length && actual.every((key) => keys.includes(key));
40
+ }
41
+ /** Rejects unsafe, negative, fractional and out-of-Date-range epoch milliseconds. */
42
+ function dyfm_operationTime(value) {
43
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 && value <= dyfm_maxOperationTime;
44
+ }
45
+ /** Bounded positive integer used for revisions, live fencing tokens and lease durations. */
46
+ function dyfm_operationPositive(value) {
47
+ return typeof value === 'number' && Number.isSafeInteger(value) && value > 0;
48
+ }
49
+ /** Validates an opaque identity without converting arbitrary values to strings. */
50
+ function dyfm_operationIdentity(value) {
51
+ return typeof value === 'string' && dyfm_operationHash.test(value);
52
+ }
53
+ /** Narrows explicit nullable timestamps even in consumers compiled without strictNullChecks. */
54
+ function dyfm_operationOptionalTime(value) {
55
+ return value === null || dyfm_operationTime(value);
56
+ }
57
+ /** Null represents an unowned state, never a missing or unvalidated owner field. */
58
+ function dyfm_operationOptionalOwner(value) {
59
+ return value === null || dyfm_operationIdentity(value);
60
+ }
61
+ /** Finite content-free persisted reasons, with explicit null while running. */
62
+ function dyfm_operationReason(value) {
63
+ return value === null || value === 'abandoned' || value === 'completed'
64
+ || value === 'failed' || value === 'cancel-requested';
65
+ }
66
+ /** Parses a strict versioned command; time and policy limits belong to the trusted durable store. */
67
+ function dyfm_parseOperationCommand(value) {
68
+ const data = dyfm_operationData(value);
69
+ if (!data || data.contractVersion !== 'dyfm-operation-command/1'
70
+ || !dyfm_operationIdentity(data.scopeHash) || !dyfm_operationIdentity(data.operationId)
71
+ || !dyfm_operationIdentity(data.requestId)) {
72
+ return undefined;
73
+ }
74
+ let extra;
75
+ switch (data.kind) {
76
+ case 'acquire':
77
+ extra = ['ownerId', 'leaseDurationMs'];
78
+ break;
79
+ case 'renew':
80
+ extra = ['ownerId', 'fencingToken', 'leaseDurationMs'];
81
+ break;
82
+ case 'request-cancel':
83
+ extra = [];
84
+ break;
85
+ case 'complete':
86
+ extra = ['ownerId', 'fencingToken', 'outcome'];
87
+ break;
88
+ case 'abandon':
89
+ extra = ['ownerId', 'fencingToken'];
90
+ break;
91
+ default: return undefined;
92
+ }
93
+ if (!dyfm_operationKeys(data, [...dyfm_commandBaseKeys, ...extra])) {
94
+ return undefined;
95
+ }
96
+ const identity = {
97
+ contractVersion: data.contractVersion, scopeHash: data.scopeHash,
98
+ operationId: data.operationId, requestId: data.requestId,
99
+ };
100
+ if (data.kind === 'request-cancel') {
101
+ return Object.freeze({ ...identity, kind: data.kind });
102
+ }
103
+ if (!dyfm_operationIdentity(data.ownerId)) {
104
+ return undefined;
105
+ }
106
+ if (data.kind === 'acquire') {
107
+ return dyfm_operationPositive(data.leaseDurationMs)
108
+ ? Object.freeze({ ...identity, kind: data.kind, ownerId: data.ownerId, leaseDurationMs: data.leaseDurationMs })
109
+ : undefined;
110
+ }
111
+ if (!dyfm_operationPositive(data.fencingToken)) {
112
+ return undefined;
113
+ }
114
+ const owned = {
115
+ ...identity, ownerId: data.ownerId, fencingToken: data.fencingToken,
116
+ };
117
+ if (data.kind === 'renew') {
118
+ return dyfm_operationPositive(data.leaseDurationMs)
119
+ ? Object.freeze({ ...owned, kind: data.kind, leaseDurationMs: data.leaseDurationMs }) : undefined;
120
+ }
121
+ if (data.kind === 'abandon') {
122
+ return Object.freeze({ ...owned, kind: data.kind });
123
+ }
124
+ return data.outcome === 'succeeded' || data.outcome === 'failed'
125
+ ? Object.freeze({ ...owned, kind: 'complete', outcome: data.outcome }) : undefined;
126
+ }
127
+ /** Validates the entire persisted state, including cross-field temporal and terminal invariants. */
128
+ function dyfm_parseOperationRecord(value) {
129
+ const data = dyfm_operationData(value);
130
+ if (!data || !dyfm_operationKeys(data, dyfm_recordKeys) || data.contractVersion !== 'dyfm-operation-record/1'
131
+ || !dyfm_operationIdentity(data.scopeHash) || !dyfm_operationIdentity(data.operationId)
132
+ || !dyfm_operationPositive(data.revision)
133
+ || typeof data.fencingToken !== 'number' || !Number.isSafeInteger(data.fencingToken) || data.fencingToken < 0
134
+ || data.fencingToken > data.revision
135
+ || !dyfm_operationTime(data.createdAtMs) || !dyfm_operationTime(data.updatedAtMs)
136
+ || data.updatedAtMs < data.createdAtMs
137
+ || !dyfm_operationOptionalOwner(data.ownerId)
138
+ || !dyfm_operationOptionalTime(data.heartbeatAtMs)
139
+ || !dyfm_operationOptionalTime(data.leaseExpiresAtMs)
140
+ || !dyfm_operationOptionalTime(data.cancellationRequestedAtMs)
141
+ || !dyfm_operationOptionalTime(data.terminalAtMs)
142
+ || !dyfm_operationReason(data.reason)
143
+ || (data.state !== 'available' && data.state !== 'running' && data.state !== 'succeeded'
144
+ && data.state !== 'failed' && data.state !== 'cancelled')) {
145
+ return undefined;
146
+ }
147
+ const record = {
148
+ contractVersion: data.contractVersion, scopeHash: data.scopeHash, operationId: data.operationId,
149
+ state: data.state, revision: data.revision, fencingToken: data.fencingToken,
150
+ ownerId: data.ownerId, createdAtMs: data.createdAtMs, updatedAtMs: data.updatedAtMs,
151
+ heartbeatAtMs: data.heartbeatAtMs, leaseExpiresAtMs: data.leaseExpiresAtMs,
152
+ cancellationRequestedAtMs: data.cancellationRequestedAtMs, terminalAtMs: data.terminalAtMs, reason: data.reason,
153
+ };
154
+ if (!dyfm_operationNullableTimes(record)) {
155
+ return undefined;
156
+ }
157
+ if (record.state === 'available') {
158
+ if (record.fencingToken < 1 || record.ownerId !== null || record.heartbeatAtMs !== null
159
+ || record.leaseExpiresAtMs !== null || record.cancellationRequestedAtMs !== null
160
+ || record.terminalAtMs !== null || record.reason !== 'abandoned') {
161
+ return undefined;
162
+ }
163
+ }
164
+ else if (record.state === 'running') {
165
+ if (!dyfm_operationIdentity(record.ownerId) || record.fencingToken < 1
166
+ || record.heartbeatAtMs !== record.updatedAtMs || record.leaseExpiresAtMs === null
167
+ || record.leaseExpiresAtMs <= record.updatedAtMs || record.cancellationRequestedAtMs !== null
168
+ || record.terminalAtMs !== null || record.reason !== null) {
169
+ return undefined;
170
+ }
171
+ }
172
+ else if (!dyfm_operationTerminalValid(record)) {
173
+ return undefined;
174
+ }
175
+ return Object.freeze({ ...record });
176
+ }
177
+ /** All non-null historical timestamps must fall inside the record's lifetime. */
178
+ function dyfm_operationNullableTimes(record) {
179
+ for (const time of [record.heartbeatAtMs, record.cancellationRequestedAtMs, record.terminalAtMs]) {
180
+ if (time !== null && (!dyfm_operationTime(time) || time < record.createdAtMs || time > record.updatedAtMs)) {
181
+ return false;
182
+ }
183
+ }
184
+ return record.leaseExpiresAtMs === null || dyfm_operationTime(record.leaseExpiresAtMs);
185
+ }
186
+ /** A cancelled tombstone may predate acquisition or follow an abandoned owner. */
187
+ function dyfm_operationTerminalValid(record) {
188
+ if (record.terminalAtMs !== record.updatedAtMs || record.leaseExpiresAtMs !== null) {
189
+ return false;
190
+ }
191
+ if (record.state === 'cancelled') {
192
+ return record.reason === 'cancel-requested' && record.cancellationRequestedAtMs === record.terminalAtMs
193
+ && ((record.ownerId === null && record.heartbeatAtMs === null)
194
+ || (dyfm_operationIdentity(record.ownerId) && record.fencingToken > 0 && record.heartbeatAtMs !== null));
195
+ }
196
+ return (record.state === 'succeeded' || record.state === 'failed')
197
+ && record.reason === (record.state === 'succeeded' ? 'completed' : 'failed')
198
+ && record.cancellationRequestedAtMs === null && dyfm_operationIdentity(record.ownerId)
199
+ && record.fencingToken > 0 && record.heartbeatAtMs !== null;
200
+ }
201
+ /** Constructs a detached, immutable content-free proposal. */
202
+ function dyfm_operationDecision(code, current, next) {
203
+ return Object.freeze({
204
+ contractVersion: 'dyfm-operation-decision/1',
205
+ accepted: next !== undefined || code === 'cancelled',
206
+ code: code,
207
+ writeRequired: next !== undefined,
208
+ expectedRevision: current?.revision ?? null,
209
+ record: next ? Object.freeze(next) : current,
210
+ });
211
+ }
212
+ /** Builds an initial acquired state or a cancel-before-acquire tombstone without creating a runnable draft. */
213
+ function dyfm_operationInitial(command, nowMs) {
214
+ const acquiring = command.kind === 'acquire';
215
+ return {
216
+ contractVersion: 'dyfm-operation-record/1', scopeHash: command.scopeHash, operationId: command.operationId,
217
+ state: acquiring ? 'running' : 'cancelled', revision: 1, fencingToken: acquiring ? 1 : 0,
218
+ ownerId: command.kind === 'acquire' ? command.ownerId : null,
219
+ createdAtMs: nowMs, updatedAtMs: nowMs, heartbeatAtMs: acquiring ? nowMs : null,
220
+ leaseExpiresAtMs: command.kind === 'acquire' ? nowMs + command.leaseDurationMs : null,
221
+ cancellationRequestedAtMs: acquiring ? null : nowMs, terminalAtMs: acquiring ? null : nowMs,
222
+ reason: acquiring ? null : 'cancel-requested',
223
+ };
224
+ }
225
+ /**
226
+ * Pure lease/fence transition proposal; performs no I/O, dispatch, retries or clock reads.
227
+ * nowMs MUST be authoritative store time (never caller/browser time). The store must recheck a live lease
228
+ * at its atomic write boundary; evaluating this function alone cannot prove distributed ownership.
229
+ */
230
+ function dyfm_planOperationTransition(currentValue, commandValue, nowMs) {
231
+ const command = dyfm_parseOperationCommand(commandValue);
232
+ if (!command) {
233
+ return dyfm_operationDecision('invalid-command', null);
234
+ }
235
+ const current = currentValue === null
236
+ ? null : dyfm_parseOperationRecord(currentValue) ?? null;
237
+ if (currentValue !== null && current === null) {
238
+ return dyfm_operationDecision('invalid-record', null);
239
+ }
240
+ if (current && (current.scopeHash !== command.scopeHash || current.operationId !== command.operationId)) {
241
+ return dyfm_operationDecision('identity-mismatch', null);
242
+ }
243
+ if (!dyfm_operationTime(nowMs)) {
244
+ return dyfm_operationDecision('invalid-clock', current);
245
+ }
246
+ if (current && nowMs < current.updatedAtMs) {
247
+ return dyfm_operationDecision('clock-regressed', current);
248
+ }
249
+ if (typeof current?.terminalAtMs === 'number') {
250
+ return dyfm_operationDecision(current.state === 'cancelled' && command.kind === 'request-cancel' ? 'cancelled' : 'already-terminal', current);
251
+ }
252
+ if ((command.kind === 'acquire' || command.kind === 'renew')
253
+ && !dyfm_operationTime(nowMs + command.leaseDurationMs)) {
254
+ return dyfm_operationDecision('lease-time-overflow', current);
255
+ }
256
+ if (current?.revision === Number.MAX_SAFE_INTEGER) {
257
+ return dyfm_operationDecision('counter-exhausted', current);
258
+ }
259
+ if (current === null) {
260
+ return command.kind === 'acquire' || command.kind === 'request-cancel'
261
+ ? dyfm_operationDecision(command.kind === 'acquire' ? 'acquired' : 'cancelled', null, dyfm_operationInitial(command, nowMs))
262
+ : dyfm_operationDecision('not-found', null);
263
+ }
264
+ return dyfm_operationExisting(current, command, nowMs);
265
+ }
266
+ /** Plans a single valid nonterminal record transition; expiry is exclusive (now == expiry is too late). */
267
+ function dyfm_operationExisting(current, command, nowMs) {
268
+ const next = { ...current, revision: current.revision + 1, updatedAtMs: nowMs };
269
+ if (command.kind === 'request-cancel') {
270
+ return dyfm_operationDecision('cancelled', current, {
271
+ ...next, state: 'cancelled', reason: 'cancel-requested', terminalAtMs: nowMs,
272
+ cancellationRequestedAtMs: nowMs, leaseExpiresAtMs: null,
273
+ });
274
+ }
275
+ if (command.kind === 'acquire') {
276
+ if (current.state === 'running' && current.leaseExpiresAtMs > nowMs) {
277
+ return dyfm_operationDecision('lease-held', current);
278
+ }
279
+ if (current.fencingToken === Number.MAX_SAFE_INTEGER) {
280
+ return dyfm_operationDecision('counter-exhausted', current);
281
+ }
282
+ return dyfm_operationDecision('acquired', current, {
283
+ ...next, state: 'running', fencingToken: current.fencingToken + 1, ownerId: command.ownerId,
284
+ heartbeatAtMs: nowMs, leaseExpiresAtMs: nowMs + command.leaseDurationMs, reason: null,
285
+ });
286
+ }
287
+ if (current.state !== 'running') {
288
+ return dyfm_operationDecision('not-running', current);
289
+ }
290
+ if (current.ownerId !== command.ownerId || current.fencingToken !== command.fencingToken) {
291
+ return dyfm_operationDecision('owner-mismatch', current);
292
+ }
293
+ if (current.leaseExpiresAtMs <= nowMs) {
294
+ return dyfm_operationDecision('lease-expired', current);
295
+ }
296
+ if (command.kind === 'renew') {
297
+ return dyfm_operationDecision('renewed', current, {
298
+ ...next, heartbeatAtMs: nowMs,
299
+ leaseExpiresAtMs: Math.max(current.leaseExpiresAtMs, nowMs + command.leaseDurationMs),
300
+ });
301
+ }
302
+ if (command.kind === 'abandon') {
303
+ return dyfm_operationDecision('abandoned', current, {
304
+ ...next, state: 'available', ownerId: null, heartbeatAtMs: null, leaseExpiresAtMs: null, reason: 'abandoned',
305
+ });
306
+ }
307
+ return dyfm_operationDecision('completed', current, {
308
+ ...next, state: command.outcome, reason: command.outcome === 'succeeded' ? 'completed' : 'failed',
309
+ terminalAtMs: nowMs, leaseExpiresAtMs: null,
310
+ });
311
+ }
312
+ /** Strict, deterministic operation-control contract; durability belongs to the atomic NTS store. */
313
+ class DyFM_OperationLease_Util {
314
+ /** Copies a valid exact command without invoking accessors or retaining caller objects. */
315
+ static parseCommand(value) {
316
+ return dyfm_parseOperationCommand(value);
317
+ }
318
+ /** Copies a valid record, checking all state-specific invariants. */
319
+ static parseRecord(value) {
320
+ return dyfm_parseOperationRecord(value);
321
+ }
322
+ /** Proposes a transition at authoritative store time; never a durable receipt or dispatch permission. */
323
+ static planTransition(current, command, nowMs) {
324
+ return dyfm_planOperationTransition(current, command, nowMs);
325
+ }
326
+ }
327
+ exports.DyFM_OperationLease_Util = DyFM_OperationLease_Util;
328
+ //# sourceMappingURL=operation-lease.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-lease.util.js","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_collections/operation-lease.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** Stable content-free decision vocabulary shared across stores and consumers. */
2
+ export declare enum DyFM_OperationDecisionCode_Type {
3
+ acquired = "acquired",
4
+ renewed = "renewed",
5
+ cancelled = "cancelled",
6
+ completed = "completed",
7
+ abandoned = "abandoned",
8
+ alreadyTerminal = "already-terminal",
9
+ leaseHeld = "lease-held",
10
+ leaseExpired = "lease-expired",
11
+ ownerMismatch = "owner-mismatch",
12
+ notRunning = "not-running",
13
+ notFound = "not-found",
14
+ invalidCommand = "invalid-command",
15
+ invalidRecord = "invalid-record",
16
+ identityMismatch = "identity-mismatch",
17
+ invalidClock = "invalid-clock",
18
+ clockRegressed = "clock-regressed",
19
+ counterExhausted = "counter-exhausted",
20
+ leaseTimeOverflow = "lease-time-overflow"
21
+ }
22
+ //# sourceMappingURL=operation-decision-code.type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-decision-code.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_enums/operation-decision-code.type-enum.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,oBAAY,+BAA+B;IACzC,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,eAAe,qBAAqB;IACpC,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,QAAQ,cAAc;IACtB,cAAc,oBAAoB;IAClC,aAAa,mBAAmB;IAChC,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,gBAAgB,sBAAsB;IACtC,iBAAiB,wBAAwB;CAC1C"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationDecisionCode_Type = void 0;
4
+ /** Stable content-free decision vocabulary shared across stores and consumers. */
5
+ var DyFM_OperationDecisionCode_Type;
6
+ (function (DyFM_OperationDecisionCode_Type) {
7
+ DyFM_OperationDecisionCode_Type["acquired"] = "acquired";
8
+ DyFM_OperationDecisionCode_Type["renewed"] = "renewed";
9
+ DyFM_OperationDecisionCode_Type["cancelled"] = "cancelled";
10
+ DyFM_OperationDecisionCode_Type["completed"] = "completed";
11
+ DyFM_OperationDecisionCode_Type["abandoned"] = "abandoned";
12
+ DyFM_OperationDecisionCode_Type["alreadyTerminal"] = "already-terminal";
13
+ DyFM_OperationDecisionCode_Type["leaseHeld"] = "lease-held";
14
+ DyFM_OperationDecisionCode_Type["leaseExpired"] = "lease-expired";
15
+ DyFM_OperationDecisionCode_Type["ownerMismatch"] = "owner-mismatch";
16
+ DyFM_OperationDecisionCode_Type["notRunning"] = "not-running";
17
+ DyFM_OperationDecisionCode_Type["notFound"] = "not-found";
18
+ DyFM_OperationDecisionCode_Type["invalidCommand"] = "invalid-command";
19
+ DyFM_OperationDecisionCode_Type["invalidRecord"] = "invalid-record";
20
+ DyFM_OperationDecisionCode_Type["identityMismatch"] = "identity-mismatch";
21
+ DyFM_OperationDecisionCode_Type["invalidClock"] = "invalid-clock";
22
+ DyFM_OperationDecisionCode_Type["clockRegressed"] = "clock-regressed";
23
+ DyFM_OperationDecisionCode_Type["counterExhausted"] = "counter-exhausted";
24
+ DyFM_OperationDecisionCode_Type["leaseTimeOverflow"] = "lease-time-overflow";
25
+ })(DyFM_OperationDecisionCode_Type || (exports.DyFM_OperationDecisionCode_Type = DyFM_OperationDecisionCode_Type = {}));
26
+ //# sourceMappingURL=operation-decision-code.type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-decision-code.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_enums/operation-decision-code.type-enum.ts"],"names":[],"mappings":";;;AAAA,kFAAkF;AAClF,IAAY,+BAmBX;AAnBD,WAAY,+BAA+B;IACzC,wDAAqB,CAAA;IACrB,sDAAmB,CAAA;IACnB,0DAAuB,CAAA;IACvB,0DAAuB,CAAA;IACvB,0DAAuB,CAAA;IACvB,uEAAoC,CAAA;IACpC,2DAAwB,CAAA;IACxB,iEAA8B,CAAA;IAC9B,mEAAgC,CAAA;IAChC,6DAA0B,CAAA;IAC1B,yDAAsB,CAAA;IACtB,qEAAkC,CAAA;IAClC,mEAAgC,CAAA;IAChC,yEAAsC,CAAA;IACtC,iEAA8B,CAAA;IAC9B,qEAAkC,CAAA;IAClC,yEAAsC,CAAA;IACtC,4EAAyC,CAAA;AAC3C,CAAC,EAnBW,+BAA+B,+CAA/B,+BAA+B,QAmB1C"}
@@ -0,0 +1,9 @@
1
+ /** Closed durable lifecycle. A cancelled identity must never become runnable again. */
2
+ export declare enum DyFM_OperationState_Type {
3
+ available = "available",
4
+ running = "running",
5
+ succeeded = "succeeded",
6
+ failed = "failed",
7
+ cancelled = "cancelled"
8
+ }
9
+ //# sourceMappingURL=operation-state.type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-state.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_enums/operation-state.type-enum.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,oBAAY,wBAAwB;IAClC,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_OperationState_Type = void 0;
4
+ /** Closed durable lifecycle. A cancelled identity must never become runnable again. */
5
+ var DyFM_OperationState_Type;
6
+ (function (DyFM_OperationState_Type) {
7
+ DyFM_OperationState_Type["available"] = "available";
8
+ DyFM_OperationState_Type["running"] = "running";
9
+ DyFM_OperationState_Type["succeeded"] = "succeeded";
10
+ DyFM_OperationState_Type["failed"] = "failed";
11
+ DyFM_OperationState_Type["cancelled"] = "cancelled";
12
+ })(DyFM_OperationState_Type || (exports.DyFM_OperationState_Type = DyFM_OperationState_Type = {}));
13
+ //# sourceMappingURL=operation-state.type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-state.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_enums/operation-state.type-enum.ts"],"names":[],"mappings":";;;AAAA,uFAAuF;AACvF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,mDAAuB,CAAA;IACvB,6CAAiB,CAAA;IACjB,mDAAuB,CAAA;AACzB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC"}
@@ -0,0 +1,65 @@
1
+ import { DyFM_OperationDecisionCode_Type } from '../_enums/operation-decision-code.type-enum';
2
+ import { DyFM_OperationState_Type } from '../_enums/operation-state.type-enum';
3
+ /** Fixed reasons only: product errors and provider payloads do not belong in the lease record. */
4
+ export type DyFM_OperationReason_Type = 'abandoned' | 'completed' | 'failed' | 'cancel-requested' | null;
5
+ /** Flat, content-free durable state. All identities are domain-separated SHA-256 hexadecimal values. */
6
+ export interface DyFM_OperationRecord_Interface {
7
+ readonly contractVersion: 'dyfm-operation-record/1';
8
+ readonly scopeHash: string;
9
+ readonly operationId: string;
10
+ readonly state: `${DyFM_OperationState_Type}`;
11
+ readonly revision: number;
12
+ readonly fencingToken: number;
13
+ readonly ownerId: string | null;
14
+ readonly createdAtMs: number;
15
+ readonly updatedAtMs: number;
16
+ readonly heartbeatAtMs: number | null;
17
+ readonly leaseExpiresAtMs: number | null;
18
+ readonly cancellationRequestedAtMs: number | null;
19
+ readonly terminalAtMs: number | null;
20
+ readonly reason: DyFM_OperationReason_Type;
21
+ }
22
+ /** Request identity scopes exact replay; neither it nor the scope grants authorization. */
23
+ export interface DyFM_OperationCommandIdentity_Interface {
24
+ readonly contractVersion: 'dyfm-operation-command/1';
25
+ readonly scopeHash: string;
26
+ readonly operationId: string;
27
+ readonly requestId: string;
28
+ }
29
+ /** Ownership proof is issued only after a durable acquire commit, never by a browser. */
30
+ export interface DyFM_OperationOwner_Interface {
31
+ readonly ownerId: string;
32
+ readonly fencingToken: number;
33
+ }
34
+ /** Acquisition doubles as explicit recovery after lease expiry or voluntary abandonment. */
35
+ export type DyFM_OperationCommand_Type = DyFM_OperationCommandIdentity_Interface & ({
36
+ readonly kind: 'acquire';
37
+ readonly ownerId: string;
38
+ readonly leaseDurationMs: number;
39
+ } | ({
40
+ readonly kind: 'renew';
41
+ readonly leaseDurationMs: number;
42
+ } & DyFM_OperationOwner_Interface) | {
43
+ readonly kind: 'request-cancel';
44
+ } | ({
45
+ readonly kind: 'complete';
46
+ readonly outcome: 'succeeded' | 'failed';
47
+ } & DyFM_OperationOwner_Interface) | ({
48
+ readonly kind: 'abandon';
49
+ } & DyFM_OperationOwner_Interface));
50
+ /**
51
+ * A proposal, NOT a committed receipt or permission to dispatch work.
52
+ * The durable store must atomically check expectedRevision (null means absent), apply record when writeRequired,
53
+ * and persist the exact command + decision receipt. A CAS loser must reload/re-plan, never publish its proposal.
54
+ * Replaying a request returns the original receipt; a reused requestId with a different command is a conflict.
55
+ * Product success and this completion must share one transaction or an equivalent fenced commit protocol.
56
+ */
57
+ export interface DyFM_OperationDecision_Interface {
58
+ readonly contractVersion: 'dyfm-operation-decision/1';
59
+ readonly accepted: boolean;
60
+ readonly code: `${DyFM_OperationDecisionCode_Type}`;
61
+ readonly writeRequired: boolean;
62
+ readonly expectedRevision: number | null;
63
+ readonly record: DyFM_OperationRecord_Interface | null;
64
+ }
65
+ //# sourceMappingURL=operation-lease.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-lease.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_models/operation-lease.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,kGAAkG;AAClG,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAEzG,wGAAwG;AACxG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED,2FAA2F;AAC3F,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,yFAAyF;AACzF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,4FAA4F;AAC5F,MAAM,MAAM,0BAA0B,GAAG,uCAAuC,GAAG,CAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACxF,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,6BAA6B,CAAC,GAC9F;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAA;CAAE,GAAG,6BAA6B,CAAC,GACzG,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,6BAA6B,CAAC,CACjE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,GAAG,+BAA+B,EAAE,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI,CAAC;CACxD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operation-lease.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-lease.interface.js","sourceRoot":"","sources":["../../../../src/_modules/operation-control/_models/operation-lease.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './_collections/operation-lease.util';
2
+ export * from './_enums/operation-decision-code.type-enum';
3
+ export * from './_enums/operation-state.type-enum';
4
+ export * from './_models/operation-lease.interface';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/operation-control/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./_collections/operation-lease.util"), exports);
5
+ tslib_1.__exportStar(require("./_enums/operation-decision-code.type-enum"), exports);
6
+ tslib_1.__exportStar(require("./_enums/operation-state.type-enum"), exports);
7
+ tslib_1.__exportStar(require("./_models/operation-lease.interface"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/operation-control/index.ts"],"names":[],"mappings":";;;AAAA,8EAAoD;AACpD,qFAA2D;AAC3D,6EAAmD;AACnD,8EAAoD"}
@@ -1 +1 @@
1
- {"version":3,"file":"pip-multi-pipe-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAC/F,OAAO,EAC6C,8BAA8B,EAEjF,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIpF,MAAM,MAAM,0BAA0B,GAAG;KACtC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM;CAC5F,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,0BAMxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAC9C,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,GAAG,CAwFzC"}
1
+ {"version":3,"file":"pip-multi-pipe-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAE/F,OAAO,EAC6C,8BAA8B,EAEjF,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIpF,MAAM,MAAM,0BAA0B,GAAG;KACtC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM;CAC5F,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,0BAMxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAC9C,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,GAAG,CAwFzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pip-multi-pipe-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pip-multi-pipe-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DyFM_RangePipe_Setting } from '../../_enums/pip-range-pipe-setting.enum';
2
1
  import { DyFM_RangeValue } from '../../../../_models/control-models/range-value.control-model';
2
+ import { DyFM_RangePipe_Setting } from '../../_enums/pip-range-pipe-setting.enum';
3
3
  import { DyFM_MultiPipe_Setting } from '../../_models/pip-multi-pipe-settings.type';
4
4
  /**
5
5
  * This pipe will return the range of a value
@@ -1 +1 @@
1
- {"version":3,"file":"pip-range-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAGpF;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,sBAAsB,GAAG,MAAM,EACxC,UAAU,CAAC,EAAE,sBAAsB,EAAE,GACpC,MAAM,GAAG,MAAM,GAAG,eAAe,CAmCnC"}
1
+ {"version":3,"file":"pip-range-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAGpF;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,sBAAsB,GAAG,MAAM,EACxC,UAAU,CAAC,EAAE,sBAAsB,EAAE,GACpC,MAAM,GAAG,MAAM,GAAG,eAAe,CAmCnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pip-range-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts"],"names":[],"mappings":";;AAwBA,4DAuCC;AAxDD,0FAAkF;AAGlF,yEAA0E;AAE1E;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CACtC,KAAsB,EACtB,OAAwC,EACxC,UAAqC;IAErC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,OAAO;YACjC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,IAAI;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC;QAEpB,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC,EAAE,CAAC;QAElB,KAAK,oDAAsB,CAAC,IAAI,CAAC;QACjC,KAAK,oDAAsB,CAAC,MAAM;YAChC,IAAI,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,IAAA,uDAA4B,EAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAA,uDAA4B,EAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;wBACzD,KAAK;wBACL,IAAA,uDAA4B,EAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;YACvC,CAAC;QAEH;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAsB,EACtB,OAAwC,EACxC,UAAqC;IAErC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,kBAAkB;YAClB,gDAAgD,EAChD,kDAAkD,EAClD,WAAW,EAAE,KAAK,EAClB,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,oDAAsB,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,IACE,OAAO,KAAK,oDAAsB,CAAC,IAAI;QACvC,OAAO,KAAK,oDAAsB,CAAC,MAAM;QACzC,CAAC,GAAG,UAAU,EAAE,MAAM,EACtB,CAAC;QACD,OAAO,CAAC,IAAI,CACV,kBAAkB;YAClB,8EAA8E,EAC9E,oEAAoE,EACpE,WAAW,EAAE,KAAK,EAClB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,UAAU,EAC9B,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"pip-range-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts"],"names":[],"mappings":";;AAyBA,4DAuCC;AAvDD,0FAAkF;AAElF,yEAA0E;AAE1E;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CACtC,KAAsB,EACtB,OAAwC,EACxC,UAAqC;IAErC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,OAAO;YACjC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,IAAI;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC;QAEpB,KAAK,oDAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,oDAAsB,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC,EAAE,CAAC;QAElB,KAAK,oDAAsB,CAAC,IAAI,CAAC;QACjC,KAAK,oDAAsB,CAAC,MAAM;YAChC,IAAI,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,IAAA,uDAA4B,EAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAA,uDAA4B,EAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;wBACzD,KAAK;wBACL,IAAA,uDAA4B,EAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;YACvC,CAAC;QAEH;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAsB,EACtB,OAAwC,EACxC,UAAqC;IAErC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,kBAAkB;YAClB,gDAAgD,EAChD,kDAAkD,EAClD,WAAW,EAAE,KAAK,EAClB,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,oDAAsB,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,IACE,OAAO,KAAK,oDAAsB,CAAC,IAAI;QACvC,OAAO,KAAK,oDAAsB,CAAC,MAAM;QACzC,CAAC,GAAG,UAAU,EAAE,MAAM,EACtB,CAAC;QACD,OAAO,CAAC,IAAI,CACV,kBAAkB;YAClB,8EAA8E,EAC9E,oEAAoE,EACpE,WAAW,EAAE,KAAK,EAClB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,UAAU,EAC9B,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pip-smart-replace-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIpF;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,sBAAsB,EAAE,GACrE,MAAM,CAsDR"}
1
+ {"version":3,"file":"pip-smart-replace-pipe.util.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIpF;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,sBAAsB,EAAE,GACrE,MAAM,CAsDR"}
@@ -1 +1 @@
1
- {"version":3,"file":"pip-smart-replace-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts"],"names":[],"mappings":";;AAuBA,0EAwDC;AAxED,sEAAmE;AAEnE,yEAA0E;AAG1E;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAC7C,KAAa,EAAE,QAAgB,EAAE,UAAqC;IAGtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,mBAAQ,CAAC,IAAI,CACX,kBAAkB;YAClB,iDAAiD,EACjD,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;gBAC1B,mBAAQ,CAAC,IAAI,CACX,kBAAkB;oBAClB,gCAAgC,GAAG,GAAG,GAAG,+BAA+B,EACxE,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,mBAAQ,CAAC,IAAI,CACX,kBAAkB;oBAClB,gCAAgC,GAAG,GAAG,GAAG,gCAAgC,EACzE,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,uDAA4B,EAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EACnB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CACpB,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,uDAA4B,EAC1C,QAAQ,CAAC,GAAG,CAAC,EACb,UAAU,CACX,CAAC;QACJ,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"pip-smart-replace-pipe.util.js","sourceRoot":"","sources":["../../../../../src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts"],"names":[],"mappings":";;AAwBA,0EAwDC;AAzED,sEAAmE;AAGnE,yEAA0E;AAG1E;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAC7C,KAAa,EAAE,QAAgB,EAAE,UAAqC;IAGtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,mBAAQ,CAAC,IAAI,CACX,kBAAkB;YAClB,iDAAiD,EACjD,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;gBAC1B,mBAAQ,CAAC,IAAI,CACX,kBAAkB;oBAClB,gCAAgC,GAAG,GAAG,GAAG,+BAA+B,EACxE,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,mBAAQ,CAAC,IAAI,CACX,kBAAkB;oBAClB,gCAAgC,GAAG,GAAG,GAAG,gCAAgC,EACzE,MAAM,EACN,IAAI,KAAK,EAAE,CACZ,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,uDAA4B,EAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EACnB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CACpB,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,uDAA4B,EAC1C,QAAQ,CAAC,GAAG,CAAC,EACb,UAAU,CACX,CAAC;QACJ,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}