@githolon/dsl 0.113.4 → 0.115.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 (103) 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 +60 -0
  6. package/dart/lib/src/application_framework_calls.dart +16 -6
  7. package/dart/lib/src/console_enrolment.dart +7 -0
  8. package/dart/lib/src/console_http_io.dart +22 -15
  9. package/dart/lib/src/dev_cloud.dart +62 -0
  10. package/dart/lib/src/generated_call.dart +14 -3
  11. package/dart/lib/src/nms_generated_runtime.dart +7 -0
  12. package/dart/lib/src/node_runner_transport.dart +77 -8
  13. package/dart/lib/src/nomos_trace.dart +107 -0
  14. package/dart/lib/src/operation_receipts.dart +74 -7
  15. package/dart/lib/src/reception/dart_reception.dart +174 -17
  16. package/dart/lib/src/rows_watch.dart +390 -0
  17. package/dart/lib/src/runner/node-entry.mjs +7678 -2860
  18. package/dart/lib/src/runtime_v2_transport.dart +3 -0
  19. package/dart/lib/src/sync_status_projection.dart +94 -1
  20. package/dart/lib/src/sync_status_reducer.dart +5 -2
  21. package/dart/lib/src/test_harness.dart +107 -41
  22. package/dart/lib/src/testing/test_peer.dart +107 -99
  23. package/dart/lib/src/testing/test_peer_host.dart +305 -0
  24. package/dart/lib/src/typed_watch_registry.dart +26 -3
  25. package/dart/pubspec.lock +1 -1
  26. package/dart/pubspec.yaml +2 -2
  27. package/dart/test/background_model_adoption_test.dart +1 -0
  28. package/dart/test/console_enrolment_test.dart +47 -0
  29. package/dart/test/custodian_warming_test.dart +105 -0
  30. package/dart/test/fixtures/offer_watch_order_peer.dart +74 -0
  31. package/dart/test/kernel_author_after_read_test.dart +6 -3
  32. package/dart/test/kernel_fence_test.dart +4 -1
  33. package/dart/test/model_adoption_test.dart +66 -0
  34. package/dart/test/nomos_trace_test.dart +91 -0
  35. package/dart/test/own_offer_watch_order_test.dart +90 -0
  36. package/dart/test/receiving_group_open_test.dart +4 -8
  37. package/dart/test/replica_readiness_test.dart +14 -4
  38. package/dart/test/rows_watch_test.dart +331 -0
  39. package/dart/test/runtime_projections_test.dart +41 -0
  40. package/dart/test/test_peer_host_selection_test.dart +49 -0
  41. package/dart_types/CHANGELOG.md +39 -0
  42. package/dart_types/lib/src/approved_model.dart +100 -6
  43. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pb.dart +1063 -3
  44. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbenum.dart +89 -0
  45. package/dart_types/lib/src/proto/nomos/runtime/v2/application_desk.pb.dart +14 -0
  46. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pb.dart +2272 -130
  47. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pbenum.dart +65 -0
  48. package/dart_types/lib/src/proto/nomos/runtime/v2/model_adoption_desk.pb.dart +118 -2
  49. package/dart_types/lib/src/proto/nomos/runtime/v2/observability_desk.pb.dart +278 -9
  50. package/dart_types/lib/src/proto/nomos/runtime/v2/receiving_group_desk.pb.dart +7 -85
  51. package/dart_types/lib/src/proto/nomos/runtime/v2/records_desk.pb.dart +16 -0
  52. package/dart_types/lib/src/proto/nomos/runtime/v2/residency_desk.pb.dart +35 -0
  53. package/dart_types/lib/src/proto/nomos/runtime/v2/runtime.pb.dart +43 -2
  54. package/dart_types/pubspec.yaml +1 -1
  55. package/package.json +6 -2
  56. package/src/aggregate.ts +93 -0
  57. package/src/anonymous_value_interning.ts +205 -0
  58. package/src/baseline.ts +27 -0
  59. package/src/baseline_export.ts +432 -0
  60. package/src/baseline_import.ts +312 -0
  61. package/src/baseline_usda.ts +186 -0
  62. package/src/birth_key_rule.ts +472 -0
  63. package/src/births.ts +207 -24
  64. package/src/build_provenance.ts +17 -2
  65. package/src/business_birth.ts +50 -4
  66. package/src/check_package_main.ts +50 -6
  67. package/src/codegen_call_proto.ts +5 -18
  68. package/src/codegen_dart.ts +95 -3
  69. package/src/codegen_dart_client.ts +73 -15
  70. package/src/codegen_dart_facade.ts +58 -35
  71. package/src/codegen_dart_framework_calls.ts +32 -10
  72. package/src/codegen_dart_scenario.ts +7 -0
  73. package/src/codegen_proof.ts +5 -2
  74. package/src/codegen_result_proto.ts +8 -6
  75. package/src/codegen_result_usda.ts +4 -0
  76. package/src/codegen_ts.ts +135 -34
  77. package/src/compatibility_graph.ts +41 -4
  78. package/src/compatibility_usda.ts +11 -1
  79. package/src/compile_package_main.ts +272 -105
  80. package/src/composed_wire_identity.ts +24 -0
  81. package/src/directive.ts +6 -0
  82. package/src/domain_requirements.ts +75 -0
  83. package/src/engine_entry.ts +4 -48
  84. package/src/engine_javascript.ts +12 -6
  85. package/src/fields.ts +109 -0
  86. package/src/identity_usda.ts +77 -51
  87. package/src/index.ts +25 -1
  88. package/src/intent.ts +5 -0
  89. package/src/law_graph.ts +142 -1
  90. package/src/law_graph_usda.ts +25 -141
  91. package/src/law_layer_prims.ts +199 -0
  92. package/src/law_unit_selection.ts +45 -0
  93. package/src/law_unit_set_identity.ts +44 -0
  94. package/src/law_version.ts +107 -0
  95. package/src/package_config.ts +44 -0
  96. package/src/package_dependencies.ts +8 -0
  97. package/src/query/compile.ts +0 -0
  98. package/src/release_inspection.ts +24 -0
  99. package/src/release_publication.ts +298 -0
  100. package/src/value_object.ts +6 -3
  101. package/src/wire.ts +2 -0
  102. package/src/wire_paths.ts +17 -0
  103. package/src/workspace_routing.ts +1 -1
@@ -129,5 +129,70 @@ class DeviceRecoveryAdmissionStage extends $pb.ProtobufEnum {
129
129
  const DeviceRecoveryAdmissionStage._(super.value, super.name);
130
130
  }
131
131
 
132
+ /// Who ended a live socket.
133
+ class PeerSocketCloseInitiator extends $pb.ProtobufEnum {
134
+ static const PeerSocketCloseInitiator
135
+ PEER_SOCKET_CLOSE_INITIATOR_UNSPECIFIED = PeerSocketCloseInitiator._(
136
+ 0, _omitEnumNames ? '' : 'PEER_SOCKET_CLOSE_INITIATOR_UNSPECIFIED');
137
+
138
+ /// The runtime asked for it: a PeerSocketEffect close (a timed-out open, a disconnect).
139
+ static const PeerSocketCloseInitiator PEER_SOCKET_CLOSE_INITIATOR_RUNTIME =
140
+ PeerSocketCloseInitiator._(
141
+ 1, _omitEnumNames ? '' : 'PEER_SOCKET_CLOSE_INITIATOR_RUNTIME');
142
+
143
+ /// The shell, on its own account: the origin fence refused the open, a send found no open
144
+ /// socket, a receipt could not be delivered, or the host shut down.
145
+ static const PeerSocketCloseInitiator PEER_SOCKET_CLOSE_INITIATOR_SHELL =
146
+ PeerSocketCloseInitiator._(
147
+ 2, _omitEnumNames ? '' : 'PEER_SOCKET_CLOSE_INITIATOR_SHELL');
148
+
149
+ /// The remote end or the network: a close frame, a reset, or a connect that failed.
150
+ static const PeerSocketCloseInitiator PEER_SOCKET_CLOSE_INITIATOR_REMOTE =
151
+ PeerSocketCloseInitiator._(
152
+ 3, _omitEnumNames ? '' : 'PEER_SOCKET_CLOSE_INITIATOR_REMOTE');
153
+
154
+ static const $core.List<PeerSocketCloseInitiator> values =
155
+ <PeerSocketCloseInitiator>[
156
+ PEER_SOCKET_CLOSE_INITIATOR_UNSPECIFIED,
157
+ PEER_SOCKET_CLOSE_INITIATOR_RUNTIME,
158
+ PEER_SOCKET_CLOSE_INITIATOR_SHELL,
159
+ PEER_SOCKET_CLOSE_INITIATOR_REMOTE,
160
+ ];
161
+
162
+ static final $core.List<PeerSocketCloseInitiator?> _byValue =
163
+ $pb.ProtobufEnum.$_initByValueList(values, 3);
164
+ static PeerSocketCloseInitiator? valueOf($core.int value) =>
165
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
166
+
167
+ const PeerSocketCloseInitiator._(super.value, super.name);
168
+ }
169
+
170
+ /// Which side of the live link a connection served.
171
+ class LiveLinkRole extends $pb.ProtobufEnum {
172
+ static const LiveLinkRole LIVE_LINK_ROLE_UNSPECIFIED =
173
+ LiveLinkRole._(0, _omitEnumNames ? '' : 'LIVE_LINK_ROLE_UNSPECIFIED');
174
+
175
+ /// A replica following its upstream custodian.
176
+ static const LiveLinkRole LIVE_LINK_ROLE_PEER =
177
+ LiveLinkRole._(1, _omitEnumNames ? '' : 'LIVE_LINK_ROLE_PEER');
178
+
179
+ /// A hosted publisher relaying a custodian's frontier.
180
+ static const LiveLinkRole LIVE_LINK_ROLE_RELAY =
181
+ LiveLinkRole._(2, _omitEnumNames ? '' : 'LIVE_LINK_ROLE_RELAY');
182
+
183
+ static const $core.List<LiveLinkRole> values = <LiveLinkRole>[
184
+ LIVE_LINK_ROLE_UNSPECIFIED,
185
+ LIVE_LINK_ROLE_PEER,
186
+ LIVE_LINK_ROLE_RELAY,
187
+ ];
188
+
189
+ static final $core.List<LiveLinkRole?> _byValue =
190
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
191
+ static LiveLinkRole? valueOf($core.int value) =>
192
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
193
+
194
+ const LiveLinkRole._(super.value, super.name);
195
+ }
196
+
132
197
  const $core.bool _omitEnumNames =
133
198
  $core.bool.fromEnvironment('protobuf.omit_enum_names');
@@ -28,6 +28,8 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
28
28
  $core.Iterable<$core.String>? domainKeys,
29
29
  $core.String? acceptanceReason,
30
30
  $core.bool? dryRun,
31
+ $core.String? unitSet,
32
+ $core.Iterable<DomainUnitRequirement>? domainRequirements,
31
33
  }) {
32
34
  final result = create();
33
35
  if (session != null) result.session = session;
@@ -35,6 +37,9 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
35
37
  if (domainKeys != null) result.domainKeys.addAll(domainKeys);
36
38
  if (acceptanceReason != null) result.acceptanceReason = acceptanceReason;
37
39
  if (dryRun != null) result.dryRun = dryRun;
40
+ if (unitSet != null) result.unitSet = unitSet;
41
+ if (domainRequirements != null)
42
+ result.domainRequirements.addAll(domainRequirements);
38
43
  return result;
39
44
  }
40
45
 
@@ -57,6 +62,9 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
57
62
  ..pPS(3, _omitFieldNames ? '' : 'domainKeys')
58
63
  ..aOS(4, _omitFieldNames ? '' : 'acceptanceReason')
59
64
  ..aOB(5, _omitFieldNames ? '' : 'dryRun')
65
+ ..aOS(6, _omitFieldNames ? '' : 'unitSet')
66
+ ..pPM<DomainUnitRequirement>(7, _omitFieldNames ? '' : 'domainRequirements',
67
+ subBuilder: DomainUnitRequirement.create)
60
68
  ..hasRequiredFields = false;
61
69
 
62
70
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -92,8 +100,10 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
92
100
  @$pb.TagNumber(1)
93
101
  void clearSession() => $_clearField(1);
94
102
 
95
- /// The approved package identity from the generated descriptor: the kernel-derived
96
- /// content identity of the compiled `.law.usdz` closure (64 lowercase hex).
103
+ /// The approved package identity from the generated descriptor: the content
104
+ /// identity of the compiled `.law.usdz` closure (64 lowercase hex). It names the
105
+ /// bytes the shell supplies when the desk stages, and the law a package-lane
106
+ /// workspace serves; it is not what a unit-lane workspace serves.
97
107
  @$pb.TagNumber(2)
98
108
  $core.String get lawSha256 => $_getSZ(1);
99
109
  @$pb.TagNumber(2)
@@ -130,6 +140,112 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
130
140
  $core.bool hasDryRun() => $_has(4);
131
141
  @$pb.TagNumber(5)
132
142
  void clearDryRun() => $_clearField(5);
143
+
144
+ /// THE LAW the application approves: the unit set identity of its compiled
145
+ /// `build/<name>.units` (64 lowercase hex, CAP-773). A unit-lane workspace is on
146
+ /// the approved law when the closure it serves is composed from exactly these
147
+ /// units, whatever its kernel's composer. REQUIRED.
148
+ @$pb.TagNumber(6)
149
+ $core.String get unitSet => $_getSZ(5);
150
+ @$pb.TagNumber(6)
151
+ set unitSet($core.String value) => $_setString(5, value);
152
+ @$pb.TagNumber(6)
153
+ $core.bool hasUnitSet() => $_has(5);
154
+ @$pb.TagNumber(6)
155
+ void clearUnitSet() => $_clearField(6);
156
+
157
+ /// THE PER-DOMAIN REQUIREMENTS (CAP-666): for each application domain key, the
158
+ /// exact law unit and the generated consumer requirement this client was
159
+ /// compiled against. A workspace serving that unit for the key satisfies the
160
+ /// requirement for it even when its unit set carries other domains the
161
+ /// application never touches. Absent on clients generated before this field
162
+ /// existed: the unit set alone then decides.
163
+ @$pb.TagNumber(7)
164
+ $pb.PbList<DomainUnitRequirement> get domainRequirements => $_getList(6);
165
+ }
166
+
167
+ /// One application domain's requirement, as the compiler generated it beside the
168
+ /// unit set: the domain's unit hash (`domain:<key>` in `build/<name>.units`) and
169
+ /// the sha256 of the domain's `<name>.compatibility.usda` slice the kernel's
170
+ /// Compatibility Desk judges. Identities only; the office never reads the bytes.
171
+ class DomainUnitRequirement extends $pb.GeneratedMessage {
172
+ factory DomainUnitRequirement({
173
+ $core.String? domainKey,
174
+ $core.String? unitSha256,
175
+ $core.String? requirementSha256,
176
+ }) {
177
+ final result = create();
178
+ if (domainKey != null) result.domainKey = domainKey;
179
+ if (unitSha256 != null) result.unitSha256 = unitSha256;
180
+ if (requirementSha256 != null) result.requirementSha256 = requirementSha256;
181
+ return result;
182
+ }
183
+
184
+ DomainUnitRequirement._();
185
+
186
+ factory DomainUnitRequirement.fromBuffer($core.List<$core.int> data,
187
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
188
+ create()..mergeFromBuffer(data, registry);
189
+ factory DomainUnitRequirement.fromJson($core.String json,
190
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
191
+ create()..mergeFromJson(json, registry);
192
+
193
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
194
+ _omitMessageNames ? '' : 'DomainUnitRequirement',
195
+ package:
196
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
197
+ createEmptyInstance: create)
198
+ ..aOS(1, _omitFieldNames ? '' : 'domainKey')
199
+ ..aOS(2, _omitFieldNames ? '' : 'unitSha256')
200
+ ..aOS(3, _omitFieldNames ? '' : 'requirementSha256')
201
+ ..hasRequiredFields = false;
202
+
203
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
204
+ DomainUnitRequirement clone() => deepCopy();
205
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
206
+ DomainUnitRequirement copyWith(
207
+ void Function(DomainUnitRequirement) updates) =>
208
+ super.copyWith((message) => updates(message as DomainUnitRequirement))
209
+ as DomainUnitRequirement;
210
+
211
+ @$core.override
212
+ $pb.BuilderInfo get info_ => _i;
213
+
214
+ @$core.pragma('dart2js:noInline')
215
+ static DomainUnitRequirement create() => DomainUnitRequirement._();
216
+ @$core.override
217
+ DomainUnitRequirement createEmptyInstance() => create();
218
+ @$core.pragma('dart2js:noInline')
219
+ static DomainUnitRequirement getDefault() => _defaultInstance ??=
220
+ $pb.GeneratedMessage.$_defaultFor<DomainUnitRequirement>(create);
221
+ static DomainUnitRequirement? _defaultInstance;
222
+
223
+ @$pb.TagNumber(1)
224
+ $core.String get domainKey => $_getSZ(0);
225
+ @$pb.TagNumber(1)
226
+ set domainKey($core.String value) => $_setString(0, value);
227
+ @$pb.TagNumber(1)
228
+ $core.bool hasDomainKey() => $_has(0);
229
+ @$pb.TagNumber(1)
230
+ void clearDomainKey() => $_clearField(1);
231
+
232
+ @$pb.TagNumber(2)
233
+ $core.String get unitSha256 => $_getSZ(1);
234
+ @$pb.TagNumber(2)
235
+ set unitSha256($core.String value) => $_setString(1, value);
236
+ @$pb.TagNumber(2)
237
+ $core.bool hasUnitSha256() => $_has(1);
238
+ @$pb.TagNumber(2)
239
+ void clearUnitSha256() => $_clearField(2);
240
+
241
+ @$pb.TagNumber(3)
242
+ $core.String get requirementSha256 => $_getSZ(2);
243
+ @$pb.TagNumber(3)
244
+ set requirementSha256($core.String value) => $_setString(2, value);
245
+ @$pb.TagNumber(3)
246
+ $core.bool hasRequirementSha256() => $_has(2);
247
+ @$pb.TagNumber(3)
248
+ void clearRequirementSha256() => $_clearField(3);
133
249
  }
134
250
 
135
251
  class ApplicationModelAdopted extends $pb.GeneratedMessage {