@reventlessdev/reventless-local 3.0.0-alpha.188 → 3.0.0-alpha.190
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,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.190 (2026-08-02)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **spec:** make plugin structure/apiSchemaFragment offloadable payloads ([a0391bf](https://github.com/ReventlessDev/reventless-core/commit/a0391bf26f91035460cbf90f52d105a1003414c3))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 3.0.0-alpha.189 (2026-08-02)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **aws,core,spec,seed-aws:** expire uploads nobody committed a reference to ([f63e84c](https://github.com/ReventlessDev/reventless-core/commit/f63e84c1a11cc350b799a6f69a2e7427cf1ea6e9))
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# 3.0.0-alpha.188 (2026-08-01)
|
|
7
21
|
|
|
8
22
|
* feat(aws,core,spec)!: qualify store prefixes by plugin and refuse name collisions ([da39405](https://github.com/ReventlessDev/reventless-core/commit/da394059d9f8f981bf7adc79e2c1ce2b429e0267))
|
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.190",
|
|
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": {
|
|
@@ -34,23 +34,23 @@
|
|
|
34
34
|
"graphql-yoga": "^5.21.0",
|
|
35
35
|
"sury": "11.0.0-alpha.4",
|
|
36
36
|
"ws": "^8.18.0",
|
|
37
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
38
|
-
"@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.26",
|
|
39
37
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
40
|
-
"@reventlessdev/rescript-
|
|
38
|
+
"@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.26",
|
|
39
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
41
40
|
"@reventlessdev/rescript-mcp-sdk": "1.0.0-alpha.21",
|
|
41
|
+
"@reventlessdev/rescript-node": "2.0.0-alpha.0",
|
|
42
42
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.18",
|
|
43
|
-
"@reventlessdev/reventless-core": "3.0.0-alpha.
|
|
44
|
-
"@reventlessdev/reventless-graphql-server": "1.0.0-alpha.
|
|
45
|
-
"@reventlessdev/reventless-
|
|
46
|
-
"@reventlessdev/reventless-
|
|
47
|
-
"@reventlessdev/reventless-
|
|
48
|
-
"@reventlessdev/reventless-
|
|
43
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.202",
|
|
44
|
+
"@reventlessdev/reventless-graphql-server": "1.0.0-alpha.50",
|
|
45
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.119",
|
|
46
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.94",
|
|
47
|
+
"@reventlessdev/reventless-gwt": "1.0.0-alpha.149",
|
|
48
|
+
"@reventlessdev/reventless-postgres": "3.0.0-alpha.66"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"rescript": "12.3.0",
|
|
52
52
|
"sury-ppx": "11.0.0-alpha.2",
|
|
53
|
-
"@reventlessdev/reventless-ppx": "1.0.0-alpha.
|
|
53
|
+
"@reventlessdev/reventless-ppx": "1.0.0-alpha.60"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"rescript": "12.3.0"
|
package/src/Platform.res
CHANGED
|
@@ -1113,9 +1113,9 @@ module MakeWithConfig = (
|
|
|
1113
1113
|
},
|
|
1114
1114
|
),
|
|
1115
1115
|
extensionProtocols: [],
|
|
1116
|
-
apiSchemaFragment,
|
|
1116
|
+
apiSchemaFragment: apiSchemaFragment->Option.map(f => Reventless.Offload.Inline(f)),
|
|
1117
1117
|
apiTarget: None,
|
|
1118
|
-
structure: pluginStructure,
|
|
1118
|
+
structure: pluginStructure->Option.map(s => Reventless.Offload.Inline(s)),
|
|
1119
1119
|
dcbEventLog: None,
|
|
1120
1120
|
kind: Domain,
|
|
1121
1121
|
}
|
package/src/Platform.res.mjs
CHANGED
|
@@ -969,9 +969,15 @@ function MakeWithConfig(Config) {
|
|
|
969
969
|
}),
|
|
970
970
|
eventCollector: param[2].name,
|
|
971
971
|
extensionProtocols: [],
|
|
972
|
-
apiSchemaFragment: param[5],
|
|
972
|
+
apiSchemaFragment: Stdlib_Option.map(param[5], f => ({
|
|
973
|
+
TAG: "Inline",
|
|
974
|
+
_0: f
|
|
975
|
+
})),
|
|
973
976
|
apiTarget: undefined,
|
|
974
|
-
structure: param[7],
|
|
977
|
+
structure: Stdlib_Option.map(param[7], s => ({
|
|
978
|
+
TAG: "Inline",
|
|
979
|
+
_0: s
|
|
980
|
+
})),
|
|
975
981
|
dcbEventLog: undefined,
|
|
976
982
|
kind: "Domain"
|
|
977
983
|
};
|
|
@@ -2653,9 +2659,15 @@ function Make($star) {
|
|
|
2653
2659
|
}),
|
|
2654
2660
|
eventCollector: param[2].name,
|
|
2655
2661
|
extensionProtocols: [],
|
|
2656
|
-
apiSchemaFragment: param[5],
|
|
2662
|
+
apiSchemaFragment: Stdlib_Option.map(param[5], f => ({
|
|
2663
|
+
TAG: "Inline",
|
|
2664
|
+
_0: f
|
|
2665
|
+
})),
|
|
2657
2666
|
apiTarget: undefined,
|
|
2658
|
-
structure: param[7],
|
|
2667
|
+
structure: Stdlib_Option.map(param[7], s => ({
|
|
2668
|
+
TAG: "Inline",
|
|
2669
|
+
_0: s
|
|
2670
|
+
})),
|
|
2659
2671
|
dcbEventLog: undefined,
|
|
2660
2672
|
kind: "Domain"
|
|
2661
2673
|
};
|
|
@@ -131,7 +131,7 @@ let handleLogout = (_req: nodeRequest, res: nodeResponse): unit => {
|
|
|
131
131
|
// PUT /{prefix}/{key} raw bytes → 200 (store)
|
|
132
132
|
// GET /{prefix}/{key} → the stored bytes
|
|
133
133
|
// Minting (`Upload_Presign`) and release (`Upload_Release`) are platform-API
|
|
134
|
-
// mutations under route B (see [docs/plans/upload-release-path.md], resolved in
|
|
134
|
+
// mutations under route B (see [docs/plans/done/upload-release-path.md], resolved in
|
|
135
135
|
// Platform.res against this same `LocalObjectStore`); the presign returns
|
|
136
136
|
// `uploadUrl == storageRef == /{prefix}/{key}`, so the byte PUT below is unchanged.
|
|
137
137
|
|
|
@@ -57,7 +57,7 @@ let put = (~key: string, ~bytes: buffer, ~contentType: string): unit =>
|
|
|
57
57
|
let get = (~key: string): option<entry> => objects->Dict.get(key)
|
|
58
58
|
|
|
59
59
|
// Remove a stored object. Idempotent — deleting an absent key is a no-op, matching
|
|
60
|
-
// the release contract (see docs/plans/upload-release-path.md, Step 3). The dev
|
|
60
|
+
// the release contract (see docs/plans/done/upload-release-path.md, Step 3). The dev
|
|
61
61
|
// store has no identities or clock, so the release resolver enforces only the
|
|
62
62
|
// *shape* of the rule (key under a served prefix), not the identity/age conditions.
|
|
63
63
|
let delete = (~key: string): unit => objects->Dict.delete(key)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// The dev store has no identities and no clock, so release enforces only the *shape*
|
|
6
6
|
// of the rule (key under a served prefix), not the identity/age conditions AWS applies
|
|
7
7
|
// — dev parity is about the client seeing the same contract, not reproducing AWS's
|
|
8
|
-
// guarantees. See [docs/plans/upload-release-path.md] § Step 3.
|
|
8
|
+
// guarantees. See [docs/plans/done/upload-release-path.md] § Step 3.
|
|
9
9
|
|
|
10
10
|
// Mint a same-origin `/{prefix}/{uuid}/{fileName}` ref: both the PUT target and the
|
|
11
11
|
// stored value, mirroring the AWS presign ticket's shape.
|