@reventlessdev/reventless-core 3.0.0-alpha.255 → 3.0.0-alpha.257

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 (79) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/package.json +9 -9
  3. package/src/adapter/Monitoring/Monitoring.res +79 -5
  4. package/src/adapter/Monitoring/Monitoring.res.mjs +42 -2
  5. package/src/admin/Platform_Admin_Structure.res.mjs +1 -1
  6. package/src/admin/Platform_ComponentDefinitionsApi.res +5 -1
  7. package/src/admin/Platform_ComponentDefinitionsApi.res.mjs +5 -1
  8. package/src/admin/Platform_UiSlots.res +21 -0
  9. package/src/admin/Platform_UiSlots.res.mjs +15 -0
  10. package/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry.res.mjs +1 -1
  11. package/src/components/Aggregate/Aggregate_Callback.res +13 -4
  12. package/src/components/Aggregate/Aggregate_Callback.res.mjs +6 -5
  13. package/src/components/Api/GraphQL_FragmentGenerator.res +2 -0
  14. package/src/components/Api/GraphQL_FragmentGenerator.res.mjs +4 -0
  15. package/src/components/Api/MCP_SchemaGenerator.res.mjs +2 -2
  16. package/src/components/Api/SchemaType.res +8 -0
  17. package/src/components/Api/SchemaType.res.mjs +15 -5
  18. package/src/components/Api/SuryToJsonSchema.res +70 -12
  19. package/src/components/Api/SuryToJsonSchema.res.mjs +43 -16
  20. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res +8 -3
  21. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res.mjs +1 -1
  22. package/src/plugin/component/Plugin.res +1 -0
  23. package/src/plugin/component/Plugin_Builder.res +2 -0
  24. package/src/plugin/component/Plugin_Builder.res.mjs +3 -2
  25. package/src/plugin/component/Plugin_Structure.res +105 -10
  26. package/src/plugin/component/Plugin_Structure.res.mjs +71 -27
  27. package/src/plugin/lifecycle/PluginsReadModelSpec.res +1 -1
  28. package/src/plugin/lifecycle/PluginsReadModelSpec.res.mjs +1 -1
  29. package/src/util/Validation.res +1 -1
  30. package/src/util/Validation.res.mjs +2 -2
  31. package/tests/adapter/MonitoringTest.res +46 -7
  32. package/tests/adapter/MonitoringTest.res.mjs +47 -5
  33. package/tests/admin/AdminApiSchemaDriftTest.res +1 -0
  34. package/tests/admin/AdminApiSchemaDriftTest.res.mjs +3 -0
  35. package/tests/admin/Platform_Admin_StructureTest.res.mjs +2 -14
  36. package/tests/admin/Platform_ComponentDefinitionsApiTest.res +1 -0
  37. package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +2 -0
  38. package/tests/admin/Platform_PluginStructuresApiTest.res +8 -14
  39. package/tests/admin/Platform_PluginStructuresApiTest.res.mjs +3 -3
  40. package/tests/aggregate/AggregateCacheTest.res.mjs +1 -1
  41. package/tests/aggregate/AggregateConflictTest.res.mjs +1 -1
  42. package/tests/aggregate/AggregateFixtures.res.mjs +1 -1
  43. package/tests/aggregate/AggregateSnapshotTest.res.mjs +1 -1
  44. package/tests/api/GraphQL_FragmentGeneratorTest.res +6 -4
  45. package/tests/api/GraphQL_FragmentGeneratorTest.res.mjs +5 -5
  46. package/tests/api/SuryToJsonSchemaTest.res.mjs +57 -57
  47. package/tests/api/TaggedUnionSchemaTest.res.mjs +1 -1
  48. package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +1 -1
  49. package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +1 -1
  50. package/tests/dcb/DcbFixtures.res.mjs +1 -1
  51. package/tests/eventmapper/EventMapperFixtures.res.mjs +1 -1
  52. package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +1 -1
  53. package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +1 -1
  54. package/tests/fixtures/plugin-lifecycle/2026-07-22-versionconnected-no-requiredstores.json +1 -1
  55. package/tests/fixtures/plugin-lifecycle/2026-07-22-versionsuperseded-nested-definitions.json +1 -1
  56. package/tests/fixtures/plugin-lifecycle/2026-07-28-versionconnected-requiredstores-only.json +1 -1
  57. package/tests/fixtures/plugin-lifecycle/2026-07-30-versionconnected-declarations-without-annotation.json +1 -1
  58. package/tests/fixtures/plugin-lifecycle/2026-07-30-versiondisconnected-declarations-without-annotation.json +1 -1
  59. package/tests/fixtures/plugin-lifecycle/README.md +12 -0
  60. package/tests/logger/LogFormatTest.res +1 -1
  61. package/tests/logger/LogFormatTest.res.mjs +1 -1
  62. package/tests/plugin/ManifestVisibilityTest.res.mjs +1 -1
  63. package/tests/plugin/PluginDefinitionRequiredScalarsTest.res +1 -1
  64. package/tests/plugin/PluginDefinitionScalars.res +13 -8
  65. package/tests/plugin/PluginDefinitionScalars.res.mjs +13 -5
  66. package/tests/plugin/PluginStructureAccessTest.res.mjs +1 -1
  67. package/tests/plugin/PluginStructureTest.res +184 -0
  68. package/tests/plugin/PluginStructureTest.res.mjs +142 -17
  69. package/tests/plugin/StateChangeSlice/PsAttachInvoice.res.mjs +1 -1
  70. package/tests/plugin/StateChangeSlice/PsChangePhoto.res.mjs +1 -1
  71. package/tests/plugin/StateChangeSlice/PsGatedCommands.res.mjs +1 -1
  72. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +1 -1
  73. package/tests/plugin/StateChangeSlice/PsReserveStock.res +14 -1
  74. package/tests/plugin/StateChangeSlice/PsReserveStock.res.mjs +9 -2
  75. package/tests/plugin/StateChangeSlice/PsTypoStore.res.mjs +1 -1
  76. package/tests/plugin/StateChangeSlice/PsUploadAvatar.res.mjs +1 -1
  77. package/tests/plugin/StateChangeSlice/PsUploadImages.res.mjs +1 -1
  78. package/tests/plugin/pluginDefinitionRequiredScalars.txt +13 -14
  79. package/tests/util/CommandPublisherTest.res.mjs +1 -1
@@ -40,7 +40,7 @@ function commandAuthorization(param) {
40
40
  }
41
41
 
42
42
  function commandTransition(param) {
43
- return "Unrestricted";
43
+ return "Undeclared";
44
44
  }
45
45
 
46
46
  let traits = [];
@@ -6,20 +6,19 @@
6
6
  # one means every message stored before it decodes with a value this framework invented
7
7
  # (`""` / `0` / `false`), reported at runtime as a warning and nowhere else.
8
8
  #
9
- # So a diff here is a design decision, not a chore. If your new field can be absent, give
10
- # it the `js_nullable` (`T | null`) shape and this list does not change. If it genuinely
11
- # must be a required scalar, add the line and accept that older payloads carry a fabricated
12
- # value for it.
9
+ # So a diff here is a design decision, not a chore. If your new field can be absent, make
10
+ # it `option` and this list does not change. If it genuinely must be a required scalar, add
11
+ # the line and accept that older payloads carry a fabricated value for it.
13
12
  #
14
13
  # Regenerate ONLY after making that call — never to make a red build green.
15
14
  # See docs/analysis/plugin-definition-schema-evolution-wedge.md.
16
15
  #
17
- # A `js_nullable` (`T | null`) scalar is NOT listed: absent heals to null, which is the
18
- # shape the rule asks for. A scalar nested inside a nullable object or array IS listed —
16
+ # An optional scalar is NOT listed: absent stays absent and decodes to `None`, which is the
17
+ # shape the rule asks for. A scalar nested inside an optional object or array IS listed —
19
18
  # when an old payload carries the parent, the new field still has to be invented. That is
20
- # how requiredStoreDeclarations[].annotation, a required string inside a nullable array,
19
+ # how requiredStoreDeclarations[].annotation, a required string inside an optional array,
21
20
  # froze a plugin's registration for two days; it is absent from this list because it has
22
- # since been made `js_nullable`.
21
+ # since been made optional.
23
22
  #
24
23
  # The `.$offload.*` lines are the reference arm of an `@offload` field. They are not new
25
24
  # fields — they have been persisted since `@offload` existed. They appear here because the
@@ -94,8 +93,8 @@
94
93
  .structure.inboundTranslationSlices[].name: string
95
94
  .structure.inboundTranslationSlices[].targetName: string
96
95
  .structure.outboundTranslationSlices[].consumedEventTypes[]: string
97
- # `consumedSources` is itself `js_nullable` and is NEW, so no persisted payload
98
- # carries the array: a stored structure heals to null and this line is never
96
+ # `consumedSources` is itself optional and is NEW, so no persisted payload
97
+ # carries the array: a stored structure heals to `None` and this line is never
99
98
  # reached — the same call `traitDeclarations` made below. Required inside it
100
99
  # because a source name is a topic key the slice subscribes to, and a fabricated
101
100
  # `""` would name a topic that does not exist rather than saying nothing.
@@ -111,15 +110,15 @@
111
110
  .structure.readModels[].retiredValues[]: string
112
111
  .structure.readModels[].schema: string
113
112
  .structure.readModels[].searchableFields[]: string
114
- # `requiredCapabilities` is itself `js_nullable` and is NEW, so no persisted payload
115
- # carries the array: a stored structure heals to null and these two are never reached.
113
+ # `requiredCapabilities` is itself optional and is NEW, so no persisted payload
114
+ # carries the array: a stored structure heals to `None` and these two are never reached.
116
115
  # Required inside it because a declaration naming no capability, or no declaring
117
116
  # component, is not a declaration — the same call `requiredStoreDeclarations` made for
118
117
  # `store`/`component`/`field`.
119
118
  .structure.requiredCapabilities[].capability: string
120
119
  .structure.requiredCapabilities[].component: string
121
- # `traitDeclarations` is itself `js_nullable` and is NEW, so no persisted payload
122
- # carries the array: a stored structure heals to null and these four are never
120
+ # `traitDeclarations` is itself optional and is NEW, so no persisted payload
121
+ # carries the array: a stored structure heals to `None` and these four are never
123
122
  # reached. Required inside it for the same reason the two above are — a graft
124
123
  # naming no trait, no version, no posture or no component is not a record of a
125
124
  # graft, and a fabricated `""` here would read as "grafted from nothing", which is
@@ -16,7 +16,7 @@ function commandAuthorization(param) {
16
16
  }
17
17
 
18
18
  function commandTransition(param) {
19
- return "Unrestricted";
19
+ return "Undeclared";
20
20
  }
21
21
 
22
22
  let traits = [];