@reventlessdev/reventless-infra 3.0.0-alpha.122 → 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,22 @@
|
|
|
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-03)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @reventlessdev/reventless-infra
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# 3.0.0-alpha.123 (2026-08-03)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **outbound:** let an outbound slice read an aggregate, and geocode addresses with it ([867e63e](https://github.com/ReventlessDev/reventless-core/commit/867e63e774ebc8b78b2b19c78645c8a12a8d06f6))
|
|
19
|
+
* **platform:** let a deployment choose what the host shell does ([ae0aec3](https://github.com/ReventlessDev/reventless-core/commit/ae0aec33dcf641f02187e8d6a3f3594c506820b6))
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
# 3.0.0-alpha.122 (2026-08-02)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @reventlessdev/reventless-infra
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-infra",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.124",
|
|
4
4
|
"description": "Infrastructure types for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"sury-ppx": "11.0.0-alpha.2",
|
|
18
18
|
"uuid": "^13.0.0",
|
|
19
19
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
20
|
+
"@reventlessdev/rescript-uuid": "2.0.0-alpha.0",
|
|
20
21
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.18",
|
|
21
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.
|
|
22
|
-
"@reventlessdev/rescript-uuid": "2.0.0-alpha.0"
|
|
22
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.99"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"rescript": "12.3.0",
|
|
@@ -38,6 +38,10 @@ module type T = {
|
|
|
38
38
|
let queryDbName: string
|
|
39
39
|
let make: (
|
|
40
40
|
~dcbEventLog: DcbEventLog.component,
|
|
41
|
+
// The plugin-wide topic dict, for a slice whose `Spec.sourceNames` reaches
|
|
42
|
+
// beyond its own DCB log (an Aggregate's events, say). Omitted ⇒ the slice
|
|
43
|
+
// subscribes to the DCB log alone, which is what every DCB-only slice wants.
|
|
44
|
+
~allEventTopics: EventTopic.allOutputs=?,
|
|
41
45
|
~publishJsons: Pulumi.Output.t<CommandTopic.publishJsons>,
|
|
42
46
|
~runtime: RuntimeHints.t=?,
|
|
43
47
|
~opts: Pulumi.ComponentResource.options=?,
|
package/src/types/Platform.res
CHANGED
|
@@ -116,6 +116,46 @@ type capability =
|
|
|
116
116
|
// (ARN, data source) without moving every call site.
|
|
117
117
|
type geocoderIndex = {indexName: Pulumi.Input.t<string>}
|
|
118
118
|
|
|
119
|
+
// Options for the shell's map view mode. Written to config.json flat, beside
|
|
120
|
+
// `viewModes`, because that is where the shell reads them; carried on the arm
|
|
121
|
+
// here so a style set with the map off is unrepresentable.
|
|
122
|
+
type mapOptions = {
|
|
123
|
+
// Map style URL. Unset ⇒ the mode's built-in demo tiles, which is the honest
|
|
124
|
+
// default for an example; a real style is an account and a bill.
|
|
125
|
+
style?: string,
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Options for the shell's graph view mode. Flat on the wire for the same reason
|
|
129
|
+
// as `mapOptions`.
|
|
130
|
+
type graphOptions = {
|
|
131
|
+
// Graph layout algorithm. Unset ⇒ the mode's default.
|
|
132
|
+
layout?: string,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
An optional view mode the deployed shell loads at boot.
|
|
137
|
+
|
|
138
|
+
A closed variant rather than the wire's `array<string>` because a mode is looked
|
|
139
|
+
up by name in the shell's registry: a misspelled or renamed mode type-checks,
|
|
140
|
+
deploys, and yields an app with the feature silently absent. The cost is real
|
|
141
|
+
and accepted — a mode that ships in the UI repo cannot be turned on until this
|
|
142
|
+
variant grows an arm and core releases.
|
|
143
|
+
|
|
144
|
+
`Map` turns on *both* halves of the map feature: the map view mode and the
|
|
145
|
+
map-backed geo-point command input are registered by the same `init`.
|
|
146
|
+
*/
|
|
147
|
+
type viewMode =
|
|
148
|
+
| Map(mapOptions)
|
|
149
|
+
| Graph(graphOptions)
|
|
150
|
+
|
|
151
|
+
// The wire spelling of a mode, owned in one place so the variant and the string
|
|
152
|
+
// the shell matches on cannot drift apart.
|
|
153
|
+
let viewModeToString = (mode: viewMode) =>
|
|
154
|
+
switch mode {
|
|
155
|
+
| Map(_) => "map"
|
|
156
|
+
| Graph(_) => "graph"
|
|
157
|
+
}
|
|
158
|
+
|
|
119
159
|
// Module type alias so StateViewSliceStream can reference the component T
|
|
120
160
|
// without being confused by the `module StateViewSlice` declaration inside T.
|
|
121
161
|
module type StateViewSliceComponentT = StateViewSlice.T
|
|
@@ -325,6 +365,20 @@ module type T = {
|
|
|
325
365
|
// a deployment cannot mint refs under one prefix and serve another.
|
|
326
366
|
// In-memory platforms ignore this.
|
|
327
367
|
uploadBucket?: objectStore,
|
|
368
|
+
// Optional view modes the shell loads at boot, written to config.json as
|
|
369
|
+
// `viewModes` with each mode's options flattened beside it. Unset ⇒ the key
|
|
370
|
+
// is omitted and no optional mode loads: every mode is a separate
|
|
371
|
+
// dynamically-imported chunk, so a deployment that names none downloads
|
|
372
|
+
// none. In-memory platforms ignore this.
|
|
373
|
+
viewModes?: array<viewMode>,
|
|
374
|
+
// Shell-owned config.json keys the framework has no opinion about
|
|
375
|
+
// (`accessTiers`, `platformName`, `assetOrigins`, `uiHintsUrl`, …), merged
|
|
376
|
+
// in verbatim under the keys the deploy computes. Untyped on purpose: these
|
|
377
|
+
// belong to the shell's schema, and re-declaring them here would mean a
|
|
378
|
+
// lockstep core release every time the UI adds a knob. A key that collides
|
|
379
|
+
// with a computed one fails the deploy naming it, rather than quietly
|
|
380
|
+
// pointing the app somewhere else. In-memory platforms ignore this.
|
|
381
|
+
shellConfig?: dict<JSON.t>,
|
|
328
382
|
}
|
|
329
383
|
|
|
330
384
|
/** Deploy a complete platform: creates the scheduler, builds each plugin,
|
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
function viewModeToString(mode) {
|
|
5
|
+
if (mode.TAG === "Map") {
|
|
6
|
+
return "map";
|
|
7
|
+
} else {
|
|
8
|
+
return "graph";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
viewModeToString,
|
|
14
|
+
}
|
|
15
|
+
/* No side effect */
|