@githolon/dsl 0.119.9 → 0.119.12
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/dart/CHANGELOG.md +12 -0
- package/dart/lib/src/background_work.dart +11 -0
- package/dart/lib/src/peer_application_streams.dart +8 -3
- package/dart/lib/src/reception/dart_reception.dart +17 -4
- package/dart/lib/src/reception/workspace_preparation_report.dart +50 -41
- package/dart/lib/src/runner/node-entry.mjs +309 -104
- package/dart/lib/src/sync_status_projection.dart +42 -5
- package/dart/pubspec.lock +1 -1
- package/dart/pubspec.yaml +2 -2
- package/dart/test/sync_reconnect_convergence_test.dart +246 -0
- package/dart/test/sync_status_preparation_report_test.dart +70 -0
- package/dart/test/workspace_preparation_upkeep_test.dart +40 -6
- package/dart_types/CHANGELOG.md +8 -0
- package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pb.dart +98 -0
- package/dart_types/lib/src/proto/nomos/runtime/v2/residency_desk.pb.dart +238 -0
- package/dart_types/lib/src/proto/nomos/runtime/v2/runtime.pb.dart +43 -2
- package/dart_types/pubspec.yaml +1 -1
- package/package.json +2 -2
- package/src/business_birth.ts +17 -7
- package/src/compile_package_main.ts +6 -3
|
@@ -1432,6 +1432,7 @@ class HostHealth extends $pb.GeneratedMessage {
|
|
|
1432
1432
|
ArtifactsTransportSnapshot? artifacts,
|
|
1433
1433
|
$core.Iterable<RetentionOutcomeCounter>? retention,
|
|
1434
1434
|
$core.Iterable<CorrespondenceHold>? correspondenceHolds,
|
|
1435
|
+
KernelIngressSnapshot? ingress,
|
|
1435
1436
|
}) {
|
|
1436
1437
|
final result = create();
|
|
1437
1438
|
if (replica != null) result.replica = replica;
|
|
@@ -1448,6 +1449,7 @@ class HostHealth extends $pb.GeneratedMessage {
|
|
|
1448
1449
|
if (retention != null) result.retention.addAll(retention);
|
|
1449
1450
|
if (correspondenceHolds != null)
|
|
1450
1451
|
result.correspondenceHolds.addAll(correspondenceHolds);
|
|
1452
|
+
if (ingress != null) result.ingress = ingress;
|
|
1451
1453
|
return result;
|
|
1452
1454
|
}
|
|
1453
1455
|
|
|
@@ -1485,6 +1487,8 @@ class HostHealth extends $pb.GeneratedMessage {
|
|
|
1485
1487
|
subBuilder: RetentionOutcomeCounter.create)
|
|
1486
1488
|
..pPM<CorrespondenceHold>(12, _omitFieldNames ? '' : 'correspondenceHolds',
|
|
1487
1489
|
subBuilder: CorrespondenceHold.create)
|
|
1490
|
+
..aOM<KernelIngressSnapshot>(13, _omitFieldNames ? '' : 'ingress',
|
|
1491
|
+
subBuilder: KernelIngressSnapshot.create)
|
|
1488
1492
|
..hasRequiredFields = false;
|
|
1489
1493
|
|
|
1490
1494
|
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
|
@@ -1605,6 +1609,240 @@ class HostHealth extends $pb.GeneratedMessage {
|
|
|
1605
1609
|
/// letter is actually waiting on, which is what lets it become event driven.
|
|
1606
1610
|
@$pb.TagNumber(12)
|
|
1607
1611
|
$pb.PbList<CorrespondenceHold> get correspondenceHolds => $_getList(11);
|
|
1612
|
+
|
|
1613
|
+
/// Requests waiting for the dedicated kernel execution thread. A full ingress refuses new calls
|
|
1614
|
+
/// (callers retry), so this shows how close a host is to refusing. Absent from an older host.
|
|
1615
|
+
@$pb.TagNumber(13)
|
|
1616
|
+
KernelIngressSnapshot get ingress => $_getN(12);
|
|
1617
|
+
@$pb.TagNumber(13)
|
|
1618
|
+
set ingress(KernelIngressSnapshot value) => $_setField(13, value);
|
|
1619
|
+
@$pb.TagNumber(13)
|
|
1620
|
+
$core.bool hasIngress() => $_has(12);
|
|
1621
|
+
@$pb.TagNumber(13)
|
|
1622
|
+
void clearIngress() => $_clearField(13);
|
|
1623
|
+
@$pb.TagNumber(13)
|
|
1624
|
+
KernelIngressSnapshot ensureIngress() => $_ensure(12);
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
class KernelIngressSnapshot extends $pb.GeneratedMessage {
|
|
1628
|
+
factory KernelIngressSnapshot({
|
|
1629
|
+
$core.int? pending,
|
|
1630
|
+
$fixnum.Int64? bytes,
|
|
1631
|
+
$core.int? maxPending,
|
|
1632
|
+
$fixnum.Int64? maxBytes,
|
|
1633
|
+
$core.double? fillPercent,
|
|
1634
|
+
$core.double? peakFillPercent,
|
|
1635
|
+
$fixnum.Int64? refusals,
|
|
1636
|
+
$core.int? posted,
|
|
1637
|
+
$core.int? waitingForeground,
|
|
1638
|
+
$core.int? waitingBackground,
|
|
1639
|
+
$core.int? inFlightWindow,
|
|
1640
|
+
$fixnum.Int64? abandoned,
|
|
1641
|
+
$fixnum.Int64? lawImportsDeduplicated,
|
|
1642
|
+
}) {
|
|
1643
|
+
final result = create();
|
|
1644
|
+
if (pending != null) result.pending = pending;
|
|
1645
|
+
if (bytes != null) result.bytes = bytes;
|
|
1646
|
+
if (maxPending != null) result.maxPending = maxPending;
|
|
1647
|
+
if (maxBytes != null) result.maxBytes = maxBytes;
|
|
1648
|
+
if (fillPercent != null) result.fillPercent = fillPercent;
|
|
1649
|
+
if (peakFillPercent != null) result.peakFillPercent = peakFillPercent;
|
|
1650
|
+
if (refusals != null) result.refusals = refusals;
|
|
1651
|
+
if (posted != null) result.posted = posted;
|
|
1652
|
+
if (waitingForeground != null) result.waitingForeground = waitingForeground;
|
|
1653
|
+
if (waitingBackground != null) result.waitingBackground = waitingBackground;
|
|
1654
|
+
if (inFlightWindow != null) result.inFlightWindow = inFlightWindow;
|
|
1655
|
+
if (abandoned != null) result.abandoned = abandoned;
|
|
1656
|
+
if (lawImportsDeduplicated != null)
|
|
1657
|
+
result.lawImportsDeduplicated = lawImportsDeduplicated;
|
|
1658
|
+
return result;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
KernelIngressSnapshot._();
|
|
1662
|
+
|
|
1663
|
+
factory KernelIngressSnapshot.fromBuffer($core.List<$core.int> data,
|
|
1664
|
+
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
|
1665
|
+
create()..mergeFromBuffer(data, registry);
|
|
1666
|
+
factory KernelIngressSnapshot.fromJson($core.String json,
|
|
1667
|
+
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
|
1668
|
+
create()..mergeFromJson(json, registry);
|
|
1669
|
+
|
|
1670
|
+
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
|
1671
|
+
_omitMessageNames ? '' : 'KernelIngressSnapshot',
|
|
1672
|
+
package:
|
|
1673
|
+
const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
|
|
1674
|
+
createEmptyInstance: create)
|
|
1675
|
+
..aI(1, _omitFieldNames ? '' : 'pending', fieldType: $pb.PbFieldType.OU3)
|
|
1676
|
+
..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'bytes', $pb.PbFieldType.OU6,
|
|
1677
|
+
defaultOrMaker: $fixnum.Int64.ZERO)
|
|
1678
|
+
..aI(3, _omitFieldNames ? '' : 'maxPending', fieldType: $pb.PbFieldType.OU3)
|
|
1679
|
+
..a<$fixnum.Int64>(
|
|
1680
|
+
4, _omitFieldNames ? '' : 'maxBytes', $pb.PbFieldType.OU6,
|
|
1681
|
+
defaultOrMaker: $fixnum.Int64.ZERO)
|
|
1682
|
+
..aD(5, _omitFieldNames ? '' : 'fillPercent')
|
|
1683
|
+
..aD(6, _omitFieldNames ? '' : 'peakFillPercent')
|
|
1684
|
+
..a<$fixnum.Int64>(
|
|
1685
|
+
7, _omitFieldNames ? '' : 'refusals', $pb.PbFieldType.OU6,
|
|
1686
|
+
defaultOrMaker: $fixnum.Int64.ZERO)
|
|
1687
|
+
..aI(8, _omitFieldNames ? '' : 'posted', fieldType: $pb.PbFieldType.OU3)
|
|
1688
|
+
..aI(9, _omitFieldNames ? '' : 'waitingForeground',
|
|
1689
|
+
fieldType: $pb.PbFieldType.OU3)
|
|
1690
|
+
..aI(10, _omitFieldNames ? '' : 'waitingBackground',
|
|
1691
|
+
fieldType: $pb.PbFieldType.OU3)
|
|
1692
|
+
..aI(11, _omitFieldNames ? '' : 'inFlightWindow',
|
|
1693
|
+
fieldType: $pb.PbFieldType.OU3)
|
|
1694
|
+
..a<$fixnum.Int64>(
|
|
1695
|
+
12, _omitFieldNames ? '' : 'abandoned', $pb.PbFieldType.OU6,
|
|
1696
|
+
defaultOrMaker: $fixnum.Int64.ZERO)
|
|
1697
|
+
..a<$fixnum.Int64>(13, _omitFieldNames ? '' : 'lawImportsDeduplicated',
|
|
1698
|
+
$pb.PbFieldType.OU6,
|
|
1699
|
+
defaultOrMaker: $fixnum.Int64.ZERO)
|
|
1700
|
+
..hasRequiredFields = false;
|
|
1701
|
+
|
|
1702
|
+
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
|
1703
|
+
KernelIngressSnapshot clone() => deepCopy();
|
|
1704
|
+
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
|
1705
|
+
KernelIngressSnapshot copyWith(
|
|
1706
|
+
void Function(KernelIngressSnapshot) updates) =>
|
|
1707
|
+
super.copyWith((message) => updates(message as KernelIngressSnapshot))
|
|
1708
|
+
as KernelIngressSnapshot;
|
|
1709
|
+
|
|
1710
|
+
@$core.override
|
|
1711
|
+
$pb.BuilderInfo get info_ => _i;
|
|
1712
|
+
|
|
1713
|
+
@$core.pragma('dart2js:noInline')
|
|
1714
|
+
static KernelIngressSnapshot create() => KernelIngressSnapshot._();
|
|
1715
|
+
@$core.override
|
|
1716
|
+
KernelIngressSnapshot createEmptyInstance() => create();
|
|
1717
|
+
@$core.pragma('dart2js:noInline')
|
|
1718
|
+
static KernelIngressSnapshot getDefault() => _defaultInstance ??=
|
|
1719
|
+
$pb.GeneratedMessage.$_defaultFor<KernelIngressSnapshot>(create);
|
|
1720
|
+
static KernelIngressSnapshot? _defaultInstance;
|
|
1721
|
+
|
|
1722
|
+
@$pb.TagNumber(1)
|
|
1723
|
+
$core.int get pending => $_getIZ(0);
|
|
1724
|
+
@$pb.TagNumber(1)
|
|
1725
|
+
set pending($core.int value) => $_setUnsignedInt32(0, value);
|
|
1726
|
+
@$pb.TagNumber(1)
|
|
1727
|
+
$core.bool hasPending() => $_has(0);
|
|
1728
|
+
@$pb.TagNumber(1)
|
|
1729
|
+
void clearPending() => $_clearField(1);
|
|
1730
|
+
|
|
1731
|
+
@$pb.TagNumber(2)
|
|
1732
|
+
$fixnum.Int64 get bytes => $_getI64(1);
|
|
1733
|
+
@$pb.TagNumber(2)
|
|
1734
|
+
set bytes($fixnum.Int64 value) => $_setInt64(1, value);
|
|
1735
|
+
@$pb.TagNumber(2)
|
|
1736
|
+
$core.bool hasBytes() => $_has(1);
|
|
1737
|
+
@$pb.TagNumber(2)
|
|
1738
|
+
void clearBytes() => $_clearField(2);
|
|
1739
|
+
|
|
1740
|
+
@$pb.TagNumber(3)
|
|
1741
|
+
$core.int get maxPending => $_getIZ(2);
|
|
1742
|
+
@$pb.TagNumber(3)
|
|
1743
|
+
set maxPending($core.int value) => $_setUnsignedInt32(2, value);
|
|
1744
|
+
@$pb.TagNumber(3)
|
|
1745
|
+
$core.bool hasMaxPending() => $_has(2);
|
|
1746
|
+
@$pb.TagNumber(3)
|
|
1747
|
+
void clearMaxPending() => $_clearField(3);
|
|
1748
|
+
|
|
1749
|
+
@$pb.TagNumber(4)
|
|
1750
|
+
$fixnum.Int64 get maxBytes => $_getI64(3);
|
|
1751
|
+
@$pb.TagNumber(4)
|
|
1752
|
+
set maxBytes($fixnum.Int64 value) => $_setInt64(3, value);
|
|
1753
|
+
@$pb.TagNumber(4)
|
|
1754
|
+
$core.bool hasMaxBytes() => $_has(3);
|
|
1755
|
+
@$pb.TagNumber(4)
|
|
1756
|
+
void clearMaxBytes() => $_clearField(4);
|
|
1757
|
+
|
|
1758
|
+
/// The closer of the two limits right now, in percent.
|
|
1759
|
+
@$pb.TagNumber(5)
|
|
1760
|
+
$core.double get fillPercent => $_getN(4);
|
|
1761
|
+
@$pb.TagNumber(5)
|
|
1762
|
+
set fillPercent($core.double value) => $_setDouble(4, value);
|
|
1763
|
+
@$pb.TagNumber(5)
|
|
1764
|
+
$core.bool hasFillPercent() => $_has(4);
|
|
1765
|
+
@$pb.TagNumber(5)
|
|
1766
|
+
void clearFillPercent() => $_clearField(5);
|
|
1767
|
+
|
|
1768
|
+
/// The highest fill over the last 15 to 30 s, so a surge between two reads still shows.
|
|
1769
|
+
@$pb.TagNumber(6)
|
|
1770
|
+
$core.double get peakFillPercent => $_getN(5);
|
|
1771
|
+
@$pb.TagNumber(6)
|
|
1772
|
+
set peakFillPercent($core.double value) => $_setDouble(5, value);
|
|
1773
|
+
@$pb.TagNumber(6)
|
|
1774
|
+
$core.bool hasPeakFillPercent() => $_has(5);
|
|
1775
|
+
@$pb.TagNumber(6)
|
|
1776
|
+
void clearPeakFillPercent() => $_clearField(6);
|
|
1777
|
+
|
|
1778
|
+
/// Calls refused because the ingress was full, since the process started.
|
|
1779
|
+
@$pb.TagNumber(7)
|
|
1780
|
+
$fixnum.Int64 get refusals => $_getI64(6);
|
|
1781
|
+
@$pb.TagNumber(7)
|
|
1782
|
+
set refusals($fixnum.Int64 value) => $_setInt64(6, value);
|
|
1783
|
+
@$pb.TagNumber(7)
|
|
1784
|
+
$core.bool hasRefusals() => $_has(6);
|
|
1785
|
+
@$pb.TagNumber(7)
|
|
1786
|
+
void clearRefusals() => $_clearField(7);
|
|
1787
|
+
|
|
1788
|
+
/// Calls posted to the kernel worker right now (at most in_flight_window), and calls waiting in the
|
|
1789
|
+
/// HTTP thread per lane; pending is their sum (CAP-967).
|
|
1790
|
+
@$pb.TagNumber(8)
|
|
1791
|
+
$core.int get posted => $_getIZ(7);
|
|
1792
|
+
@$pb.TagNumber(8)
|
|
1793
|
+
set posted($core.int value) => $_setUnsignedInt32(7, value);
|
|
1794
|
+
@$pb.TagNumber(8)
|
|
1795
|
+
$core.bool hasPosted() => $_has(7);
|
|
1796
|
+
@$pb.TagNumber(8)
|
|
1797
|
+
void clearPosted() => $_clearField(8);
|
|
1798
|
+
|
|
1799
|
+
@$pb.TagNumber(9)
|
|
1800
|
+
$core.int get waitingForeground => $_getIZ(8);
|
|
1801
|
+
@$pb.TagNumber(9)
|
|
1802
|
+
set waitingForeground($core.int value) => $_setUnsignedInt32(8, value);
|
|
1803
|
+
@$pb.TagNumber(9)
|
|
1804
|
+
$core.bool hasWaitingForeground() => $_has(8);
|
|
1805
|
+
@$pb.TagNumber(9)
|
|
1806
|
+
void clearWaitingForeground() => $_clearField(9);
|
|
1807
|
+
|
|
1808
|
+
@$pb.TagNumber(10)
|
|
1809
|
+
$core.int get waitingBackground => $_getIZ(9);
|
|
1810
|
+
@$pb.TagNumber(10)
|
|
1811
|
+
set waitingBackground($core.int value) => $_setUnsignedInt32(9, value);
|
|
1812
|
+
@$pb.TagNumber(10)
|
|
1813
|
+
$core.bool hasWaitingBackground() => $_has(9);
|
|
1814
|
+
@$pb.TagNumber(10)
|
|
1815
|
+
void clearWaitingBackground() => $_clearField(10);
|
|
1816
|
+
|
|
1817
|
+
@$pb.TagNumber(11)
|
|
1818
|
+
$core.int get inFlightWindow => $_getIZ(10);
|
|
1819
|
+
@$pb.TagNumber(11)
|
|
1820
|
+
set inFlightWindow($core.int value) => $_setUnsignedInt32(10, value);
|
|
1821
|
+
@$pb.TagNumber(11)
|
|
1822
|
+
$core.bool hasInFlightWindow() => $_has(10);
|
|
1823
|
+
@$pb.TagNumber(11)
|
|
1824
|
+
void clearInFlightWindow() => $_clearField(11);
|
|
1825
|
+
|
|
1826
|
+
/// Waiting calls dropped because their caller disconnected before they were posted, since the process started.
|
|
1827
|
+
@$pb.TagNumber(12)
|
|
1828
|
+
$fixnum.Int64 get abandoned => $_getI64(11);
|
|
1829
|
+
@$pb.TagNumber(12)
|
|
1830
|
+
set abandoned($fixnum.Int64 value) => $_setInt64(11, value);
|
|
1831
|
+
@$pb.TagNumber(12)
|
|
1832
|
+
$core.bool hasAbandoned() => $_has(11);
|
|
1833
|
+
@$pb.TagNumber(12)
|
|
1834
|
+
void clearAbandoned() => $_clearField(12);
|
|
1835
|
+
|
|
1836
|
+
/// Law-product imports answered from products this host already held, or was importing, without
|
|
1837
|
+
/// entering the kernel, since the process started.
|
|
1838
|
+
@$pb.TagNumber(13)
|
|
1839
|
+
$fixnum.Int64 get lawImportsDeduplicated => $_getI64(12);
|
|
1840
|
+
@$pb.TagNumber(13)
|
|
1841
|
+
set lawImportsDeduplicated($fixnum.Int64 value) => $_setInt64(12, value);
|
|
1842
|
+
@$pb.TagNumber(13)
|
|
1843
|
+
$core.bool hasLawImportsDeduplicated() => $_has(12);
|
|
1844
|
+
@$pb.TagNumber(13)
|
|
1845
|
+
void clearLawImportsDeduplicated() => $_clearField(13);
|
|
1608
1846
|
}
|
|
1609
1847
|
|
|
1610
1848
|
/// Cumulative counters for one (operation, outcome) pair of provider Git HTTP requests.
|
|
@@ -86,6 +86,7 @@ enum RuntimeRequest_Command {
|
|
|
86
86
|
fetchWorkspace,
|
|
87
87
|
provideLawProducts,
|
|
88
88
|
serveLiveStream,
|
|
89
|
+
networkRestored,
|
|
89
90
|
notSet
|
|
90
91
|
}
|
|
91
92
|
|
|
@@ -147,6 +148,7 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
147
148
|
$2.FetchWorkspaceRequest? fetchWorkspace,
|
|
148
149
|
$2.ProvideLawProductsRequest? provideLawProducts,
|
|
149
150
|
$3.LiveStreamRequest? serveLiveStream,
|
|
151
|
+
$3.NetworkRestoredRequest? networkRestored,
|
|
150
152
|
}) {
|
|
151
153
|
final result = create();
|
|
152
154
|
if (protocolVersion != null) result.protocolVersion = protocolVersion;
|
|
@@ -226,6 +228,7 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
226
228
|
if (provideLawProducts != null)
|
|
227
229
|
result.provideLawProducts = provideLawProducts;
|
|
228
230
|
if (serveLiveStream != null) result.serveLiveStream = serveLiveStream;
|
|
231
|
+
if (networkRestored != null) result.networkRestored = networkRestored;
|
|
229
232
|
return result;
|
|
230
233
|
}
|
|
231
234
|
|
|
@@ -288,6 +291,7 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
288
291
|
63: RuntimeRequest_Command.fetchWorkspace,
|
|
289
292
|
64: RuntimeRequest_Command.provideLawProducts,
|
|
290
293
|
65: RuntimeRequest_Command.serveLiveStream,
|
|
294
|
+
66: RuntimeRequest_Command.networkRestored,
|
|
291
295
|
0: RuntimeRequest_Command.notSet
|
|
292
296
|
};
|
|
293
297
|
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
|
@@ -343,7 +347,8 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
343
347
|
62,
|
|
344
348
|
63,
|
|
345
349
|
64,
|
|
346
|
-
65
|
|
350
|
+
65,
|
|
351
|
+
66
|
|
347
352
|
])
|
|
348
353
|
..aI(1, _omitFieldNames ? '' : 'protocolVersion',
|
|
349
354
|
fieldType: $pb.PbFieldType.OU3)
|
|
@@ -483,6 +488,9 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
483
488
|
subBuilder: $2.ProvideLawProductsRequest.create)
|
|
484
489
|
..aOM<$3.LiveStreamRequest>(65, _omitFieldNames ? '' : 'serveLiveStream',
|
|
485
490
|
subBuilder: $3.LiveStreamRequest.create)
|
|
491
|
+
..aOM<$3.NetworkRestoredRequest>(
|
|
492
|
+
66, _omitFieldNames ? '' : 'networkRestored',
|
|
493
|
+
subBuilder: $3.NetworkRestoredRequest.create)
|
|
486
494
|
..hasRequiredFields = false;
|
|
487
495
|
|
|
488
496
|
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
|
@@ -552,6 +560,7 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
552
560
|
@$pb.TagNumber(63)
|
|
553
561
|
@$pb.TagNumber(64)
|
|
554
562
|
@$pb.TagNumber(65)
|
|
563
|
+
@$pb.TagNumber(66)
|
|
555
564
|
RuntimeRequest_Command whichCommand() =>
|
|
556
565
|
_RuntimeRequest_CommandByTag[$_whichOneof(0)]!;
|
|
557
566
|
@$pb.TagNumber(10)
|
|
@@ -602,6 +611,7 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
602
611
|
@$pb.TagNumber(63)
|
|
603
612
|
@$pb.TagNumber(64)
|
|
604
613
|
@$pb.TagNumber(65)
|
|
614
|
+
@$pb.TagNumber(66)
|
|
605
615
|
void clearCommand() => $_clearField($_whichOneof(0));
|
|
606
616
|
|
|
607
617
|
@$pb.TagNumber(1)
|
|
@@ -1217,6 +1227,17 @@ class RuntimeRequest extends $pb.GeneratedMessage {
|
|
|
1217
1227
|
void clearServeLiveStream() => $_clearField(65);
|
|
1218
1228
|
@$pb.TagNumber(65)
|
|
1219
1229
|
$3.LiveStreamRequest ensureServeLiveStream() => $_ensure(51);
|
|
1230
|
+
|
|
1231
|
+
@$pb.TagNumber(66)
|
|
1232
|
+
$3.NetworkRestoredRequest get networkRestored => $_getN(52);
|
|
1233
|
+
@$pb.TagNumber(66)
|
|
1234
|
+
set networkRestored($3.NetworkRestoredRequest value) => $_setField(66, value);
|
|
1235
|
+
@$pb.TagNumber(66)
|
|
1236
|
+
$core.bool hasNetworkRestored() => $_has(52);
|
|
1237
|
+
@$pb.TagNumber(66)
|
|
1238
|
+
void clearNetworkRestored() => $_clearField(66);
|
|
1239
|
+
@$pb.TagNumber(66)
|
|
1240
|
+
$3.NetworkRestoredRequest ensureNetworkRestored() => $_ensure(52);
|
|
1220
1241
|
}
|
|
1221
1242
|
|
|
1222
1243
|
class InvocationTarget extends $pb.GeneratedMessage {
|
|
@@ -1340,6 +1361,7 @@ enum RuntimeResponse_Outcome {
|
|
|
1340
1361
|
workspaceFetch,
|
|
1341
1362
|
lawProducts,
|
|
1342
1363
|
liveStreamServed,
|
|
1364
|
+
networkRestored,
|
|
1343
1365
|
notSet
|
|
1344
1366
|
}
|
|
1345
1367
|
|
|
@@ -1400,6 +1422,7 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1400
1422
|
$2.WorkspaceFetch? workspaceFetch,
|
|
1401
1423
|
$18.ExportLawProductsResponse? lawProducts,
|
|
1402
1424
|
$3.LiveStreamAnswer? liveStreamServed,
|
|
1425
|
+
$3.NetworkRestored? networkRestored,
|
|
1403
1426
|
}) {
|
|
1404
1427
|
final result = create();
|
|
1405
1428
|
if (protocolVersion != null) result.protocolVersion = protocolVersion;
|
|
@@ -1481,6 +1504,7 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1481
1504
|
if (workspaceFetch != null) result.workspaceFetch = workspaceFetch;
|
|
1482
1505
|
if (lawProducts != null) result.lawProducts = lawProducts;
|
|
1483
1506
|
if (liveStreamServed != null) result.liveStreamServed = liveStreamServed;
|
|
1507
|
+
if (networkRestored != null) result.networkRestored = networkRestored;
|
|
1484
1508
|
return result;
|
|
1485
1509
|
}
|
|
1486
1510
|
|
|
@@ -1548,6 +1572,7 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1548
1572
|
67: RuntimeResponse_Outcome.workspaceFetch,
|
|
1549
1573
|
68: RuntimeResponse_Outcome.lawProducts,
|
|
1550
1574
|
69: RuntimeResponse_Outcome.liveStreamServed,
|
|
1575
|
+
70: RuntimeResponse_Outcome.networkRestored,
|
|
1551
1576
|
0: RuntimeResponse_Outcome.notSet
|
|
1552
1577
|
};
|
|
1553
1578
|
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
|
@@ -1608,7 +1633,8 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1608
1633
|
66,
|
|
1609
1634
|
67,
|
|
1610
1635
|
68,
|
|
1611
|
-
69
|
|
1636
|
+
69,
|
|
1637
|
+
70
|
|
1612
1638
|
])
|
|
1613
1639
|
..aI(1, _omitFieldNames ? '' : 'protocolVersion',
|
|
1614
1640
|
fieldType: $pb.PbFieldType.OU3)
|
|
@@ -1747,6 +1773,8 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1747
1773
|
subBuilder: $18.ExportLawProductsResponse.create)
|
|
1748
1774
|
..aOM<$3.LiveStreamAnswer>(69, _omitFieldNames ? '' : 'liveStreamServed',
|
|
1749
1775
|
subBuilder: $3.LiveStreamAnswer.create)
|
|
1776
|
+
..aOM<$3.NetworkRestored>(70, _omitFieldNames ? '' : 'networkRestored',
|
|
1777
|
+
subBuilder: $3.NetworkRestored.create)
|
|
1750
1778
|
..hasRequiredFields = false;
|
|
1751
1779
|
|
|
1752
1780
|
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
|
@@ -1821,6 +1849,7 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1821
1849
|
@$pb.TagNumber(67)
|
|
1822
1850
|
@$pb.TagNumber(68)
|
|
1823
1851
|
@$pb.TagNumber(69)
|
|
1852
|
+
@$pb.TagNumber(70)
|
|
1824
1853
|
RuntimeResponse_Outcome whichOutcome() =>
|
|
1825
1854
|
_RuntimeResponse_OutcomeByTag[$_whichOneof(0)]!;
|
|
1826
1855
|
@$pb.TagNumber(10)
|
|
@@ -1876,6 +1905,7 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
1876
1905
|
@$pb.TagNumber(67)
|
|
1877
1906
|
@$pb.TagNumber(68)
|
|
1878
1907
|
@$pb.TagNumber(69)
|
|
1908
|
+
@$pb.TagNumber(70)
|
|
1879
1909
|
void clearOutcome() => $_clearField($_whichOneof(0));
|
|
1880
1910
|
|
|
1881
1911
|
@$pb.TagNumber(1)
|
|
@@ -2510,6 +2540,17 @@ class RuntimeResponse extends $pb.GeneratedMessage {
|
|
|
2510
2540
|
void clearLiveStreamServed() => $_clearField(69);
|
|
2511
2541
|
@$pb.TagNumber(69)
|
|
2512
2542
|
$3.LiveStreamAnswer ensureLiveStreamServed() => $_ensure(54);
|
|
2543
|
+
|
|
2544
|
+
@$pb.TagNumber(70)
|
|
2545
|
+
$3.NetworkRestored get networkRestored => $_getN(55);
|
|
2546
|
+
@$pb.TagNumber(70)
|
|
2547
|
+
set networkRestored($3.NetworkRestored value) => $_setField(70, value);
|
|
2548
|
+
@$pb.TagNumber(70)
|
|
2549
|
+
$core.bool hasNetworkRestored() => $_has(55);
|
|
2550
|
+
@$pb.TagNumber(70)
|
|
2551
|
+
void clearNetworkRestored() => $_clearField(70);
|
|
2552
|
+
@$pb.TagNumber(70)
|
|
2553
|
+
$3.NetworkRestored ensureNetworkRestored() => $_ensure(55);
|
|
2513
2554
|
}
|
|
2514
2555
|
|
|
2515
2556
|
enum CustodyOfferBatchResponse_Outcome { admission, failure, blocked, notSet }
|
package/dart_types/pubspec.yaml
CHANGED
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
Pure kernel wire/data types for Nomos Dart frontends — no transport, no bridge,
|
|
10
10
|
no runtime. Typed protobuf and USDA boundary values plus the offer codec,
|
|
11
11
|
reactive read engine, schema validation, and data-only error/trace types.
|
|
12
|
-
version: 0.15.
|
|
12
|
+
version: 0.15.3
|
|
13
13
|
|
|
14
14
|
environment:
|
|
15
15
|
sdk: ^3.5.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@githolon/dsl",
|
|
3
|
-
"version": "0.119.
|
|
3
|
+
"version": "0.119.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Nomos 2 domain-authoring DSL: aggregates + directives in TS, executed and encoded to the Rust kernel's wire shapes.",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"test": "vitest run"
|
|
83
83
|
},
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@githolon/runtime": "^0.119.
|
|
85
|
+
"@githolon/runtime": "^0.119.12",
|
|
86
86
|
"@bufbuild/protobuf": "^2.13.0",
|
|
87
87
|
"@bufbuild/protoc-gen-es": "^2.13.0",
|
|
88
88
|
"esbuild": "0.24.2",
|
package/src/business_birth.ts
CHANGED
|
@@ -120,8 +120,16 @@ const FOUNDING_GRANTOR = "genesis";
|
|
|
120
120
|
* inherited-governance step re-seated that same leaf as {@link INHERITED_SIGNER_GRANTOR} when P was also
|
|
121
121
|
* an inherited operator or enroller, has no `genesis` key left; there the key is P's one
|
|
122
122
|
* inheritance-granted signer instead. Current law never rewrites the founding leaf
|
|
123
|
-
* (`inheritedGovernanceStepFrom` skips it), so its founders keep exactly one `genesis` key.
|
|
124
|
-
*
|
|
123
|
+
* (`inheritedGovernanceStepFrom` skips it), so its founders keep exactly one `genesis` key.
|
|
124
|
+
*
|
|
125
|
+
* A signer leaf is an Lww entry, so its grantor is only the LAST writer: when an enroller enrols the
|
|
126
|
+
* founding key again (`enrollDevice`) the leaf stops saying `genesis`, and when the founder revokes the
|
|
127
|
+
* founding device the leaf stops being active. Either way neither rule above finds a key, and every
|
|
128
|
+
* birth of a parent P founded used to fall onto the certificate lane, which a founded parent cannot
|
|
129
|
+
* satisfy (CAP-957). P is still the founder — the admin grant above is the founding step's and nothing
|
|
130
|
+
* else writes it — so the child is founded with a key P holds now: the lowest of P's active signer keys,
|
|
131
|
+
* so the recipe stays a pure function of the tuple set. Anything else — no founding admin grant, several
|
|
132
|
+
* `genesis` or several inherited keys, or no active key at all — is not a founded parent of P.
|
|
125
133
|
*/
|
|
126
134
|
function foundedBirthKeyHash(principal: string): string | undefined {
|
|
127
135
|
const adminRow = readFrameworkDeclaredRows(relationTuplesByObject, RelationTuple, { object: "workspace:self" })
|
|
@@ -131,15 +139,17 @@ function foundedBirthKeyHash(principal: string): string | undefined {
|
|
|
131
139
|
const rows = readFrameworkDeclaredRows(relationTuplesByObject, RelationTuple, { object: signerObject(principal) });
|
|
132
140
|
const row = rows.find((candidate) => candidate.relation === SIGNER_RELATION);
|
|
133
141
|
const subjects = row?.subjects as Record<string, { status?: string; grantedBy?: string }> | undefined;
|
|
134
|
-
const
|
|
142
|
+
const activeKeys = (grantor?: string) => Object.entries(subjects ?? {})
|
|
135
143
|
.filter(([subject, leaf]) =>
|
|
136
|
-
leaf?.status === "active" && leaf.grantedBy === grantor &&
|
|
144
|
+
leaf?.status === "active" && (grantor === undefined || leaf.grantedBy === grantor) &&
|
|
145
|
+
/^key:[0-9a-f]{64}$/.test(subject))
|
|
137
146
|
.map(([subject]) => subject.slice("key:".length))
|
|
138
147
|
.sort();
|
|
139
|
-
const genesis =
|
|
148
|
+
const genesis = activeKeys(FOUNDING_GRANTOR);
|
|
140
149
|
if (genesis.length > 0) return genesis.length === 1 ? genesis[0] : undefined;
|
|
141
|
-
const inherited =
|
|
142
|
-
return inherited.length === 1 ? inherited[0] : undefined;
|
|
150
|
+
const inherited = activeKeys(INHERITED_SIGNER_GRANTOR);
|
|
151
|
+
if (inherited.length > 0) return inherited.length === 1 ? inherited[0] : undefined;
|
|
152
|
+
return activeKeys()[0];
|
|
143
153
|
}
|
|
144
154
|
|
|
145
155
|
/** @internal Compiler-only domain enumeration. It carries no allowance or authority. */
|
|
@@ -2587,12 +2587,12 @@ const dartTypesImportFor = (generatedSource: string): string => {
|
|
|
2587
2587
|
* just the floor generated code needs — a lagging pin forces tenants into dependency_overrides. */
|
|
2588
2588
|
// 0.3.0: SurfacedValue<T>/SurfacedObservation/PendingConflictRow — generated Surfaced-field typing +
|
|
2589
2589
|
// the pendingConflicts read rows.
|
|
2590
|
-
const NOMOS_TYPES_DEP = "^0.15.
|
|
2590
|
+
const NOMOS_TYPES_DEP = "^0.15.3";
|
|
2591
2591
|
// 0.48.x: session-bound clients (XClient.bind/NomosClientInterface/DomainClientSessionMismatch/
|
|
2592
2592
|
// DomainNotInstalledForSession, engine.follow, pendingConflicts lanes) — the generated client
|
|
2593
2593
|
// REQUIRES this surface. 0.48.1 fixes NomosSession.watchPendingConflicts delegation.
|
|
2594
|
-
const NOMOS_CLIENT_DEP = "^0.70.
|
|
2595
|
-
const NOMOS_FLUTTER_DEP = "^0.69.
|
|
2594
|
+
const NOMOS_CLIENT_DEP = "^0.70.12";
|
|
2595
|
+
const NOMOS_FLUTTER_DEP = "^0.69.2";
|
|
2596
2596
|
// DRIFT TRIPWIRE: pubspec_pins.test.ts asserts these equal the CURRENT versions in the Dart and Flutter
|
|
2597
2597
|
// package pubspecs — a release without this bump fails the suite, so tenants never
|
|
2598
2598
|
// land back in dependency_overrides (the exact co2 report this closes, third occurrence).
|
|
@@ -3930,6 +3930,9 @@ function emitDartPackages(
|
|
|
3930
3930
|
...(perDomain.length > 1
|
|
3931
3931
|
? [
|
|
3932
3932
|
`export 'package:nomos_client/src/application_status.dart' show ApplicationStatus, ApplicationStatusPhase;`,
|
|
3933
|
+
// Read-only value types ApplicationStatus's public constructor refers to, so a shell or a
|
|
3934
|
+
// test can build a status without importing nomos_client/src.
|
|
3935
|
+
`export 'package:nomos_client/src/sync_status_projection.dart' show CustodianWarmingPosture, LocalCopyReadiness, UnsharedSyncWork, WorkspaceFollowPhase, WorkspaceFollowStatus;`,
|
|
3933
3936
|
`export '${genRel}/${packageApplicationFile}.dart' show ${dartApplicationClassName(
|
|
3934
3937
|
describePackageName
|
|
3935
3938
|
)}${
|