@reventlessdev/rescript-aws-sdk 3.0.0-alpha.13 → 3.0.0-alpha.15

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.15 (2026-09-04)
7
+
8
+ **Note:** Version bump only for package @reventlessdev/rescript-aws-sdk
9
+
10
+
11
+
12
+
13
+
14
+ # 3.0.0-alpha.14 (2026-08-27)
15
+
16
+ ### Bug Fixes
17
+
18
+ * **seed-aws:** a throttled control plane aborts the reset hold and blames IAM ([95af263](https://github.com/ReventlessDev/reventless-core/commit/95af263afba7dfdfa9a7fc45f494b302dba4baf8))
19
+
20
+
6
21
  # 3.0.0-alpha.13 (2026-08-23)
7
22
 
8
23
  * feat(aws)!: scope the active-role store to the identity provider ([08e287d](https://github.com/ReventlessDev/reventless-core/commit/08e287db9721977b818bad76671ec4c62be6f9af))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/rescript-aws-sdk",
3
- "version": "3.0.0-alpha.13",
3
+ "version": "3.0.0-alpha.15",
4
4
  "description": "ReScript bindings for aws-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "dependencies": {
@@ -20,7 +20,7 @@
20
20
  "@aws-sdk/lib-dynamodb": "^3.1033.0",
21
21
  "@aws-sdk/lib-storage": "^3.1033.0",
22
22
  "@smithy/node-http-handler": "^4.5.3",
23
- "@reventlessdev/rescript-node": "2.0.0-alpha.8"
23
+ "@reventlessdev/rescript-node": "2.0.0-alpha.9"
24
24
  },
25
25
  "devDependencies": {
26
26
  "rescript": "12.3.0"
package/src/Lambda.res CHANGED
@@ -24,12 +24,23 @@
24
24
  type client
25
25
 
26
26
  module Raw = {
27
- type options = {region?: string}
27
+ type options = {region?: string, maxAttempts?: int, retryMode?: string}
28
28
  @module("@aws-sdk/client-lambda") @new
29
29
  external client: (~options: options=?, unit) => client = "LambdaClient"
30
30
  }
31
31
 
32
- let client = (~region: option<string>=?, ()): client => Raw.client(~options={region: ?region}, ())
32
+ /** The Lambda control plane is rate-limited per account and region, and that
33
+ budget is shared with everything else touching it — a concurrent deploy, an
34
+ inspector sync, a second estate in the same region. A caller that walks every
35
+ function in a stack therefore meets `Rate exceeded` on calls it has every
36
+ right to make, and the SDK default of three attempts in `standard` mode is
37
+ not enough to ride it out.
38
+
39
+ `adaptive` adds a client-side rate limiter that slows the whole client down
40
+ when the service throttles it, rather than retrying into the same wall, which
41
+ is what the control plane wants. */
42
+ let client = (~region: option<string>=?, ()): client =>
43
+ Raw.client(~options={region: ?region, maxAttempts: 10, retryMode: "adaptive"}, ())
33
44
 
34
45
  /** A function's environment variables, in the shape both the get and the update
35
46
  use. `variables` absent and `variables` empty are different: sending an empty
@@ -6,7 +6,9 @@ let Raw = {};
6
6
 
7
7
  function client(region, param) {
8
8
  return new ClientLambda.LambdaClient({
9
- region: region
9
+ region: region,
10
+ maxAttempts: 10,
11
+ retryMode: "adaptive"
10
12
  });
11
13
  }
12
14