@reventlessdev/reventless-local 3.0.0-alpha.202 → 3.0.0-alpha.203
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 +7 -0
- package/package.json +8 -8
- package/src/Platform.res +18 -0
- package/src/Platform.res.mjs +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
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.203 (2026-08-08)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **core,aws,local:** add the RuntimeExtension cold-start seam ([143e30e](https://github.com/ReventlessDev/reventless-core/commit/143e30eeded6232ce7f0fcc18328939b2917bb31))
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
# 3.0.0-alpha.202 (2026-08-07)
|
|
7
14
|
|
|
8
15
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-local",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.203",
|
|
4
4
|
"description": "Local platform for Reventless (in-memory or SQLite backend, for development and testing without AWS)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": {
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"ws": "^8.18.0",
|
|
37
37
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
38
38
|
"@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.26",
|
|
39
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
40
39
|
"@reventlessdev/rescript-mcp-sdk": "1.0.0-alpha.21",
|
|
41
40
|
"@reventlessdev/rescript-node": "2.0.0-alpha.2",
|
|
42
|
-
"@reventlessdev/
|
|
41
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
43
42
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.18",
|
|
44
|
-
"@reventlessdev/reventless-graphql-server": "1.0.0-alpha.
|
|
45
|
-
"@reventlessdev/reventless-
|
|
46
|
-
"@reventlessdev/reventless-
|
|
43
|
+
"@reventlessdev/reventless-graphql-server": "1.0.0-alpha.63",
|
|
44
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.215",
|
|
45
|
+
"@reventlessdev/reventless-gwt": "1.0.0-alpha.162",
|
|
46
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.127",
|
|
47
|
+
"@reventlessdev/reventless-postgres": "3.0.0-alpha.79",
|
|
47
48
|
"@reventlessdev/reventless-seed": "1.0.0-alpha.9",
|
|
48
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.101"
|
|
49
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.127"
|
|
49
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.101"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"rescript": "12.3.0",
|
package/src/Platform.res
CHANGED
|
@@ -1414,6 +1414,24 @@ module MakeWithConfig = (
|
|
|
1414
1414
|
`backend: sqlite (${path}${resetOnStart ? ", resetOnStart" : ""})`
|
|
1415
1415
|
},
|
|
1416
1416
|
)
|
|
1417
|
+
// Runtime extension seam. Fired before anything is built, so an extension's
|
|
1418
|
+
// interception and publish hooks are registered before the first command or
|
|
1419
|
+
// query can reach them.
|
|
1420
|
+
//
|
|
1421
|
+
// Off Lambda the seam means something slightly different, and deliberately
|
|
1422
|
+
// so: every component runs in THIS process, so there is one cold start, not
|
|
1423
|
+
// one per runtime. Firing per hosted component would hand an extension N
|
|
1424
|
+
// identities for a single process and re-run registrations that are
|
|
1425
|
+
// module-level refs anyway. `Platform` is the honest kind for a runtime that
|
|
1426
|
+
// hosts all of them; an extension that routes on kind should treat this as
|
|
1427
|
+
// "everything", which is what it is.
|
|
1428
|
+
ReventlessCore.RuntimeExtension.notifyColdStart(
|
|
1429
|
+
~runtimeKind=ReventlessCore.ComponentType.Platform,
|
|
1430
|
+
~component="LocalPlatform",
|
|
1431
|
+
~plugin=ReventlessCore.ResourceAttribution.current.contents.plugin,
|
|
1432
|
+
~platform=ReventlessCore.ResourceAttribution.current.contents.platform,
|
|
1433
|
+
)
|
|
1434
|
+
|
|
1417
1435
|
// Projection catch-up bound (plan B5): the highest persisted event position
|
|
1418
1436
|
// BEFORE this session appends anything. Catch-up replays only (checkpoint,
|
|
1419
1437
|
// bound] — this session's own events (Connect dispatches, user commands)
|
package/src/Platform.res.mjs
CHANGED
|
@@ -39,6 +39,7 @@ import * as Counter_Builder$ReventlessLocal from "./components/Counter_Builder.r
|
|
|
39
39
|
import * as GraphQL_Stitcher$ReventlessCore from "@reventlessdev/reventless-core/src/components/Api/GraphQL_Stitcher.res.mjs";
|
|
40
40
|
import * as LocalPluginSpec$ReventlessLocal from "./adapter/LocalPluginSpec.res.mjs";
|
|
41
41
|
import * as NoEventMappings$ReventlessInfra from "@reventlessdev/reventless-infra/src/types/NoEventMappings.res.mjs";
|
|
42
|
+
import * as RuntimeExtension$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/RuntimeExtension/RuntimeExtension.res.mjs";
|
|
42
43
|
import * as DomainMCP_Server$ReventlessLocal from "./adapter/DomainMCP_Server.res.mjs";
|
|
43
44
|
import * as ExtensionMapping$ReventlessInfra from "@reventlessdev/reventless-infra/src/types/ExtensionMapping.res.mjs";
|
|
44
45
|
import * as LocalObjectStore$ReventlessLocal from "./adapter/ObjectStore/LocalObjectStore.res.mjs";
|
|
@@ -54,6 +55,7 @@ import * as ReadModel_Builder$ReventlessLocal from "./components/ReadModel_Build
|
|
|
54
55
|
import * as UiFragmentRegistry$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry.res.mjs";
|
|
55
56
|
import * as LocalEvents_Server$ReventlessLocal from "./adapter/Api/LocalEvents_Server.res.mjs";
|
|
56
57
|
import * as PlatformMCP_Server$ReventlessLocal from "./adapter/PlatformMCP_Server.res.mjs";
|
|
58
|
+
import * as ResourceAttribution$ReventlessCore from "@reventlessdev/reventless-core/src/ResourceAttribution.res.mjs";
|
|
57
59
|
import * as Auth_GraphqlContext$ReventlessLocal from "./adapter/Auth/Auth_GraphqlContext.res.mjs";
|
|
58
60
|
import * as PgProjectionCatchup$ReventlessLocal from "./adapter/PgProjectionCatchup.res.mjs";
|
|
59
61
|
import * as PluginsReadModelSpec$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginsReadModelSpec.res.mjs";
|
|
@@ -1192,6 +1194,7 @@ function MakeWithConfig(Config) {
|
|
|
1192
1194
|
) + `)` : `backend: postgres (` + match.connection + `, event-logs only)`
|
|
1193
1195
|
);
|
|
1194
1196
|
log.info("Platform", undefined, tmp);
|
|
1197
|
+
RuntimeExtension$ReventlessCore.notifyColdStart("Platform", "LocalPlatform", ResourceAttribution$ReventlessCore.current.contents.plugin, ResourceAttribution$ReventlessCore.current.contents.platform);
|
|
1195
1198
|
let projectionCatchup = Stdlib_Option.map(BackendState$ReventlessLocal.getSqliteDb(), db => [
|
|
1196
1199
|
db,
|
|
1197
1200
|
ProjectionCheckpoint$ReventlessLocal.maxPosition(db, "Aggregate"),
|
|
@@ -2883,6 +2886,7 @@ function Make($star) {
|
|
|
2883
2886
|
) + `)` : `backend: postgres (` + backend.connection + `, event-logs only)`
|
|
2884
2887
|
);
|
|
2885
2888
|
log.info("Platform", undefined, tmp);
|
|
2889
|
+
RuntimeExtension$ReventlessCore.notifyColdStart("Platform", "LocalPlatform", ResourceAttribution$ReventlessCore.current.contents.plugin, ResourceAttribution$ReventlessCore.current.contents.platform);
|
|
2886
2890
|
let projectionCatchup = Stdlib_Option.map(BackendState$ReventlessLocal.getSqliteDb(), db => [
|
|
2887
2891
|
db,
|
|
2888
2892
|
ProjectionCheckpoint$ReventlessLocal.maxPosition(db, "Aggregate"),
|