@reventlessdev/reventless-infra 3.0.0-alpha.142 → 3.0.0-alpha.144

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,21 @@
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.144 (2026-08-16)
7
+
8
+ ### Features
9
+
10
+ * **ppx:** declare a command's lifecycle edge once, as [@transition](https://github.com/transition) ([dd35130](https://github.com/ReventlessDev/reventless-core/commit/dd3513014f14b71879ee21263c6755d3c3d95096))
11
+
12
+
13
+ # 3.0.0-alpha.143 (2026-08-16)
14
+
15
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
16
+
17
+
18
+
19
+
20
+
6
21
  # 3.0.0-alpha.142 (2026-08-15)
7
22
 
8
23
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-infra",
3
- "version": "3.0.0-alpha.142",
3
+ "version": "3.0.0-alpha.144",
4
4
  "description": "Infrastructure types for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -18,8 +18,8 @@
18
18
  "uuid": "^13.0.0",
19
19
  "@reventlessdev/rescript-effect": "0.1.0-alpha.32",
20
20
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.19",
21
- "@reventlessdev/reventless-spec": "3.0.0-alpha.114",
22
- "@reventlessdev/rescript-uuid": "2.0.0-alpha.0"
21
+ "@reventlessdev/rescript-uuid": "2.0.0-alpha.0",
22
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.116"
23
23
  },
24
24
  "devDependencies": {
25
25
  "rescript": "12.3.0",
@@ -26,14 +26,14 @@ let markNoApiVariants = (schema: S.t<'a>, variants: array<string>): S.t<'a> =>
26
26
  schema->S.Metadata.set(~id=noApiVariantsId, Set.fromArray(variants))
27
27
 
28
28
  /** PPX helper: attaches per-variant allowedStates to a command schema. Called by generated code
29
- emitted from the @allowedStates([…]) attribute. Each entry is (variantName, allowedStateNames). */
29
+ emitted from the from-set of an @transition attribute. Each entry is (variantName, allowedStateNames). */
30
30
  let markAllowedStates = (
31
31
  schema: S.t<'a>,
32
32
  entries: array<(string, array<string>)>,
33
33
  ): S.t<'a> => schema->S.Metadata.set(~id=allowedStatesId, Dict.fromArray(entries))
34
34
 
35
35
  /** PPX helper: attaches per-variant targetState to a command schema. Called by generated code
36
- emitted from the @targetState("…") attribute. Each entry is (variantName, targetStateName). */
36
+ emitted from the target of an @transition attribute. Each entry is (variantName, targetStateName). */
37
37
  let markTargetState = (
38
38
  schema: S.t<'a>,
39
39
  entries: array<(string, string)>,
@@ -54,7 +54,7 @@ type mutationSchemaEntry = {
54
54
  /** Spec-level per-field authorization derived from `Spec.commandAuthorization`,
55
55
  keyed by mutation field name. Used by AWS to inject
56
56
  `@aws_cognito_user_pools(cognito_groups: ...)` per field (Stage E2 in
57
- `docs/plans/host-ui-login-core.md`). In-memory enforcement still happens
57
+ `docs/plans/done/host-ui-login-core.md`). In-memory enforcement still happens
58
58
  at the resolver layer via the same `commandAuthorization` function. */
59
59
  fieldPermissions?: dict<Reventless.Authorization.permission>,
60
60
  /** Opt a mutation field into deploy-time IAM (SigV4) invocation in addition to
@@ -107,7 +107,7 @@ type querySchemaEntry = {
107
107
  /** Spec-level read-model authorization derived from `Spec.authorization`.
108
108
  Applies to both the single-id and list query fields. Used by AWS to
109
109
  inject `@aws_cognito_user_pools(cognito_groups: ...)` (Stage E2 in
110
- `docs/plans/host-ui-login-core.md`). In-memory enforcement happens at
110
+ `docs/plans/done/host-ui-login-core.md`). In-memory enforcement happens at
111
111
  the QueryDb resolver via the same field. */
112
112
  permission?: Reventless.Authorization.permission,
113
113
  /** Opt the single-id and list query fields into deploy-time IAM (SigV4)
@@ -12,7 +12,7 @@ registration order.
12
12
 
13
13
  Same shape as `ReventlessCore.Monitoring.use`: a module-level registry consulted
14
14
  by an emitted call, so deploy-time extension becomes *registration*, not *file
15
- editing*. See `docs/plans/deploy-bootstrap-seam.md`.
15
+ editing*. See `docs/plans/done/deploy-bootstrap-seam.md`.
16
16
  */
17
17
 
18
18
  /**
@@ -54,8 +54,7 @@ type pluginOutputs = Plugin.outputs
54
54
  // (CDN-only read). These four fields are the minimal handle any CDN front needs;
55
55
  // the app owns the bucket's lifecycle and creation. Defined at file scope so it
56
56
  // is a single shared nominal type across the concrete Platform implementations
57
- // (AWS fronts it via CloudFront; in-memory ignores it). See
58
- // [docs/plans/done/ui-served-buckets.md].
57
+ // (AWS fronts it via CloudFront; in-memory ignores it).
59
58
  type servedBucket = {
60
59
  // Stable stem for the CDN origin id and the per-bucket resource names. Distinct
61
60
  // from the prefixes because a bucket can serve several of them.
@@ -20,7 +20,7 @@ type command =
20
20
  | ForwardCommand(forwardCommand)
21
21
  // Registers this plugin's UI-fragment manifest with the admin UiFragmentRegistry slice.
22
22
  // Sent by the plugin's connect extension alongside ConnectPlugin (see
23
- // docs/plans/event-sourced-fragment-registries.md). Routed by the admin EP's UI-fragment
23
+ // docs/plans/done/event-sourced-fragment-registries.md). Routed by the admin EP's UI-fragment
24
24
  // mapping to UiFragmentRegistry.RegisterUiFragment; DisconnectPlugin drives the matching
25
25
  // DeregisterUiFragment. Decoupling the manifest from the Plugin aggregate's lifecycle.
26
26
  | RegisterUiFragment(uiFragmentManifest)
@@ -10,7 +10,7 @@ module at the seam where it applies the core `ExtensionPoint_Builder.Make` /
10
10
  `Task_Builder.Make` functor; core feeds the two `let`s into `resolveMemory` /
11
11
  `resolveTimeout` in place of the old hardcoded literals.
12
12
 
13
- See docs/plans/runtime-hints-platform-supplied-defaults.md.
13
+ See docs/plans/done/runtime-hints-platform-supplied-defaults.md.
14
14
  */
15
15
  module type T = {
16
16
  let memorySize: int // MiB floor for this pod kind on this platform