@githolon/dsl 0.108.0 → 0.108.1

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 (94) hide show
  1. package/dart/CHANGELOG.md +5 -0
  2. package/dart/lib/src/application_framework_calls.dart +299 -0
  3. package/dart/lib/src/generated_call.dart +96 -0
  4. package/dart/lib/src/nms_generated_runtime.dart +29 -0
  5. package/dart/lib/src/node_runner_transport.dart +77 -1
  6. package/dart/lib/src/result_usda.dart +487 -0
  7. package/dart/lib/src/runner/node-entry.mjs +6401 -2102
  8. package/dart/lib/src/runner/offline-install.mjs +1538 -163
  9. package/dart/lib/src/runtime_v2_gateway.dart +54 -0
  10. package/dart/lib/src/runtime_v2_transport.dart +117 -0
  11. package/dart/lib/src/session_bound.dart +7 -2
  12. package/dart/lib/src/test_harness.dart +193 -112
  13. package/dart/lib/src/webview_bridge.dart +2120 -569
  14. package/dart/pubspec.yaml +2 -2
  15. package/dart/test/acquire_session_credentials_test.dart +1 -1
  16. package/dart/test/acquire_session_test.dart +68 -14
  17. package/dart/test/adv_realm_interference_test.dart +6 -4
  18. package/dart/test/cluster_births_test.dart +11 -8
  19. package/dart/test/cluster_local_autosync_test.dart +1 -1
  20. package/dart/test/cluster_scale_test.dart +3 -2
  21. package/dart/test/dlq_session_surface_test.dart +52 -35
  22. package/dart/test/first_app_gauntlet_test.dart +1 -1
  23. package/dart/test/local_sync_inert_test.dart +23 -26
  24. package/dart/test/offer_authentication_proof_test.dart +193 -0
  25. package/dart/test/result_usda_test.dart +49 -0
  26. package/dart/test/session_bound_test.dart +8 -11
  27. package/dart/test/stale_bundle_test.dart +18 -3
  28. package/dart/test/test_harness_test.dart +14 -27
  29. package/dart/test/webview_bridge_test.dart +504 -83
  30. package/dart_types/CHANGELOG.md +7 -0
  31. package/dart_types/lib/nomos_kernel_protocol.dart +3 -2
  32. package/dart_types/lib/src/custody.dart +64 -19
  33. package/dart_types/lib/src/local_work_rejected.dart +30 -45
  34. package/dart_types/lib/src/proto/nomos/custody/v1/snapshot.pb.dart +169 -0
  35. package/dart_types/lib/src/proto/nomos/custody/v1/snapshot.pbenum.dart +11 -0
  36. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pb.dart +2021 -234
  37. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbenum.dart +175 -8
  38. package/dart_types/lib/src/proto/nomos/runtime/v2/runtime.pb.dart +8664 -0
  39. package/dart_types/lib/src/proto/nomos/runtime/v2/runtime.pbenum.dart +369 -0
  40. package/dart_types/lib/src/surfaced.dart +30 -25
  41. package/dart_types/pubspec.yaml +1 -1
  42. package/dart_types/test/surfaced_test.dart +2 -1
  43. package/package.json +1 -1
  44. package/runtime/generated-application-host.js +5736 -2047
  45. package/src/authoring.ts +3 -2
  46. package/src/births.ts +21 -0
  47. package/src/build_package.ts +30 -0
  48. package/src/business_birth.ts +39 -35
  49. package/src/codegen_call_usda.ts +1111 -0
  50. package/src/codegen_dart.ts +207 -282
  51. package/src/codegen_dart_application.ts +195 -252
  52. package/src/codegen_dart_client.ts +1978 -593
  53. package/src/codegen_dart_framework_calls.ts +291 -0
  54. package/src/codegen_dart_scenario.ts +7 -0
  55. package/src/codegen_proof.ts +3 -4
  56. package/src/codegen_provider_dart.ts +21 -7
  57. package/src/codegen_query_usda.ts +214 -0
  58. package/src/codegen_result_usda.ts +685 -0
  59. package/src/codegen_ts.ts +3945 -1111
  60. package/src/compile_package_main.ts +360 -32
  61. package/src/directive.ts +19 -4
  62. package/src/engine_entry.ts +45 -4
  63. package/src/framework/application_home.ts +2 -0
  64. package/src/framework/auth_provider_law.ts +262 -20
  65. package/src/framework/home.ts +32 -28
  66. package/src/framework/owned_custody.ts +19 -11
  67. package/src/framework/owned_custody_value.ts +51 -0
  68. package/src/framework/relations.ts +47 -21
  69. package/src/framework/signing_identity.ts +34 -0
  70. package/src/framework/workspaces.ts +31 -9
  71. package/src/framework_call_definitions.ts +53 -0
  72. package/src/framework_read_definitions.ts +45 -0
  73. package/src/identity_frontier.ts +58 -0
  74. package/src/index.ts +20 -1
  75. package/src/intent.ts +216 -16
  76. package/src/law_check.ts +19 -1
  77. package/src/law_graph.ts +57 -8
  78. package/src/law_graph_usda.ts +73 -5
  79. package/src/law_value_type.ts +106 -19
  80. package/src/read.ts +47 -0
  81. package/src/read_projection_namespace.ts +7 -0
  82. package/src/shape_compat.ts +38 -39
  83. package/src/stable_ids.ts +37 -2
  84. package/src/test_call_usda.ts +83 -0
  85. package/src/wire.ts +36 -2
  86. package/src/wire_encode.ts +45 -1
  87. package/src/workspace_sharing.ts +27 -10
  88. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbjson.dart +0 -6096
  89. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbserver.dart +0 -50
  90. package/dart_types/lib/src/proto/nomos/kernel/v1/progress.pbjson.dart +0 -178
  91. package/dart_types/lib/src/proto/nomos/runtime/v1/runtime.pb.dart +0 -828
  92. package/dart_types/lib/src/proto/nomos/runtime/v1/runtime.pbenum.dart +0 -465
  93. package/dart_types/lib/src/proto/nomos/runtime/v1/runtime.pbjson.dart +0 -573
  94. package/dart_types/lib/src/proto/nomos/runtime/v1/runtime.pbserver.dart +0 -50
@@ -0,0 +1,369 @@
1
+ // This is a generated file - do not edit.
2
+ //
3
+ // Generated from nomos/runtime/v2/runtime.proto.
4
+
5
+ // @dart = 3.3
6
+
7
+ // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8
+ // ignore_for_file: constant_identifier_names
9
+ // ignore_for_file: curly_braces_in_flow_control_structures
10
+ // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
11
+ // ignore_for_file: non_constant_identifier_names
12
+
13
+ import 'dart:core' as $core;
14
+
15
+ import 'package:protobuf/protobuf.dart' as $pb;
16
+
17
+ class CustodyBreakPolicy extends $pb.ProtobufEnum {
18
+ static const CustodyBreakPolicy CUSTODY_BREAK_POLICY_UNSPECIFIED =
19
+ CustodyBreakPolicy._(
20
+ 0, _omitEnumNames ? '' : 'CUSTODY_BREAK_POLICY_UNSPECIFIED');
21
+ static const CustodyBreakPolicy CUSTODY_BREAK_POLICY_ASK =
22
+ CustodyBreakPolicy._(1, _omitEnumNames ? '' : 'CUSTODY_BREAK_POLICY_ASK');
23
+ static const CustodyBreakPolicy CUSTODY_BREAK_POLICY_ADOPT =
24
+ CustodyBreakPolicy._(
25
+ 2, _omitEnumNames ? '' : 'CUSTODY_BREAK_POLICY_ADOPT');
26
+ static const CustodyBreakPolicy CUSTODY_BREAK_POLICY_REJECT =
27
+ CustodyBreakPolicy._(
28
+ 3, _omitEnumNames ? '' : 'CUSTODY_BREAK_POLICY_REJECT');
29
+
30
+ static const $core.List<CustodyBreakPolicy> values = <CustodyBreakPolicy>[
31
+ CUSTODY_BREAK_POLICY_UNSPECIFIED,
32
+ CUSTODY_BREAK_POLICY_ASK,
33
+ CUSTODY_BREAK_POLICY_ADOPT,
34
+ CUSTODY_BREAK_POLICY_REJECT,
35
+ ];
36
+
37
+ static final $core.List<CustodyBreakPolicy?> _byValue =
38
+ $pb.ProtobufEnum.$_initByValueList(values, 3);
39
+ static CustodyBreakPolicy? valueOf($core.int value) =>
40
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
41
+
42
+ const CustodyBreakPolicy._(super.value, super.name);
43
+ }
44
+
45
+ class WorkspaceResidency extends $pb.ProtobufEnum {
46
+ static const WorkspaceResidency WORKSPACE_RESIDENCY_UNSPECIFIED =
47
+ WorkspaceResidency._(
48
+ 0, _omitEnumNames ? '' : 'WORKSPACE_RESIDENCY_UNSPECIFIED');
49
+ static const WorkspaceResidency WORKSPACE_RESIDENCY_MOUNTED =
50
+ WorkspaceResidency._(
51
+ 1, _omitEnumNames ? '' : 'WORKSPACE_RESIDENCY_MOUNTED');
52
+ static const WorkspaceResidency WORKSPACE_RESIDENCY_PARKED =
53
+ WorkspaceResidency._(
54
+ 2, _omitEnumNames ? '' : 'WORKSPACE_RESIDENCY_PARKED');
55
+ static const WorkspaceResidency WORKSPACE_RESIDENCY_CUSTODY_ONLY =
56
+ WorkspaceResidency._(
57
+ 3, _omitEnumNames ? '' : 'WORKSPACE_RESIDENCY_CUSTODY_ONLY');
58
+
59
+ static const $core.List<WorkspaceResidency> values = <WorkspaceResidency>[
60
+ WORKSPACE_RESIDENCY_UNSPECIFIED,
61
+ WORKSPACE_RESIDENCY_MOUNTED,
62
+ WORKSPACE_RESIDENCY_PARKED,
63
+ WORKSPACE_RESIDENCY_CUSTODY_ONLY,
64
+ ];
65
+
66
+ static final $core.List<WorkspaceResidency?> _byValue =
67
+ $pb.ProtobufEnum.$_initByValueList(values, 3);
68
+ static WorkspaceResidency? valueOf($core.int value) =>
69
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
70
+
71
+ const WorkspaceResidency._(super.value, super.name);
72
+ }
73
+
74
+ class WorkspaceSyncPosture extends $pb.ProtobufEnum {
75
+ static const WorkspaceSyncPosture WORKSPACE_SYNC_POSTURE_UNSPECIFIED =
76
+ WorkspaceSyncPosture._(
77
+ 0, _omitEnumNames ? '' : 'WORKSPACE_SYNC_POSTURE_UNSPECIFIED');
78
+ static const WorkspaceSyncPosture WORKSPACE_SYNC_POSTURE_LOCAL_ONLY =
79
+ WorkspaceSyncPosture._(
80
+ 1, _omitEnumNames ? '' : 'WORKSPACE_SYNC_POSTURE_LOCAL_ONLY');
81
+ static const WorkspaceSyncPosture WORKSPACE_SYNC_POSTURE_CLOUD_BOUND =
82
+ WorkspaceSyncPosture._(
83
+ 2, _omitEnumNames ? '' : 'WORKSPACE_SYNC_POSTURE_CLOUD_BOUND');
84
+
85
+ static const $core.List<WorkspaceSyncPosture> values = <WorkspaceSyncPosture>[
86
+ WORKSPACE_SYNC_POSTURE_UNSPECIFIED,
87
+ WORKSPACE_SYNC_POSTURE_LOCAL_ONLY,
88
+ WORKSPACE_SYNC_POSTURE_CLOUD_BOUND,
89
+ ];
90
+
91
+ static final $core.List<WorkspaceSyncPosture?> _byValue =
92
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
93
+ static WorkspaceSyncPosture? valueOf($core.int value) =>
94
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
95
+
96
+ const WorkspaceSyncPosture._(super.value, super.name);
97
+ }
98
+
99
+ class WatchKind extends $pb.ProtobufEnum {
100
+ static const WatchKind WATCH_KIND_UNSPECIFIED =
101
+ WatchKind._(0, _omitEnumNames ? '' : 'WATCH_KIND_UNSPECIFIED');
102
+ static const WatchKind WATCH_KIND_QUERY =
103
+ WatchKind._(1, _omitEnumNames ? '' : 'WATCH_KIND_QUERY');
104
+ static const WatchKind WATCH_KIND_BY_ID =
105
+ WatchKind._(2, _omitEnumNames ? '' : 'WATCH_KIND_BY_ID');
106
+ static const WatchKind WATCH_KIND_SPATIAL =
107
+ WatchKind._(3, _omitEnumNames ? '' : 'WATCH_KIND_SPATIAL');
108
+ static const WatchKind WATCH_KIND_ACTIVITY =
109
+ WatchKind._(4, _omitEnumNames ? '' : 'WATCH_KIND_ACTIVITY');
110
+
111
+ static const $core.List<WatchKind> values = <WatchKind>[
112
+ WATCH_KIND_UNSPECIFIED,
113
+ WATCH_KIND_QUERY,
114
+ WATCH_KIND_BY_ID,
115
+ WATCH_KIND_SPATIAL,
116
+ WATCH_KIND_ACTIVITY,
117
+ ];
118
+
119
+ static final $core.List<WatchKind?> _byValue =
120
+ $pb.ProtobufEnum.$_initByValueList(values, 4);
121
+ static WatchKind? valueOf($core.int value) =>
122
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
123
+
124
+ const WatchKind._(super.value, super.name);
125
+ }
126
+
127
+ class ModelLifecycleStage extends $pb.ProtobufEnum {
128
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_UNSPECIFIED =
129
+ ModelLifecycleStage._(
130
+ 0, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_UNSPECIFIED');
131
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_IDENTITY_REQUIRED =
132
+ ModelLifecycleStage._(
133
+ 1, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_IDENTITY_REQUIRED');
134
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_STAGING_REQUIRED =
135
+ ModelLifecycleStage._(
136
+ 2, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_STAGING_REQUIRED');
137
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_PREFLIGHT =
138
+ ModelLifecycleStage._(
139
+ 3, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_PREFLIGHT');
140
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_ACCEPTANCE_REQUIRED =
141
+ ModelLifecycleStage._(
142
+ 4, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_ACCEPTANCE_REQUIRED');
143
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_ADMISSION =
144
+ ModelLifecycleStage._(
145
+ 5, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_ADMISSION');
146
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_PENDING =
147
+ ModelLifecycleStage._(
148
+ 6, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_PENDING');
149
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_PROMOTED =
150
+ ModelLifecycleStage._(
151
+ 7, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_PROMOTED');
152
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_RESTORED =
153
+ ModelLifecycleStage._(
154
+ 8, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_RESTORED');
155
+ static const ModelLifecycleStage MODEL_LIFECYCLE_STAGE_ALREADY_CURRENT =
156
+ ModelLifecycleStage._(
157
+ 9, _omitEnumNames ? '' : 'MODEL_LIFECYCLE_STAGE_ALREADY_CURRENT');
158
+
159
+ static const $core.List<ModelLifecycleStage> values = <ModelLifecycleStage>[
160
+ MODEL_LIFECYCLE_STAGE_UNSPECIFIED,
161
+ MODEL_LIFECYCLE_STAGE_IDENTITY_REQUIRED,
162
+ MODEL_LIFECYCLE_STAGE_STAGING_REQUIRED,
163
+ MODEL_LIFECYCLE_STAGE_PREFLIGHT,
164
+ MODEL_LIFECYCLE_STAGE_ACCEPTANCE_REQUIRED,
165
+ MODEL_LIFECYCLE_STAGE_ADMISSION,
166
+ MODEL_LIFECYCLE_STAGE_PENDING,
167
+ MODEL_LIFECYCLE_STAGE_PROMOTED,
168
+ MODEL_LIFECYCLE_STAGE_RESTORED,
169
+ MODEL_LIFECYCLE_STAGE_ALREADY_CURRENT,
170
+ ];
171
+
172
+ static final $core.List<ModelLifecycleStage?> _byValue =
173
+ $pb.ProtobufEnum.$_initByValueList(values, 9);
174
+ static ModelLifecycleStage? valueOf($core.int value) =>
175
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
176
+
177
+ const ModelLifecycleStage._(super.value, super.name);
178
+ }
179
+
180
+ class ModelDifferenceKind extends $pb.ProtobufEnum {
181
+ static const ModelDifferenceKind MODEL_DIFFERENCE_KIND_UNSPECIFIED =
182
+ ModelDifferenceKind._(
183
+ 0, _omitEnumNames ? '' : 'MODEL_DIFFERENCE_KIND_UNSPECIFIED');
184
+ static const ModelDifferenceKind MODEL_DIFFERENCE_KIND_RULES =
185
+ ModelDifferenceKind._(
186
+ 1, _omitEnumNames ? '' : 'MODEL_DIFFERENCE_KIND_RULES');
187
+ static const ModelDifferenceKind MODEL_DIFFERENCE_KIND_OUTCOME =
188
+ ModelDifferenceKind._(
189
+ 2, _omitEnumNames ? '' : 'MODEL_DIFFERENCE_KIND_OUTCOME');
190
+ static const ModelDifferenceKind MODEL_DIFFERENCE_KIND_EVIDENCE =
191
+ ModelDifferenceKind._(
192
+ 3, _omitEnumNames ? '' : 'MODEL_DIFFERENCE_KIND_EVIDENCE');
193
+
194
+ static const $core.List<ModelDifferenceKind> values = <ModelDifferenceKind>[
195
+ MODEL_DIFFERENCE_KIND_UNSPECIFIED,
196
+ MODEL_DIFFERENCE_KIND_RULES,
197
+ MODEL_DIFFERENCE_KIND_OUTCOME,
198
+ MODEL_DIFFERENCE_KIND_EVIDENCE,
199
+ ];
200
+
201
+ static final $core.List<ModelDifferenceKind?> _byValue =
202
+ $pb.ProtobufEnum.$_initByValueList(values, 3);
203
+ static ModelDifferenceKind? valueOf($core.int value) =>
204
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
205
+
206
+ const ModelDifferenceKind._(super.value, super.name);
207
+ }
208
+
209
+ class CustodyBreakDecision extends $pb.ProtobufEnum {
210
+ static const CustodyBreakDecision CUSTODY_BREAK_DECISION_UNSPECIFIED =
211
+ CustodyBreakDecision._(
212
+ 0, _omitEnumNames ? '' : 'CUSTODY_BREAK_DECISION_UNSPECIFIED');
213
+ static const CustodyBreakDecision CUSTODY_BREAK_DECISION_ADOPT =
214
+ CustodyBreakDecision._(
215
+ 1, _omitEnumNames ? '' : 'CUSTODY_BREAK_DECISION_ADOPT');
216
+ static const CustodyBreakDecision CUSTODY_BREAK_DECISION_REJECT =
217
+ CustodyBreakDecision._(
218
+ 2, _omitEnumNames ? '' : 'CUSTODY_BREAK_DECISION_REJECT');
219
+
220
+ static const $core.List<CustodyBreakDecision> values = <CustodyBreakDecision>[
221
+ CUSTODY_BREAK_DECISION_UNSPECIFIED,
222
+ CUSTODY_BREAK_DECISION_ADOPT,
223
+ CUSTODY_BREAK_DECISION_REJECT,
224
+ ];
225
+
226
+ static final $core.List<CustodyBreakDecision?> _byValue =
227
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
228
+ static CustodyBreakDecision? valueOf($core.int value) =>
229
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
230
+
231
+ const CustodyBreakDecision._(super.value, super.name);
232
+ }
233
+
234
+ class LinkStatus extends $pb.ProtobufEnum {
235
+ static const LinkStatus LINK_STATUS_UNSPECIFIED =
236
+ LinkStatus._(0, _omitEnumNames ? '' : 'LINK_STATUS_UNSPECIFIED');
237
+ static const LinkStatus LINK_STATUS_OPEN =
238
+ LinkStatus._(1, _omitEnumNames ? '' : 'LINK_STATUS_OPEN');
239
+ static const LinkStatus LINK_STATUS_CLOSED =
240
+ LinkStatus._(2, _omitEnumNames ? '' : 'LINK_STATUS_CLOSED');
241
+
242
+ static const $core.List<LinkStatus> values = <LinkStatus>[
243
+ LINK_STATUS_UNSPECIFIED,
244
+ LINK_STATUS_OPEN,
245
+ LINK_STATUS_CLOSED,
246
+ ];
247
+
248
+ static final $core.List<LinkStatus?> _byValue =
249
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
250
+ static LinkStatus? valueOf($core.int value) =>
251
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
252
+
253
+ const LinkStatus._(super.value, super.name);
254
+ }
255
+
256
+ class CustodyChangeKind extends $pb.ProtobufEnum {
257
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_UNSPECIFIED =
258
+ CustodyChangeKind._(
259
+ 0, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_UNSPECIFIED');
260
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_DETECTED =
261
+ CustodyChangeKind._(
262
+ 1, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_DETECTED');
263
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_REJECTED =
264
+ CustodyChangeKind._(
265
+ 2, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_REJECTED');
266
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_ADOPTING =
267
+ CustodyChangeKind._(
268
+ 3, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_ADOPTING');
269
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_ADOPT_REFUSED =
270
+ CustodyChangeKind._(
271
+ 4, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_ADOPT_REFUSED');
272
+ static const CustodyChangeKind CUSTODY_CHANGE_KIND_ASK =
273
+ CustodyChangeKind._(5, _omitEnumNames ? '' : 'CUSTODY_CHANGE_KIND_ASK');
274
+
275
+ static const $core.List<CustodyChangeKind> values = <CustodyChangeKind>[
276
+ CUSTODY_CHANGE_KIND_UNSPECIFIED,
277
+ CUSTODY_CHANGE_KIND_DETECTED,
278
+ CUSTODY_CHANGE_KIND_REJECTED,
279
+ CUSTODY_CHANGE_KIND_ADOPTING,
280
+ CUSTODY_CHANGE_KIND_ADOPT_REFUSED,
281
+ CUSTODY_CHANGE_KIND_ASK,
282
+ ];
283
+
284
+ static final $core.List<CustodyChangeKind?> _byValue =
285
+ $pb.ProtobufEnum.$_initByValueList(values, 5);
286
+ static CustodyChangeKind? valueOf($core.int value) =>
287
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
288
+
289
+ const CustodyChangeKind._(super.value, super.name);
290
+ }
291
+
292
+ class CustodyBreakKind extends $pb.ProtobufEnum {
293
+ static const CustodyBreakKind CUSTODY_BREAK_KIND_UNSPECIFIED =
294
+ CustodyBreakKind._(
295
+ 0, _omitEnumNames ? '' : 'CUSTODY_BREAK_KIND_UNSPECIFIED');
296
+ static const CustodyBreakKind CUSTODY_BREAK_KIND_SUPERSEDED =
297
+ CustodyBreakKind._(
298
+ 1, _omitEnumNames ? '' : 'CUSTODY_BREAK_KIND_SUPERSEDED');
299
+ static const CustodyBreakKind CUSTODY_BREAK_KIND_DIVERGED =
300
+ CustodyBreakKind._(
301
+ 2, _omitEnumNames ? '' : 'CUSTODY_BREAK_KIND_DIVERGED');
302
+
303
+ static const $core.List<CustodyBreakKind> values = <CustodyBreakKind>[
304
+ CUSTODY_BREAK_KIND_UNSPECIFIED,
305
+ CUSTODY_BREAK_KIND_SUPERSEDED,
306
+ CUSTODY_BREAK_KIND_DIVERGED,
307
+ ];
308
+
309
+ static final $core.List<CustodyBreakKind?> _byValue =
310
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
311
+ static CustodyBreakKind? valueOf($core.int value) =>
312
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
313
+
314
+ const CustodyBreakKind._(super.value, super.name);
315
+ }
316
+
317
+ class LocalWorkRejectionSource extends $pb.ProtobufEnum {
318
+ static const LocalWorkRejectionSource
319
+ LOCAL_WORK_REJECTION_SOURCE_UNSPECIFIED = LocalWorkRejectionSource._(
320
+ 0, _omitEnumNames ? '' : 'LOCAL_WORK_REJECTION_SOURCE_UNSPECIFIED');
321
+ static const LocalWorkRejectionSource LOCAL_WORK_REJECTION_SOURCE_ADMISSION =
322
+ LocalWorkRejectionSource._(
323
+ 1, _omitEnumNames ? '' : 'LOCAL_WORK_REJECTION_SOURCE_ADMISSION');
324
+ static const LocalWorkRejectionSource LOCAL_WORK_REJECTION_SOURCE_SYNC =
325
+ LocalWorkRejectionSource._(
326
+ 2, _omitEnumNames ? '' : 'LOCAL_WORK_REJECTION_SOURCE_SYNC');
327
+
328
+ static const $core.List<LocalWorkRejectionSource> values =
329
+ <LocalWorkRejectionSource>[
330
+ LOCAL_WORK_REJECTION_SOURCE_UNSPECIFIED,
331
+ LOCAL_WORK_REJECTION_SOURCE_ADMISSION,
332
+ LOCAL_WORK_REJECTION_SOURCE_SYNC,
333
+ ];
334
+
335
+ static final $core.List<LocalWorkRejectionSource?> _byValue =
336
+ $pb.ProtobufEnum.$_initByValueList(values, 2);
337
+ static LocalWorkRejectionSource? valueOf($core.int value) =>
338
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
339
+
340
+ const LocalWorkRejectionSource._(super.value, super.name);
341
+ }
342
+
343
+ class TransferKind extends $pb.ProtobufEnum {
344
+ static const TransferKind TRANSFER_KIND_UNSPECIFIED =
345
+ TransferKind._(0, _omitEnumNames ? '' : 'TRANSFER_KIND_UNSPECIFIED');
346
+ static const TransferKind TRANSFER_KIND_DELTA =
347
+ TransferKind._(1, _omitEnumNames ? '' : 'TRANSFER_KIND_DELTA');
348
+ static const TransferKind TRANSFER_KIND_FULL =
349
+ TransferKind._(2, _omitEnumNames ? '' : 'TRANSFER_KIND_FULL');
350
+ static const TransferKind TRANSFER_KIND_PUSH =
351
+ TransferKind._(3, _omitEnumNames ? '' : 'TRANSFER_KIND_PUSH');
352
+
353
+ static const $core.List<TransferKind> values = <TransferKind>[
354
+ TRANSFER_KIND_UNSPECIFIED,
355
+ TRANSFER_KIND_DELTA,
356
+ TRANSFER_KIND_FULL,
357
+ TRANSFER_KIND_PUSH,
358
+ ];
359
+
360
+ static final $core.List<TransferKind?> _byValue =
361
+ $pb.ProtobufEnum.$_initByValueList(values, 3);
362
+ static TransferKind? valueOf($core.int value) =>
363
+ value < 0 || value >= _byValue.length ? null : _byValue[value];
364
+
365
+ const TransferKind._(super.value, super.name);
366
+ }
367
+
368
+ const $core.bool _omitEnumNames =
369
+ $core.bool.fromEnvironment('protobuf.omit_enum_names');
@@ -50,8 +50,8 @@ class SurfacedObservation<T> {
50
50
  ) =>
51
51
  SurfacedObservation(
52
52
  value: decodeT(json['value']),
53
- occurredAt: Hlc.fromJson(
54
- (json['occurredAt'] as Map).cast<String, dynamic>()),
53
+ occurredAt:
54
+ Hlc.fromJson((json['occurredAt'] as Map).cast<String, dynamic>()),
55
55
  author: json[surfacedAuthorKey] as String?,
56
56
  );
57
57
 
@@ -80,13 +80,17 @@ sealed class SurfacedValue<T> {
80
80
  /// [SurfacedPending]; any other value is the resolved scalar (via [decodeT]).
81
81
  factory SurfacedValue.fromJson(dynamic json, T Function(dynamic) decodeT) {
82
82
  if (json is Map && json.containsKey(surfacedEnvelopeKey)) {
83
- final env =
84
- (json[surfacedEnvelopeKey] as Map).cast<String, dynamic>();
83
+ final env = (json[surfacedEnvelopeKey] as Map).cast<String, dynamic>();
85
84
  if (env['status'] == 'evolutionRequired') {
85
+ final evolution =
86
+ ((env['evolution'] as Map?) ?? const {}).cast<String, dynamic>();
86
87
  return SurfacedEvolutionRequired<T>(
87
88
  targetSchema: env['targetSchema'] as String? ?? '',
88
- evolution: ((env['evolution'] as Map?) ?? const {})
89
- .cast<String, dynamic>(),
89
+ sourceSchemas: ((evolution['sourceSchemas'] as List?) ?? const [])
90
+ .cast<String>(),
91
+ authoredUnder: ((evolution['authoredUnder'] as List?) ?? const [])
92
+ .cast<String>(),
93
+ reason: evolution['reason'] as String? ?? '',
90
94
  );
91
95
  }
92
96
  final rawPending = (env['pending'] as List? ?? const []);
@@ -122,9 +126,7 @@ sealed class SurfacedValue<T> {
122
126
  /// The competing observations while pending; const empty once resolved.
123
127
  List<SurfacedObservation<T>> get pending {
124
128
  final self = this;
125
- return self is SurfacedPending<T>
126
- ? self.observations
127
- : const [];
129
+ return self is SurfacedPending<T> ? self.observations : const [];
128
130
  }
129
131
  }
130
132
 
@@ -178,18 +180,18 @@ class PendingConflictRow {
178
180
  'conflicts need a Nomos runtime with immutable conflict snapshots; upgrade Nomos before merging');
179
181
  }
180
182
  return PendingConflictRow(
181
- aggregateType: json['aggregateType'] as String,
182
- aggregateId: json['aggregateId'] as String,
183
- field: json['field'] as String,
184
- status: json['status'] as String? ?? 'evolutionRequired',
185
- targetSchema: json['targetSchema'] as String? ?? '',
186
- evolution: (json['evolution'] as Map?)?.cast<String, dynamic>(),
187
- snapshot: snapshot,
188
- observations: List.unmodifiable(
189
- (json['observations'] as List? ?? const []).map((o) =>
190
- SurfacedObservation<Object?>.fromJson(
191
- (o as Map).cast<String, dynamic>(), (v) => v))),
192
- );
183
+ aggregateType: json['aggregateType'] as String,
184
+ aggregateId: json['aggregateId'] as String,
185
+ field: json['field'] as String,
186
+ status: json['status'] as String? ?? 'evolutionRequired',
187
+ targetSchema: json['targetSchema'] as String? ?? '',
188
+ evolution: (json['evolution'] as Map?)?.cast<String, dynamic>(),
189
+ snapshot: snapshot,
190
+ observations: List.unmodifiable(
191
+ (json['observations'] as List? ?? const []).map((o) =>
192
+ SurfacedObservation<Object?>.fromJson(
193
+ (o as Map).cast<String, dynamic>(), (v) => v))),
194
+ );
193
195
  }
194
196
 
195
197
  @override
@@ -202,11 +204,15 @@ class PendingConflictRow {
202
204
  /// evolution projects them into [targetSchema].
203
205
  final class SurfacedEvolutionRequired<T> extends SurfacedValue<T> {
204
206
  final String targetSchema;
205
- final Map<String, dynamic> evolution;
207
+ final List<String> sourceSchemas;
208
+ final List<String> authoredUnder;
209
+ final String reason;
206
210
 
207
211
  const SurfacedEvolutionRequired({
208
212
  required this.targetSchema,
209
- required this.evolution,
213
+ required this.sourceSchemas,
214
+ required this.authoredUnder,
215
+ required this.reason,
210
216
  });
211
217
  }
212
218
 
@@ -246,8 +252,7 @@ final class SurfacedPending<T> extends SurfacedValue<T> {
246
252
  }
247
253
 
248
254
  @override
249
- int get hashCode =>
250
- Object.hashAll(['SurfacedPending', ...observations]);
255
+ int get hashCode => Object.hashAll(['SurfacedPending', ...observations]);
251
256
 
252
257
  @override
253
258
  String toString() => 'SurfacedPending($observations)';
@@ -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.9.0
12
+ version: 0.10.0
13
13
 
14
14
  environment:
15
15
  sdk: ^3.5.0
@@ -159,7 +159,8 @@ void main() {
159
159
  expect(v, isA<SurfacedEvolutionRequired<String>>());
160
160
  final blocked = v as SurfacedEvolutionRequired<String>;
161
161
  expect(blocked.targetSchema, 'title-v2');
162
- expect(blocked.evolution['sourceSchemas'], ['title-v1']);
162
+ expect(blocked.sourceSchemas, ['title-v1']);
163
+ expect(blocked.authoredUnder, ['law-v1']);
163
164
  expect(blocked.isPending, isFalse);
164
165
  expect(blocked.valueOrNull, isNull);
165
166
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@githolon/dsl",
3
- "version": "0.108.0",
3
+ "version": "0.108.1",
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.",