@reventlessdev/reventless-core 3.0.0-alpha.238 → 3.0.0-alpha.240

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 (178) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +12 -12
  3. package/src/Message.res +11 -11
  4. package/src/Message.res.mjs +15 -14
  5. package/src/Projection.res +2 -2
  6. package/src/Projection.res.mjs +5 -4
  7. package/src/adapter/Monitoring/Monitoring.res +24 -2
  8. package/src/adapter/Monitoring/Monitoring.res.mjs +3 -3
  9. package/src/admin/Platform_AdminApi.res.mjs +3 -3
  10. package/src/admin/Platform_Admin_Structure.res +33 -112
  11. package/src/admin/Platform_Admin_Structure.res.mjs +8 -138
  12. package/src/admin/Platform_ComponentDefinitionsApi.res +2 -1
  13. package/src/admin/Platform_ComponentDefinitionsApi.res.mjs +5 -1
  14. package/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry.res.mjs +12 -12
  15. package/src/admin/UiFragmentRegistry/StateViewSlice/UiFragments.res.mjs +14 -14
  16. package/src/components/Aggregate/Aggregate_Callback.res +2 -2
  17. package/src/components/Aggregate/Aggregate_Callback.res.mjs +4 -4
  18. package/src/components/Api/ApiAllowedStatesHelpers.res.mjs +3 -3
  19. package/src/components/Api/ApiNoApiHelpers.res.mjs +5 -5
  20. package/src/components/Api/ApiTargetStateHelpers.res.mjs +3 -3
  21. package/src/components/Api/GraphQL_FragmentGenerator.res +140 -24
  22. package/src/components/Api/GraphQL_FragmentGenerator.res.mjs +48 -21
  23. package/src/components/Api/GraphQL_SchemaInspector.res +1 -1
  24. package/src/components/Api/GraphQL_SchemaInspector.res.mjs +1 -1
  25. package/src/components/Api/MCP_SchemaGenerator.res +1 -1
  26. package/src/components/Api/MCP_SchemaGenerator.res.mjs +1 -1
  27. package/src/components/Api/SchemaType.res +6 -10
  28. package/src/components/Api/SchemaType.res.mjs +4 -4
  29. package/src/components/Api/StorageRefFields.res +1 -1
  30. package/src/components/Api/StorageRefFields.res.mjs +1 -1
  31. package/src/components/Api/SuryToJsonSchema.res +19 -0
  32. package/src/components/Api/SuryToJsonSchema.res.mjs +10 -5
  33. package/src/components/AutomationSlice/AutomationSlice_Callback.res +3 -4
  34. package/src/components/AutomationSlice/AutomationSlice_Callback.res.mjs +22 -23
  35. package/src/components/CommandTopic/CommandTopic_Callback.res +1 -2
  36. package/src/components/CommandTopic/CommandTopic_Callback.res.mjs +3 -4
  37. package/src/components/CommandTopic/CommandTopic_Helpers.res +1 -1
  38. package/src/components/CommandTopic/CommandTopic_Helpers.res.mjs +3 -3
  39. package/src/components/Counter/Counter.res.mjs +2 -2
  40. package/src/components/Counter/Counter_Callback.res.mjs +4 -4
  41. package/src/components/Counter/Counter_Operations.res.mjs +4 -4
  42. package/src/components/Dcb/Dcb_Builder.res +1 -1
  43. package/src/components/Dcb/Dcb_Builder.res.mjs +8 -6
  44. package/src/components/DcbEventLog/DcbEventLog_Builder.res.mjs +4 -3
  45. package/src/components/EventCollector/EventCollector_Builder.res +1 -1
  46. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res +1 -2
  47. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res.mjs +11 -12
  48. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Callback.res +3 -4
  49. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Callback.res.mjs +24 -25
  50. package/src/components/SideEffectHandler/SideEffectHandler_Callback.res +1 -1
  51. package/src/components/SideEffectHandler/SideEffectHandler_Callback.res.mjs +3 -3
  52. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res +2 -2
  53. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res.mjs +4 -4
  54. package/src/components/StateViewSlice/StateViewSlice_Builder.res +1 -1
  55. package/src/components/StateViewSlice/StateViewSlice_Builder.res.mjs +3 -3
  56. package/src/plugin/api/PluginBaseFragment.res +12 -29
  57. package/src/plugin/api/PluginBaseFragment.res.mjs +3 -22
  58. package/src/plugin/component/Capability_Inference.res +118 -1
  59. package/src/plugin/component/Capability_Inference.res.mjs +128 -1
  60. package/src/plugin/component/Plugin_Builder.res +9 -2
  61. package/src/plugin/component/Plugin_Builder.res.mjs +5 -2
  62. package/src/plugin/component/Plugin_Helpers.res +11 -11
  63. package/src/plugin/component/Plugin_Helpers.res.mjs +11 -10
  64. package/src/plugin/component/Plugin_Structure.res +458 -296
  65. package/src/plugin/component/Plugin_Structure.res.mjs +259 -182
  66. package/src/plugin/component/Plugin_SubscriptionSchema.res +1 -1
  67. package/src/plugin/component/Plugin_SubscriptionSchema.res.mjs +1 -1
  68. package/src/plugin/component/SchemaWalker.res +11 -11
  69. package/src/plugin/component/SchemaWalker.res.mjs +8 -9
  70. package/src/plugin/connect/PluginExtensionPoint_Plugin.res.mjs +15 -15
  71. package/src/plugin/lifecycle/PluginBehavior.res.mjs +55 -55
  72. package/src/plugin/lifecycle/PluginSpec.res +22 -7
  73. package/src/plugin/lifecycle/PluginSpec.res.mjs +91 -36
  74. package/src/plugin/lifecycle/PluginsReadModelSpec.res +36 -9
  75. package/src/plugin/lifecycle/PluginsReadModelSpec.res.mjs +33 -22
  76. package/src/util/Interstack.res +3 -3
  77. package/src/util/LogFormat.res +1 -2
  78. package/src/util/LogFormat.res.mjs +2 -2
  79. package/tests/IdentityTest.res +6 -7
  80. package/tests/IdentityTest.res.mjs +7 -9
  81. package/tests/adapter/MonitoringTest.res +30 -3
  82. package/tests/adapter/MonitoringTest.res.mjs +31 -12
  83. package/tests/adapter/RuntimeExtensionHookReachTest.res +0 -1
  84. package/tests/adapter/RuntimeExtensionHookReachTest.res.mjs +5 -7
  85. package/tests/admin/Platform_Admin_StructureTest.res +254 -0
  86. package/tests/admin/Platform_Admin_StructureTest.res.mjs +219 -0
  87. package/tests/admin/Platform_BakedManifestTest.res +1 -0
  88. package/tests/admin/Platform_BakedManifestTest.res.mjs +1 -0
  89. package/tests/admin/Platform_ComponentDefinitionsApiTest.res +3 -0
  90. package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +6 -0
  91. package/tests/admin/Platform_PluginStructuresApiTest.res +1 -0
  92. package/tests/admin/Platform_PluginStructuresApiTest.res.mjs +2 -0
  93. package/tests/aggregate/AggregateCacheTest.res +0 -1
  94. package/tests/aggregate/AggregateCacheTest.res.mjs +13 -15
  95. package/tests/aggregate/AggregateConflictTest.res +0 -1
  96. package/tests/aggregate/AggregateConflictTest.res.mjs +7 -9
  97. package/tests/aggregate/AggregateFixtures.res +0 -1
  98. package/tests/aggregate/AggregateFixtures.res.mjs +19 -21
  99. package/tests/aggregate/AggregateSnapshotTest.res +1 -2
  100. package/tests/aggregate/AggregateSnapshotTest.res.mjs +15 -16
  101. package/tests/api/ApiNoApiTest.res.mjs +17 -9
  102. package/tests/api/GraphQL_FragmentGeneratorTest.res +232 -0
  103. package/tests/api/GraphQL_FragmentGeneratorTest.res.mjs +207 -55
  104. package/tests/api/PsInternalFieldsReadModel.res +21 -0
  105. package/tests/api/PsInternalFieldsReadModel.res.mjs +74 -0
  106. package/tests/api/StorageRefFieldsTest.res.mjs +13 -13
  107. package/tests/api/SuryToJsonSchemaTest.res +73 -3
  108. package/tests/api/SuryToJsonSchemaTest.res.mjs +364 -816
  109. package/tests/commandgenerator/CommandGeneratorFixtures.res +0 -1
  110. package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +19 -21
  111. package/tests/commandgenerator/OwnerStampingTest.res +0 -1
  112. package/tests/commandgenerator/OwnerStampingTest.res.mjs +9 -11
  113. package/tests/commandtopic/CommandTopicCallbackFixtures.res +0 -1
  114. package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +7 -9
  115. package/tests/counter/CounterFixtures.res +0 -1
  116. package/tests/counter/CounterFixtures.res.mjs +1 -4
  117. package/tests/dcb/DcbDecodeTest.res.mjs +24 -24
  118. package/tests/dcb/DcbEventLogOperationsTest.res +2 -2
  119. package/tests/dcb/DcbEventLogOperationsTest.res.mjs +3 -3
  120. package/tests/dcb/DcbEventLogSchemaTest.res.mjs +7 -7
  121. package/tests/dcb/DcbFixtures.res +0 -1
  122. package/tests/dcb/DcbFixtures.res.mjs +87 -89
  123. package/tests/dcb/DcbTagTest.res.mjs +6 -6
  124. package/tests/dcb/DcbValidationTest.res.mjs +52 -52
  125. package/tests/eventlog/EventLogFixtures.res +0 -1
  126. package/tests/eventlog/EventLogFixtures.res.mjs +7 -9
  127. package/tests/eventmapper/EventMapperFixtures.res +0 -1
  128. package/tests/eventmapper/EventMapperFixtures.res.mjs +24 -26
  129. package/tests/eventtopic/EventTopicFixtures.res +0 -1
  130. package/tests/eventtopic/EventTopicFixtures.res.mjs +7 -9
  131. package/tests/extensionpoint/ExtensionPointFixtures.res +0 -1
  132. package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +10 -12
  133. package/tests/extensionpoint/ExtensionPointOperationsTest.res +1 -2
  134. package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +9 -10
  135. package/tests/logger/LogFormatTest.res +3 -2
  136. package/tests/logger/LogFormatTest.res.mjs +7 -9
  137. package/tests/message/MessageTest.res +2 -2
  138. package/tests/message/MessageTest.res.mjs +8 -7
  139. package/tests/message/MetaEnvelopeTest.res +5 -5
  140. package/tests/message/MetaEnvelopeTest.res.mjs +12 -11
  141. package/tests/plugin/ManifestVisibilityTest.res.mjs +7 -7
  142. package/tests/plugin/PluginDefinitionScalars.res +5 -3
  143. package/tests/plugin/PluginDefinitionScalars.res.mjs +2 -2
  144. package/tests/plugin/PluginLifecycleCorpusTest.res +4 -3
  145. package/tests/plugin/PluginLifecycleCorpusTest.res.mjs +3 -6
  146. package/tests/plugin/PluginSpecExperiment.res +0 -1
  147. package/tests/plugin/PluginSpecExperiment.res.mjs +12 -14
  148. package/tests/plugin/PluginStructureTest.res +292 -2
  149. package/tests/plugin/PluginStructureTest.res.mjs +391 -88
  150. package/tests/plugin/Plugin_EventQuerySchemaTest.res.mjs +3 -3
  151. package/tests/plugin/SchemaWalkerTest.res +0 -1
  152. package/tests/plugin/SchemaWalkerTest.res.mjs +17 -19
  153. package/tests/plugin/StateChangeSlice/PsAttachInvoice.res.mjs +5 -5
  154. package/tests/plugin/StateChangeSlice/PsChangePhoto.res.mjs +8 -8
  155. package/tests/plugin/StateChangeSlice/PsDispatchShipment.res.mjs +5 -5
  156. package/tests/plugin/StateChangeSlice/PsGatedCommands.res.mjs +9 -9
  157. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +5 -5
  158. package/tests/plugin/StateChangeSlice/PsReserveStock.res.mjs +8 -8
  159. package/tests/plugin/StateChangeSlice/PsShipOrder.res.mjs +15 -15
  160. package/tests/plugin/StateChangeSlice/PsTypoStore.res +31 -0
  161. package/tests/plugin/StateChangeSlice/PsTypoStore.res.mjs +62 -0
  162. package/tests/plugin/StateChangeSlice/PsUploadAvatar.res.mjs +8 -8
  163. package/tests/plugin/StateChangeSlice/PsUploadImages.res +40 -0
  164. package/tests/plugin/StateChangeSlice/PsUploadImages.res.mjs +66 -0
  165. package/tests/plugin/StateViewSlice/PsAnnotatedView.res.mjs +13 -12
  166. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res.mjs +8 -8
  167. package/tests/plugin/StateViewSlice/PsCategoriesView.res.mjs +6 -6
  168. package/tests/plugin/StateViewSlice/PsCustomersView.res.mjs +10 -10
  169. package/tests/plugin/StateViewSlice/PsGatedView.res.mjs +6 -6
  170. package/tests/plugin/StateViewSlice/PsOrdersView.res.mjs +9 -9
  171. package/tests/plugin/StateViewSlice/PsShipmentsView.res.mjs +11 -10
  172. package/tests/plugin/pluginDefinitionRequiredScalars.txt +15 -0
  173. package/tests/querydb/QueryDbFixtures.res +0 -1
  174. package/tests/querydb/QueryDbFixtures.res.mjs +5 -7
  175. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res +0 -1
  176. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +4 -6
  177. package/tests/util/CommandPublisherTest.res +0 -1
  178. package/tests/util/CommandPublisherTest.res.mjs +4 -6
@@ -1,107 +1,13 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
4
- import * as Stdlib_Dict from "@rescript/runtime/lib/es6/Stdlib_Dict.js";
5
- import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
6
- import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
7
- import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
8
- import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
9
3
  import * as Api_Naming$ReventlessCore from "../components/Api/Api_Naming.res.mjs";
10
4
  import * as PluginSpec$ReventlessCore from "../plugin/lifecycle/PluginSpec.res.mjs";
11
5
  import * as Plugin_Structure$ReventlessCore from "../plugin/component/Plugin_Structure.res.mjs";
12
- import * as SuryToJsonSchema$ReventlessCore from "../components/Api/SuryToJsonSchema.res.mjs";
13
- import * as PluginBaseFragment$ReventlessCore from "../plugin/api/PluginBaseFragment.res.mjs";
14
6
  import * as PluginsReadModelSpec$ReventlessCore from "../plugin/lifecycle/PluginsReadModelSpec.res.mjs";
15
7
 
16
8
  let pluginId = "Platform";
17
9
 
18
- function encodeSchema(schema) {
19
- return JSON.stringify(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema));
20
- }
21
-
22
- function encodeSchemaExcluding(schema, excludeFields) {
23
- let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
24
- let obj = Stdlib_JSON.Decode.object(derived);
25
- if (obj === undefined) {
26
- return JSON.stringify(derived);
27
- }
28
- let props = Stdlib_Option.flatMap(obj["properties"], Stdlib_JSON.Decode.object);
29
- if (props === undefined) {
30
- return JSON.stringify(derived);
31
- }
32
- excludeFields.forEach(f => Stdlib_Dict.$$delete(props, f));
33
- obj["properties"] = props;
34
- let req = Stdlib_Option.flatMap(obj["required"], Stdlib_JSON.Decode.array);
35
- if (req !== undefined) {
36
- let filtered = Stdlib_Array.filterMap(req, Stdlib_JSON.Decode.string).filter(name => !excludeFields.includes(name)).map(prim => prim);
37
- obj["required"] = filtered;
38
- }
39
- return JSON.stringify(obj);
40
- }
41
-
42
- let idArgsSchema = S.schema(s => ({
43
- id: s.m(DcbTag$Reventless.string)
44
- }));
45
-
46
- let activateCommand_schema = encodeSchema(idArgsSchema);
47
-
48
- let activateCommand_aggregateIdField = "id";
49
-
50
- let activateCommand_mutationField = Api_Naming$ReventlessCore.adminField("Plugin_Activate");
51
-
52
- let activateCommand_references = [];
53
-
54
- let activateCommand_allowedStates = ["Inactive"];
55
-
56
- let activateCommand_apiExposed = true;
57
-
58
- let activateCommand = {
59
- name: "Activate",
60
- schema: activateCommand_schema,
61
- level: "Instance",
62
- aggregateIdField: activateCommand_aggregateIdField,
63
- mutationField: activateCommand_mutationField,
64
- references: activateCommand_references,
65
- allowedStates: activateCommand_allowedStates,
66
- targetState: undefined,
67
- apiExposed: activateCommand_apiExposed,
68
- requiredAccess: undefined,
69
- ownerField: undefined
70
- };
71
-
72
- let deactivateCommand_schema = encodeSchema(idArgsSchema);
73
-
74
- let deactivateCommand_aggregateIdField = "id";
75
-
76
- let deactivateCommand_mutationField = Api_Naming$ReventlessCore.adminField("Plugin_Deactivate");
77
-
78
- let deactivateCommand_references = [];
79
-
80
- let deactivateCommand_allowedStates = [
81
- "Connected",
82
- "Disconnected"
83
- ];
84
-
85
- let deactivateCommand_apiExposed = true;
86
-
87
- let deactivateCommand = {
88
- name: "Deactivate",
89
- schema: deactivateCommand_schema,
90
- level: "Instance",
91
- aggregateIdField: deactivateCommand_aggregateIdField,
92
- mutationField: deactivateCommand_mutationField,
93
- references: deactivateCommand_references,
94
- allowedStates: deactivateCommand_allowedStates,
95
- targetState: undefined,
96
- apiExposed: deactivateCommand_apiExposed,
97
- requiredAccess: undefined,
98
- ownerField: undefined
99
- };
100
-
101
- let pluginAggregate_commands = [
102
- activateCommand,
103
- deactivateCommand
104
- ];
10
+ let pluginCommands = Plugin_Structure$ReventlessCore.extractCommandDefs(true, variantName => Api_Naming$ReventlessCore.adminField(PluginSpec$ReventlessCore.name + "_" + variantName), PluginSpec$ReventlessCore.commandAuthorization, PluginSpec$ReventlessCore.commandSchema);
105
11
 
106
12
  let pluginAggregate_producedEventTypes = [];
107
13
 
@@ -115,7 +21,7 @@ let pluginAggregate_errors = Plugin_Structure$ReventlessCore.extractErrorDefs(Pl
115
21
 
116
22
  let pluginAggregate = {
117
23
  name: "Plugin",
118
- commands: pluginAggregate_commands,
24
+ commands: pluginCommands,
119
25
  producedEventTypes: pluginAggregate_producedEventTypes,
120
26
  consumedEventTypes: pluginAggregate_consumedEventTypes,
121
27
  linkedViews: pluginAggregate_linkedViews,
@@ -125,42 +31,7 @@ let pluginAggregate = {
125
31
  chapter: undefined
126
32
  };
127
33
 
128
- let pluginReadModel_queryField = Api_Naming$ReventlessCore.adminField("Plugins");
129
-
130
- let pluginReadModel_schema = encodeSchemaExcluding(PluginsReadModelSpec$ReventlessCore.stateSchema, PluginBaseFragment$ReventlessCore.pluginUIOnlyExcludeFields);
131
-
132
- let pluginReadModel_consumedEventTypes = [];
133
-
134
- let pluginReadModel_linkedWriteSide = ["Plugin"];
135
-
136
- let pluginReadModel_searchableFields = ["name"];
137
-
138
- let pluginReadModel_labelFieldSource = "convention";
139
-
140
- let pluginReadModel_lifecycleField = "status";
141
-
142
- let pluginReadModel_singleQueryField = Api_Naming$ReventlessCore.adminField("Plugin");
143
-
144
- let pluginReadModel = {
145
- name: "Plugins",
146
- queryField: pluginReadModel_queryField,
147
- schema: pluginReadModel_schema,
148
- consumedEventTypes: pluginReadModel_consumedEventTypes,
149
- linkedWriteSide: pluginReadModel_linkedWriteSide,
150
- labelField: "name",
151
- searchableFields: pluginReadModel_searchableFields,
152
- labelFieldSource: pluginReadModel_labelFieldSource,
153
- lifecycleField: pluginReadModel_lifecycleField,
154
- ownerField: undefined,
155
- retiredField: undefined,
156
- retiredValues: undefined,
157
- visibility: undefined,
158
- chapter: undefined,
159
- singleQueryField: pluginReadModel_singleQueryField,
160
- idField: undefined,
161
- idFieldSource: undefined,
162
- requiredAccess: undefined
163
- };
34
+ let pluginReadModel = Plugin_Structure$ReventlessCore.queryableDefFromSpec(pluginId, PluginsReadModelSpec$ReventlessCore.name, PluginsReadModelSpec$ReventlessCore.stateSchema, PluginsReadModelSpec$ReventlessCore.authorization, undefined, undefined, ["Plugin"], undefined);
164
35
 
165
36
  let structure_readModels = [pluginReadModel];
166
37
 
@@ -194,16 +65,15 @@ let structure = {
194
65
 
195
66
  let pluginName = pluginId;
196
67
 
68
+ let commandSchema = PluginSpec$ReventlessCore.commandSchema;
69
+
197
70
  export {
198
71
  pluginId,
199
72
  pluginName,
200
- encodeSchema,
201
- encodeSchemaExcluding,
202
- idArgsSchema,
203
- activateCommand,
204
- deactivateCommand,
73
+ commandSchema,
74
+ pluginCommands,
205
75
  pluginAggregate,
206
76
  pluginReadModel,
207
77
  structure,
208
78
  }
209
- /* idArgsSchema Not a pure module */
79
+ /* pluginCommands Not a pure module */
@@ -29,7 +29,7 @@ let sdlTypes: array<string> = [
29
29
  // structures persisted before the fields existed decode as `None`, a hand-rolled
30
30
  // def may decline to state them, and a state whose key cannot be resolved has no
31
31
  // `idField` to report.
32
- `type Platform_ReadSideDef {\n name: String!\n queryField: String!\n schema: String!\n consumedEventTypes: [String!]!\n linkedWriteSide: [String!]!\n labelField: String!\n searchableFields: [String!]!\n labelFieldSource: String\n lifecycleField: String\n visibility: String\n chapter: String\n singleQueryField: String\n idField: String\n idFieldSource: String\n requiredAccess: [String!]\n ownerField: String\n retiredField: String\n retiredValues: [String!]\n}`,
32
+ `type Platform_ReadSideDef {\n name: String!\n queryField: String!\n schema: String!\n consumedEventTypes: [String!]!\n linkedWriteSide: [String!]!\n labelField: String!\n searchableFields: [String!]!\n labelFieldSource: String\n lifecycleField: String\n visibility: String\n chapter: String\n singleQueryField: String\n idField: String\n idFieldSource: String\n requiredAccess: [String!]\n ownerField: String\n retiredField: String\n retiredValues: [String!]\n namedWhenRetired: Boolean!\n}`,
33
33
  `type Platform_AutomationSliceDef {\n name: String!\n consumedEventTypes: [String!]!\n producedCommandTypes: [String!]!\n targetName: String\n chapter: String\n}`,
34
34
  `type Platform_OutboundTranslationSliceDef {\n name: String!\n consumedEventTypes: [String!]!\n inboundCommandTypes: [String!]!\n targetName: String\n externalSystem: String\n chapter: String\n}`,
35
35
  `type Platform_InboundTranslationSliceDef {\n name: String!\n commandTypes: [String!]!\n targetName: String\n externalSystem: String\n chapter: String\n}`,
@@ -130,6 +130,7 @@ let encodeQueryableDef = (r: queryableDef): JSON.t =>
130
130
  ("ownerField", r.ownerField->Option.mapOr(JSON.Encode.null, JSON.Encode.string)),
131
131
  ("retiredField", r.retiredField->Option.mapOr(JSON.Encode.null, JSON.Encode.string)),
132
132
  ("retiredValues", r.retiredValues->Option.mapOr(JSON.Encode.null, encodeStrings)),
133
+ ("namedWhenRetired", JSON.Encode.bool(r.namedWhenRetired->Option.getOr(false))),
133
134
  ])->JSON.Encode.object
134
135
 
135
136
  let encodeEventDef = (e: eventDef): JSON.t =>
@@ -10,7 +10,7 @@ let sdlTypes = [
10
10
  `type Platform_EventDef {\n name: String!\n schema: String!\n references: [Platform_FieldReference!]!\n}`,
11
11
  `type Platform_ErrorDef {\n name: String!\n schema: String!\n references: [Platform_FieldReference!]!\n}`,
12
12
  `type Platform_WriteSideDef {\n name: String!\n commands: [Platform_CommandDef!]!\n linkedViews: [String!]!\n consistencyRead: String\n producedEventTypes: [String!]!\n consumedEventTypes: [String!]!\n events: [Platform_EventDef!]!\n errors: [Platform_ErrorDef!]!\n chapter: String\n}`,
13
- `type Platform_ReadSideDef {\n name: String!\n queryField: String!\n schema: String!\n consumedEventTypes: [String!]!\n linkedWriteSide: [String!]!\n labelField: String!\n searchableFields: [String!]!\n labelFieldSource: String\n lifecycleField: String\n visibility: String\n chapter: String\n singleQueryField: String\n idField: String\n idFieldSource: String\n requiredAccess: [String!]\n ownerField: String\n retiredField: String\n retiredValues: [String!]\n}`,
13
+ `type Platform_ReadSideDef {\n name: String!\n queryField: String!\n schema: String!\n consumedEventTypes: [String!]!\n linkedWriteSide: [String!]!\n labelField: String!\n searchableFields: [String!]!\n labelFieldSource: String\n lifecycleField: String\n visibility: String\n chapter: String\n singleQueryField: String\n idField: String\n idFieldSource: String\n requiredAccess: [String!]\n ownerField: String\n retiredField: String\n retiredValues: [String!]\n namedWhenRetired: Boolean!\n}`,
14
14
  `type Platform_AutomationSliceDef {\n name: String!\n consumedEventTypes: [String!]!\n producedCommandTypes: [String!]!\n targetName: String\n chapter: String\n}`,
15
15
  `type Platform_OutboundTranslationSliceDef {\n name: String!\n consumedEventTypes: [String!]!\n inboundCommandTypes: [String!]!\n targetName: String\n externalSystem: String\n chapter: String\n}`,
16
16
  `type Platform_InboundTranslationSliceDef {\n name: String!\n commandTypes: [String!]!\n targetName: String\n externalSystem: String\n chapter: String\n}`,
@@ -168,6 +168,10 @@ function encodeQueryableDef(r) {
168
168
  [
169
169
  "retiredValues",
170
170
  Stdlib_Option.mapOr(r.retiredValues, null, encodeStrings)
171
+ ],
172
+ [
173
+ "namedWhenRetired",
174
+ Stdlib_Option.getOr(r.namedWhenRetired, false)
171
175
  ]
172
176
  ]);
173
177
  }
@@ -1,40 +1,40 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
3
+ import * as Sury from "sury";
4
4
  import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
5
5
  import * as Plugin$Reventless from "@reventlessdev/reventless-spec/src/components/Plugin.res.mjs";
6
6
  import * as Api$ReventlessInfra from "@reventlessdev/reventless-infra/src/components/Api.res.mjs";
7
7
 
8
- let commandSchema = S.union([
9
- S.schema(s => ({
8
+ let commandSchema = Sury.union([
9
+ Sury.$schema(s => ({
10
10
  TAG: "RegisterUiFragment",
11
11
  pluginId: s.m(DcbTag$Reventless.string),
12
12
  manifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
13
- at: s.m(S.string)
13
+ at: s.m(Sury.string)
14
14
  })),
15
- S.schema(s => ({
15
+ Sury.$schema(s => ({
16
16
  TAG: "DeregisterUiFragment",
17
17
  pluginId: s.m(DcbTag$Reventless.string)
18
18
  }))
19
19
  ]);
20
20
 
21
- let errorSchema = S.literal("RegistryError");
21
+ let errorSchema = Sury.literal("RegistryError");
22
22
 
23
- let eventSchema = S.union([
24
- S.schema(s => ({
23
+ let eventSchema = Sury.union([
24
+ Sury.$schema(s => ({
25
25
  TAG: "UiFragmentRegistered",
26
26
  pluginId: s.m(DcbTag$Reventless.string),
27
27
  manifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
28
- at: s.m(S.string)
28
+ at: s.m(Sury.string)
29
29
  })),
30
- S.schema(s => ({
30
+ Sury.$schema(s => ({
31
31
  TAG: "UiFragmentUpdated",
32
32
  pluginId: s.m(DcbTag$Reventless.string),
33
33
  previousManifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
34
34
  newManifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
35
- at: s.m(S.string)
35
+ at: s.m(Sury.string)
36
36
  })),
37
- S.schema(s => ({
37
+ Sury.$schema(s => ({
38
38
  TAG: "UiFragmentDeregistered",
39
39
  pluginId: s.m(DcbTag$Reventless.string)
40
40
  }))
@@ -1,34 +1,34 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
3
+ import * as Sury from "sury";
4
4
  import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
5
5
  import * as Plugin$Reventless from "@reventlessdev/reventless-spec/src/components/Plugin.res.mjs";
6
6
  import * as ReadModel$Reventless from "@reventlessdev/reventless-spec/src/components/ReadModel.res.mjs";
7
7
 
8
- let stateSchema = S.schema(s => ({
9
- pluginId: s.m(S.string),
10
- remoteEntryUrl: s.m(S.string),
11
- panels: s.m(S.array(Plugin$Reventless.panelManifestEntrySchema)),
12
- pages: s.m(S.array(Plugin$Reventless.pageManifestEntrySchema)),
13
- registeredAt: s.m(S.string),
14
- updatedAt: s.m(S.string)
8
+ let stateSchema = Sury.$schema(s => ({
9
+ pluginId: s.m(Sury.string),
10
+ remoteEntryUrl: s.m(Sury.string),
11
+ panels: s.m(Sury.array(Plugin$Reventless.panelManifestEntrySchema)),
12
+ pages: s.m(Sury.array(Plugin$Reventless.pageManifestEntrySchema)),
13
+ registeredAt: s.m(Sury.string),
14
+ updatedAt: s.m(Sury.string)
15
15
  }));
16
16
 
17
- let consumedEventSchema = S.union([
18
- S.schema(s => ({
17
+ let consumedEventSchema = Sury.union([
18
+ Sury.$schema(s => ({
19
19
  TAG: "UiFragmentRegistered",
20
20
  pluginId: s.m(DcbTag$Reventless.string),
21
21
  manifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
22
- at: s.m(S.string)
22
+ at: s.m(Sury.string)
23
23
  })),
24
- S.schema(s => ({
24
+ Sury.$schema(s => ({
25
25
  TAG: "UiFragmentUpdated",
26
26
  pluginId: s.m(DcbTag$Reventless.string),
27
27
  previousManifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
28
28
  newManifest: s.m(Plugin$Reventless.uiFragmentManifestSchema),
29
- at: s.m(S.string)
29
+ at: s.m(Sury.string)
30
30
  })),
31
- S.schema(s => ({
31
+ Sury.$schema(s => ({
32
32
  TAG: "UiFragmentDeregistered",
33
33
  pluginId: s.m(DcbTag$Reventless.string)
34
34
  }))
@@ -153,7 +153,7 @@ module Make = (
153
153
  let encodeState = (state: Behavior.state): option<JSON.t> =>
154
154
  switch snapshotConfig {
155
155
  | Some({stateSchema}) =>
156
- switch state->S.reverseConvertToJsonOrThrow(stateSchema) {
156
+ switch state->Reventless.Util_Sury.toJson(stateSchema) {
157
157
  | json => Some(json)
158
158
  | exception _ => None
159
159
  }
@@ -163,7 +163,7 @@ module Make = (
163
163
  let decodeState = (json: JSON.t): option<Behavior.state> =>
164
164
  switch snapshotConfig {
165
165
  | Some({stateSchema}) =>
166
- switch json->S.parseJsonOrThrow(stateSchema) {
166
+ switch json->Reventless.Util_Sury.fromJson(stateSchema) {
167
167
  | state => Some(state)
168
168
  | exception _ => None
169
169
  }
@@ -1,6 +1,5 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
4
3
  import HashObject from "hash-object";
5
4
  import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
6
5
  import * as Stdlib_JsExn from "@rescript/runtime/lib/es6/Stdlib_JsExn.js";
@@ -11,6 +10,7 @@ import * as Stream from "effect/Stream";
11
10
  import * as Stdlib_Promise from "@rescript/runtime/lib/es6/Stdlib_Promise.js";
12
11
  import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
13
12
  import * as Lru$ReventlessCore from "../../util/Lru.res.mjs";
13
+ import * as Util_Sury$Reventless from "@reventlessdev/reventless-spec/src/util/Util_Sury.res.mjs";
14
14
  import * as Message$ReventlessCore from "../../Message.res.mjs";
15
15
  import * as LogFormat$ReventlessCore from "../../util/LogFormat.res.mjs";
16
16
  import * as EffectLogger$ReventlessCore from "../../util/EffectLogger.res.mjs";
@@ -87,7 +87,7 @@ function Make(Spec) {
87
87
  }
88
88
  let json;
89
89
  try {
90
- json = S.reverseConvertToJsonOrThrow(state, snapshotConfig.stateSchema);
90
+ json = Util_Sury$Reventless.toJson(state, snapshotConfig.stateSchema);
91
91
  } catch (exn) {
92
92
  return;
93
93
  }
@@ -99,7 +99,7 @@ function Make(Spec) {
99
99
  }
100
100
  let state;
101
101
  try {
102
- state = S.parseJsonOrThrow(json, snapshotConfig.stateSchema);
102
+ state = Util_Sury$Reventless.fromJson(json, snapshotConfig.stateSchema);
103
103
  } catch (exn) {
104
104
  return;
105
105
  }
@@ -356,4 +356,4 @@ function Make(Spec) {
356
356
  export {
357
357
  Make,
358
358
  }
359
- /* S Not a pure module */
359
+ /* hash-object Not a pure module */
@@ -1,10 +1,10 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
3
+ import * as Sury from "sury";
4
4
  import * as Api$ReventlessInfra from "@reventlessdev/reventless-infra/src/components/Api.res.mjs";
5
5
 
6
6
  function getAllowedStates(commandSchema, variantName) {
7
- let entries = S.Metadata.get(commandSchema, Api$ReventlessInfra.allowedStatesId);
7
+ let entries = Sury.$Metadata_get(commandSchema, Api$ReventlessInfra.allowedStatesId);
8
8
  if (entries !== undefined) {
9
9
  return entries[variantName];
10
10
  }
@@ -13,4 +13,4 @@ function getAllowedStates(commandSchema, variantName) {
13
13
  export {
14
14
  getAllowedStates,
15
15
  }
16
- /* S Not a pure module */
16
+ /* sury Not a pure module */
@@ -1,19 +1,19 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
3
+ import * as Sury from "sury";
4
4
  import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
5
  import * as Api$ReventlessInfra from "@reventlessdev/reventless-infra/src/components/Api.res.mjs";
6
6
 
7
7
  function isNoApi(commandSchema) {
8
- return Stdlib_Option.getOr(S.Metadata.get(commandSchema, Api$ReventlessInfra.noApiId), false);
8
+ return Stdlib_Option.getOr(Sury.$Metadata_get(commandSchema, Api$ReventlessInfra.noApiId), false);
9
9
  }
10
10
 
11
11
  function getExcludedVariants(commandSchema) {
12
- return S.Metadata.get(commandSchema, Api$ReventlessInfra.noApiVariantsId);
12
+ return Sury.$Metadata_get(commandSchema, Api$ReventlessInfra.noApiVariantsId);
13
13
  }
14
14
 
15
15
  function filterNoApiVariants(fieldNames, commandSchema) {
16
- let excluded = S.Metadata.get(commandSchema, Api$ReventlessInfra.noApiVariantsId);
16
+ let excluded = Sury.$Metadata_get(commandSchema, Api$ReventlessInfra.noApiVariantsId);
17
17
  if (excluded !== undefined) {
18
18
  return fieldNames.filter(name => !excluded.has(name));
19
19
  } else {
@@ -26,4 +26,4 @@ export {
26
26
  getExcludedVariants,
27
27
  filterNoApiVariants,
28
28
  }
29
- /* S Not a pure module */
29
+ /* sury Not a pure module */
@@ -1,10 +1,10 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as S from "sury/src/S.res.mjs";
3
+ import * as Sury from "sury";
4
4
  import * as Api$ReventlessInfra from "@reventlessdev/reventless-infra/src/components/Api.res.mjs";
5
5
 
6
6
  function getTargetState(commandSchema, variantName) {
7
- let entries = S.Metadata.get(commandSchema, Api$ReventlessInfra.targetStateId);
7
+ let entries = Sury.$Metadata_get(commandSchema, Api$ReventlessInfra.targetStateId);
8
8
  if (entries !== undefined) {
9
9
  return entries[variantName];
10
10
  }
@@ -13,4 +13,4 @@ function getTargetState(commandSchema, variantName) {
13
13
  export {
14
14
  getTargetState,
15
15
  }
16
- /* S Not a pure module */
16
+ /* sury Not a pure module */