@superdurable/dex-agents 0.4.0 → 0.5.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/README.md +506 -52
- package/dist/src/agent-context-compaction.d.ts +1 -1
- package/dist/src/agent-framework-runner.d.ts +122 -11
- package/dist/src/agent-framework-runner.js +4 -0
- package/dist/src/agent-framework-runner.js.map +1 -1
- package/dist/src/agent-local-directory-media-store.d.ts +111 -0
- package/dist/src/agent-local-directory-media-store.js +417 -0
- package/dist/src/agent-local-directory-media-store.js.map +1 -0
- package/dist/src/agent-media.d.ts +279 -0
- package/dist/src/agent-media.js +457 -0
- package/dist/src/agent-media.js.map +1 -0
- package/dist/src/agent-session-codecs.d.ts +3 -1
- package/dist/src/agent-session-codecs.js +45 -4
- package/dist/src/agent-session-codecs.js.map +1 -1
- package/dist/src/agent-session-failure.d.ts +4 -2
- package/dist/src/agent-session-failure.js +6 -2
- package/dist/src/agent-session-failure.js.map +1 -1
- package/dist/src/agent-session-flow-graph.d.ts +46 -0
- package/dist/src/agent-session-flow-graph.js +51 -0
- package/dist/src/agent-session-flow-graph.js.map +1 -1
- package/dist/src/agent-session-flow.d.ts +5 -3
- package/dist/src/agent-session-flow.js +10 -1
- package/dist/src/agent-session-flow.js.map +1 -1
- package/dist/src/agent-session-start.d.ts +1 -1
- package/dist/src/agent-session-start.js +2 -2
- package/dist/src/agent-session-start.js.map +1 -1
- package/dist/src/agent-session-steps.d.ts +2 -0
- package/dist/src/agent-session-steps.js +52 -3
- package/dist/src/agent-session-steps.js.map +1 -1
- package/dist/src/agent-session-tracer.js +1 -1
- package/dist/src/agent-session-tracer.js.map +1 -1
- package/dist/src/agent-session-transitions.d.ts +2 -0
- package/dist/src/agent-session-transitions.js +21 -1
- package/dist/src/agent-session-transitions.js.map +1 -1
- package/dist/src/agent-session-values.d.ts +76 -1
- package/dist/src/agent-session-values.js.map +1 -1
- package/dist/src/agent-session-wait-steps.js +14 -2
- package/dist/src/agent-session-wait-steps.js.map +1 -1
- package/dist/src/ai-sdk/ai-sdk-model-client.d.ts +15 -3
- package/dist/src/ai-sdk/ai-sdk-model-client.js +36 -7
- package/dist/src/ai-sdk/ai-sdk-model-client.js.map +1 -1
- package/dist/src/ai-sdk/index.d.ts +1 -1
- package/dist/src/ai-sdk/index.js +1 -1
- package/dist/src/ai-sdk/index.js.map +1 -1
- package/dist/src/{stepwise → builtin-loop}/agent-definition.d.ts +120 -5
- package/dist/src/builtin-loop/agent-definition.js.map +1 -0
- package/dist/src/builtin-loop/builtin-agent-session-flow.d.ts +69 -0
- package/dist/src/{stepwise/stepwise-agent-session-flow.js → builtin-loop/builtin-agent-session-flow.js} +15 -9
- package/dist/src/builtin-loop/builtin-agent-session-flow.js.map +1 -0
- package/dist/src/{stepwise/stepwise-agent-runner.d.ts → builtin-loop/builtin-loop-agent-runner.d.ts} +72 -14
- package/dist/src/{stepwise/stepwise-agent-runner.js → builtin-loop/builtin-loop-agent-runner.js} +284 -41
- package/dist/src/builtin-loop/builtin-loop-agent-runner.js.map +1 -0
- package/dist/src/{stepwise/stepwise-input-items.d.ts → builtin-loop/builtin-loop-input-items.d.ts} +7 -3
- package/dist/src/{stepwise/stepwise-input-items.js → builtin-loop/builtin-loop-input-items.js} +57 -10
- package/dist/src/builtin-loop/builtin-loop-input-items.js.map +1 -0
- package/dist/src/builtin-loop/function-tool.d.ts +282 -0
- package/dist/src/{stepwise → builtin-loop}/function-tool.js +63 -3
- package/dist/src/builtin-loop/function-tool.js.map +1 -0
- package/dist/src/builtin-loop/index.d.ts +8 -0
- package/dist/src/builtin-loop/index.js +13 -0
- package/dist/src/builtin-loop/index.js.map +1 -0
- package/dist/src/builtin-loop/json-schema-validation.js.map +1 -0
- package/dist/src/{stepwise → builtin-loop}/model-client.d.ts +36 -7
- package/dist/src/builtin-loop/model-client.js.map +1 -0
- package/dist/src/{stepwise → builtin-loop}/scripted-model-client.d.ts +8 -5
- package/dist/src/{stepwise → builtin-loop}/scripted-model-client.js +8 -5
- package/dist/src/builtin-loop/scripted-model-client.js.map +1 -0
- package/dist/src/{stepwise → builtin-loop}/tool-source.d.ts +2 -2
- package/dist/src/builtin-loop/tool-source.js.map +1 -0
- package/dist/src/connectors/connector-input-schema.js +1 -1
- package/dist/src/connectors/connector-input-schema.js.map +1 -1
- package/dist/src/connectors/connector-step-context.d.ts +19 -2
- package/dist/src/connectors/connector-step-context.js +61 -5
- package/dist/src/connectors/connector-step-context.js.map +1 -1
- package/dist/src/connectors/connector-tool-source.d.ts +61 -13
- package/dist/src/connectors/connector-tool-source.js +111 -24
- package/dist/src/connectors/connector-tool-source.js.map +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/index.d.ts +1 -0
- package/dist/src/mcp/index.js +1 -0
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/mcp-dex-conventions.d.ts +57 -0
- package/dist/src/mcp/mcp-dex-conventions.js +90 -0
- package/dist/src/mcp/mcp-dex-conventions.js.map +1 -0
- package/dist/src/mcp/mcp-image-content.d.ts +20 -0
- package/dist/src/mcp/mcp-image-content.js +82 -0
- package/dist/src/mcp/mcp-image-content.js.map +1 -0
- package/dist/src/mcp/mcp-tool-source.d.ts +178 -17
- package/dist/src/mcp/mcp-tool-source.js +237 -34
- package/dist/src/mcp/mcp-tool-source.js.map +1 -1
- package/dist/src/s3/index.d.ts +1 -0
- package/dist/src/s3/index.js +9 -0
- package/dist/src/s3/index.js.map +1 -0
- package/dist/src/s3/s3-media-store.d.ts +138 -0
- package/dist/src/s3/s3-media-store.js +255 -0
- package/dist/src/s3/s3-media-store.js.map +1 -0
- package/dist/src/stepwise/index.d.ts +41 -8
- package/dist/src/stepwise/index.js +35 -5
- package/dist/src/stepwise/index.js.map +1 -1
- package/dist/src/testing/agent-session-test-client.d.ts +6 -3
- package/dist/src/testing/agent-session-test-client.js +10 -3
- package/dist/src/testing/agent-session-test-client.js.map +1 -1
- package/dist/src/testing/scripted-model-client.d.ts +1 -1
- package/dist/src/testing/scripted-model-client.js +2 -2
- package/dist/src/testing/scripted-model-client.js.map +1 -1
- package/dist/src/tool-source-router.d.ts +3 -3
- package/dist/src/tool-source-router.js +2 -2
- package/dist/src/ui-stream/agent-event-json.d.ts +2 -1
- package/dist/src/ui-stream/agent-event-json.js +3 -1
- package/dist/src/ui-stream/agent-event-json.js.map +1 -1
- package/dist/src/ui-stream/agent-ui-messages.d.ts +11 -3
- package/dist/src/ui-stream/agent-ui-messages.js +29 -5
- package/dist/src/ui-stream/agent-ui-messages.js.map +1 -1
- package/package.json +16 -3
- package/dist/src/stepwise/agent-definition.js.map +0 -1
- package/dist/src/stepwise/function-tool.d.ts +0 -130
- package/dist/src/stepwise/function-tool.js.map +0 -1
- package/dist/src/stepwise/json-schema-validation.js.map +0 -1
- package/dist/src/stepwise/model-client.js.map +0 -1
- package/dist/src/stepwise/scripted-model-client.js.map +0 -1
- package/dist/src/stepwise/stepwise-agent-runner.js.map +0 -1
- package/dist/src/stepwise/stepwise-agent-session-flow.d.ts +0 -35
- package/dist/src/stepwise/stepwise-agent-session-flow.js.map +0 -1
- package/dist/src/stepwise/stepwise-input-items.js.map +0 -1
- package/dist/src/stepwise/tool-source.js.map +0 -1
- /package/dist/src/{stepwise → builtin-loop}/agent-definition.js +0 -0
- /package/dist/src/{stepwise → builtin-loop}/json-schema-validation.d.ts +0 -0
- /package/dist/src/{stepwise → builtin-loop}/json-schema-validation.js +0 -0
- /package/dist/src/{stepwise → builtin-loop}/model-client.js +0 -0
- /package/dist/src/{stepwise → builtin-loop}/tool-source.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool-source.js","sourceRoot":"","sources":["../../../src/mcp/mcp-tool-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-tool-source.js","sourceRoot":"","sources":["../../../src/mcp/mcp-tool-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { S3MediaStore, type S3MediaStoreCredentials, type S3MediaStoreOptions } from "./s3-media-store.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Sustainable Use License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
|
|
8
|
+
export { S3MediaStore } from "./s3-media-store.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/s3/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAA0D,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { type MediaStore } from "../agent-media.js";
|
|
2
|
+
import type { AgentImageReference } from "../agent-session-values.js";
|
|
3
|
+
/**
|
|
4
|
+
* Credentials an {@link S3MediaStore} signs requests with instead of the standard AWS credential chain.
|
|
5
|
+
* @since 0.5.0
|
|
6
|
+
*/
|
|
7
|
+
export interface S3MediaStoreCredentials {
|
|
8
|
+
/** The access key ID. */
|
|
9
|
+
readonly accessKeyId: string;
|
|
10
|
+
/** The secret access key. The store never logs it. */
|
|
11
|
+
readonly secretAccessKey: string;
|
|
12
|
+
/** The session token of temporary credentials; omit it for long-lived keys. */
|
|
13
|
+
readonly sessionToken?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Where an {@link S3MediaStore} keeps images and how it reaches S3.
|
|
17
|
+
* @since 0.5.0
|
|
18
|
+
*/
|
|
19
|
+
export interface S3MediaStoreOptions {
|
|
20
|
+
/** The bucket name. It must be non-empty and contain no `/`. */
|
|
21
|
+
readonly bucket: string;
|
|
22
|
+
/**
|
|
23
|
+
* Key prefix of every object, such as `"agents/media"`. Leading and trailing `/` characters are dropped. Omitted or
|
|
24
|
+
* empty keeps objects at `sha256/<sha256>`.
|
|
25
|
+
*/
|
|
26
|
+
readonly prefix?: string;
|
|
27
|
+
/** Endpoint of an S3-compatible service, such as `"http://127.0.0.1:9000"`; omit it for AWS S3. */
|
|
28
|
+
readonly endpoint?: string;
|
|
29
|
+
/** AWS region; omit it for the standard AWS configuration, such as `AWS_REGION`. */
|
|
30
|
+
readonly region?: string;
|
|
31
|
+
/** Whether to address the bucket in the URL path instead of the host name. Many S3-compatible services need it. */
|
|
32
|
+
readonly forcePathStyle?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Credentials to sign requests with; omit them, the default, for the standard AWS credential chain. Pass them only
|
|
35
|
+
* for a bucket whose keys are not secret, such as a local development bucket with fixed loopback credentials.
|
|
36
|
+
*/
|
|
37
|
+
readonly credentials?: S3MediaStoreCredentials;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Keeps image bytes in an S3 bucket, one object per distinct image.
|
|
41
|
+
*
|
|
42
|
+
* The object key is `<prefix>/sha256/<sha256>`, and a reference's `uri` is `s3://<bucket>/<prefix>/sha256/<sha256>`.
|
|
43
|
+
* `putImage` uploads with `If-None-Match: *` and the image's `Content-Type`, and treats "already exists" (412) as
|
|
44
|
+
* success, so concurrent and retried uploads of the same bytes write one object. A 409 conflict, from a concurrent write
|
|
45
|
+
* or delete of the key, retries the upload twice with a short backoff; if every attempt conflicts, a `HEAD` must find
|
|
46
|
+
* the object with the image's size, or `putImage` throws `MediaStoreError`. A service that refuses conditional writes gets a
|
|
47
|
+
* `HEAD` first and a plain `PUT` when the object is missing; then two concurrent uploads may both write, so
|
|
48
|
+
* deduplication holds for the key and its final content, not for every write. `getImage` reads only objects under
|
|
49
|
+
* this store's bucket and prefix, refuses an object whose `Content-Length` differs from the reference, reads at most
|
|
50
|
+
* one byte more than `sizeBytes`, and checks the bytes with `verifyImageBytes`. The AWS SDK reads credentials from the
|
|
51
|
+
* standard AWS chain unless {@link S3MediaStoreOptions.credentials} gives them. Never put credentials in session
|
|
52
|
+
* settings or Flow input.
|
|
53
|
+
*
|
|
54
|
+
* Session deletion does not delete objects. A runner reads a session's images again whenever a model call replays
|
|
55
|
+
* them, so keep every object at least as long as any session that references it can still run a turn or replay its
|
|
56
|
+
* history. A lifecycle rule that expires objects sooner makes those turns fail with `MediaStoreError`. Call
|
|
57
|
+
* {@link close} when the store is no longer needed, so its connections do not keep the process alive.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* import { S3MediaStore } from "@superdurable/dex-agents/s3";
|
|
62
|
+
*
|
|
63
|
+
* const store = S3MediaStore.fromStoreUri("s3://agent-media/sessions");
|
|
64
|
+
* const reference = await store.putImage(screenshotPng);
|
|
65
|
+
* // reference.uri === "s3://agent-media/sessions/sha256/9f2c..."
|
|
66
|
+
* store.close();
|
|
67
|
+
*
|
|
68
|
+
* // A local development bucket with fixed loopback credentials.
|
|
69
|
+
* const local = new S3MediaStore({
|
|
70
|
+
* bucket: "agent-media",
|
|
71
|
+
* endpoint: "http://127.0.0.1:9000",
|
|
72
|
+
* region: "us-east-1",
|
|
73
|
+
* forcePathStyle: true,
|
|
74
|
+
* credentials: { accessKeyId: "s3local", secretAccessKey: "s3local" },
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
* @since 0.5.0
|
|
78
|
+
*/
|
|
79
|
+
export declare class S3MediaStore implements MediaStore {
|
|
80
|
+
/** The location that every reference of this store starts with: `"s3://<bucket>/<prefix>"`, or without a prefix `"s3://<bucket>"`. */
|
|
81
|
+
readonly storeUri: string;
|
|
82
|
+
private readonly bucket;
|
|
83
|
+
private readonly prefix;
|
|
84
|
+
private readonly client;
|
|
85
|
+
private supportsConditionalWrites;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a store; it makes no request until the first upload or read.
|
|
88
|
+
*
|
|
89
|
+
* @param options - The bucket, prefix, and connection settings.
|
|
90
|
+
* @throws {TypeError} When `options.bucket` is empty or contains `/`.
|
|
91
|
+
* @throws {RangeError} When the bucket and prefix make image URIs longer than `maxImageUriLength`.
|
|
92
|
+
*/
|
|
93
|
+
constructor(options: S3MediaStoreOptions);
|
|
94
|
+
/**
|
|
95
|
+
* Creates a store from `s3://<bucket>` or `s3://<bucket>/<prefix>`.
|
|
96
|
+
*
|
|
97
|
+
* @param storeUri - The bucket and optional prefix as an S3 URI.
|
|
98
|
+
* @param options - The connection settings and credentials.
|
|
99
|
+
* @returns The store.
|
|
100
|
+
* @throws {TypeError} When `storeUri` does not start with `s3://` or names no bucket.
|
|
101
|
+
* @throws {RangeError} When the bucket and prefix make image URIs longer than `maxImageUriLength`.
|
|
102
|
+
*/
|
|
103
|
+
static fromStoreUri(storeUri: string, options?: Omit<S3MediaStoreOptions, "bucket" | "prefix">): S3MediaStore;
|
|
104
|
+
/**
|
|
105
|
+
* Returns the object key of the image with this SHA-256.
|
|
106
|
+
*
|
|
107
|
+
* @param sha256 - SHA-256 of the bytes as 64 lowercase hex digits.
|
|
108
|
+
* @returns `"<prefix>/sha256/<sha256>"`, or `"sha256/<sha256>"` without a prefix.
|
|
109
|
+
*/
|
|
110
|
+
objectKey(sha256: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Stores one image unless the bucket already has it, and returns its reference.
|
|
113
|
+
*
|
|
114
|
+
* @param data - PNG, JPEG, GIF, or WebP bytes, at most `maxImageBytes`.
|
|
115
|
+
* @returns The reference.
|
|
116
|
+
* @throws {ImageValidationError} When the bytes are not a valid image for `buildImageReference`. Nothing is uploaded.
|
|
117
|
+
* @throws {MediaStoreError} When every conditional upload conflicted and the object is still missing, or has another
|
|
118
|
+
* size. Retrying is safe.
|
|
119
|
+
* @throws {S3ServiceException} When S3 refuses the request, such as for missing credentials or permissions.
|
|
120
|
+
* Retrying is safe.
|
|
121
|
+
*/
|
|
122
|
+
putImage(data: Uint8Array): Promise<AgentImageReference>;
|
|
123
|
+
/**
|
|
124
|
+
* Returns the bytes of one image in this store.
|
|
125
|
+
*
|
|
126
|
+
* @param reference - A reference under this store's bucket and prefix.
|
|
127
|
+
* @returns The exact bytes, checked with `verifyImageBytes`.
|
|
128
|
+
* @throws {ImageValidationError} When the reference's fields are invalid.
|
|
129
|
+
* @throws {MediaStoreError} When the reference is outside this store's bucket and prefix, the object is missing, or
|
|
130
|
+
* its bytes do not match.
|
|
131
|
+
* @throws {S3ServiceException} When S3 refuses the request for another reason.
|
|
132
|
+
*/
|
|
133
|
+
getImage(reference: AgentImageReference): Promise<Uint8Array>;
|
|
134
|
+
/** Closes the store's S3 connections. Do not use the store afterwards. */
|
|
135
|
+
close(): void;
|
|
136
|
+
/** Returns the size of the object at `key`, or `undefined` when there is none. */
|
|
137
|
+
private storedSize;
|
|
138
|
+
}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Sustainable Use License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
|
|
8
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
9
|
+
import { GetObjectCommand, HeadObjectCommand, PutObjectCommand, S3Client, S3ServiceException, } from "@aws-sdk/client-s3";
|
|
10
|
+
import { MediaStoreError, buildImageReference, requireShortImageUris, requireStoreImageReference, verifyImageBytes, } from "../agent-media.js";
|
|
11
|
+
const notFoundErrorCodes = new Set(["NotFound", "NoSuchKey", "404"]);
|
|
12
|
+
const alreadyExistsErrorCodes = new Set(["PreconditionFailed", "412"]);
|
|
13
|
+
// A concurrent write or delete of the key; S3 asks the caller to retry the upload.
|
|
14
|
+
const conditionalWriteConflictErrorCodes = new Set(["ConditionalRequestConflict", "409"]);
|
|
15
|
+
// Milliseconds before each retry of a conditional PUT that S3 answered with 409.
|
|
16
|
+
const conditionalWriteConflictRetryDelaysMs = [100, 400];
|
|
17
|
+
const conditionalWriteUnsupportedErrorCodes = new Set(["NotImplemented", "501"]);
|
|
18
|
+
/**
|
|
19
|
+
* Keeps image bytes in an S3 bucket, one object per distinct image.
|
|
20
|
+
*
|
|
21
|
+
* The object key is `<prefix>/sha256/<sha256>`, and a reference's `uri` is `s3://<bucket>/<prefix>/sha256/<sha256>`.
|
|
22
|
+
* `putImage` uploads with `If-None-Match: *` and the image's `Content-Type`, and treats "already exists" (412) as
|
|
23
|
+
* success, so concurrent and retried uploads of the same bytes write one object. A 409 conflict, from a concurrent write
|
|
24
|
+
* or delete of the key, retries the upload twice with a short backoff; if every attempt conflicts, a `HEAD` must find
|
|
25
|
+
* the object with the image's size, or `putImage` throws `MediaStoreError`. A service that refuses conditional writes gets a
|
|
26
|
+
* `HEAD` first and a plain `PUT` when the object is missing; then two concurrent uploads may both write, so
|
|
27
|
+
* deduplication holds for the key and its final content, not for every write. `getImage` reads only objects under
|
|
28
|
+
* this store's bucket and prefix, refuses an object whose `Content-Length` differs from the reference, reads at most
|
|
29
|
+
* one byte more than `sizeBytes`, and checks the bytes with `verifyImageBytes`. The AWS SDK reads credentials from the
|
|
30
|
+
* standard AWS chain unless {@link S3MediaStoreOptions.credentials} gives them. Never put credentials in session
|
|
31
|
+
* settings or Flow input.
|
|
32
|
+
*
|
|
33
|
+
* Session deletion does not delete objects. A runner reads a session's images again whenever a model call replays
|
|
34
|
+
* them, so keep every object at least as long as any session that references it can still run a turn or replay its
|
|
35
|
+
* history. A lifecycle rule that expires objects sooner makes those turns fail with `MediaStoreError`. Call
|
|
36
|
+
* {@link close} when the store is no longer needed, so its connections do not keep the process alive.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* import { S3MediaStore } from "@superdurable/dex-agents/s3";
|
|
41
|
+
*
|
|
42
|
+
* const store = S3MediaStore.fromStoreUri("s3://agent-media/sessions");
|
|
43
|
+
* const reference = await store.putImage(screenshotPng);
|
|
44
|
+
* // reference.uri === "s3://agent-media/sessions/sha256/9f2c..."
|
|
45
|
+
* store.close();
|
|
46
|
+
*
|
|
47
|
+
* // A local development bucket with fixed loopback credentials.
|
|
48
|
+
* const local = new S3MediaStore({
|
|
49
|
+
* bucket: "agent-media",
|
|
50
|
+
* endpoint: "http://127.0.0.1:9000",
|
|
51
|
+
* region: "us-east-1",
|
|
52
|
+
* forcePathStyle: true,
|
|
53
|
+
* credentials: { accessKeyId: "s3local", secretAccessKey: "s3local" },
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
* @since 0.5.0
|
|
57
|
+
*/
|
|
58
|
+
export class S3MediaStore {
|
|
59
|
+
/** The location that every reference of this store starts with: `"s3://<bucket>/<prefix>"`, or without a prefix `"s3://<bucket>"`. */
|
|
60
|
+
storeUri;
|
|
61
|
+
bucket;
|
|
62
|
+
prefix;
|
|
63
|
+
client;
|
|
64
|
+
supportsConditionalWrites = true;
|
|
65
|
+
/**
|
|
66
|
+
* Creates a store; it makes no request until the first upload or read.
|
|
67
|
+
*
|
|
68
|
+
* @param options - The bucket, prefix, and connection settings.
|
|
69
|
+
* @throws {TypeError} When `options.bucket` is empty or contains `/`.
|
|
70
|
+
* @throws {RangeError} When the bucket and prefix make image URIs longer than `maxImageUriLength`.
|
|
71
|
+
*/
|
|
72
|
+
constructor(options) {
|
|
73
|
+
if (options.bucket === "" || options.bucket.includes("/")) {
|
|
74
|
+
throw new TypeError("S3MediaStore bucket must be non-empty and contain no /");
|
|
75
|
+
}
|
|
76
|
+
this.bucket = options.bucket;
|
|
77
|
+
this.prefix = (options.prefix ?? "").replace(/^\/+|\/+$/g, "");
|
|
78
|
+
this.storeUri = this.prefix === "" ? `s3://${this.bucket}` : `s3://${this.bucket}/${this.prefix}`;
|
|
79
|
+
requireShortImageUris(this.storeUri);
|
|
80
|
+
this.client = new S3Client({
|
|
81
|
+
...(options.endpoint === undefined ? {} : { endpoint: options.endpoint }),
|
|
82
|
+
...(options.region === undefined ? {} : { region: options.region }),
|
|
83
|
+
...(options.credentials === undefined ? {} : { credentials: { ...options.credentials } }),
|
|
84
|
+
forcePathStyle: options.forcePathStyle ?? false,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a store from `s3://<bucket>` or `s3://<bucket>/<prefix>`.
|
|
89
|
+
*
|
|
90
|
+
* @param storeUri - The bucket and optional prefix as an S3 URI.
|
|
91
|
+
* @param options - The connection settings and credentials.
|
|
92
|
+
* @returns The store.
|
|
93
|
+
* @throws {TypeError} When `storeUri` does not start with `s3://` or names no bucket.
|
|
94
|
+
* @throws {RangeError} When the bucket and prefix make image URIs longer than `maxImageUriLength`.
|
|
95
|
+
*/
|
|
96
|
+
static fromStoreUri(storeUri, options = {}) {
|
|
97
|
+
if (!storeUri.startsWith("s3://")) {
|
|
98
|
+
throw new TypeError(`S3 media store URI must start with s3://, got ${JSON.stringify(storeUri)}`);
|
|
99
|
+
}
|
|
100
|
+
const location = storeUri.slice("s3://".length);
|
|
101
|
+
const slash = location.indexOf("/");
|
|
102
|
+
const bucket = slash === -1 ? location : location.slice(0, slash);
|
|
103
|
+
const prefix = slash === -1 ? "" : location.slice(slash + 1);
|
|
104
|
+
return new S3MediaStore({ ...options, bucket, prefix });
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Returns the object key of the image with this SHA-256.
|
|
108
|
+
*
|
|
109
|
+
* @param sha256 - SHA-256 of the bytes as 64 lowercase hex digits.
|
|
110
|
+
* @returns `"<prefix>/sha256/<sha256>"`, or `"sha256/<sha256>"` without a prefix.
|
|
111
|
+
*/
|
|
112
|
+
objectKey(sha256) {
|
|
113
|
+
return this.prefix === "" ? `sha256/${sha256}` : `${this.prefix}/sha256/${sha256}`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Stores one image unless the bucket already has it, and returns its reference.
|
|
117
|
+
*
|
|
118
|
+
* @param data - PNG, JPEG, GIF, or WebP bytes, at most `maxImageBytes`.
|
|
119
|
+
* @returns The reference.
|
|
120
|
+
* @throws {ImageValidationError} When the bytes are not a valid image for `buildImageReference`. Nothing is uploaded.
|
|
121
|
+
* @throws {MediaStoreError} When every conditional upload conflicted and the object is still missing, or has another
|
|
122
|
+
* size. Retrying is safe.
|
|
123
|
+
* @throws {S3ServiceException} When S3 refuses the request, such as for missing credentials or permissions.
|
|
124
|
+
* Retrying is safe.
|
|
125
|
+
*/
|
|
126
|
+
async putImage(data) {
|
|
127
|
+
const reference = buildImageReference(data, this.storeUri);
|
|
128
|
+
const input = {
|
|
129
|
+
Bucket: this.bucket,
|
|
130
|
+
Key: this.objectKey(reference.sha256),
|
|
131
|
+
Body: data,
|
|
132
|
+
ContentType: reference.mimeType,
|
|
133
|
+
};
|
|
134
|
+
if (this.supportsConditionalWrites) {
|
|
135
|
+
for (const retryDelayMs of [...conditionalWriteConflictRetryDelaysMs, undefined]) {
|
|
136
|
+
try {
|
|
137
|
+
await this.client.send(new PutObjectCommand({ ...input, IfNoneMatch: "*" }));
|
|
138
|
+
return reference;
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (hasErrorCode(error, alreadyExistsErrorCodes)) {
|
|
142
|
+
return reference;
|
|
143
|
+
}
|
|
144
|
+
if (hasErrorCode(error, conditionalWriteUnsupportedErrorCodes)) {
|
|
145
|
+
this.supportsConditionalWrites = false;
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
if (!hasErrorCode(error, conditionalWriteConflictErrorCodes)) {
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (retryDelayMs === undefined) {
|
|
153
|
+
// Every attempt conflicted: return only a reference whose object exists.
|
|
154
|
+
if ((await this.storedSize(input.Key)) !== reference.sizeBytes) {
|
|
155
|
+
throw new MediaStoreError(`image ${reference.uri} was not stored: every upload conflicted with another write`);
|
|
156
|
+
}
|
|
157
|
+
return reference;
|
|
158
|
+
}
|
|
159
|
+
await delay(retryDelayMs);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if ((await this.storedSize(input.Key)) === undefined) {
|
|
163
|
+
await this.client.send(new PutObjectCommand(input));
|
|
164
|
+
}
|
|
165
|
+
return reference;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Returns the bytes of one image in this store.
|
|
169
|
+
*
|
|
170
|
+
* @param reference - A reference under this store's bucket and prefix.
|
|
171
|
+
* @returns The exact bytes, checked with `verifyImageBytes`.
|
|
172
|
+
* @throws {ImageValidationError} When the reference's fields are invalid.
|
|
173
|
+
* @throws {MediaStoreError} When the reference is outside this store's bucket and prefix, the object is missing, or
|
|
174
|
+
* its bytes do not match.
|
|
175
|
+
* @throws {S3ServiceException} When S3 refuses the request for another reason.
|
|
176
|
+
*/
|
|
177
|
+
async getImage(reference) {
|
|
178
|
+
requireStoreImageReference(reference, this.storeUri);
|
|
179
|
+
let response;
|
|
180
|
+
try {
|
|
181
|
+
response = await this.client.send(new GetObjectCommand({ Bucket: this.bucket, Key: this.objectKey(reference.sha256) }));
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
if (hasErrorCode(error, notFoundErrorCodes)) {
|
|
185
|
+
throw new MediaStoreError(`image ${reference.uri} is not in the media store`, { cause: error });
|
|
186
|
+
}
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
const mismatch = () => new MediaStoreError(`image ${reference.uri} does not match its sha256 and size`);
|
|
190
|
+
const body = response.Body;
|
|
191
|
+
if (body === undefined) {
|
|
192
|
+
throw new MediaStoreError(`image ${reference.uri} has no body in the media store`);
|
|
193
|
+
}
|
|
194
|
+
if (response.ContentLength !== undefined && response.ContentLength !== reference.sizeBytes) {
|
|
195
|
+
discardBody(body);
|
|
196
|
+
throw mismatch();
|
|
197
|
+
}
|
|
198
|
+
// One byte more than expected tells an oversized body apart without reading all of it.
|
|
199
|
+
const data = await readAtMost(body, reference.sizeBytes + 1);
|
|
200
|
+
if (data.length > reference.sizeBytes) {
|
|
201
|
+
throw mismatch();
|
|
202
|
+
}
|
|
203
|
+
return verifyImageBytes(reference, data);
|
|
204
|
+
}
|
|
205
|
+
/** Closes the store's S3 connections. Do not use the store afterwards. */
|
|
206
|
+
close() {
|
|
207
|
+
this.client.destroy();
|
|
208
|
+
}
|
|
209
|
+
/** Returns the size of the object at `key`, or `undefined` when there is none. */
|
|
210
|
+
async storedSize(key) {
|
|
211
|
+
try {
|
|
212
|
+
const response = await this.client.send(new HeadObjectCommand({ Bucket: this.bucket, Key: key }));
|
|
213
|
+
return response.ContentLength ?? -1;
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
if (hasErrorCode(error, notFoundErrorCodes)) {
|
|
217
|
+
return undefined;
|
|
218
|
+
}
|
|
219
|
+
throw error;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** Reads a response body up to `limit` bytes, then stops and discards the rest. */
|
|
224
|
+
async function readAtMost(body, limit) {
|
|
225
|
+
if (isAsyncIterable(body)) {
|
|
226
|
+
const chunks = [];
|
|
227
|
+
let total = 0;
|
|
228
|
+
// Leaving the loop early destroys a Node stream, so the rest is never downloaded.
|
|
229
|
+
for await (const chunk of body) {
|
|
230
|
+
const bytes = typeof chunk === "string" ? Buffer.from(chunk) : chunk;
|
|
231
|
+
chunks.push(bytes.subarray(0, Math.max(0, limit - total)));
|
|
232
|
+
total += bytes.length;
|
|
233
|
+
if (total >= limit) {
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return new Uint8Array(Buffer.concat(chunks));
|
|
238
|
+
}
|
|
239
|
+
const bytes = await body.transformToByteArray();
|
|
240
|
+
return bytes.subarray(0, limit);
|
|
241
|
+
}
|
|
242
|
+
function isAsyncIterable(value) {
|
|
243
|
+
return typeof value === "object" && value !== null && Symbol.asyncIterator in value;
|
|
244
|
+
}
|
|
245
|
+
function discardBody(body) {
|
|
246
|
+
const destroyable = body;
|
|
247
|
+
if (typeof destroyable.destroy === "function") {
|
|
248
|
+
destroyable.destroy();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function hasErrorCode(error, codes) {
|
|
252
|
+
return (error instanceof S3ServiceException &&
|
|
253
|
+
(codes.has(error.name) || codes.has(String(error.$metadata.httpStatusCode ?? ""))));
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=s3-media-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-media-store.js","sourceRoot":"","sources":["../../../src/s3/s3-media-store.ts"],"names":[],"mappings":"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"}
|