@githolon/dsl 0.119.11 → 0.119.13

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.
@@ -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 }
@@ -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.2
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.11",
3
+ "version": "0.119.13",
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.11",
85
+ "@githolon/runtime": "^0.119.13",
86
86
  "@bufbuild/protobuf": "^2.13.0",
87
87
  "@bufbuild/protoc-gen-es": "^2.13.0",
88
88
  "esbuild": "0.24.2",
@@ -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. Anything
124
- * else — no founding admin grant, or not exactly one such key — is not a founded parent of P.
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 keysGrantedBy = (grantor: string) => Object.entries(subjects ?? {})
142
+ const activeKeys = (grantor?: string) => Object.entries(subjects ?? {})
135
143
  .filter(([subject, leaf]) =>
136
- leaf?.status === "active" && leaf.grantedBy === grantor && /^key:[0-9a-f]{64}$/.test(subject))
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 = keysGrantedBy(FOUNDING_GRANTOR);
148
+ const genesis = activeKeys(FOUNDING_GRANTOR);
140
149
  if (genesis.length > 0) return genesis.length === 1 ? genesis[0] : undefined;
141
- const inherited = keysGrantedBy(INHERITED_SIGNER_GRANTOR);
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.2";
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.11";
2595
- const NOMOS_FLUTTER_DEP = "^0.69.1";
2594
+ const NOMOS_CLIENT_DEP = "^0.70.13";
2595
+ const NOMOS_FLUTTER_DEP = "^0.69.3";
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
  )}${