@reventlessdev/reventless-core 3.0.0-alpha.157 → 3.0.0-alpha.159
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 +14 -0
- package/package.json +7 -7
- package/src/admin/Platform_Admin.res +25 -3
- package/src/admin/Platform_Admin.res.mjs +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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.159 (2026-07-12)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **admin:** fix admin-DCB-on-AWS deploy — Output-in-option corruption + orphan resolvers ([edde07d](https://github.com/ReventlessDev/reventless-core/commit/edde07d1d7a89a47a7496d46fbf83fbadffa74a9))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 3.0.0-alpha.158 (2026-07-12)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **deploy:** gate admin status-query resolvers on the schema push ([2634694](https://github.com/ReventlessDev/reventless-core/commit/2634694b3a122bc1db44d129769f5442e124d9b7))
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# 3.0.0-alpha.157 (2026-07-12)
|
|
7
21
|
|
|
8
22
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.159",
|
|
4
4
|
"description": "Core package for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -28,17 +28,17 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"sury": "11.0.0-alpha.4",
|
|
30
30
|
"uuid": "^13.0.0",
|
|
31
|
-
"@reventlessdev/rescript-effect": "0.1.0-alpha.27",
|
|
32
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.7",
|
|
33
31
|
"@reventlessdev/rescript-hash-object": "1.2.0-alpha.11",
|
|
34
|
-
"@reventlessdev/rescript-
|
|
32
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.7",
|
|
35
33
|
"@reventlessdev/rescript-node-streams": "1.1.0-alpha.11",
|
|
34
|
+
"@reventlessdev/rescript-fast-csv": "1.2.0-alpha.12",
|
|
35
|
+
"@reventlessdev/rescript-effect": "0.1.0-alpha.27",
|
|
36
36
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.15",
|
|
37
37
|
"@reventlessdev/rescript-ssh2": "1.1.0-alpha.12",
|
|
38
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.98",
|
|
39
38
|
"@reventlessdev/rescript-uuid": "1.1.0-alpha.15",
|
|
40
|
-
"@reventlessdev/reventless-
|
|
41
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.76"
|
|
39
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.98",
|
|
40
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.76",
|
|
41
|
+
"@reventlessdev/reventless-interop": "3.0.0-alpha.26"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"rescript": "^12.3.0",
|
|
@@ -19,6 +19,14 @@ type outputs = {
|
|
|
19
19
|
automationSlicesOutputs: dict<AutomationSlice.outputs>,
|
|
20
20
|
outboundTranslationSlicesOutputs: dict<OutboundTranslationSlice.outputs>,
|
|
21
21
|
inboundTranslationSlicesOutputs: dict<InboundTranslationSlice.outputs>,
|
|
22
|
+
// Resolves once the admin-base schema push (preAdminResolversSchemaHook) has
|
|
23
|
+
// completed and the AppSync API is ACTIVE — an already-resolved Output when no
|
|
24
|
+
// hook is supplied (in-memory). Platform.res gates the Lambda-backed admin
|
|
25
|
+
// status-query resolvers (Platform_UIFragments / Platform_ApiFragments), which
|
|
26
|
+
// are mounted outside construct, on this so their CreateResolver calls don't
|
|
27
|
+
// race StartSchemaCreation on a first-ever-deployed field (the 2026-07-12
|
|
28
|
+
// Platform_ApiFragments "No field named ... on type Query" clobber).
|
|
29
|
+
adminSchemaPushed: Pulumi.Output.t<unit>,
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
module Make = (
|
|
@@ -269,9 +277,22 @@ module Make = (
|
|
|
269
277
|
// Merge DCB StateViewSlice / InboundTranslation QueryDbs into allQueryDbs so the
|
|
270
278
|
// resolver-makers wired below also cover admin DCB slice fields (mirrors the
|
|
271
279
|
// plugin-side merge at Plugin_Builder.res).
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
280
|
+
//
|
|
281
|
+
// BUT skip the StateViewSlice merge on a static-schema-push platform (AWS, where
|
|
282
|
+
// preAdminResolversSchemaHook is Some): there the pushed schema is the static
|
|
283
|
+
// AdminApi.baseFragment, which does NOT declare the auto `<prefix>_<Slice>` query
|
|
284
|
+
// fields — so creating their resolvers would fail CreateResolver with
|
|
285
|
+
// "No field named Admin_<Slice> on type Query". The admin StateView slices are
|
|
286
|
+
// internal registries whose real query surface is served by dedicated Lambda
|
|
287
|
+
// resolvers (Platform_UIFragments / Platform_ApiFragments), so no auto query
|
|
288
|
+
// resolver is wanted on AWS anyway. On the local platform (hook = None) the schema
|
|
289
|
+
// is built FROM these registrations, so they stay coupled and must be merged.
|
|
290
|
+
let staticSchemaPush = Config.hooks.preAdminResolversSchemaHook->Option.isSome
|
|
291
|
+
if !staticSchemaPush {
|
|
292
|
+
dcbResult.stateViewSlicesOutputs
|
|
293
|
+
->Dict.toArray
|
|
294
|
+
->Array.forEach(((k, v)) => allQueryDbs->Dict.set(k, v.queryDb))
|
|
295
|
+
}
|
|
275
296
|
dcbResult.inboundTranslationSlicesOutputs
|
|
276
297
|
->Dict.toArray
|
|
277
298
|
->Array.forEach(((k, v)) => allQueryDbs->Dict.set(k, v.queryDb))
|
|
@@ -434,6 +455,7 @@ module Make = (
|
|
|
434
455
|
automationSlicesOutputs: dcbResult.automationSlicesOutputs,
|
|
435
456
|
outboundTranslationSlicesOutputs: dcbResult.outboundTranslationSlicesOutputs,
|
|
436
457
|
inboundTranslationSlicesOutputs: dcbResult.inboundTranslationSlicesOutputs,
|
|
458
|
+
adminSchemaPushed,
|
|
437
459
|
}
|
|
438
460
|
}
|
|
439
461
|
}
|
|
@@ -131,9 +131,12 @@ function Make(RuntimeEnvironment) {
|
|
|
131
131
|
});
|
|
132
132
|
let readModelsOutputs = Builder_Helpers$ReventlessCore.createReadModels(readModels, api, apiRole, aggregateEventTopics, opts);
|
|
133
133
|
let allQueryDbs = ReadModel$ReventlessCore.allQueryDbs(readModelsOutputs);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
let staticSchemaPush = Stdlib_Option.isSome(Config.hooks.preAdminResolversSchemaHook);
|
|
135
|
+
if (!staticSchemaPush) {
|
|
136
|
+
Object.entries(dcbResult.stateViewSlicesOutputs).forEach(param => {
|
|
137
|
+
allQueryDbs[param[0]] = param[1].queryDb;
|
|
138
|
+
});
|
|
139
|
+
}
|
|
137
140
|
Object.entries(dcbResult.inboundTranslationSlicesOutputs).forEach(param => {
|
|
138
141
|
allQueryDbs[param[0]] = param[1].queryDb;
|
|
139
142
|
});
|
|
@@ -235,7 +238,8 @@ function Make(RuntimeEnvironment) {
|
|
|
235
238
|
stateViewSlicesOutputs: dcbResult.stateViewSlicesOutputs,
|
|
236
239
|
automationSlicesOutputs: dcbResult.automationSlicesOutputs,
|
|
237
240
|
outboundTranslationSlicesOutputs: dcbResult.outboundTranslationSlicesOutputs,
|
|
238
|
-
inboundTranslationSlicesOutputs: dcbResult.inboundTranslationSlicesOutputs
|
|
241
|
+
inboundTranslationSlicesOutputs: dcbResult.inboundTranslationSlicesOutputs,
|
|
242
|
+
adminSchemaPushed: adminSchemaPushed
|
|
239
243
|
};
|
|
240
244
|
};
|
|
241
245
|
return {
|