@reventlessdev/rescript-aws-sdk 3.0.0-alpha.0 → 3.0.0-alpha.1

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.1 (2026-08-02)
7
+
8
+ ### Features
9
+
10
+ * **aws,core,spec,seed-aws:** expire uploads nobody committed a reference to ([f63e84c](https://github.com/ReventlessDev/reventless-core/commit/f63e84c1a11cc350b799a6f69a2e7427cf1ea6e9))
11
+
12
+
6
13
  # 3.0.0-alpha.0 (2026-07-31)
7
14
 
8
15
  * feat(rescript)!: one Node bindings package, not two ([1258d8c](https://github.com/ReventlessDev/reventless-core/commit/1258d8c2b2ff2636b36a849fc5bdf9005c6fb0eb))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/rescript-aws-sdk",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.1",
4
4
  "description": "ReScript bindings for aws-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "dependencies": {
package/src/S3.res CHANGED
@@ -95,6 +95,65 @@ module ListObjectVersionsCommand = {
95
95
  let send: t => promise<output> = input => Raw.send(client(), input)
96
96
  }
97
97
 
98
+ /** An object tag. Shared by the get/put tagging commands, which exchange the
99
+ same `TagSet` — reading, filtering and writing back is the only way to remove
100
+ one tag without discarding the rest. */
101
+ type tag = {
102
+ @as("Key") key: string,
103
+ @as("Value") value: string,
104
+ }
105
+
106
+ module GetObjectTaggingCommand = {
107
+ type t
108
+
109
+ type input = {
110
+ @as("Bucket") bucket: string,
111
+ @as("Key") key: string,
112
+ }
113
+
114
+ /** An object with no tags returns an empty `TagSet`, not an absent one — but
115
+ the field is optional here anyway, since a caller that treats "absent" and
116
+ "empty" differently would be reading a distinction S3 does not make. */
117
+ type output = {@as("TagSet") tagSet?: array<tag>}
118
+
119
+ @new @module("@aws-sdk/client-s3")
120
+ external make: input => t = "GetObjectTaggingCommand"
121
+
122
+ module Raw = {
123
+ @send
124
+ external send: (client, t) => promise<output> = "send"
125
+ }
126
+
127
+ let send: t => promise<output> = input => Raw.send(client(), input)
128
+ }
129
+
130
+ module PutObjectTaggingCommand = {
131
+ type t
132
+
133
+ /** Replaces the object's whole tag set — there is no partial update, so
134
+ removing one tag means putting back the others. An empty `tagSet` clears
135
+ every tag and is a valid, idempotent call on an already-untagged object. */
136
+ type tagging = {@as("TagSet") tagSet: array<tag>}
137
+
138
+ type input = {
139
+ @as("Bucket") bucket: string,
140
+ @as("Key") key: string,
141
+ @as("Tagging") tagging: tagging,
142
+ }
143
+
144
+ type output = {@as("VersionId") versionId?: string}
145
+
146
+ @new @module("@aws-sdk/client-s3")
147
+ external make: input => t = "PutObjectTaggingCommand"
148
+
149
+ module Raw = {
150
+ @send
151
+ external send: (client, t) => promise<output> = "send"
152
+ }
153
+
154
+ let send: t => promise<output> = input => Raw.send(client(), input)
155
+ }
156
+
98
157
  module DeleteObjectsCommand = {
99
158
  /*** delete up to 1000 objects (each by key, optionally a specific version) in
100
159
  one call. Used by the seed reset to empty a bucket page by page.
package/src/S3.res.mjs CHANGED
@@ -47,7 +47,7 @@ function send$2(input) {
47
47
  return client().send(input);
48
48
  }
49
49
 
50
- let DeleteObjectsCommand = {
50
+ let GetObjectTaggingCommand = {
51
51
  Raw: Raw$3,
52
52
  send: send$2
53
53
  };
@@ -58,17 +58,39 @@ function send$3(input) {
58
58
  return client().send(input);
59
59
  }
60
60
 
61
- let PutObjectCommand = {
61
+ let PutObjectTaggingCommand = {
62
62
  Raw: Raw$4,
63
63
  send: send$3
64
64
  };
65
65
 
66
+ let Raw$5 = {};
67
+
68
+ function send$4(input) {
69
+ return client().send(input);
70
+ }
71
+
72
+ let DeleteObjectsCommand = {
73
+ Raw: Raw$5,
74
+ send: send$4
75
+ };
76
+
77
+ let Raw$6 = {};
78
+
79
+ function send$5(input) {
80
+ return client().send(input);
81
+ }
82
+
83
+ let PutObjectCommand = {
84
+ Raw: Raw$6,
85
+ send: send$5
86
+ };
87
+
66
88
  let CompleteMultipartUploadCommand = {};
67
89
 
68
- let Raw$5 = {};
90
+ let Raw$7 = {};
69
91
 
70
92
  let Upload = {
71
- Raw: Raw$5
93
+ Raw: Raw$7
72
94
  };
73
95
 
74
96
  export {
@@ -77,6 +99,8 @@ export {
77
99
  client,
78
100
  GetObjectCommand,
79
101
  ListObjectVersionsCommand,
102
+ GetObjectTaggingCommand,
103
+ PutObjectTaggingCommand,
80
104
  DeleteObjectsCommand,
81
105
  PutObjectCommand,
82
106
  CompleteMultipartUploadCommand,