@procedures/s3 0.2.3 → 0.3.0
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 +41 -0
- package/README.md +47 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +2 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +51 -1
- package/dist/module.js.map +1 -1
- package/dist/procedures/s3/copy.d.ts +21 -0
- package/dist/procedures/s3/copy.d.ts.map +1 -0
- package/dist/procedures/s3/copy.js +46 -0
- package/dist/procedures/s3/copy.js.map +1 -0
- package/dist/procedures/s3/head.d.ts +13 -0
- package/dist/procedures/s3/head.d.ts.map +1 -0
- package/dist/procedures/s3/head.js +45 -0
- package/dist/procedures/s3/head.js.map +1 -0
- package/dist/procedures/s3/index.d.ts +3 -0
- package/dist/procedures/s3/index.d.ts.map +1 -1
- package/dist/procedures/s3/index.js +3 -0
- package/dist/procedures/s3/index.js.map +1 -1
- package/dist/procedures/s3/presign.d.ts +25 -0
- package/dist/procedures/s3/presign.d.ts.map +1 -0
- package/dist/procedures/s3/presign.js +51 -0
- package/dist/procedures/s3/presign.js.map +1 -0
- package/dist/types.d.ts +82 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +54 -0
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +13 -0
- package/src/module.ts +68 -1
- package/src/procedures/s3/copy.ts +48 -0
- package/src/procedures/s3/head.ts +39 -0
- package/src/procedures/s3/index.ts +3 -0
- package/src/procedures/s3/presign.ts +60 -0
- package/src/types.ts +145 -0
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@procedures/s3",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"description": "AWS S3 as typed procedures: upload, download with safe part files, list, delete and multipart uploads.",
|
|
4
|
+
"version": "0.3.0",
|
|
5
|
+
"description": "AWS S3 as typed procedures: upload, download with safe part files, list, head, copy, presigned URLs, delete and multipart uploads.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"s3",
|
|
8
8
|
"aws",
|
|
@@ -61,7 +61,8 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@aws-sdk/client-s3": "^3.705.0",
|
|
64
|
-
"@
|
|
64
|
+
"@aws-sdk/s3-request-presigner": "3.1147.0",
|
|
65
|
+
"@procedures/client": "0.3.0",
|
|
65
66
|
"zod": "^4.6.5"
|
|
66
67
|
},
|
|
67
68
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -35,6 +35,12 @@ export type {
|
|
|
35
35
|
S3MultipartCompleteOutput,
|
|
36
36
|
S3MultipartAbortInput,
|
|
37
37
|
S3MultipartAbortOutput,
|
|
38
|
+
S3HeadInput,
|
|
39
|
+
S3HeadOutput,
|
|
40
|
+
S3CopyInput,
|
|
41
|
+
S3CopyOutput,
|
|
42
|
+
S3PresignInput,
|
|
43
|
+
S3PresignOutput,
|
|
38
44
|
} from "./types.js";
|
|
39
45
|
|
|
40
46
|
// Re-export schemas for external use
|
|
@@ -48,6 +54,10 @@ export {
|
|
|
48
54
|
S3MultipartUploadInputSchema,
|
|
49
55
|
S3MultipartCompleteInputSchema,
|
|
50
56
|
S3MultipartAbortInputSchema,
|
|
57
|
+
S3HeadInputSchema,
|
|
58
|
+
S3CopyInputSchema,
|
|
59
|
+
S3PresignInputSchema,
|
|
60
|
+
MAX_PRESIGN_SECONDS,
|
|
51
61
|
} from "./types.js";
|
|
52
62
|
|
|
53
63
|
// Re-export S3 client utilities
|
|
@@ -69,4 +79,7 @@ export {
|
|
|
69
79
|
s3MultipartUpload,
|
|
70
80
|
s3MultipartComplete,
|
|
71
81
|
s3MultipartAbort,
|
|
82
|
+
s3Head,
|
|
83
|
+
s3Copy,
|
|
84
|
+
s3Presign,
|
|
72
85
|
} from "./procedures/s3/index.js";
|
package/src/module.ts
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Procedure Registration for S3 operations
|
|
5
5
|
*
|
|
6
|
-
* Provides s3.upload, s3.download, s3.list, s3.delete,
|
|
6
|
+
* Provides s3.upload, s3.download, s3.list, s3.delete, s3.head, s3.copy, s3.presign, and
|
|
7
|
+
* s3.multipart.* procedures.
|
|
7
8
|
* Credentials are loaded from environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY).
|
|
8
9
|
*/
|
|
9
10
|
|
|
@@ -57,6 +58,23 @@ import {
|
|
|
57
58
|
S3MultipartCompleteOutputSchema,
|
|
58
59
|
S3MultipartAbortOutputSchema,
|
|
59
60
|
} from "./types.js";
|
|
61
|
+
import { s3Head } from "./procedures/s3/head.js";
|
|
62
|
+
import { s3Copy } from "./procedures/s3/copy.js";
|
|
63
|
+
import { s3Presign } from "./procedures/s3/presign.js";
|
|
64
|
+
import {
|
|
65
|
+
S3HeadInputSchema,
|
|
66
|
+
S3HeadOutputSchema,
|
|
67
|
+
S3CopyInputSchema,
|
|
68
|
+
S3CopyOutputSchema,
|
|
69
|
+
S3PresignInputSchema,
|
|
70
|
+
S3PresignOutputSchema,
|
|
71
|
+
type S3HeadInput,
|
|
72
|
+
type S3HeadOutput,
|
|
73
|
+
type S3CopyInput,
|
|
74
|
+
type S3CopyOutput,
|
|
75
|
+
type S3PresignInput,
|
|
76
|
+
type S3PresignOutput,
|
|
77
|
+
} from "./types.js";
|
|
60
78
|
|
|
61
79
|
// =============================================================================
|
|
62
80
|
// Procedures
|
|
@@ -202,6 +220,52 @@ const s3MultipartAbortProcedure = createProcedure()
|
|
|
202
220
|
})
|
|
203
221
|
.build();
|
|
204
222
|
|
|
223
|
+
// s3.head, s3.copy and s3.presign (roadmap R44)
|
|
224
|
+
|
|
225
|
+
const s3HeadProcedure = createProcedure()
|
|
226
|
+
.path(["s3", "head"])
|
|
227
|
+
.input(zodAdapter<S3HeadInput>(S3HeadInputSchema))
|
|
228
|
+
.output(zodAdapter<S3HeadOutput>(S3HeadOutputSchema))
|
|
229
|
+
.meta({
|
|
230
|
+
description: "The metadata of an object, without its content (exists: false for a 404)",
|
|
231
|
+
effects: { reads: ["s3", "network"], writes: [] },
|
|
232
|
+
shorts: { bucket: "b", key: "k" },
|
|
233
|
+
output: "json",
|
|
234
|
+
})
|
|
235
|
+
.handler(async (input: S3HeadInput): Promise<S3HeadOutput> => s3Head(input))
|
|
236
|
+
.build();
|
|
237
|
+
|
|
238
|
+
const s3CopyProcedure = createProcedure()
|
|
239
|
+
.path(["s3", "copy"])
|
|
240
|
+
.input(zodAdapter<S3CopyInput>(S3CopyInputSchema))
|
|
241
|
+
.output(zodAdapter<S3CopyOutput>(S3CopyOutputSchema))
|
|
242
|
+
.meta({
|
|
243
|
+
description: "Copy an object inside S3 (it replaces the destination, unless overwrite is false)",
|
|
244
|
+
// The copy replaces the object of the destination key: destructive. The same input gives the
|
|
245
|
+
// same object again, so a second call changes nothing more.
|
|
246
|
+
effects: { reads: ["s3", "network"], writes: ["s3", "network"], destructive: true, idempotent: true },
|
|
247
|
+
shorts: { bucket: "b", key: "k" },
|
|
248
|
+
output: "json",
|
|
249
|
+
})
|
|
250
|
+
.handler(async (input: S3CopyInput): Promise<S3CopyOutput> => s3Copy(input))
|
|
251
|
+
.build();
|
|
252
|
+
|
|
253
|
+
const s3PresignProcedure = createProcedure()
|
|
254
|
+
.path(["s3", "presign"])
|
|
255
|
+
.input(zodAdapter<S3PresignInput>(S3PresignInputSchema))
|
|
256
|
+
.output(zodAdapter<S3PresignOutput>(S3PresignOutputSchema))
|
|
257
|
+
.meta({
|
|
258
|
+
description: "A presigned URL for a GET or a PUT of an object, with an expiry in seconds",
|
|
259
|
+
// It sends no request to S3. It reads the credentials: the environment, the AWS files of the
|
|
260
|
+
// host (fs) or the instance metadata service (network). A call that cannot change s3 gets no
|
|
261
|
+
// PUT URL (see presign.ts).
|
|
262
|
+
effects: { reads: ["fs", "network"], writes: [] },
|
|
263
|
+
shorts: { bucket: "b", key: "k", method: "m", expiresIn: "e" },
|
|
264
|
+
output: "json",
|
|
265
|
+
})
|
|
266
|
+
.handler(async (input: S3PresignInput, ctx): Promise<S3PresignOutput> => s3Presign(input, ctx.capability))
|
|
267
|
+
.build();
|
|
268
|
+
|
|
205
269
|
// =============================================================================
|
|
206
270
|
// Registration
|
|
207
271
|
// =============================================================================
|
|
@@ -220,6 +284,9 @@ export const s3Module: ProcedureModule = defineModule("@procedures/s3", [
|
|
|
220
284
|
s3MultipartUploadProcedure,
|
|
221
285
|
s3MultipartCompleteProcedure,
|
|
222
286
|
s3MultipartAbortProcedure,
|
|
287
|
+
s3HeadProcedure,
|
|
288
|
+
s3CopyProcedure,
|
|
289
|
+
s3PresignProcedure,
|
|
223
290
|
]);
|
|
224
291
|
|
|
225
292
|
export default s3Module;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* s3.copy procedure (roadmap R44)
|
|
3
|
+
*
|
|
4
|
+
* Copy an object inside S3 (CopyObject): the bytes do not pass through the host. The copy
|
|
5
|
+
* replaces the object of the destination key, as S3 does. With `overwrite: false`, the request
|
|
6
|
+
* has `If-None-Match: *`, and S3 refuses it with 412 when the destination key exists.
|
|
7
|
+
*
|
|
8
|
+
* One CopyObject request copies an object of at most 5 GiB. A larger object needs a multipart
|
|
9
|
+
* copy, which this procedure does not do.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { CopyObjectCommand } from "@aws-sdk/client-s3";
|
|
13
|
+
import { getS3Client } from "../../s3-client.js";
|
|
14
|
+
import type { S3CopyInput, S3CopyOutput } from "../../types.js";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The value of the header `x-amz-copy-source`: the bucket and the URL-encoded key, with the
|
|
18
|
+
* version id of the source when the input gives one.
|
|
19
|
+
*/
|
|
20
|
+
export function copySource(bucket: string, key: string, versionId?: string): string {
|
|
21
|
+
const encodedKey = key.split("/").map(encodeURIComponent).join("/");
|
|
22
|
+
return `${bucket}/${encodedKey}${versionId ? `?versionId=${encodeURIComponent(versionId)}` : ""}`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Copy an object
|
|
27
|
+
*/
|
|
28
|
+
export async function s3Copy(input: S3CopyInput): Promise<S3CopyOutput> {
|
|
29
|
+
const replace = input.contentType !== undefined || input.metadata !== undefined;
|
|
30
|
+
const response = await getS3Client().send(
|
|
31
|
+
new CopyObjectCommand({
|
|
32
|
+
Bucket: input.bucket,
|
|
33
|
+
Key: input.key,
|
|
34
|
+
CopySource: copySource(input.sourceBucket ?? input.bucket, input.sourceKey, input.sourceVersionId),
|
|
35
|
+
...(input.overwrite === false ? { IfNoneMatch: "*" } : {}),
|
|
36
|
+
...(replace ? { MetadataDirective: "REPLACE" as const, ContentType: input.contentType, Metadata: input.metadata } : {}),
|
|
37
|
+
}),
|
|
38
|
+
);
|
|
39
|
+
const output: S3CopyOutput = {
|
|
40
|
+
etag: response.CopyObjectResult?.ETag?.replace(/"/g, "") ?? "",
|
|
41
|
+
location: `s3://${input.bucket}/${input.key}`,
|
|
42
|
+
};
|
|
43
|
+
const lastModified = response.CopyObjectResult?.LastModified;
|
|
44
|
+
if (lastModified !== undefined) output.lastModified = lastModified.toISOString();
|
|
45
|
+
if (response.VersionId !== undefined) output.versionId = response.VersionId;
|
|
46
|
+
if (response.CopySourceVersionId !== undefined) output.sourceVersionId = response.CopySourceVersionId;
|
|
47
|
+
return output;
|
|
48
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* s3.head procedure (roadmap R44)
|
|
3
|
+
*
|
|
4
|
+
* The metadata of an object, without its content (a HEAD request). A 404 gives `exists: false`.
|
|
5
|
+
* A HEAD response has no body, so S3 cannot tell a missing key from a missing bucket: the two
|
|
6
|
+
* give `exists: false`.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { HeadObjectCommand } from "@aws-sdk/client-s3";
|
|
10
|
+
import { getS3Client } from "../../s3-client.js";
|
|
11
|
+
import type { S3HeadInput, S3HeadOutput } from "../../types.js";
|
|
12
|
+
|
|
13
|
+
/** True for the answer 404 of S3: the SDK names it `NotFound` (or `NoSuchKey`). */
|
|
14
|
+
function isNotFound(error: unknown): boolean {
|
|
15
|
+
const failure = error as { name?: string; $metadata?: { httpStatusCode?: number } };
|
|
16
|
+
return failure.name === "NotFound" || failure.name === "NoSuchKey" || failure.$metadata?.httpStatusCode === 404;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The metadata of an object
|
|
21
|
+
*/
|
|
22
|
+
export async function s3Head(input: S3HeadInput): Promise<S3HeadOutput> {
|
|
23
|
+
let response;
|
|
24
|
+
try {
|
|
25
|
+
response = await getS3Client().send(new HeadObjectCommand({ Bucket: input.bucket, Key: input.key, VersionId: input.versionId }));
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (isNotFound(error)) return { exists: false };
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
const output: S3HeadOutput = { exists: true };
|
|
31
|
+
if (response.ContentLength !== undefined) output.contentLength = response.ContentLength;
|
|
32
|
+
if (response.ContentType !== undefined) output.contentType = response.ContentType;
|
|
33
|
+
if (response.ETag !== undefined) output.etag = response.ETag.replace(/"/g, "");
|
|
34
|
+
if (response.LastModified !== undefined) output.lastModified = response.LastModified.toISOString();
|
|
35
|
+
if (response.VersionId !== undefined) output.versionId = response.VersionId;
|
|
36
|
+
if (response.StorageClass !== undefined) output.storageClass = response.StorageClass;
|
|
37
|
+
if (response.Metadata !== undefined) output.metadata = response.Metadata;
|
|
38
|
+
return output;
|
|
39
|
+
}
|
|
@@ -11,3 +11,6 @@ export { s3MultipartInit } from "./multipart-init.js";
|
|
|
11
11
|
export { s3MultipartUpload } from "./multipart-upload.js";
|
|
12
12
|
export { s3MultipartComplete } from "./multipart-complete.js";
|
|
13
13
|
export { s3MultipartAbort } from "./multipart-abort.js";
|
|
14
|
+
export { s3Head } from "./head.js";
|
|
15
|
+
export { s3Copy } from "./copy.js";
|
|
16
|
+
export { s3Presign } from "./presign.js";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* s3.presign procedure (roadmap R44)
|
|
3
|
+
*
|
|
4
|
+
* A presigned URL for a GET (download) or a PUT (upload) of one object. The procedure signs the
|
|
5
|
+
* URL with the credentials of the S3 client (Signature Version 4). It sends no request to S3.
|
|
6
|
+
*
|
|
7
|
+
* Effects: the procedure changes nothing. It reads the credentials: the environment, the AWS
|
|
8
|
+
* files of the host, or the instance metadata service of the default credential chain. So it
|
|
9
|
+
* declares `reads: ["fs", "network"]` and `writes: []`.
|
|
10
|
+
*
|
|
11
|
+
* A PUT URL lets its holder write the object without the host. So a call that cannot change S3
|
|
12
|
+
* (its capability does not permit the writes of `s3.upload`, or permits no destructive call)
|
|
13
|
+
* gets no PUT URL: the procedure refuses it with FORBIDDEN.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { GetObjectCommand, PutObjectCommand } from "@aws-sdk/client-s3";
|
|
17
|
+
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
|
|
18
|
+
import { InvocationError, type Capability } from "@procedures/client";
|
|
19
|
+
import { getS3Client } from "../../s3-client.js";
|
|
20
|
+
import type { S3PresignInput, S3PresignOutput } from "../../types.js";
|
|
21
|
+
|
|
22
|
+
/** The default expiry of a presigned URL: 15 minutes. */
|
|
23
|
+
export const DEFAULT_PRESIGN_SECONDS = 900;
|
|
24
|
+
|
|
25
|
+
/** The writes of `s3.upload`: a capability must permit them for a PUT URL. */
|
|
26
|
+
const UPLOAD_WRITES = ["s3", "network"];
|
|
27
|
+
|
|
28
|
+
/** True when a capability permits the writes of an upload. No capability: no limit. */
|
|
29
|
+
export function permitsUpload(capability: Capability | undefined): boolean {
|
|
30
|
+
const permitted = capability?.effects;
|
|
31
|
+
if (!permitted) return true;
|
|
32
|
+
if (permitted.destructive === false) return false;
|
|
33
|
+
const writes = permitted.writes;
|
|
34
|
+
return writes === undefined || writes === "any" || UPLOAD_WRITES.every((name) => writes.includes(name));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* A presigned URL for a GET or a PUT of an object
|
|
39
|
+
*/
|
|
40
|
+
export async function s3Presign(input: S3PresignInput, capability?: Capability): Promise<S3PresignOutput> {
|
|
41
|
+
const method = input.method ?? "GET";
|
|
42
|
+
const expiresIn = input.expiresIn ?? DEFAULT_PRESIGN_SECONDS;
|
|
43
|
+
if (method === "PUT" && !permitsUpload(capability)) {
|
|
44
|
+
throw new InvocationError(
|
|
45
|
+
"FORBIDDEN",
|
|
46
|
+
"s3.presign: a PUT URL lets its holder write the object, and this call cannot change s3",
|
|
47
|
+
["s3", "presign"],
|
|
48
|
+
"effects-exceeded",
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
const command =
|
|
52
|
+
method === "PUT"
|
|
53
|
+
? new PutObjectCommand({ Bucket: input.bucket, Key: input.key, ContentType: input.contentType })
|
|
54
|
+
: new GetObjectCommand({ Bucket: input.bucket, Key: input.key, VersionId: input.versionId });
|
|
55
|
+
// The time of the signature: the URL expires expiresIn seconds after it
|
|
56
|
+
const signedAt = new Date();
|
|
57
|
+
signedAt.setMilliseconds(0);
|
|
58
|
+
const url = await getSignedUrl(getS3Client(), command, { expiresIn, signingDate: signedAt });
|
|
59
|
+
return { url, method, expiresIn, expiresAt: new Date(signedAt.getTime() + expiresIn * 1000).toISOString() };
|
|
60
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -423,3 +423,148 @@ export const S3MultipartCompleteOutputSchema: z.ZodType<S3MultipartCompleteOutpu
|
|
|
423
423
|
export const S3MultipartAbortOutputSchema: z.ZodType<S3MultipartAbortOutput> = z.looseObject({
|
|
424
424
|
aborted: z.boolean().describe("True when the upload was aborted"),
|
|
425
425
|
});
|
|
426
|
+
|
|
427
|
+
// =============================================================================
|
|
428
|
+
// s3.head, s3.copy and s3.presign (roadmap R44)
|
|
429
|
+
// =============================================================================
|
|
430
|
+
|
|
431
|
+
export interface S3HeadInput {
|
|
432
|
+
/** The bucket */
|
|
433
|
+
bucket: string;
|
|
434
|
+
/** The object key */
|
|
435
|
+
key: string;
|
|
436
|
+
/** A version of the object (default: the current version) */
|
|
437
|
+
versionId?: string | undefined;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
export interface S3HeadOutput {
|
|
441
|
+
/** False when S3 answers 404: the key or the bucket does not exist */
|
|
442
|
+
exists: boolean;
|
|
443
|
+
/** The size of the object, in bytes */
|
|
444
|
+
contentLength?: number | undefined;
|
|
445
|
+
contentType?: string | undefined;
|
|
446
|
+
/** The ETag, without quotes */
|
|
447
|
+
etag?: string | undefined;
|
|
448
|
+
/** The time of the last change (ISO 8601) */
|
|
449
|
+
lastModified?: string | undefined;
|
|
450
|
+
versionId?: string | undefined;
|
|
451
|
+
storageClass?: string | undefined;
|
|
452
|
+
/** The user metadata of the object */
|
|
453
|
+
metadata?: Record<string, string> | undefined;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
export const S3HeadInputSchema: z.ZodType<S3HeadInput> = z.object({
|
|
457
|
+
bucket: z.string().min(1).describe("The bucket"),
|
|
458
|
+
key: z.string().min(1).describe("The object key"),
|
|
459
|
+
versionId: z.string().optional().describe("A version of the object (default: the current version)"),
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
export const S3HeadOutputSchema: z.ZodType<S3HeadOutput> = z.looseObject({
|
|
463
|
+
exists: z.boolean().describe("False when S3 answers 404: the key or the bucket does not exist"),
|
|
464
|
+
contentLength: z.number().optional().describe("The size of the object, in bytes"),
|
|
465
|
+
contentType: z.string().optional().describe("The content type"),
|
|
466
|
+
etag: z.string().optional().describe("The ETag of the object, without quotes"),
|
|
467
|
+
lastModified: z.string().optional().describe("The time of the last change (ISO 8601)"),
|
|
468
|
+
versionId: z.string().optional().describe("The version id, when the bucket has versioning"),
|
|
469
|
+
storageClass: z.string().optional().describe("The storage class (S3 gives none for STANDARD)"),
|
|
470
|
+
metadata: z.record(z.string(), z.string()).optional().describe("The user metadata of the object"),
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
export interface S3CopyInput {
|
|
474
|
+
/** The bucket of the source (default: the bucket of the destination) */
|
|
475
|
+
sourceBucket?: string | undefined;
|
|
476
|
+
/** The key of the source */
|
|
477
|
+
sourceKey: string;
|
|
478
|
+
/** A version of the source (default: the current version) */
|
|
479
|
+
sourceVersionId?: string | undefined;
|
|
480
|
+
/** The bucket of the destination */
|
|
481
|
+
bucket: string;
|
|
482
|
+
/** The key of the destination */
|
|
483
|
+
key: string;
|
|
484
|
+
/** False: S3 refuses the copy when the destination key exists. The default is true. */
|
|
485
|
+
overwrite?: boolean | undefined;
|
|
486
|
+
/** A new content type. With it or with metadata, the copy replaces the metadata of the source. */
|
|
487
|
+
contentType?: string | undefined;
|
|
488
|
+
/** New user metadata. With it or with contentType, the copy replaces the metadata of the source. */
|
|
489
|
+
metadata?: Record<string, string> | undefined;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
export interface S3CopyOutput {
|
|
493
|
+
/** The ETag of the copy, without quotes */
|
|
494
|
+
etag: string;
|
|
495
|
+
/** The time of the last change of the copy (ISO 8601) */
|
|
496
|
+
lastModified?: string | undefined;
|
|
497
|
+
/** The version id of the copy, when the bucket has versioning */
|
|
498
|
+
versionId?: string | undefined;
|
|
499
|
+
/** The version id of the source, when its bucket has versioning */
|
|
500
|
+
sourceVersionId?: string | undefined;
|
|
501
|
+
/** The S3 URI of the copy */
|
|
502
|
+
location: string;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
export const S3CopyInputSchema: z.ZodType<S3CopyInput> = z.object({
|
|
506
|
+
sourceBucket: z.string().min(1).optional().describe("The bucket of the source (default: the bucket of the destination)"),
|
|
507
|
+
sourceKey: z.string().min(1).describe("The key of the source"),
|
|
508
|
+
sourceVersionId: z.string().optional().describe("A version of the source (default: the current version)"),
|
|
509
|
+
bucket: z.string().min(1).describe("The bucket of the destination"),
|
|
510
|
+
key: z.string().min(1).describe("The key of the destination"),
|
|
511
|
+
overwrite: z.boolean().optional().describe("False: S3 refuses the copy when the destination key exists. The default is true."),
|
|
512
|
+
contentType: z.string().optional().describe("A new content type: the copy then replaces the metadata of the source"),
|
|
513
|
+
metadata: z.record(z.string(), z.string()).optional().describe("New user metadata: the copy then replaces the metadata of the source"),
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
export const S3CopyOutputSchema: z.ZodType<S3CopyOutput> = z.looseObject({
|
|
517
|
+
etag: z.string().describe("The ETag of the copy, without quotes"),
|
|
518
|
+
lastModified: z.string().optional().describe("The time of the last change of the copy (ISO 8601)"),
|
|
519
|
+
versionId: z.string().optional().describe("The version id of the copy, when the bucket has versioning"),
|
|
520
|
+
sourceVersionId: z.string().optional().describe("The version id of the source, when its bucket has versioning"),
|
|
521
|
+
location: z.string().describe("The S3 URI of the copy (s3://bucket/key)"),
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
/** The longest expiry of a presigned URL: 7 days, the limit of Signature Version 4. */
|
|
525
|
+
export const MAX_PRESIGN_SECONDS: number = 7 * 24 * 60 * 60;
|
|
526
|
+
|
|
527
|
+
export interface S3PresignInput {
|
|
528
|
+
bucket: string;
|
|
529
|
+
key: string;
|
|
530
|
+
/** GET (download) or PUT (upload). The default is GET. */
|
|
531
|
+
method?: "GET" | "PUT" | undefined;
|
|
532
|
+
/** The seconds until the URL expires (default 900, the most 604800) */
|
|
533
|
+
expiresIn?: number | undefined;
|
|
534
|
+
/** PUT only: the content type that the upload must send */
|
|
535
|
+
contentType?: string | undefined;
|
|
536
|
+
/** GET only: a version of the object */
|
|
537
|
+
versionId?: string | undefined;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
export interface S3PresignOutput {
|
|
541
|
+
/** The presigned URL */
|
|
542
|
+
url: string;
|
|
543
|
+
method: "GET" | "PUT";
|
|
544
|
+
/** The seconds until the URL expires */
|
|
545
|
+
expiresIn: number;
|
|
546
|
+
/** The time at which the URL expires (ISO 8601) */
|
|
547
|
+
expiresAt: string;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
export const S3PresignInputSchema: z.ZodType<S3PresignInput> = z.object({
|
|
551
|
+
bucket: z.string().min(1).describe("The bucket"),
|
|
552
|
+
key: z.string().min(1).describe("The object key"),
|
|
553
|
+
method: z.enum(["GET", "PUT"]).optional().describe("GET (download) or PUT (upload). The default is GET."),
|
|
554
|
+
expiresIn: z
|
|
555
|
+
.number()
|
|
556
|
+
.int()
|
|
557
|
+
.min(1)
|
|
558
|
+
.max(MAX_PRESIGN_SECONDS)
|
|
559
|
+
.optional()
|
|
560
|
+
.describe(`The seconds until the URL expires (default 900, the most ${MAX_PRESIGN_SECONDS})`),
|
|
561
|
+
contentType: z.string().optional().describe("PUT only: the content type that the upload must send"),
|
|
562
|
+
versionId: z.string().optional().describe("GET only: a version of the object"),
|
|
563
|
+
});
|
|
564
|
+
|
|
565
|
+
export const S3PresignOutputSchema: z.ZodType<S3PresignOutput> = z.looseObject({
|
|
566
|
+
url: z.string().describe("The presigned URL"),
|
|
567
|
+
method: z.enum(["GET", "PUT"]).describe("The HTTP method of the URL"),
|
|
568
|
+
expiresIn: z.number().describe("The seconds until the URL expires"),
|
|
569
|
+
expiresAt: z.string().describe("The time at which the URL expires (ISO 8601)"),
|
|
570
|
+
});
|