@reventlessdev/reventless-infra 3.0.0-alpha.105 → 3.0.0-alpha.107
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 +4 -4
- package/src/components/Api.res +12 -0
- package/src/types/Platform.res +36 -17
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.107 (2026-07-28)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **aws:** provision platform capabilities through framework helpers ([5f87c57](https://github.com/ReventlessDev/reventless-core/commit/5f87c57c7c117dccb44c88d6132e5270e8707bc2))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 3.0.0-alpha.106 (2026-07-27)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **api:** don't inject id: ID! into multi-variant DCB slice mutations ([03cfaad](https://github.com/ReventlessDev/reventless-core/commit/03cfaadce3bee3d7010835edc10f57ab45ddfa5b))
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# 3.0.0-alpha.105 (2026-07-26)
|
|
7
21
|
|
|
8
22
|
### Bug Fixes
|
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.107",
|
|
4
4
|
"description": "Infrastructure types for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"sury": "11.0.0-alpha.4",
|
|
17
17
|
"sury-ppx": "11.0.0-alpha.2",
|
|
18
18
|
"uuid": "^13.0.0",
|
|
19
|
-
"@reventlessdev/rescript-uuid": "1.1.0-alpha.17",
|
|
20
|
-
"@reventlessdev/rescript-effect": "0.1.0-alpha.31",
|
|
21
19
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.17",
|
|
22
|
-
"@reventlessdev/
|
|
20
|
+
"@reventlessdev/rescript-effect": "0.1.0-alpha.31",
|
|
21
|
+
"@reventlessdev/rescript-uuid": "1.1.0-alpha.17",
|
|
22
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.82"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"rescript": "12.3.0",
|
package/src/components/Api.res
CHANGED
|
@@ -67,6 +67,18 @@ type mutationSchemaEntry = {
|
|
|
67
67
|
the IAM principal must be scoped by the API resource policy / deploy-role
|
|
68
68
|
policy (see `docs/guides/appsync-iam-system-caller.md`). Default `false`. */
|
|
69
69
|
systemCallable?: bool,
|
|
70
|
+
/** Whether the generated mutation field carries a separate `id: ID!` argument
|
|
71
|
+
naming the target entity, injected ahead of the command payload args.
|
|
72
|
+
`true` for aggregate mutations — the aggregate instance id is a real
|
|
73
|
+
argument distinct from the command payload (e.g.
|
|
74
|
+
`Ordering_Customer_Register(id: ID!, email: String!, ...)`), and callers
|
|
75
|
+
send it as `id`. `false` for DCB slice / inbound-translation mutations —
|
|
76
|
+
the slice's own key field (e.g. `orderId`) is part of the payload and no
|
|
77
|
+
separate `id` argument exists. Defaults to `true` so aggregate entries
|
|
78
|
+
(including the admin Plugin fragment) keep the injection without opting in.
|
|
79
|
+
A multi-variant slice command schema is a sury `Union`, so without this
|
|
80
|
+
flag it would wrongly inherit the aggregate-style `id: ID!` injection. */
|
|
81
|
+
injectIdArg?: bool,
|
|
70
82
|
description?: string,
|
|
71
83
|
linkedViews?: array<string>,
|
|
72
84
|
consistencyRead?: string,
|
package/src/types/Platform.res
CHANGED
|
@@ -63,6 +63,23 @@ type servedBucket = {
|
|
|
63
63
|
bucketRegionalDomainName: Pulumi.Input.t<string>,
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
// A provisioned object store, as returned by the framework's object-store
|
|
67
|
+
// capability helper. Carries every handle the platform needs to both write to
|
|
68
|
+
// the store (presigned PUTs against `bucketName`) and serve it read-only from
|
|
69
|
+
// the UI's origin — so the deployment hands over one value instead of restating
|
|
70
|
+
// the bucket three times in three shapes.
|
|
71
|
+
type objectStore = {
|
|
72
|
+
bucketName: Pulumi.Input.t<string>,
|
|
73
|
+
bucketId: Pulumi.Input.t<string>,
|
|
74
|
+
bucketArn: Pulumi.Input.t<string>,
|
|
75
|
+
bucketRegionalDomainName: Pulumi.Input.t<string>,
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// A provisioned geocoding place index, as returned by the framework's geocoding
|
|
79
|
+
// capability helper. A record rather than a bare name so the handle can grow
|
|
80
|
+
// (ARN, data source) without moving every call site.
|
|
81
|
+
type geocoderIndex = {indexName: Pulumi.Input.t<string>}
|
|
82
|
+
|
|
66
83
|
// Module type alias so StateViewSliceStream can reference the component T
|
|
67
84
|
// without being confused by the `module StateViewSlice` declaration inside T.
|
|
68
85
|
module type StateViewSliceComponentT = StateViewSlice.T
|
|
@@ -247,29 +264,31 @@ module type T = {
|
|
|
247
264
|
endpoint at boot. In-memory platforms typically ignore this — the shell
|
|
248
265
|
is served by `vite dev` against the running in-process GraphQL server. */
|
|
249
266
|
type hostUiBundleConfig = {
|
|
250
|
-
|
|
251
|
-
|
|
267
|
+
// Directory holding the built shell bundle. Defaults to the resolved
|
|
268
|
+
// `@reventlessdev/reventless-host-shell` dist, which is what every
|
|
269
|
+
// deployment wants; set it only to host a different bundle.
|
|
270
|
+
assetsDir?: string,
|
|
271
|
+
// Defaults to the `~version` passed to `deployPlatform`.
|
|
272
|
+
bundleVersion?: string,
|
|
252
273
|
// Optional path to a static AutoUI `ui-hints.json`, read and written
|
|
253
274
|
// verbatim as a BucketObject beside `config.json` at deploy time. Unset ⇒
|
|
254
275
|
// no file written; the shell treats the 404 as "no hints" and boots
|
|
255
276
|
// unchanged. In-memory platforms ignore this.
|
|
256
277
|
uiHintsFile?: string,
|
|
257
|
-
// Optional
|
|
258
|
-
//
|
|
259
|
-
//
|
|
278
|
+
// Optional geocoding place index. When set, the deploy provisions a public
|
|
279
|
+
// geocoder Lambda Function URL and threads its URL into config.json as
|
|
280
|
+
// `geocoderEndpoint`. Unset ⇒ no service, field omitted. In-memory
|
|
260
281
|
// platforms ignore this.
|
|
261
|
-
geocoderPlaceIndex?:
|
|
262
|
-
//
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
//
|
|
270
|
-
|
|
271
|
-
// read path on the host-shell distribution. In-memory platforms ignore this.
|
|
272
|
-
servedBuckets?: array<servedBucket>,
|
|
282
|
+
geocoderPlaceIndex?: geocoderIndex,
|
|
283
|
+
// Optional object store for direct-to-store uploads. When set, the deploy
|
|
284
|
+
// provisions a presign service against it, threads that service's URL into
|
|
285
|
+
// config.json as `uploadEndpoint`, and serves the store read-only from the
|
|
286
|
+
// UI's own origin under the presign service's prefix.
|
|
287
|
+
//
|
|
288
|
+
// The prefix is written once, by the framework, and consumed by both sides:
|
|
289
|
+
// a deployment cannot mint refs under one prefix and serve another.
|
|
290
|
+
// In-memory platforms ignore this.
|
|
291
|
+
uploadBucket?: objectStore,
|
|
273
292
|
}
|
|
274
293
|
|
|
275
294
|
/** Deploy a complete platform: creates the scheduler, builds each plugin,
|