@adhdev/daemon-core 0.9.82-rc.79 → 0.9.82-rc.80
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.
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/commands/router.ts +11 -6
package/dist/index.mjs
CHANGED
|
@@ -26903,24 +26903,25 @@ var DaemonCommandRouter = class {
|
|
|
26903
26903
|
changed = true;
|
|
26904
26904
|
return nextStatus;
|
|
26905
26905
|
});
|
|
26906
|
-
|
|
26906
|
+
const aggregateDirectTruthSatisfied = sourceOfTruth.coordinatorOwnsLiveTruth === true || directPeerTruth.satisfied === true;
|
|
26907
|
+
if (!changed && !(options?.requireDirectPeerTruth && unavailableNodeIds.size > 0 && !aggregateDirectTruthSatisfied)) return snapshot;
|
|
26907
26908
|
const nextSourceOfTruth = {
|
|
26908
26909
|
...sourceOfTruth,
|
|
26909
26910
|
...Object.keys(directPeerTruth).length ? {
|
|
26910
26911
|
directPeerTruth: {
|
|
26911
26912
|
...directPeerTruth,
|
|
26912
|
-
satisfied: options?.requireDirectPeerTruth === true ? unavailableNodeIds.size === 0 : directPeerTruth.satisfied,
|
|
26913
|
+
satisfied: options?.requireDirectPeerTruth === true ? aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0 : directPeerTruth.satisfied,
|
|
26913
26914
|
unavailableNodeIds: [...unavailableNodeIds]
|
|
26914
26915
|
},
|
|
26915
26916
|
...options?.requireDirectPeerTruth === true ? {
|
|
26916
|
-
coordinatorOwnsLiveTruth: unavailableNodeIds.size === 0,
|
|
26917
|
-
currentStatus: unavailableNodeIds.size === 0 ? "live_git_and_session_probes" : "direct_peer_truth_unavailable"
|
|
26917
|
+
coordinatorOwnsLiveTruth: aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0,
|
|
26918
|
+
currentStatus: aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0 ? "live_git_and_session_probes" : "direct_peer_truth_unavailable"
|
|
26918
26919
|
} : {}
|
|
26919
26920
|
} : {}
|
|
26920
26921
|
};
|
|
26921
26922
|
return {
|
|
26922
26923
|
...snapshot,
|
|
26923
|
-
...options?.requireDirectPeerTruth === true && unavailableNodeIds.size > 0 ? {
|
|
26924
|
+
...options?.requireDirectPeerTruth === true && unavailableNodeIds.size > 0 && !aggregateDirectTruthSatisfied ? {
|
|
26924
26925
|
success: false,
|
|
26925
26926
|
code: "mesh_direct_peer_truth_unavailable",
|
|
26926
26927
|
error: "Selected coordinator could not confirm direct mesh truth for every remote node yet."
|
|
@@ -29564,7 +29565,7 @@ ${block2}`);
|
|
|
29564
29565
|
};
|
|
29565
29566
|
const passivePeerTruthNotAttempted = requireDirectPeerTruth && !refreshRequested && directTruth.directEvidenceCount > 0 && directTruth.peerAttemptedCount === 0;
|
|
29566
29567
|
const effectiveDirectTruth = passivePeerTruthNotAttempted ? { ...directTruth, unavailableNodeIds: [] } : directTruth;
|
|
29567
|
-
const directTruthSatisfied = !requireDirectPeerTruth || effectiveDirectTruth.directEvidenceCount > 0
|
|
29568
|
+
const directTruthSatisfied = !requireDirectPeerTruth || effectiveDirectTruth.directEvidenceCount > 0;
|
|
29568
29569
|
if (requireDirectPeerTruth && !directTruthSatisfied) {
|
|
29569
29570
|
const failureResult = {
|
|
29570
29571
|
success: false,
|
|
@@ -29822,7 +29823,8 @@ ${block2}`);
|
|
|
29822
29823
|
localConfirmedCount: effectiveDirectTruth.localConfirmedCount,
|
|
29823
29824
|
peerAttemptedCount: effectiveDirectTruth.peerAttemptedCount,
|
|
29824
29825
|
peerConfirmedCount: effectiveDirectTruth.peerConfirmedCount,
|
|
29825
|
-
unavailableNodeIds: effectiveDirectTruth.unavailableNodeIds
|
|
29826
|
+
unavailableNodeIds: effectiveDirectTruth.unavailableNodeIds,
|
|
29827
|
+
partialNodeFailures: effectiveDirectTruth.unavailableNodeIds
|
|
29826
29828
|
}
|
|
29827
29829
|
} : {},
|
|
29828
29830
|
historicalEvidenceOnly: ["recoveryHints", "ledger.summary", "queue.summary"]
|