@agentplat/mesh-sim 0.3.0-beta.2 → 0.3.0-beta.5

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 (185) hide show
  1. package/README.md +447 -2
  2. package/dist/collective-closed-loop-action.d.ts +80 -0
  3. package/dist/collective-closed-loop-action.d.ts.map +1 -0
  4. package/dist/collective-closed-loop-action.js +471 -0
  5. package/dist/collective-closed-loop-action.js.map +1 -0
  6. package/dist/collective-closed-loop-contracts.d.ts +75 -0
  7. package/dist/collective-closed-loop-contracts.d.ts.map +1 -0
  8. package/dist/collective-closed-loop-contracts.js +420 -0
  9. package/dist/collective-closed-loop-contracts.js.map +1 -0
  10. package/dist/collective-closed-loop-fault-matrix.d.ts +101 -0
  11. package/dist/collective-closed-loop-fault-matrix.d.ts.map +1 -0
  12. package/dist/collective-closed-loop-fault-matrix.js +253 -0
  13. package/dist/collective-closed-loop-fault-matrix.js.map +1 -0
  14. package/dist/collective-closed-loop-recovery.d.ts +70 -0
  15. package/dist/collective-closed-loop-recovery.d.ts.map +1 -0
  16. package/dist/collective-closed-loop-recovery.js +823 -0
  17. package/dist/collective-closed-loop-recovery.js.map +1 -0
  18. package/dist/collective-closed-loop-reference.d.ts +54 -0
  19. package/dist/collective-closed-loop-reference.d.ts.map +1 -0
  20. package/dist/collective-closed-loop-reference.js +1696 -0
  21. package/dist/collective-closed-loop-reference.js.map +1 -0
  22. package/dist/collective-closed-loop-replanning.d.ts +27 -0
  23. package/dist/collective-closed-loop-replanning.d.ts.map +1 -0
  24. package/dist/collective-closed-loop-replanning.js +151 -0
  25. package/dist/collective-closed-loop-replanning.js.map +1 -0
  26. package/dist/collective-closed-loop-resilience-campaign.d.ts +22 -0
  27. package/dist/collective-closed-loop-resilience-campaign.d.ts.map +1 -0
  28. package/dist/collective-closed-loop-resilience-campaign.js +196 -0
  29. package/dist/collective-closed-loop-resilience-campaign.js.map +1 -0
  30. package/dist/collective-closed-loop-resilience-contracts.d.ts +138 -0
  31. package/dist/collective-closed-loop-resilience-contracts.d.ts.map +1 -0
  32. package/dist/collective-closed-loop-resilience-contracts.js +677 -0
  33. package/dist/collective-closed-loop-resilience-contracts.js.map +1 -0
  34. package/dist/collective-closed-loop-runner.d.ts +133 -0
  35. package/dist/collective-closed-loop-runner.d.ts.map +1 -0
  36. package/dist/collective-closed-loop-runner.js +1429 -0
  37. package/dist/collective-closed-loop-runner.js.map +1 -0
  38. package/dist/collective-closed-loop-runtime.d.ts +95 -0
  39. package/dist/collective-closed-loop-runtime.d.ts.map +1 -0
  40. package/dist/collective-closed-loop-runtime.js +1192 -0
  41. package/dist/collective-closed-loop-runtime.js.map +1 -0
  42. package/dist/collective-effect-provenance.d.ts +5 -0
  43. package/dist/collective-effect-provenance.d.ts.map +1 -0
  44. package/dist/collective-effect-provenance.js +32 -0
  45. package/dist/collective-effect-provenance.js.map +1 -0
  46. package/dist/collective-environment.d.ts +49 -0
  47. package/dist/collective-environment.d.ts.map +1 -0
  48. package/dist/collective-environment.js +907 -0
  49. package/dist/collective-environment.js.map +1 -0
  50. package/dist/collective-progressive-scale-overlay.d.ts +39 -0
  51. package/dist/collective-progressive-scale-overlay.d.ts.map +1 -0
  52. package/dist/collective-progressive-scale-overlay.js +147 -0
  53. package/dist/collective-progressive-scale-overlay.js.map +1 -0
  54. package/dist/collective-progressive-scale.d.ts +202 -0
  55. package/dist/collective-progressive-scale.d.ts.map +1 -0
  56. package/dist/collective-progressive-scale.js +755 -0
  57. package/dist/collective-progressive-scale.js.map +1 -0
  58. package/dist/collective-statistical-campaign-aggregation.d.ts +97 -0
  59. package/dist/collective-statistical-campaign-aggregation.d.ts.map +1 -0
  60. package/dist/collective-statistical-campaign-aggregation.js +446 -0
  61. package/dist/collective-statistical-campaign-aggregation.js.map +1 -0
  62. package/dist/collective-statistical-campaign-artifact-stream.d.ts +66 -0
  63. package/dist/collective-statistical-campaign-artifact-stream.d.ts.map +1 -0
  64. package/dist/collective-statistical-campaign-artifact-stream.js +207 -0
  65. package/dist/collective-statistical-campaign-artifact-stream.js.map +1 -0
  66. package/dist/collective-statistical-campaign-bundle.d.ts +151 -0
  67. package/dist/collective-statistical-campaign-bundle.d.ts.map +1 -0
  68. package/dist/collective-statistical-campaign-bundle.js +885 -0
  69. package/dist/collective-statistical-campaign-bundle.js.map +1 -0
  70. package/dist/collective-statistical-campaign-executor.d.ts +131 -0
  71. package/dist/collective-statistical-campaign-executor.d.ts.map +1 -0
  72. package/dist/collective-statistical-campaign-executor.js +856 -0
  73. package/dist/collective-statistical-campaign-executor.js.map +1 -0
  74. package/dist/collective-statistical-campaign-normative-analysis.d.ts +85 -0
  75. package/dist/collective-statistical-campaign-normative-analysis.d.ts.map +1 -0
  76. package/dist/collective-statistical-campaign-normative-analysis.js +483 -0
  77. package/dist/collective-statistical-campaign-normative-analysis.js.map +1 -0
  78. package/dist/collective-statistical-campaign-normative-operation.d.ts +89 -0
  79. package/dist/collective-statistical-campaign-normative-operation.d.ts.map +1 -0
  80. package/dist/collective-statistical-campaign-normative-operation.js +266 -0
  81. package/dist/collective-statistical-campaign-normative-operation.js.map +1 -0
  82. package/dist/collective-statistical-campaign-normative-registry.d.ts +24 -0
  83. package/dist/collective-statistical-campaign-normative-registry.d.ts.map +1 -0
  84. package/dist/collective-statistical-campaign-normative-registry.js +163 -0
  85. package/dist/collective-statistical-campaign-normative-registry.js.map +1 -0
  86. package/dist/collective-statistical-campaign-registered-adapter.d.ts +16 -0
  87. package/dist/collective-statistical-campaign-registered-adapter.d.ts.map +1 -0
  88. package/dist/collective-statistical-campaign-registered-adapter.js +518 -0
  89. package/dist/collective-statistical-campaign-registered-adapter.js.map +1 -0
  90. package/dist/collective-statistical-campaign-scale.d.ts +85 -0
  91. package/dist/collective-statistical-campaign-scale.d.ts.map +1 -0
  92. package/dist/collective-statistical-campaign-scale.js +349 -0
  93. package/dist/collective-statistical-campaign-scale.js.map +1 -0
  94. package/dist/collective-trace-journal.d.ts +20 -0
  95. package/dist/collective-trace-journal.d.ts.map +1 -0
  96. package/dist/collective-trace-journal.js +105 -0
  97. package/dist/collective-trace-journal.js.map +1 -0
  98. package/dist/index.d.ts +25 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +25 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/multi-domain-environment-contracts.d.ts +122 -0
  103. package/dist/multi-domain-environment-contracts.d.ts.map +1 -0
  104. package/dist/multi-domain-environment-contracts.js +14 -0
  105. package/dist/multi-domain-environment-contracts.js.map +1 -0
  106. package/dist/multi-domain-environment-runtime.d.ts +25 -0
  107. package/dist/multi-domain-environment-runtime.d.ts.map +1 -0
  108. package/dist/multi-domain-environment-runtime.js +493 -0
  109. package/dist/multi-domain-environment-runtime.js.map +1 -0
  110. package/dist/multi-domain-environment-validation.d.ts +33 -0
  111. package/dist/multi-domain-environment-validation.d.ts.map +1 -0
  112. package/dist/multi-domain-environment-validation.js +415 -0
  113. package/dist/multi-domain-environment-validation.js.map +1 -0
  114. package/dist/multi-domain-environment.d.ts +4 -0
  115. package/dist/multi-domain-environment.d.ts.map +1 -0
  116. package/dist/multi-domain-environment.js +4 -0
  117. package/dist/multi-domain-environment.js.map +1 -0
  118. package/dist/reducer-scenario.d.ts.map +1 -1
  119. package/dist/reducer-scenario.js +67 -19
  120. package/dist/reducer-scenario.js.map +1 -1
  121. package/dist/scalable-evaluation-contracts.d.ts +835 -0
  122. package/dist/scalable-evaluation-contracts.d.ts.map +1 -0
  123. package/dist/scalable-evaluation-contracts.js +22 -0
  124. package/dist/scalable-evaluation-contracts.js.map +1 -0
  125. package/dist/scalable-evaluation-durability.d.ts +16 -0
  126. package/dist/scalable-evaluation-durability.d.ts.map +1 -0
  127. package/dist/scalable-evaluation-durability.js +339 -0
  128. package/dist/scalable-evaluation-durability.js.map +1 -0
  129. package/dist/scalable-evaluation-evidence.d.ts +93 -0
  130. package/dist/scalable-evaluation-evidence.d.ts.map +1 -0
  131. package/dist/scalable-evaluation-evidence.js +470 -0
  132. package/dist/scalable-evaluation-evidence.js.map +1 -0
  133. package/dist/scalable-evaluation-reference-integrated.d.ts +87 -0
  134. package/dist/scalable-evaluation-reference-integrated.d.ts.map +1 -0
  135. package/dist/scalable-evaluation-reference-integrated.js +1318 -0
  136. package/dist/scalable-evaluation-reference-integrated.js.map +1 -0
  137. package/dist/scalable-evaluation-runner.d.ts +8 -0
  138. package/dist/scalable-evaluation-runner.d.ts.map +1 -0
  139. package/dist/scalable-evaluation-runner.js +1810 -0
  140. package/dist/scalable-evaluation-runner.js.map +1 -0
  141. package/dist/scalable-evaluation-runtime.d.ts +86 -0
  142. package/dist/scalable-evaluation-runtime.d.ts.map +1 -0
  143. package/dist/scalable-evaluation-runtime.js +1310 -0
  144. package/dist/scalable-evaluation-runtime.js.map +1 -0
  145. package/dist/scalable-evaluation-validation.d.ts +59 -0
  146. package/dist/scalable-evaluation-validation.d.ts.map +1 -0
  147. package/dist/scalable-evaluation-validation.js +377 -0
  148. package/dist/scalable-evaluation-validation.js.map +1 -0
  149. package/dist/scalable-evaluation.d.ts +8 -0
  150. package/dist/scalable-evaluation.d.ts.map +1 -0
  151. package/dist/scalable-evaluation.js +8 -0
  152. package/dist/scalable-evaluation.js.map +1 -0
  153. package/dist/sharded-simulation-contracts.d.ts +240 -0
  154. package/dist/sharded-simulation-contracts.d.ts.map +1 -0
  155. package/dist/sharded-simulation-contracts.js +199 -0
  156. package/dist/sharded-simulation-contracts.js.map +1 -0
  157. package/dist/sharded-simulation-runtime.d.ts +64 -0
  158. package/dist/sharded-simulation-runtime.d.ts.map +1 -0
  159. package/dist/sharded-simulation-runtime.js +755 -0
  160. package/dist/sharded-simulation-runtime.js.map +1 -0
  161. package/dist/sharded-simulation-validation.d.ts +10 -0
  162. package/dist/sharded-simulation-validation.d.ts.map +1 -0
  163. package/dist/sharded-simulation-validation.js +250 -0
  164. package/dist/sharded-simulation-validation.js.map +1 -0
  165. package/dist/sharded-simulation.d.ts +46 -0
  166. package/dist/sharded-simulation.d.ts.map +1 -0
  167. package/dist/sharded-simulation.js +32 -0
  168. package/dist/sharded-simulation.js.map +1 -0
  169. package/dist/verified-benchmark-contracts.d.ts +132 -0
  170. package/dist/verified-benchmark-contracts.d.ts.map +1 -0
  171. package/dist/verified-benchmark-contracts.js +2 -0
  172. package/dist/verified-benchmark-contracts.js.map +1 -0
  173. package/dist/verified-benchmark-runtime.d.ts +20 -0
  174. package/dist/verified-benchmark-runtime.d.ts.map +1 -0
  175. package/dist/verified-benchmark-runtime.js +199 -0
  176. package/dist/verified-benchmark-runtime.js.map +1 -0
  177. package/dist/verified-benchmark-validation.d.ts +64 -0
  178. package/dist/verified-benchmark-validation.d.ts.map +1 -0
  179. package/dist/verified-benchmark-validation.js +481 -0
  180. package/dist/verified-benchmark-validation.js.map +1 -0
  181. package/dist/verified-benchmark.d.ts +4 -0
  182. package/dist/verified-benchmark.d.ts.map +1 -0
  183. package/dist/verified-benchmark.js +4 -0
  184. package/dist/verified-benchmark.js.map +1 -0
  185. package/package.json +18 -8
@@ -0,0 +1,253 @@
1
+ import { digestPlanningJsonV1, } from '@agentplat/collective-planning';
2
+ import { replayMeshReducerScenario, runMeshReducerScenario, } from './reducer-scenario.js';
3
+ /**
4
+ * A compact, runner-neutral fault schedule. The transport faults are always
5
+ * executed by the simulation driver; capability and assignment faults are
6
+ * normal reducer events so an adapter cannot mistake a trace annotation for a
7
+ * domain transition.
8
+ */
9
+ export const COLLECTIVE_CLOSED_LOOP_FAULT_MATRIX_LIMITS_V1 = Object.freeze({
10
+ maximumFaults: 8,
11
+ maximumScenarioEvents: 5_000,
12
+ maximumObservers: 8,
13
+ });
14
+ /**
15
+ * Executes a bounded mixed fault campaign. This function intentionally does
16
+ * not inject domain faults itself: the supplied Mesh reducer adapter receives
17
+ * the signed/verified withdrawal or decline event from its normal schedule.
18
+ */
19
+ export async function runCollectiveClosedLoopFaultMatrixV1(input) {
20
+ validateInput(input);
21
+ const trace = await runMeshReducerScenario(input.scenario, input.runtime);
22
+ const records = await materializeRecords(input, trace);
23
+ const matrixDigest = digest({
24
+ kind: 'collective-closed-loop-fault-matrix-result-v1',
25
+ scenarioDigest: trace.configurationDigest,
26
+ traceDigest: trace.chainDigest,
27
+ records: records.map((record) => ({
28
+ faultId: record.faultId,
29
+ observedEventDigest: record.observedEventDigest,
30
+ })),
31
+ });
32
+ return Object.freeze({
33
+ schemaVersion: 1,
34
+ scenarioDigest: trace.configurationDigest,
35
+ trace,
36
+ records: Object.freeze(records),
37
+ matrixDigest,
38
+ });
39
+ }
40
+ /** Re-runs the exact schedule and requires both driver and matrix evidence. */
41
+ export async function replayCollectiveClosedLoopFaultMatrixV1(input, expected) {
42
+ validateInput(input);
43
+ const replay = await replayMeshReducerScenario(input.scenario, input.runtime, expected.trace);
44
+ const actual = await runCollectiveClosedLoopFaultMatrixV1(input);
45
+ const matches = replay.matches && actual.matrixDigest === expected.matrixDigest;
46
+ return Object.freeze({
47
+ matches,
48
+ expectedMatrixDigest: expected.matrixDigest,
49
+ actualMatrixDigest: actual.matrixDigest,
50
+ replay,
51
+ });
52
+ }
53
+ async function materializeRecords(input, trace) {
54
+ const results = [];
55
+ for (const fault of input.faults) {
56
+ const injectedRecord = findInjectedRecord(trace, fault);
57
+ if (injectedRecord.order.logicalTime !== fault.logicalTime)
58
+ throw new Error(`fault_matrix_injection_time_mismatch:${fault.faultId}`);
59
+ if (!injectedRecord.accepted)
60
+ throw new Error(`fault_matrix_injection_not_applied:${fault.faultId}:${injectedRecord.rejectionCode ?? 'rejected'}`);
61
+ if (fault.family === 'assignment.decline') {
62
+ const reoffer = trace.records.find((record) => record.eventId === fault.reofferEventId);
63
+ if (reoffer === undefined ||
64
+ !reoffer.accepted ||
65
+ reoffer.order.logicalTime < injectedRecord.order.logicalTime ||
66
+ (reoffer.order.logicalTime === injectedRecord.order.logicalTime &&
67
+ reoffer.order.insertionSequence <=
68
+ injectedRecord.order.insertionSequence))
69
+ throw new Error(`fault_matrix_reoffer_not_causal:${fault.faultId}`);
70
+ }
71
+ const observer = input.observations.find((candidate) => candidate.faultId === fault.faultId);
72
+ if (observer === undefined)
73
+ throw new Error(`fault_matrix_observation_missing:${fault.faultId}`);
74
+ if (!observer.observe({ trace, injectedRecord }))
75
+ throw new Error(`fault_matrix_observation_not_confirmed:${fault.faultId}`);
76
+ const scheduledEventDigest = digest({
77
+ kind: 'collective-closed-loop-fault-matrix-scheduled-v1',
78
+ value: scheduledProjection(fault),
79
+ });
80
+ const injectedEventDigest = digest({
81
+ kind: 'collective-closed-loop-fault-matrix-injected-v1',
82
+ value: recordProjection(injectedRecord),
83
+ });
84
+ const observedEventDigest = digest({
85
+ kind: 'collective-closed-loop-fault-matrix-observed-v1',
86
+ value: {
87
+ faultId: fault.faultId,
88
+ injectedRecordId: injectedRecord.eventId,
89
+ chainDigest: injectedRecord.chainDigest,
90
+ stateDigest: injectedRecord.stateDigest,
91
+ projectionDigest: injectedRecord.projectionDigest,
92
+ },
93
+ });
94
+ results.push(Object.freeze({
95
+ schemaVersion: 1,
96
+ faultId: fault.faultId,
97
+ family: fault.family,
98
+ scheduledEventDigest,
99
+ injectedEventDigest,
100
+ observedEventDigest,
101
+ injectedRecordId: injectedRecord.eventId,
102
+ observed: true,
103
+ }));
104
+ }
105
+ return results;
106
+ }
107
+ function findInjectedRecord(trace, fault) {
108
+ const recordId = fault.injection.kind === 'reducer_event'
109
+ ? fault.injection.eventId
110
+ : `fault:${fault.injection.simulationFaultId}`;
111
+ const record = trace.records.find((candidate) => candidate.eventId === recordId);
112
+ if (record === undefined)
113
+ throw new Error(`fault_matrix_injection_missing:${fault.faultId}`);
114
+ if (fault.injection.kind === 'driver_fault' &&
115
+ (record.kind !== 'fault' ||
116
+ record.faultId !== fault.injection.simulationFaultId))
117
+ throw new Error(`fault_matrix_driver_injection_invalid:${fault.faultId}`);
118
+ return record;
119
+ }
120
+ function validateInput(input) {
121
+ if (!input || typeof input !== 'object' || input.schemaVersion !== 1)
122
+ throw new TypeError('fault_matrix_input_invalid');
123
+ if (!Array.isArray(input.faults) || !Array.isArray(input.observations))
124
+ throw new TypeError('fault_matrix_collections_invalid');
125
+ if (input.faults.length === 0 ||
126
+ input.faults.length >
127
+ COLLECTIVE_CLOSED_LOOP_FAULT_MATRIX_LIMITS_V1.maximumFaults ||
128
+ input.observations.length !== input.faults.length ||
129
+ input.scenario.events.length >
130
+ COLLECTIVE_CLOSED_LOOP_FAULT_MATRIX_LIMITS_V1.maximumScenarioEvents)
131
+ throw new RangeError('fault_matrix_limit_exceeded');
132
+ const eventIds = new Set(input.scenario.events.map((event) => event.eventId));
133
+ const simulationFaults = new Map(input.scenario.faultPlan.faults.map((fault) => [fault.faultId, fault]));
134
+ const faultIds = new Set();
135
+ const observationIds = new Set();
136
+ const faultById = new Map();
137
+ for (const fault of input.faults) {
138
+ validateFault(fault, eventIds, simulationFaults);
139
+ if (faultIds.has(fault.faultId))
140
+ throw new TypeError('fault_matrix_duplicate_fault_id');
141
+ faultIds.add(fault.faultId);
142
+ faultById.set(fault.faultId, fault);
143
+ }
144
+ for (const fault of input.faults) {
145
+ if (fault.causalPredecessorFaultId !== null) {
146
+ const predecessor = faultById.get(fault.causalPredecessorFaultId);
147
+ if (predecessor === undefined)
148
+ throw new TypeError(fault.family === 'peer.restart'
149
+ ? 'fault_matrix_restart_without_crash'
150
+ : fault.family === 'network.heal'
151
+ ? 'fault_matrix_heal_without_partition'
152
+ : 'fault_matrix_predecessor_unknown');
153
+ if (predecessor.logicalTime >= fault.logicalTime)
154
+ throw new TypeError('fault_matrix_predecessor_not_earlier');
155
+ if (fault.family === 'peer.restart' &&
156
+ predecessor.family !== 'peer.crash')
157
+ throw new TypeError('fault_matrix_restart_without_crash');
158
+ if (fault.family === 'network.heal' &&
159
+ predecessor.family !== 'network.partition')
160
+ throw new TypeError('fault_matrix_heal_without_partition');
161
+ }
162
+ else if (fault.family === 'peer.restart' ||
163
+ fault.family === 'network.heal')
164
+ throw new TypeError(fault.family === 'peer.restart'
165
+ ? 'fault_matrix_restart_without_crash'
166
+ : 'fault_matrix_heal_without_partition');
167
+ }
168
+ const declaredDriverFaultIds = new Set(input.faults
169
+ .filter((fault) => fault.injection.kind === 'driver_fault')
170
+ .map((fault) => fault.injection.simulationFaultId));
171
+ if (declaredDriverFaultIds.size !== simulationFaults.size ||
172
+ [...simulationFaults.keys()].some((faultId) => !declaredDriverFaultIds.has(faultId)))
173
+ throw new TypeError('fault_matrix_driver_coverage_invalid');
174
+ for (const observation of input.observations) {
175
+ if (!observation ||
176
+ typeof observation !== 'object' ||
177
+ typeof observation.faultId !== 'string' ||
178
+ typeof observation.observe !== 'function' ||
179
+ !faultIds.has(observation.faultId) ||
180
+ observationIds.has(observation.faultId))
181
+ throw new TypeError('fault_matrix_observation_invalid');
182
+ observationIds.add(observation.faultId);
183
+ }
184
+ }
185
+ function validateFault(fault, eventIds, simulationFaults) {
186
+ if (!fault || typeof fault !== 'object' || fault.schemaVersion !== 1)
187
+ throw new TypeError('fault_matrix_fault_invalid');
188
+ if (!token(fault.faultId) || !Number.isSafeInteger(fault.logicalTime))
189
+ throw new TypeError('fault_matrix_fault_invalid');
190
+ const semantic = fault.family === 'capability.withdraw' ||
191
+ fault.family === 'assignment.decline';
192
+ if (semantic !== (fault.injection.kind === 'reducer_event'))
193
+ throw new TypeError('fault_matrix_injection_kind_invalid');
194
+ if (fault.injection.kind === 'reducer_event') {
195
+ if (!token(fault.injection.eventId) ||
196
+ !eventIds.has(fault.injection.eventId))
197
+ throw new TypeError('fault_matrix_declared_only');
198
+ }
199
+ else {
200
+ const simulationFault = simulationFaults.get(fault.injection.simulationFaultId);
201
+ const expectedKind = fault.family === 'peer.restart' ? 'peer.resume' : fault.family;
202
+ if (!token(fault.injection.simulationFaultId) ||
203
+ simulationFault === undefined ||
204
+ simulationFault.kind !== expectedKind)
205
+ throw new TypeError('fault_matrix_declared_only');
206
+ }
207
+ if (fault.family === 'assignment.decline') {
208
+ if (!token(fault.reofferEventId) ||
209
+ !eventIds.has(fault.reofferEventId) ||
210
+ !Number.isSafeInteger(fault.declinedOfferAttempt) ||
211
+ fault.declinedOfferAttempt < 1 ||
212
+ !Number.isSafeInteger(fault.reofferAttempt) ||
213
+ fault.reofferAttempt !== fault.declinedOfferAttempt + 1)
214
+ throw new TypeError('fault_matrix_reoffer_attempt_invalid');
215
+ }
216
+ }
217
+ function scheduledProjection(fault) {
218
+ return {
219
+ faultId: fault.faultId,
220
+ family: fault.family,
221
+ logicalTime: fault.logicalTime,
222
+ injection: fault.injection.kind === 'reducer_event'
223
+ ? { kind: fault.injection.kind, eventId: fault.injection.eventId }
224
+ : {
225
+ kind: fault.injection.kind,
226
+ simulationFaultId: fault.injection.simulationFaultId,
227
+ },
228
+ };
229
+ }
230
+ function recordProjection(record) {
231
+ return {
232
+ eventId: record.eventId,
233
+ kind: record.kind,
234
+ accepted: record.accepted,
235
+ actionDigest: record.actionDigest,
236
+ effectsDigest: record.effectsDigest,
237
+ stateDigest: record.stateDigest,
238
+ chainDigest: record.chainDigest,
239
+ };
240
+ }
241
+ function digest(value) {
242
+ return digestPlanningJsonV1('evaluation-boundary-evidence-v1', value, {
243
+ maximumBytes: 1_048_576,
244
+ maximumDepth: 32,
245
+ maximumNodes: 16_384,
246
+ maximumKeysPerObject: 256,
247
+ maximumItemsPerArray: 4_096,
248
+ });
249
+ }
250
+ function token(value) {
251
+ return (typeof value === 'string' && /^[A-Za-z0-9][A-Za-z0-9._:@/-]*$/u.test(value));
252
+ }
253
+ //# sourceMappingURL=collective-closed-loop-fault-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collective-closed-loop-fault-matrix.js","sourceRoot":"","sources":["../src/collective-closed-loop-fault-matrix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { DelegationMandateV1, WorkContractV1 } from "@agentplat/collective-control";
2
+ import type { MissionIntentV1 } from "@agentplat/collective-planning";
3
+ import { type MeshAllocationInboundRuntimeState, type MeshAllocationPayload, type MeshAssignmentFenceHeadProjection, type MeshExecutionHeadProjection, type MeshExecutionRecordProjection } from "@agentplat/mesh/coordination";
4
+ import { type SignedMeshEnvelope } from "@agentplat/mesh-protocol";
5
+ import type { CollectiveClosedLoopPreEffectHandleV1 } from "./collective-closed-loop-runtime.js";
6
+ import type { CollectiveClosedLoopFinalizationInputV1, CollectiveClosedLoopRuntimePeerV1, CollectiveClosedLoopRuntimeRunnerV1 } from "./collective-closed-loop-runtime.js";
7
+ /**
8
+ * Internal Increment 6 recovery seam. It is deliberately not exported from
9
+ * the package root until the resilient-runner contract is public.
10
+ *
11
+ * Recovery requires the original mandate because a replacement receives a new
12
+ * Work Contract; the old contract cannot be widened or rewritten in place.
13
+ */
14
+ export interface CollectiveClosedLoopCertifiedRecoveryInputV1 {
15
+ readonly schemaVersion: 1;
16
+ readonly preEffect: CollectiveClosedLoopPreEffectHandleV1;
17
+ readonly peers: readonly CollectiveClosedLoopRuntimePeerV1[];
18
+ readonly runner: CollectiveClosedLoopRuntimeRunnerV1;
19
+ readonly missionIntent: MissionIntentV1;
20
+ readonly mandate: DelegationMandateV1;
21
+ readonly failedWinnerPeerId: string;
22
+ readonly replacementPeerId: string;
23
+ /** Receiver-controlled logical time at which recovery is requested. */
24
+ readonly faultLogicalTimeMs: number;
25
+ }
26
+ export interface CollectiveClosedLoopCertifiedRecoveryResultV1 {
27
+ readonly schemaVersion: 1;
28
+ readonly failedWinnerPeerId: string;
29
+ readonly replacementPeerId: string;
30
+ readonly recoveryLogicalTimeMs: number;
31
+ readonly leaseStartsAt: string;
32
+ readonly takeoverProposalId: string;
33
+ readonly leaseVoteIds: readonly string[];
34
+ readonly certificateId: string;
35
+ readonly recoveryAwardId: string;
36
+ readonly recoveryAcceptanceId: string;
37
+ readonly resumedCheckpointId: string;
38
+ readonly workContract: WorkContractV1;
39
+ readonly execution: MeshExecutionHeadProjection;
40
+ readonly fenceHead: MeshAssignmentFenceHeadProjection;
41
+ readonly checkpoint: MeshExecutionRecordProjection;
42
+ readonly staleRejectionCodes: readonly string[];
43
+ readonly staleRejections: readonly CollectiveClosedLoopStaleRejectionV1[];
44
+ readonly meshStates: Readonly<Record<string, MeshAllocationInboundRuntimeState>>;
45
+ finalizeAfterCommittedEffect(input: CollectiveClosedLoopFinalizationInputV1): Promise<CollectiveClosedLoopRecoveredFinalizedResultV1>;
46
+ }
47
+ export interface CollectiveClosedLoopStaleRejectionV1 {
48
+ readonly recordType: "work.progress" | "work.result";
49
+ readonly recordId: string;
50
+ readonly envelope: SignedMeshEnvelope<MeshAllocationPayload>;
51
+ readonly rejectionCode: string;
52
+ readonly logicalTimeMs: number;
53
+ readonly stateUnchanged: true;
54
+ }
55
+ export interface CollectiveClosedLoopRecoveredFinalizedResultV1 {
56
+ readonly schemaVersion: 1;
57
+ readonly winnerPeerId: string;
58
+ readonly workContract: WorkContractV1;
59
+ readonly result: MeshExecutionRecordProjection;
60
+ readonly meshStates: Readonly<Record<string, MeshAllocationInboundRuntimeState>>;
61
+ readonly logicalTimeMs: number;
62
+ readonly interactionCount: number;
63
+ }
64
+ /**
65
+ * Applies a real, certificate-backed reassignment to an Increment 5
66
+ * pre-effect checkpoint. Every state change below passes through the public
67
+ * Mesh allocation reducers; this module only signs and routes the records.
68
+ */
69
+ export declare function recoverCollectiveClosedLoopAssignmentV1(rawInput: CollectiveClosedLoopCertifiedRecoveryInputV1): Promise<CollectiveClosedLoopCertifiedRecoveryResultV1>;
70
+ //# sourceMappingURL=collective-closed-loop-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collective-closed-loop-recovery.d.ts","sourceRoot":"","sources":["../src/collective-closed-loop-recovery.ts"],"names":[],"mappings":"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"}