@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/package.json
CHANGED
package/src/commands/router.ts
CHANGED
|
@@ -1816,24 +1816,28 @@ export class DaemonCommandRouter {
|
|
|
1816
1816
|
return nextStatus;
|
|
1817
1817
|
});
|
|
1818
1818
|
|
|
1819
|
-
|
|
1819
|
+
const aggregateDirectTruthSatisfied = sourceOfTruth.coordinatorOwnsLiveTruth === true
|
|
1820
|
+
|| directPeerTruth.satisfied === true;
|
|
1821
|
+
if (!changed && !(options?.requireDirectPeerTruth && unavailableNodeIds.size > 0 && !aggregateDirectTruthSatisfied)) return snapshot;
|
|
1820
1822
|
const nextSourceOfTruth = {
|
|
1821
1823
|
...sourceOfTruth,
|
|
1822
1824
|
...(Object.keys(directPeerTruth).length ? {
|
|
1823
1825
|
directPeerTruth: {
|
|
1824
1826
|
...directPeerTruth,
|
|
1825
|
-
satisfied: options?.requireDirectPeerTruth === true
|
|
1827
|
+
satisfied: options?.requireDirectPeerTruth === true
|
|
1828
|
+
? aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0
|
|
1829
|
+
: directPeerTruth.satisfied,
|
|
1826
1830
|
unavailableNodeIds: [...unavailableNodeIds],
|
|
1827
1831
|
},
|
|
1828
1832
|
...(options?.requireDirectPeerTruth === true ? {
|
|
1829
|
-
coordinatorOwnsLiveTruth: unavailableNodeIds.size === 0,
|
|
1830
|
-
currentStatus: unavailableNodeIds.size === 0 ? 'live_git_and_session_probes' : 'direct_peer_truth_unavailable',
|
|
1833
|
+
coordinatorOwnsLiveTruth: aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0,
|
|
1834
|
+
currentStatus: aggregateDirectTruthSatisfied || unavailableNodeIds.size === 0 ? 'live_git_and_session_probes' : 'direct_peer_truth_unavailable',
|
|
1831
1835
|
} : {}),
|
|
1832
1836
|
} : {}),
|
|
1833
1837
|
};
|
|
1834
1838
|
return {
|
|
1835
1839
|
...snapshot,
|
|
1836
|
-
...(options?.requireDirectPeerTruth === true && unavailableNodeIds.size > 0 ? {
|
|
1840
|
+
...(options?.requireDirectPeerTruth === true && unavailableNodeIds.size > 0 && !aggregateDirectTruthSatisfied ? {
|
|
1837
1841
|
success: false,
|
|
1838
1842
|
code: 'mesh_direct_peer_truth_unavailable',
|
|
1839
1843
|
error: 'Selected coordinator could not confirm direct mesh truth for every remote node yet.',
|
|
@@ -4851,7 +4855,7 @@ export class DaemonCommandRouter {
|
|
|
4851
4855
|
? { ...directTruth, unavailableNodeIds: [] as string[] }
|
|
4852
4856
|
: directTruth;
|
|
4853
4857
|
const directTruthSatisfied = !requireDirectPeerTruth
|
|
4854
|
-
||
|
|
4858
|
+
|| effectiveDirectTruth.directEvidenceCount > 0;
|
|
4855
4859
|
if (requireDirectPeerTruth && !directTruthSatisfied) {
|
|
4856
4860
|
const failureResult = {
|
|
4857
4861
|
success: false,
|
|
@@ -5144,6 +5148,7 @@ export class DaemonCommandRouter {
|
|
|
5144
5148
|
peerAttemptedCount: effectiveDirectTruth.peerAttemptedCount,
|
|
5145
5149
|
peerConfirmedCount: effectiveDirectTruth.peerConfirmedCount,
|
|
5146
5150
|
unavailableNodeIds: effectiveDirectTruth.unavailableNodeIds,
|
|
5151
|
+
partialNodeFailures: effectiveDirectTruth.unavailableNodeIds,
|
|
5147
5152
|
},
|
|
5148
5153
|
} : {}),
|
|
5149
5154
|
historicalEvidenceOnly: ['recoveryHints', 'ledger.summary', 'queue.summary'],
|