@githolon/dsl 0.113.4 → 0.114.0

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 (58) hide show
  1. package/assets/operation-contract.wasm +0 -0
  2. package/compile_package.mjs +23 -3
  3. package/compile_proof.d.mts +7 -0
  4. package/compile_proof.mjs +38 -3
  5. package/dart/CHANGELOG.md +20 -0
  6. package/dart/lib/src/application_framework_calls.dart +9 -5
  7. package/dart/lib/src/generated_call.dart +14 -3
  8. package/dart/lib/src/nms_generated_runtime.dart +7 -0
  9. package/dart/lib/src/node_runner_transport.dart +77 -8
  10. package/dart/lib/src/nomos_trace.dart +107 -0
  11. package/dart/lib/src/reception/dart_reception.dart +148 -11
  12. package/dart/lib/src/rows_watch.dart +390 -0
  13. package/dart/lib/src/runner/node-entry.mjs +2803 -690
  14. package/dart/lib/src/sync_status_projection.dart +94 -1
  15. package/dart/lib/src/sync_status_reducer.dart +5 -2
  16. package/dart/lib/src/test_harness.dart +107 -41
  17. package/dart/lib/src/testing/test_peer.dart +107 -99
  18. package/dart/lib/src/testing/test_peer_host.dart +305 -0
  19. package/dart/lib/src/typed_watch_registry.dart +26 -3
  20. package/dart/pubspec.lock +1 -1
  21. package/dart/pubspec.yaml +2 -2
  22. package/dart/test/background_model_adoption_test.dart +1 -0
  23. package/dart/test/custodian_warming_test.dart +105 -0
  24. package/dart/test/fixtures/offer_watch_order_peer.dart +74 -0
  25. package/dart/test/kernel_author_after_read_test.dart +6 -3
  26. package/dart/test/kernel_fence_test.dart +4 -1
  27. package/dart/test/model_adoption_test.dart +17 -0
  28. package/dart/test/nomos_trace_test.dart +91 -0
  29. package/dart/test/own_offer_watch_order_test.dart +90 -0
  30. package/dart/test/receiving_group_open_test.dart +4 -8
  31. package/dart/test/replica_readiness_test.dart +14 -4
  32. package/dart/test/rows_watch_test.dart +331 -0
  33. package/dart/test/test_peer_host_selection_test.dart +49 -0
  34. package/dart_types/CHANGELOG.md +15 -0
  35. package/dart_types/lib/src/approved_model.dart +22 -5
  36. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pb.dart +535 -1
  37. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbenum.dart +65 -0
  38. package/dart_types/lib/src/proto/nomos/runtime/v2/application_desk.pb.dart +14 -0
  39. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pb.dart +359 -2
  40. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pbenum.dart +65 -0
  41. package/dart_types/lib/src/proto/nomos/runtime/v2/model_adoption_desk.pb.dart +20 -2
  42. package/dart_types/lib/src/proto/nomos/runtime/v2/observability_desk.pb.dart +278 -9
  43. package/dart_types/lib/src/proto/nomos/runtime/v2/receiving_group_desk.pb.dart +7 -85
  44. package/dart_types/lib/src/proto/nomos/runtime/v2/residency_desk.pb.dart +35 -0
  45. package/dart_types/pubspec.yaml +1 -1
  46. package/package.json +4 -2
  47. package/src/build_provenance.ts +7 -2
  48. package/src/codegen_dart_client.ts +21 -9
  49. package/src/codegen_dart_facade.ts +1 -0
  50. package/src/codegen_dart_framework_calls.ts +12 -9
  51. package/src/codegen_dart_scenario.ts +7 -0
  52. package/src/codegen_ts.ts +26 -24
  53. package/src/compile_package_main.ts +65 -61
  54. package/src/engine_entry.ts +4 -48
  55. package/src/law_unit_set_identity.ts +44 -0
  56. package/src/query/compile.ts +0 -0
  57. package/src/release_inspection.ts +24 -0
  58. package/src/release_publication.ts +298 -0
@@ -1989,6 +1989,7 @@ class OfferAdmitted extends $pb.GeneratedMessage {
1989
1989
  $core.String? installedLawHash,
1990
1990
  PlacementAdopted? placement,
1991
1991
  $core.bool? alreadyApplied,
1992
+ OfferStateChange? stateChange,
1992
1993
  }) {
1993
1994
  final result = create();
1994
1995
  if (head != null) result.head = head;
@@ -2003,6 +2004,7 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2003
2004
  if (installedLawHash != null) result.installedLawHash = installedLawHash;
2004
2005
  if (placement != null) result.placement = placement;
2005
2006
  if (alreadyApplied != null) result.alreadyApplied = alreadyApplied;
2007
+ if (stateChange != null) result.stateChange = stateChange;
2006
2008
  return result;
2007
2009
  }
2008
2010
 
@@ -2038,6 +2040,8 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2038
2040
  ..aOM<PlacementAdopted>(11, _omitFieldNames ? '' : 'placement',
2039
2041
  subBuilder: PlacementAdopted.create)
2040
2042
  ..aOB(12, _omitFieldNames ? '' : 'alreadyApplied')
2043
+ ..aOM<OfferStateChange>(13, _omitFieldNames ? '' : 'stateChange',
2044
+ subBuilder: OfferStateChange.create)
2041
2045
  ..hasRequiredFields = false;
2042
2046
 
2043
2047
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -2152,6 +2156,99 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2152
2156
  $core.bool hasAlreadyApplied() => $_has(11);
2153
2157
  @$pb.TagNumber(12)
2154
2158
  void clearAlreadyApplied() => $_clearField(12);
2159
+
2160
+ /// What this offer changed in the workspace's current state, typed the way reads resolve it, so a
2161
+ /// host can tell which declared reads the offer can change (CAP-760). Absent when the kernel cannot
2162
+ /// say exactly; a host then treats every read as changed.
2163
+ @$pb.TagNumber(13)
2164
+ OfferStateChange get stateChange => $_getN(12);
2165
+ @$pb.TagNumber(13)
2166
+ set stateChange(OfferStateChange value) => $_setField(13, value);
2167
+ @$pb.TagNumber(13)
2168
+ $core.bool hasStateChange() => $_has(12);
2169
+ @$pb.TagNumber(13)
2170
+ void clearStateChange() => $_clearField(13);
2171
+ @$pb.TagNumber(13)
2172
+ OfferStateChange ensureStateChange() => $_ensure(12);
2173
+ }
2174
+
2175
+ /// The aggregates one admitted offer changed, by the type a read resolves for each (its `__type`,
2176
+ /// else its id), between the head it was admitted on and the head it produced. Exact or wider,
2177
+ /// never narrower: every aggregate whose state differs between the two heads is counted.
2178
+ class OfferStateChange extends $pb.GeneratedMessage {
2179
+ factory OfferStateChange({
2180
+ $core.String? parentHead,
2181
+ $core.Iterable<$core.String>? aggregateTypes,
2182
+ $core.bool? archives,
2183
+ }) {
2184
+ final result = create();
2185
+ if (parentHead != null) result.parentHead = parentHead;
2186
+ if (aggregateTypes != null) result.aggregateTypes.addAll(aggregateTypes);
2187
+ if (archives != null) result.archives = archives;
2188
+ return result;
2189
+ }
2190
+
2191
+ OfferStateChange._();
2192
+
2193
+ factory OfferStateChange.fromBuffer($core.List<$core.int> data,
2194
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2195
+ create()..mergeFromBuffer(data, registry);
2196
+ factory OfferStateChange.fromJson($core.String json,
2197
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2198
+ create()..mergeFromJson(json, registry);
2199
+
2200
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2201
+ _omitMessageNames ? '' : 'OfferStateChange',
2202
+ package:
2203
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2204
+ createEmptyInstance: create)
2205
+ ..aOS(1, _omitFieldNames ? '' : 'parentHead')
2206
+ ..pPS(2, _omitFieldNames ? '' : 'aggregateTypes')
2207
+ ..aOB(3, _omitFieldNames ? '' : 'archives')
2208
+ ..hasRequiredFields = false;
2209
+
2210
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2211
+ OfferStateChange clone() => deepCopy();
2212
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2213
+ OfferStateChange copyWith(void Function(OfferStateChange) updates) =>
2214
+ super.copyWith((message) => updates(message as OfferStateChange))
2215
+ as OfferStateChange;
2216
+
2217
+ @$core.override
2218
+ $pb.BuilderInfo get info_ => _i;
2219
+
2220
+ @$core.pragma('dart2js:noInline')
2221
+ static OfferStateChange create() => OfferStateChange._();
2222
+ @$core.override
2223
+ OfferStateChange createEmptyInstance() => create();
2224
+ @$core.pragma('dart2js:noInline')
2225
+ static OfferStateChange getDefault() => _defaultInstance ??=
2226
+ $pb.GeneratedMessage.$_defaultFor<OfferStateChange>(create);
2227
+ static OfferStateChange? _defaultInstance;
2228
+
2229
+ /// The head this offer was admitted on; OfferAdmitted.head is its child.
2230
+ @$pb.TagNumber(1)
2231
+ $core.String get parentHead => $_getSZ(0);
2232
+ @$pb.TagNumber(1)
2233
+ set parentHead($core.String value) => $_setString(0, value);
2234
+ @$pb.TagNumber(1)
2235
+ $core.bool hasParentHead() => $_has(0);
2236
+ @$pb.TagNumber(1)
2237
+ void clearParentHead() => $_clearField(1);
2238
+
2239
+ /// Sorted, without duplicates.
2240
+ @$pb.TagNumber(2)
2241
+ $pb.PbList<$core.String> get aggregateTypes => $_getList(1);
2242
+
2243
+ /// An aggregate this offer changed may be absent (archived) at the new head.
2244
+ @$pb.TagNumber(3)
2245
+ $core.bool get archives => $_getBF(2);
2246
+ @$pb.TagNumber(3)
2247
+ set archives($core.bool value) => $_setBool(2, value);
2248
+ @$pb.TagNumber(3)
2249
+ $core.bool hasArchives() => $_has(2);
2250
+ @$pb.TagNumber(3)
2251
+ void clearArchives() => $_clearField(3);
2155
2252
  }
2156
2253
 
2157
2254
  class OfferAggregateRef extends $pb.GeneratedMessage {
@@ -5318,6 +5415,7 @@ enum QueryResponse_Result {
5318
5415
  workspaceEffectReceipt,
5319
5416
  openApiDescription,
5320
5417
  installedLawDeclarations,
5418
+ applicationResultDelta,
5321
5419
  notSet
5322
5420
  }
5323
5421
 
@@ -5346,6 +5444,10 @@ class QueryResponse extends $pb.GeneratedMessage {
5346
5444
  WorkspaceEffectReceiptResponse? workspaceEffectReceipt,
5347
5445
  OpenApiDescriptionResponse? openApiDescription,
5348
5446
  InstalledLawDeclarationsResponse? installedLawDeclarations,
5447
+ ApplicationResultDelta? applicationResultDelta,
5448
+ $core.String? resultFrontier,
5449
+ FullResultReason? fullResultReason,
5450
+ ReadDependencies? resultDependencies,
5349
5451
  }) {
5350
5452
  final result = create();
5351
5453
  if (value != null) result.value = value;
@@ -5385,6 +5487,12 @@ class QueryResponse extends $pb.GeneratedMessage {
5385
5487
  result.openApiDescription = openApiDescription;
5386
5488
  if (installedLawDeclarations != null)
5387
5489
  result.installedLawDeclarations = installedLawDeclarations;
5490
+ if (applicationResultDelta != null)
5491
+ result.applicationResultDelta = applicationResultDelta;
5492
+ if (resultFrontier != null) result.resultFrontier = resultFrontier;
5493
+ if (fullResultReason != null) result.fullResultReason = fullResultReason;
5494
+ if (resultDependencies != null)
5495
+ result.resultDependencies = resultDependencies;
5388
5496
  return result;
5389
5497
  }
5390
5498
 
@@ -5421,6 +5529,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5421
5529
  28: QueryResponse_Result.workspaceEffectReceipt,
5422
5530
  29: QueryResponse_Result.openApiDescription,
5423
5531
  30: QueryResponse_Result.installedLawDeclarations,
5532
+ 31: QueryResponse_Result.applicationResultDelta,
5424
5533
  0: QueryResponse_Result.notSet
5425
5534
  };
5426
5535
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -5450,7 +5559,8 @@ class QueryResponse extends $pb.GeneratedMessage {
5450
5559
  27,
5451
5560
  28,
5452
5561
  29,
5453
- 30
5562
+ 30,
5563
+ 31
5454
5564
  ])
5455
5565
  ..aOM<NomosValue>(1, _omitFieldNames ? '' : 'value',
5456
5566
  subBuilder: NomosValue.create)
@@ -5515,6 +5625,14 @@ class QueryResponse extends $pb.GeneratedMessage {
5515
5625
  ..aOM<InstalledLawDeclarationsResponse>(
5516
5626
  30, _omitFieldNames ? '' : 'installedLawDeclarations',
5517
5627
  subBuilder: InstalledLawDeclarationsResponse.create)
5628
+ ..aOM<ApplicationResultDelta>(
5629
+ 31, _omitFieldNames ? '' : 'applicationResultDelta',
5630
+ subBuilder: ApplicationResultDelta.create)
5631
+ ..aOS(32, _omitFieldNames ? '' : 'resultFrontier')
5632
+ ..aE<FullResultReason>(33, _omitFieldNames ? '' : 'fullResultReason',
5633
+ enumValues: FullResultReason.values)
5634
+ ..aOM<ReadDependencies>(34, _omitFieldNames ? '' : 'resultDependencies',
5635
+ subBuilder: ReadDependencies.create)
5518
5636
  ..hasRequiredFields = false;
5519
5637
 
5520
5638
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -5558,6 +5676,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5558
5676
  @$pb.TagNumber(28)
5559
5677
  @$pb.TagNumber(29)
5560
5678
  @$pb.TagNumber(30)
5679
+ @$pb.TagNumber(31)
5561
5680
  QueryResponse_Result whichResult() =>
5562
5681
  _QueryResponse_ResultByTag[$_whichOneof(0)]!;
5563
5682
  @$pb.TagNumber(1)
@@ -5582,6 +5701,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5582
5701
  @$pb.TagNumber(28)
5583
5702
  @$pb.TagNumber(29)
5584
5703
  @$pb.TagNumber(30)
5704
+ @$pb.TagNumber(31)
5585
5705
  void clearResult() => $_clearField($_whichOneof(0));
5586
5706
 
5587
5707
  /// Cutover debt for fixed framework queries which have not yet gained a
@@ -5864,6 +5984,234 @@ class QueryResponse extends $pb.GeneratedMessage {
5864
5984
  @$pb.TagNumber(30)
5865
5985
  InstalledLawDeclarationsResponse ensureInstalledLawDeclarations() =>
5866
5986
  $_ensure(22);
5987
+
5988
+ /// Incremental answer to a RowsQuery carrying `since_frontier` (CAP-731). The kernel computed
5989
+ /// it from the exact state change set between the two read positions, under the same read
5990
+ /// policies, principal and visibility as a full read. Merging it into the result read at
5991
+ /// `base_frontier` yields, byte for byte, the full result at `frontier`.
5992
+ @$pb.TagNumber(31)
5993
+ ApplicationResultDelta get applicationResultDelta => $_getN(23);
5994
+ @$pb.TagNumber(31)
5995
+ set applicationResultDelta(ApplicationResultDelta value) =>
5996
+ $_setField(31, value);
5997
+ @$pb.TagNumber(31)
5998
+ $core.bool hasApplicationResultDelta() => $_has(23);
5999
+ @$pb.TagNumber(31)
6000
+ void clearApplicationResultDelta() => $_clearField(31);
6001
+ @$pb.TagNumber(31)
6002
+ ApplicationResultDelta ensureApplicationResultDelta() => $_ensure(23);
6003
+
6004
+ /// The kernel-issued read position of a complete `application_result` for a declared rows
6005
+ /// query. Opaque to every caller: only the kernel interprets it, when it comes back as
6006
+ /// `RowsQuery.since_frontier`. Absent on every other result.
6007
+ @$pb.TagNumber(32)
6008
+ $core.String get resultFrontier => $_getSZ(24);
6009
+ @$pb.TagNumber(32)
6010
+ set resultFrontier($core.String value) => $_setString(24, value);
6011
+ @$pb.TagNumber(32)
6012
+ $core.bool hasResultFrontier() => $_has(24);
6013
+ @$pb.TagNumber(32)
6014
+ void clearResultFrontier() => $_clearField(32);
6015
+
6016
+ /// Why a RowsQuery that asked for a delta (`since_frontier`) was answered in full. Present only
6017
+ /// on such answers; a real failure is a Failure, never a reason.
6018
+ @$pb.TagNumber(33)
6019
+ FullResultReason get fullResultReason => $_getN(25);
6020
+ @$pb.TagNumber(33)
6021
+ set fullResultReason(FullResultReason value) => $_setField(33, value);
6022
+ @$pb.TagNumber(33)
6023
+ $core.bool hasFullResultReason() => $_has(25);
6024
+ @$pb.TagNumber(33)
6025
+ void clearFullResultReason() => $_clearField(33);
6026
+
6027
+ /// What can change the answer of a declared rows query at its read position (CAP-760): present
6028
+ /// beside `result_frontier` or an `application_result_delta` when the kernel can name it exactly.
6029
+ /// Absent means anything may change it.
6030
+ @$pb.TagNumber(34)
6031
+ ReadDependencies get resultDependencies => $_getN(26);
6032
+ @$pb.TagNumber(34)
6033
+ set resultDependencies(ReadDependencies value) => $_setField(34, value);
6034
+ @$pb.TagNumber(34)
6035
+ $core.bool hasResultDependencies() => $_has(26);
6036
+ @$pb.TagNumber(34)
6037
+ void clearResultDependencies() => $_clearField(34);
6038
+ @$pb.TagNumber(34)
6039
+ ReadDependencies ensureResultDependencies() => $_ensure(26);
6040
+ }
6041
+
6042
+ /// The state a declared rows result reads, from the installed read law. A state change touching none
6043
+ /// of it leaves the next delta from this result's position empty. Exact or wider, never narrower.
6044
+ class ReadDependencies extends $pb.GeneratedMessage {
6045
+ factory ReadDependencies({
6046
+ $core.Iterable<$core.String>? aggregateTypes,
6047
+ $core.bool? readsArchives,
6048
+ $core.String? readAt,
6049
+ }) {
6050
+ final result = create();
6051
+ if (aggregateTypes != null) result.aggregateTypes.addAll(aggregateTypes);
6052
+ if (readsArchives != null) result.readsArchives = readsArchives;
6053
+ if (readAt != null) result.readAt = readAt;
6054
+ return result;
6055
+ }
6056
+
6057
+ ReadDependencies._();
6058
+
6059
+ factory ReadDependencies.fromBuffer($core.List<$core.int> data,
6060
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6061
+ create()..mergeFromBuffer(data, registry);
6062
+ factory ReadDependencies.fromJson($core.String json,
6063
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6064
+ create()..mergeFromJson(json, registry);
6065
+
6066
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
6067
+ _omitMessageNames ? '' : 'ReadDependencies',
6068
+ package:
6069
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
6070
+ createEmptyInstance: create)
6071
+ ..pPS(1, _omitFieldNames ? '' : 'aggregateTypes')
6072
+ ..aOB(2, _omitFieldNames ? '' : 'readsArchives')
6073
+ ..aOS(3, _omitFieldNames ? '' : 'readAt')
6074
+ ..hasRequiredFields = false;
6075
+
6076
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6077
+ ReadDependencies clone() => deepCopy();
6078
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6079
+ ReadDependencies copyWith(void Function(ReadDependencies) updates) =>
6080
+ super.copyWith((message) => updates(message as ReadDependencies))
6081
+ as ReadDependencies;
6082
+
6083
+ @$core.override
6084
+ $pb.BuilderInfo get info_ => _i;
6085
+
6086
+ @$core.pragma('dart2js:noInline')
6087
+ static ReadDependencies create() => ReadDependencies._();
6088
+ @$core.override
6089
+ ReadDependencies createEmptyInstance() => create();
6090
+ @$core.pragma('dart2js:noInline')
6091
+ static ReadDependencies getDefault() => _defaultInstance ??=
6092
+ $pb.GeneratedMessage.$_defaultFor<ReadDependencies>(create);
6093
+ static ReadDependencies? _defaultInstance;
6094
+
6095
+ /// Aggregate types (as OfferStateChange.aggregate_types names them) whose state the rows, their
6096
+ /// membership or the read law come from. Sorted, without duplicates.
6097
+ @$pb.TagNumber(1)
6098
+ $pb.PbList<$core.String> get aggregateTypes => $_getList(0);
6099
+
6100
+ /// A combined field reads a related row by reference: an archive of any aggregate may change it.
6101
+ @$pb.TagNumber(2)
6102
+ $core.bool get readsArchives => $_getBF(1);
6103
+ @$pb.TagNumber(2)
6104
+ set readsArchives($core.bool value) => $_setBool(1, value);
6105
+ @$pb.TagNumber(2)
6106
+ $core.bool hasReadsArchives() => $_has(1);
6107
+ @$pb.TagNumber(2)
6108
+ void clearReadsArchives() => $_clearField(2);
6109
+
6110
+ /// The commit whose state this answer shows (as OfferStateChange.parent_head names a head).
6111
+ @$pb.TagNumber(3)
6112
+ $core.String get readAt => $_getSZ(2);
6113
+ @$pb.TagNumber(3)
6114
+ set readAt($core.String value) => $_setString(2, value);
6115
+ @$pb.TagNumber(3)
6116
+ $core.bool hasReadAt() => $_has(2);
6117
+ @$pb.TagNumber(3)
6118
+ void clearReadAt() => $_clearField(3);
6119
+ }
6120
+
6121
+ /// The rows of one declared query that changed between two kernel-issued read positions.
6122
+ class ApplicationResultDelta extends $pb.GeneratedMessage {
6123
+ factory ApplicationResultDelta({
6124
+ $core.String? baseFrontier,
6125
+ $core.String? frontier,
6126
+ $0.Any? changedRows,
6127
+ $core.Iterable<$core.String>? removedIds,
6128
+ }) {
6129
+ final result = create();
6130
+ if (baseFrontier != null) result.baseFrontier = baseFrontier;
6131
+ if (frontier != null) result.frontier = frontier;
6132
+ if (changedRows != null) result.changedRows = changedRows;
6133
+ if (removedIds != null) result.removedIds.addAll(removedIds);
6134
+ return result;
6135
+ }
6136
+
6137
+ ApplicationResultDelta._();
6138
+
6139
+ factory ApplicationResultDelta.fromBuffer($core.List<$core.int> data,
6140
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6141
+ create()..mergeFromBuffer(data, registry);
6142
+ factory ApplicationResultDelta.fromJson($core.String json,
6143
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6144
+ create()..mergeFromJson(json, registry);
6145
+
6146
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
6147
+ _omitMessageNames ? '' : 'ApplicationResultDelta',
6148
+ package:
6149
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
6150
+ createEmptyInstance: create)
6151
+ ..aOS(1, _omitFieldNames ? '' : 'baseFrontier')
6152
+ ..aOS(2, _omitFieldNames ? '' : 'frontier')
6153
+ ..aOM<$0.Any>(3, _omitFieldNames ? '' : 'changedRows',
6154
+ subBuilder: $0.Any.create)
6155
+ ..pPS(4, _omitFieldNames ? '' : 'removedIds')
6156
+ ..hasRequiredFields = false;
6157
+
6158
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6159
+ ApplicationResultDelta clone() => deepCopy();
6160
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6161
+ ApplicationResultDelta copyWith(
6162
+ void Function(ApplicationResultDelta) updates) =>
6163
+ super.copyWith((message) => updates(message as ApplicationResultDelta))
6164
+ as ApplicationResultDelta;
6165
+
6166
+ @$core.override
6167
+ $pb.BuilderInfo get info_ => _i;
6168
+
6169
+ @$core.pragma('dart2js:noInline')
6170
+ static ApplicationResultDelta create() => ApplicationResultDelta._();
6171
+ @$core.override
6172
+ ApplicationResultDelta createEmptyInstance() => create();
6173
+ @$core.pragma('dart2js:noInline')
6174
+ static ApplicationResultDelta getDefault() => _defaultInstance ??=
6175
+ $pb.GeneratedMessage.$_defaultFor<ApplicationResultDelta>(create);
6176
+ static ApplicationResultDelta? _defaultInstance;
6177
+
6178
+ /// The position the caller's result must be at (the request's `since_frontier`).
6179
+ @$pb.TagNumber(1)
6180
+ $core.String get baseFrontier => $_getSZ(0);
6181
+ @$pb.TagNumber(1)
6182
+ set baseFrontier($core.String value) => $_setString(0, value);
6183
+ @$pb.TagNumber(1)
6184
+ $core.bool hasBaseFrontier() => $_has(0);
6185
+ @$pb.TagNumber(1)
6186
+ void clearBaseFrontier() => $_clearField(1);
6187
+
6188
+ /// The position this delta advances it to; the next request's `since_frontier`.
6189
+ @$pb.TagNumber(2)
6190
+ $core.String get frontier => $_getSZ(1);
6191
+ @$pb.TagNumber(2)
6192
+ set frontier($core.String value) => $_setString(1, value);
6193
+ @$pb.TagNumber(2)
6194
+ $core.bool hasFrontier() => $_has(1);
6195
+ @$pb.TagNumber(2)
6196
+ void clearFrontier() => $_clearField(2);
6197
+
6198
+ /// Every added or changed visible row, encoded with the SAME `QueryResult_<identity>` contract as
6199
+ /// the full result (rows sorted by id; no page metadata), so generated decoders decode it.
6200
+ @$pb.TagNumber(3)
6201
+ $0.Any get changedRows => $_getN(2);
6202
+ @$pb.TagNumber(3)
6203
+ set changedRows($0.Any value) => $_setField(3, value);
6204
+ @$pb.TagNumber(3)
6205
+ $core.bool hasChangedRows() => $_has(2);
6206
+ @$pb.TagNumber(3)
6207
+ void clearChangedRows() => $_clearField(3);
6208
+ @$pb.TagNumber(3)
6209
+ $0.Any ensureChangedRows() => $_ensure(2);
6210
+
6211
+ /// Ids that no longer belong to the result. Sorted, disjoint from `changed_rows`; an id the
6212
+ /// caller never held is a no-op.
6213
+ @$pb.TagNumber(4)
6214
+ $pb.PbList<$core.String> get removedIds => $_getList(3);
5867
6215
  }
5868
6216
 
5869
6217
  /// OpenAPI is already a JSON document, not a tenant value or a recursive NomosValue tree.
@@ -6382,6 +6730,9 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6382
6730
  $core.bool? localReadOnly,
6383
6731
  $core.bool? maintainGitCustody,
6384
6732
  $core.bool? readIndexOnly,
6733
+ $core.bool? maintainAddressedFrontiers,
6734
+ $core.bool? flushDurability,
6735
+ $core.bool? localWriteBurst,
6385
6736
  }) {
6386
6737
  final result = create();
6387
6738
  if (requestedDomain != null) result.requestedDomain = requestedDomain;
@@ -6392,6 +6743,10 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6392
6743
  if (maintainGitCustody != null)
6393
6744
  result.maintainGitCustody = maintainGitCustody;
6394
6745
  if (readIndexOnly != null) result.readIndexOnly = readIndexOnly;
6746
+ if (maintainAddressedFrontiers != null)
6747
+ result.maintainAddressedFrontiers = maintainAddressedFrontiers;
6748
+ if (flushDurability != null) result.flushDurability = flushDurability;
6749
+ if (localWriteBurst != null) result.localWriteBurst = localWriteBurst;
6395
6750
  return result;
6396
6751
  }
6397
6752
 
@@ -6415,6 +6770,9 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6415
6770
  ..aOB(4, _omitFieldNames ? '' : 'localReadOnly')
6416
6771
  ..aOB(5, _omitFieldNames ? '' : 'maintainGitCustody')
6417
6772
  ..aOB(6, _omitFieldNames ? '' : 'readIndexOnly')
6773
+ ..aOB(7, _omitFieldNames ? '' : 'maintainAddressedFrontiers')
6774
+ ..aOB(8, _omitFieldNames ? '' : 'flushDurability')
6775
+ ..aOB(9, _omitFieldNames ? '' : 'localWriteBurst')
6418
6776
  ..hasRequiredFields = false;
6419
6777
 
6420
6778
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -6493,6 +6851,51 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6493
6851
  $core.bool hasReadIndexOnly() => $_has(5);
6494
6852
  @$pb.TagNumber(6)
6495
6853
  void clearReadIndexOnly() => $_clearField(6);
6854
+
6855
+ /// The idle pin quantum: pin the live positions the current raw frontier index
6856
+ /// does not serve (normally the admitted frontier behind unsynced local
6857
+ /// writes), once per position, and prune every other addressed derivative in
6858
+ /// bounded batches. No reader waits on it, so the host sends it only after the
6859
+ /// workspace has been write-idle for a quiet window, never during a burst.
6860
+ /// Exclusive of the other modes; maintenance_pending asks for another quantum.
6861
+ @$pb.TagNumber(7)
6862
+ $core.bool get maintainAddressedFrontiers => $_getBF(6);
6863
+ @$pb.TagNumber(7)
6864
+ set maintainAddressedFrontiers($core.bool value) => $_setBool(6, value);
6865
+ @$pb.TagNumber(7)
6866
+ $core.bool hasMaintainAddressedFrontiers() => $_has(6);
6867
+ @$pb.TagNumber(7)
6868
+ void clearMaintainAddressedFrontiers() => $_clearField(7);
6869
+
6870
+ /// The durability flush quantum (CAP-746). Under the deferred durability policy a save forces
6871
+ /// nothing to stable storage; the kernel owes every file it wrote to one ordered flush (objects,
6872
+ /// then refs, then disposable SQLite, then a last-known-good marker per workspace). The host
6873
+ /// decides WHEN (after a short write-quiet window, bounded during a long burst); the kernel
6874
+ /// decides WHAT, and flushes everything it owes, whichever workspace the quantum names. A no-op
6875
+ /// under the synchronous policy. Exclusive of the other modes; maintenance_pending asks for
6876
+ /// another quantum.
6877
+ @$pb.TagNumber(8)
6878
+ $core.bool get flushDurability => $_getBF(7);
6879
+ @$pb.TagNumber(8)
6880
+ set flushDurability($core.bool value) => $_setBool(7, value);
6881
+ @$pb.TagNumber(8)
6882
+ $core.bool hasFlushDurability() => $_has(7);
6883
+ @$pb.TagNumber(8)
6884
+ void clearFlushDurability() => $_clearField(8);
6885
+
6886
+ /// The peer's local writes are in a burst (CAP-750). Packing loose custody objects waits for the
6887
+ /// person to pause, so the host sends a custody quantum (maintain_git_custody) during a burst
6888
+ /// only after the kernel reported loose_custody_pressure. The kernel then packs one small slice of
6889
+ /// loose objects and does nothing else in that quantum: no staged-pack promotion, no multi-pack
6890
+ /// index or repack step, no command warming.
6891
+ @$pb.TagNumber(9)
6892
+ $core.bool get localWriteBurst => $_getBF(8);
6893
+ @$pb.TagNumber(9)
6894
+ set localWriteBurst($core.bool value) => $_setBool(8, value);
6895
+ @$pb.TagNumber(9)
6896
+ $core.bool hasLocalWriteBurst() => $_has(8);
6897
+ @$pb.TagNumber(9)
6898
+ void clearLocalWriteBurst() => $_clearField(9);
6496
6899
  }
6497
6900
 
6498
6901
  class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
@@ -6508,6 +6911,7 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6508
6911
  $core.String? preparedCommandDomain,
6509
6912
  $core.String? preparedCommandPackage,
6510
6913
  $core.String? preparedCommandSelector,
6914
+ $core.bool? looseCustodyPressure,
6511
6915
  }) {
6512
6916
  final result = create();
6513
6917
  if (workspace != null) result.workspace = workspace;
@@ -6525,6 +6929,8 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6525
6929
  result.preparedCommandPackage = preparedCommandPackage;
6526
6930
  if (preparedCommandSelector != null)
6527
6931
  result.preparedCommandSelector = preparedCommandSelector;
6932
+ if (looseCustodyPressure != null)
6933
+ result.looseCustodyPressure = looseCustodyPressure;
6528
6934
  return result;
6529
6935
  }
6530
6936
 
@@ -6558,6 +6964,7 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6558
6964
  ..aOS(9, _omitFieldNames ? '' : 'preparedCommandDomain')
6559
6965
  ..aOS(10, _omitFieldNames ? '' : 'preparedCommandPackage')
6560
6966
  ..aOS(11, _omitFieldNames ? '' : 'preparedCommandSelector')
6967
+ ..aOB(12, _omitFieldNames ? '' : 'looseCustodyPressure')
6561
6968
  ..hasRequiredFields = false;
6562
6969
 
6563
6970
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -6679,6 +7086,18 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6679
7086
  $core.bool hasPreparedCommandSelector() => $_has(10);
6680
7087
  @$pb.TagNumber(11)
6681
7088
  void clearPreparedCommandSelector() => $_clearField(11);
7089
+
7090
+ /// The loose objects this kernel instance has written and not yet packed exceed the growth guard
7091
+ /// (CAP-750). Reported on every maintenance quantum, so a host holding custody packing back for a
7092
+ /// burst learns when an endless burst must pack in small slices after all.
7093
+ @$pb.TagNumber(12)
7094
+ $core.bool get looseCustodyPressure => $_getBF(11);
7095
+ @$pb.TagNumber(12)
7096
+ set looseCustodyPressure($core.bool value) => $_setBool(11, value);
7097
+ @$pb.TagNumber(12)
7098
+ $core.bool hasLooseCustodyPressure() => $_has(11);
7099
+ @$pb.TagNumber(12)
7100
+ void clearLooseCustodyPressure() => $_clearField(12);
6682
7101
  }
6683
7102
 
6684
7103
  class OsgiAttribute extends $pb.GeneratedMessage {
@@ -8835,6 +9254,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8835
9254
  $core.Iterable<SyncRefusedIntent>? refusedLocal,
8836
9255
  CustodyDisagreement? custodyDisagreement,
8837
9256
  $core.Iterable<$core.String>? parkedLocalRefs,
9257
+ $core.bool? replayPending,
8838
9258
  }) {
8839
9259
  final result = create();
8840
9260
  if (admitted != null) result.admitted = admitted;
@@ -8855,6 +9275,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8855
9275
  if (custodyDisagreement != null)
8856
9276
  result.custodyDisagreement = custodyDisagreement;
8857
9277
  if (parkedLocalRefs != null) result.parkedLocalRefs.addAll(parkedLocalRefs);
9278
+ if (replayPending != null) result.replayPending = replayPending;
8858
9279
  return result;
8859
9280
  }
8860
9281
 
@@ -8891,6 +9312,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8891
9312
  ..aOM<CustodyDisagreement>(13, _omitFieldNames ? '' : 'custodyDisagreement',
8892
9313
  subBuilder: CustodyDisagreement.create)
8893
9314
  ..pPS(14, _omitFieldNames ? '' : 'parkedLocalRefs')
9315
+ ..aOB(15, _omitFieldNames ? '' : 'replayPending')
8894
9316
  ..hasRequiredFields = false;
8895
9317
 
8896
9318
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -9000,6 +9422,19 @@ class SyncResponse extends $pb.GeneratedMessage {
9000
9422
  /// Non-empty means `refused_local` left main and is recoverable from the refused-offer desk.
9001
9423
  @$pb.TagNumber(14)
9002
9424
  $pb.PbList<$core.String> get parkedLocalRefs => $_getList(12);
9425
+
9426
+ /// The replay spent its `replay_offer_budget` before finishing (CAP-757). Nothing was published:
9427
+ /// live main is unchanged and `head` is still the live head. The kernel keeps its private
9428
+ /// candidate; the same request again continues it from the next offer. Every other field is
9429
+ /// empty until the answer that completes the replay.
9430
+ @$pb.TagNumber(15)
9431
+ $core.bool get replayPending => $_getBF(13);
9432
+ @$pb.TagNumber(15)
9433
+ set replayPending($core.bool value) => $_setBool(13, value);
9434
+ @$pb.TagNumber(15)
9435
+ $core.bool hasReplayPending() => $_has(13);
9436
+ @$pb.TagNumber(15)
9437
+ void clearReplayPending() => $_clearField(15);
9003
9438
  }
9004
9439
 
9005
9440
  class CustodyDisagreement extends $pb.GeneratedMessage {
@@ -14685,6 +15120,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14685
15120
  $core.String? principal,
14686
15121
  $core.List<$core.int>? argumentsUsda,
14687
15122
  $0.Any? applicationArguments,
15123
+ $core.String? sinceFrontier,
14688
15124
  }) {
14689
15125
  final result = create();
14690
15126
  if (id != null) result.id = id;
@@ -14693,6 +15129,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14693
15129
  if (argumentsUsda != null) result.argumentsUsda = argumentsUsda;
14694
15130
  if (applicationArguments != null)
14695
15131
  result.applicationArguments = applicationArguments;
15132
+ if (sinceFrontier != null) result.sinceFrontier = sinceFrontier;
14696
15133
  return result;
14697
15134
  }
14698
15135
 
@@ -14718,6 +15155,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14718
15155
  4, _omitFieldNames ? '' : 'argumentsUsda', $pb.PbFieldType.OY)
14719
15156
  ..aOM<$0.Any>(5, _omitFieldNames ? '' : 'applicationArguments',
14720
15157
  subBuilder: $0.Any.create)
15158
+ ..aOS(6, _omitFieldNames ? '' : 'sinceFrontier')
14721
15159
  ..hasRequiredFields = false;
14722
15160
 
14723
15161
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -14792,6 +15230,19 @@ class RowsQuery extends $pb.GeneratedMessage {
14792
15230
  void clearApplicationArguments() => $_clearField(5);
14793
15231
  @$pb.TagNumber(5)
14794
15232
  $0.Any ensureApplicationArguments() => $_ensure(4);
15233
+
15234
+ /// Opt-in incremental read (CAP-731): the `result_frontier` (or delta `frontier`) of the result
15235
+ /// the caller holds for this exact query and arguments. The kernel answers with an
15236
+ /// `application_result_delta` from that position, or with the full result and a typed
15237
+ /// `full_result_reason`. Only valid with the application Protobuf result format.
15238
+ @$pb.TagNumber(6)
15239
+ $core.String get sinceFrontier => $_getSZ(5);
15240
+ @$pb.TagNumber(6)
15241
+ set sinceFrontier($core.String value) => $_setString(5, value);
15242
+ @$pb.TagNumber(6)
15243
+ $core.bool hasSinceFrontier() => $_has(5);
15244
+ @$pb.TagNumber(6)
15245
+ void clearSinceFrontier() => $_clearField(6);
14795
15246
  }
14796
15247
 
14797
15248
  class PageQuery extends $pb.GeneratedMessage {
@@ -17486,6 +17937,7 @@ class SyncRequest extends $pb.GeneratedMessage {
17486
17937
  $core.String? toHead,
17487
17938
  $core.bool? parkRefusedLocal,
17488
17939
  $fixnum.Int64? parkedAtMillis,
17940
+ $core.int? replayOfferBudget,
17489
17941
  }) {
17490
17942
  final result = create();
17491
17943
  if (target != null) result.target = target;
@@ -17493,6 +17945,7 @@ class SyncRequest extends $pb.GeneratedMessage {
17493
17945
  if (toHead != null) result.toHead = toHead;
17494
17946
  if (parkRefusedLocal != null) result.parkRefusedLocal = parkRefusedLocal;
17495
17947
  if (parkedAtMillis != null) result.parkedAtMillis = parkedAtMillis;
17948
+ if (replayOfferBudget != null) result.replayOfferBudget = replayOfferBudget;
17496
17949
  return result;
17497
17950
  }
17498
17951
 
@@ -17518,6 +17971,8 @@ class SyncRequest extends $pb.GeneratedMessage {
17518
17971
  ..a<$fixnum.Int64>(
17519
17972
  5, _omitFieldNames ? '' : 'parkedAtMillis', $pb.PbFieldType.OU6,
17520
17973
  defaultOrMaker: $fixnum.Int64.ZERO)
17974
+ ..aI(6, _omitFieldNames ? '' : 'replayOfferBudget',
17975
+ fieldType: $pb.PbFieldType.OU3)
17521
17976
  ..hasRequiredFields = false;
17522
17977
 
17523
17978
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17593,6 +18048,20 @@ class SyncRequest extends $pb.GeneratedMessage {
17593
18048
  $core.bool hasParkedAtMillis() => $_has(4);
17594
18049
  @$pb.TagNumber(5)
17595
18050
  void clearParkedAtMillis() => $_clearField(5);
18051
+
18052
+ /// The most offers (incoming and local) this call judges before it answers `replay_pending`
18053
+ /// (CAP-757). Receiving a backlog is then bounded steps the host interleaves with foreground
18054
+ /// work, never one call that holds the kernel for the whole backlog. Absent or 0 replays
18055
+ /// everything in one call, as before. Local writes made between steps are rebased in the same
18056
+ /// replay; anything else that moves live main starts it again.
18057
+ @$pb.TagNumber(6)
18058
+ $core.int get replayOfferBudget => $_getIZ(5);
18059
+ @$pb.TagNumber(6)
18060
+ set replayOfferBudget($core.int value) => $_setUnsignedInt32(5, value);
18061
+ @$pb.TagNumber(6)
18062
+ $core.bool hasReplayOfferBudget() => $_has(5);
18063
+ @$pb.TagNumber(6)
18064
+ void clearReplayOfferBudget() => $_clearField(6);
17596
18065
  }
17597
18066
 
17598
18067
  /// Immutable process configuration supplied once by the Peer Office before it
@@ -17604,12 +18073,17 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17604
18073
  factory KernelConfigurationRequest({
17605
18074
  $core.List<$core.int>? trustRootPublicKey,
17606
18075
  $core.bool? trustsCustodianHistory,
18076
+ $core.bool? deferredDurability,
18077
+ $core.bool? hostCallLedger,
17607
18078
  }) {
17608
18079
  final result = create();
17609
18080
  if (trustRootPublicKey != null)
17610
18081
  result.trustRootPublicKey = trustRootPublicKey;
17611
18082
  if (trustsCustodianHistory != null)
17612
18083
  result.trustsCustodianHistory = trustsCustodianHistory;
18084
+ if (deferredDurability != null)
18085
+ result.deferredDurability = deferredDurability;
18086
+ if (hostCallLedger != null) result.hostCallLedger = hostCallLedger;
17613
18087
  return result;
17614
18088
  }
17615
18089
 
@@ -17630,6 +18104,8 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17630
18104
  ..a<$core.List<$core.int>>(
17631
18105
  1, _omitFieldNames ? '' : 'trustRootPublicKey', $pb.PbFieldType.OY)
17632
18106
  ..aOB(2, _omitFieldNames ? '' : 'trustsCustodianHistory')
18107
+ ..aOB(3, _omitFieldNames ? '' : 'deferredDurability')
18108
+ ..aOB(4, _omitFieldNames ? '' : 'hostCallLedger')
17633
18109
  ..hasRequiredFields = false;
17634
18110
 
17635
18111
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17676,14 +18152,44 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17676
18152
  $core.bool hasTrustsCustodianHistory() => $_has(1);
17677
18153
  @$pb.TagNumber(2)
17678
18154
  void clearTrustsCustodianHistory() => $_clearField(2);
18155
+
18156
+ /// A peer property, not law (CAP-746): this peer is a personal device whose saves acknowledge
18157
+ /// once their writes reach the OS. The kernel forces nothing to stable storage on the hot path
18158
+ /// and owes it to an ordered background flush (MaintenanceQuantumQuery.flush_durability); a
18159
+ /// reopen after an unclean shutdown returns main to the last flushed head if its newer custody
18160
+ /// is unreadable and rebuilds unsynced disposable indexes. Absent or false keeps synchronous
18161
+ /// durability (the cloud custodian). Immutable once set.
18162
+ @$pb.TagNumber(3)
18163
+ $core.bool get deferredDurability => $_getBF(2);
18164
+ @$pb.TagNumber(3)
18165
+ set deferredDurability($core.bool value) => $_setBool(2, value);
18166
+ @$pb.TagNumber(3)
18167
+ $core.bool hasDeferredDurability() => $_has(2);
18168
+ @$pb.TagNumber(3)
18169
+ void clearDeferredDurability() => $_clearField(3);
18170
+
18171
+ /// Observability only, never law: this host counts the host calls it services into the kernel's
18172
+ /// per-offer phase ledger (kernel/src/offer_phases.rs). The kernel answers with the ledger's
18173
+ /// address in its own linear memory; the host adds one call and its nanoseconds there for every
18174
+ /// host call, and reads the finished offer line back from the same block. Changes no judgment.
18175
+ @$pb.TagNumber(4)
18176
+ $core.bool get hostCallLedger => $_getBF(3);
18177
+ @$pb.TagNumber(4)
18178
+ set hostCallLedger($core.bool value) => $_setBool(3, value);
18179
+ @$pb.TagNumber(4)
18180
+ $core.bool hasHostCallLedger() => $_has(3);
18181
+ @$pb.TagNumber(4)
18182
+ void clearHostCallLedger() => $_clearField(4);
17679
18183
  }
17680
18184
 
17681
18185
  class KernelConfigurationResponse extends $pb.GeneratedMessage {
17682
18186
  factory KernelConfigurationResponse({
17683
18187
  Acknowledged? result,
18188
+ $core.int? hostCallLedger,
17684
18189
  }) {
17685
18190
  final result$ = create();
17686
18191
  if (result != null) result$.result = result;
18192
+ if (hostCallLedger != null) result$.hostCallLedger = hostCallLedger;
17687
18193
  return result$;
17688
18194
  }
17689
18195
 
@@ -17703,6 +18209,8 @@ class KernelConfigurationResponse extends $pb.GeneratedMessage {
17703
18209
  createEmptyInstance: create)
17704
18210
  ..aOM<Acknowledged>(1, _omitFieldNames ? '' : 'result',
17705
18211
  subBuilder: Acknowledged.create)
18212
+ ..aI(2, _omitFieldNames ? '' : 'hostCallLedger',
18213
+ fieldType: $pb.PbFieldType.OU3)
17706
18214
  ..hasRequiredFields = false;
17707
18215
 
17708
18216
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17737,6 +18245,16 @@ class KernelConfigurationResponse extends $pb.GeneratedMessage {
17737
18245
  void clearResult() => $_clearField(1);
17738
18246
  @$pb.TagNumber(1)
17739
18247
  Acknowledged ensureResult() => $_ensure(0);
18248
+
18249
+ /// Present when the request asked for `host_call_ledger`: the ledger block's linear-memory address.
18250
+ @$pb.TagNumber(2)
18251
+ $core.int get hostCallLedger => $_getIZ(1);
18252
+ @$pb.TagNumber(2)
18253
+ set hostCallLedger($core.int value) => $_setUnsignedInt32(1, value);
18254
+ @$pb.TagNumber(2)
18255
+ $core.bool hasHostCallLedger() => $_has(1);
18256
+ @$pb.TagNumber(2)
18257
+ void clearHostCallLedger() => $_clearField(2);
17740
18258
  }
17741
18259
 
17742
18260
  enum CustodyRequest_Operation {
@@ -19571,6 +20089,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19571
20089
  $fixnum.Int64? limit,
19572
20090
  $core.bool? completeLogical,
19573
20091
  $core.bool? compactStored,
20092
+ $core.bool? fromBase,
19574
20093
  }) {
19575
20094
  final result = create();
19576
20095
  if (repo != null) result.repo = repo;
@@ -19580,6 +20099,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19580
20099
  if (limit != null) result.limit = limit;
19581
20100
  if (completeLogical != null) result.completeLogical = completeLogical;
19582
20101
  if (compactStored != null) result.compactStored = compactStored;
20102
+ if (fromBase != null) result.fromBase = fromBase;
19583
20103
  return result;
19584
20104
  }
19585
20105
 
@@ -19605,6 +20125,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19605
20125
  defaultOrMaker: $fixnum.Int64.ZERO)
19606
20126
  ..aOB(6, _omitFieldNames ? '' : 'completeLogical')
19607
20127
  ..aOB(7, _omitFieldNames ? '' : 'compactStored')
20128
+ ..aOB(8, _omitFieldNames ? '' : 'fromBase')
19608
20129
  ..hasRequiredFields = false;
19609
20130
 
19610
20131
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -19688,6 +20209,19 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19688
20209
  $core.bool hasCompactStored() => $_has(6);
19689
20210
  @$pb.TagNumber(7)
19690
20211
  void clearCompactStored() => $_clearField(7);
20212
+
20213
+ /// With `base` and a nonzero `limit`: the `limit` commits immediately ABOVE base, oldest first,
20214
+ /// rather than the newest `limit` below head. A bounded continuation from a boundary the
20215
+ /// receiver already holds; only the selected commits' changes are read. Refused when base is
20216
+ /// not on head's first-parent chain.
20217
+ @$pb.TagNumber(8)
20218
+ $core.bool get fromBase => $_getBF(7);
20219
+ @$pb.TagNumber(8)
20220
+ set fromBase($core.bool value) => $_setBool(7, value);
20221
+ @$pb.TagNumber(8)
20222
+ $core.bool hasFromBase() => $_has(7);
20223
+ @$pb.TagNumber(8)
20224
+ void clearFromBase() => $_clearField(8);
19691
20225
  }
19692
20226
 
19693
20227
  class HistorySummaryRequest extends $pb.GeneratedMessage {