@reventlessdev/reventless-spec 3.0.0-alpha.123 → 3.0.0-alpha.124

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,37 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.124 (2026-08-27)
7
+
8
+ * feat(spec)!: reflect the command direction across a port, both halves ([f2fe258](https://github.com/ReventlessDev/reventless-core/commit/f2fe258d195b74f4a61488edee305665341020ea))
9
+ * feat(spec)!: read the port's translation table off the mapping's arms ([956348a](https://github.com/ReventlessDev/reventless-core/commit/956348a9fcb256cfff9db51809bdc27d73360e6c))
10
+ * feat(spec)!: keep the amount in minor units, and add times and allocate ([6ff6308](https://github.com/ReventlessDev/reventless-core/commit/6ff630875f9b126b2f87b980a4dbb56582f8aebe))
11
+ * feat(spec)!: hold a money amount in the currency's own units ([94d3bba](https://github.com/ReventlessDev/reventless-core/commit/94d3bbaf0c47a639c20de6847c4615070ad51b38))
12
+
13
+ ### BREAKING CHANGES
14
+
15
+ * `ExtensionPointMapping.Mapping` gains `acceptedCommands` and
16
+ `ExtensionMapping.Mapping` gains `issuedCommands`; both are derived, so a
17
+ mapping the ppx can read needs no source change, and one it cannot names itself
18
+ at compile time. Definitions persisted before the two new def fields must be
19
+ re-emitted before a consumer can read them as present — and until then they
20
+ decode as None, which means unknown, not "issues nothing".
21
+ * `ExtensionPointMapping.Mapping` requires `publishedEvents` and
22
+ `ExtensionMapping.Mapping` requires `handledEvents`; the ppx injects both for
23
+ mappings it can read, so app code must build against the matching ppx. Plugin
24
+ definitions persisted before the new fields must be re-emitted before a consumer
25
+ reads them as present.
26
+ * reverts the wire shape to whole minor units, so a log written
27
+ against the intervening commit reads a hundredfold low. Nothing released carried
28
+ the decimal form.
29
+ * stored amounts do not migrate. A log written before this holds
30
+ minor units and now decodes a hundredfold high, cleanly and without complaint —
31
+ a log that has to survive needs an upcaster written before this is deployed, and
32
+ a demo log needs discarding and reseeding. A stored currency outside the ten no
33
+ longer decodes; admit it in the generator or migrate the data.
34
+
35
+
36
+
6
37
  # 3.0.0-alpha.123 (2026-08-23)
7
38
 
8
39
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-spec",
3
- "version": "3.0.0-alpha.123",
3
+ "version": "3.0.0-alpha.124",
4
4
  "description": "Specifications for Reventless",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
@@ -42,7 +42,6 @@
42
42
  "build": "rescript build",
43
43
  "start": "rescript start",
44
44
  "clean": "rescript clean",
45
- "generate:currency": "node ./scripts/generate-currency.mjs",
46
45
  "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
47
46
  "dev": "NODE_OPTIONS='--experimental-vm-modules' jest --watchAll"
48
47
  }
@@ -37,6 +37,11 @@ type PageInfo {
37
37
  startCursor: String
38
38
  }
39
39
 
40
+ type Platform_AcceptedCommandDef {
41
+ name: String!
42
+ toCommandTypes: [String!]!
43
+ }
44
+
40
45
  type Platform_AutomationSliceDef {
41
46
  chapter: String
42
47
  consumedEventTypes: [String!]!
@@ -88,13 +93,17 @@ type Platform_ExtensionDef {
88
93
  commandTypes: [String!]!
89
94
  delegateNames: [String!]!
90
95
  eventTypes: [String!]!
96
+ handledEvents: [Platform_HandledEventDef!]
97
+ issuedCommands: [Platform_IssuedCommandDef!]
91
98
  name: String!
92
99
  }
93
100
 
94
101
  type Platform_ExtensionPointDef {
102
+ acceptedCommands: [Platform_AcceptedCommandDef!]
95
103
  commandTypes: [String!]
96
104
  delegateNames: [String!]!
97
105
  name: String!
106
+ publishedEvents: [Platform_PublishedEventDef!]
98
107
  sourceEventTypes: [String!]!
99
108
  }
100
109
 
@@ -104,6 +113,11 @@ type Platform_FieldReference {
104
113
  plugin: String
105
114
  }
106
115
 
116
+ type Platform_HandledEventDef {
117
+ name: String!
118
+ toCommandTypes: [String!]!
119
+ }
120
+
107
121
  type Platform_InboundTranslationSliceDef {
108
122
  chapter: String
109
123
  commandTypes: [String!]!
@@ -112,6 +126,11 @@ type Platform_InboundTranslationSliceDef {
112
126
  targetName: String
113
127
  }
114
128
 
129
+ type Platform_IssuedCommandDef {
130
+ fromEventTypes: [String!]!
131
+ name: String!
132
+ }
133
+
115
134
  type Platform_OutboundTranslationSliceDef {
116
135
  chapter: String
117
136
  consumedEventTypes: [String!]!
@@ -212,6 +231,11 @@ type Platform_PluginStructureEntry {
212
231
  stateViewSlices: [Platform_ReadSideDef!]!
213
232
  }
214
233
 
234
+ type Platform_PublishedEventDef {
235
+ fromEventTypes: [String!]!
236
+ name: String!
237
+ }
238
+
215
239
  type Platform_ReadSideDef {
216
240
  chapter: String
217
241
  consumedEventTypes: [String!]!