@reventlessdev/reventless-core 3.0.0-alpha.183 → 3.0.0-alpha.184

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,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.184 (2026-07-27)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **aws:** grant DCB command Lambda write access to InboundTranslationSlice audit tables ([2c445fa](https://github.com/ReventlessDev/reventless-core/commit/2c445faf9692573d0eab2f0d4a456e8c5d723b41))
11
+
12
+
6
13
  # 3.0.0-alpha.183 (2026-07-27)
7
14
 
8
15
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-core",
3
- "version": "3.0.0-alpha.183",
3
+ "version": "3.0.0-alpha.184",
4
4
  "description": "Core package for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -30,14 +30,14 @@
30
30
  "uuid": "^13.0.0",
31
31
  "@reventlessdev/rescript-effect": "0.1.0-alpha.31",
32
32
  "@reventlessdev/rescript-fast-csv": "1.2.0-alpha.14",
33
- "@reventlessdev/rescript-jest": "1.0.0-alpha.9",
34
33
  "@reventlessdev/rescript-node-streams": "1.1.0-alpha.13",
34
+ "@reventlessdev/rescript-jest": "1.0.0-alpha.9",
35
35
  "@reventlessdev/rescript-hash-object": "1.2.0-alpha.13",
36
36
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.17",
37
- "@reventlessdev/rescript-uuid": "1.1.0-alpha.17",
38
- "@reventlessdev/reventless-interop": "3.0.0-alpha.29",
39
37
  "@reventlessdev/rescript-ssh2": "1.1.0-alpha.14",
38
+ "@reventlessdev/rescript-uuid": "1.1.0-alpha.17",
40
39
  "@reventlessdev/reventless-infra": "3.0.0-alpha.105",
40
+ "@reventlessdev/reventless-interop": "3.0.0-alpha.29",
41
41
  "@reventlessdev/reventless-spec": "3.0.0-alpha.81"
42
42
  },
43
43
  "devDependencies": {
@@ -739,12 +739,19 @@ module Make = (
739
739
  composite->Obj.magic
740
740
  })
741
741
 
742
- // Resources the sync Lambda needs access to
742
+ // Resources the sync Lambda needs access to. An InboundTranslationSlice
743
+ // exposes its audit table under `queryDb.resources` — its top-level
744
+ // `resources` is empty — and the sync DCB command Lambda is the Route 0
745
+ // target that writes those audit rows. Granting only `outputs.resources`
746
+ // left the Lambda role without `PutItem` on the audit table, so every
747
+ // audit write failed with AccessDenied (swallowed at the write site,
748
+ // surfacing only as a permanently empty audit view). Include the audit
749
+ // table's resources so the role can write it.
743
750
  let dcbResources = Array.concat(
744
751
  stateChangeSlicesOutputs->Dict.valuesToArray->Array.flatMap(outputs => outputs.resources),
745
752
  inboundTranslationSlicesOutputs
746
753
  ->Dict.valuesToArray
747
- ->Array.flatMap(outputs => outputs.resources),
754
+ ->Array.flatMap(outputs => Array.concat(outputs.resources, outputs.queryDb.resources)),
748
755
  )
749
756
 
750
757
  // Resources the async Lambda needs access to
@@ -398,7 +398,7 @@ function Make(DcbEventLogStorage) {
398
398
  }
399
399
  };
400
400
  });
401
- let dcbResources = Object.values(stateChangeSlicesOutputs).flatMap(outputs => outputs.resources).concat(Object.values(inboundTranslationSlicesOutputs).flatMap(outputs => outputs.resources));
401
+ let dcbResources = Object.values(stateChangeSlicesOutputs).flatMap(outputs => outputs.resources).concat(Object.values(inboundTranslationSlicesOutputs).flatMap(outputs => outputs.resources.concat(outputs.queryDb.resources)));
402
402
  let asyncDcbResources = Object.values(asyncStateChangeSlicesOutputs).flatMap(outputs => outputs.resources);
403
403
  let inboundFieldNames = inboundTranslationSliceData.map(param => param[1]);
404
404
  let inboundSchemas = inboundTranslationSliceData.map(param => param[3]);