run402-mcp 1.45.0 → 1.46.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/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/blob-diagnose.d.ts +30 -0
- package/dist/tools/blob-diagnose.d.ts.map +1 -0
- package/dist/tools/blob-diagnose.js +43 -0
- package/dist/tools/blob-diagnose.js.map +1 -0
- package/dist/tools/blob-wait-fresh.d.ts +30 -0
- package/dist/tools/blob-wait-fresh.d.ts.map +1 -0
- package/dist/tools/blob-wait-fresh.js +51 -0
- package/dist/tools/blob-wait-fresh.js.map +1 -0
- package/package.json +1 -1
- package/sdk/dist/namespaces/blobs.d.ts +41 -1
- package/sdk/dist/namespaces/blobs.d.ts.map +1 -1
- package/sdk/dist/namespaces/blobs.js +254 -3
- package/sdk/dist/namespaces/blobs.js.map +1 -1
- package/sdk/dist/namespaces/blobs.types.d.ts +226 -2
- package/sdk/dist/namespaces/blobs.types.d.ts.map +1 -1
package/dist/index.js
CHANGED
|
@@ -38,6 +38,8 @@ import { blobGetSchema, handleBlobGet } from "./tools/blob-get.js";
|
|
|
38
38
|
import { blobLsSchema, handleBlobLs } from "./tools/blob-ls.js";
|
|
39
39
|
import { blobRmSchema, handleBlobRm } from "./tools/blob-rm.js";
|
|
40
40
|
import { blobSignSchema, handleBlobSign } from "./tools/blob-sign.js";
|
|
41
|
+
import { blobDiagnoseSchema, handleBlobDiagnose } from "./tools/blob-diagnose.js";
|
|
42
|
+
import { blobWaitFreshSchema, handleBlobWaitFresh } from "./tools/blob-wait-fresh.js";
|
|
41
43
|
// New tools — functions & secrets CRUD
|
|
42
44
|
import { listFunctionsSchema, handleListFunctions } from "./tools/list-functions.js";
|
|
43
45
|
import { deleteFunctionSchema, handleDeleteFunction } from "./tools/delete-function.js";
|
|
@@ -148,6 +150,8 @@ server.tool("blob_get", "Download a blob to a local file path. Writes bytes dire
|
|
|
148
150
|
server.tool("blob_ls", "List blobs in a project with optional prefix filter. Supports pagination via cursor. This supersedes `list_files` (which is bucket-scoped; blob_ls is prefix-based over a flat key namespace).", blobLsSchema, async (args) => handleBlobLs(args));
|
|
149
151
|
server.tool("blob_rm", "Delete a blob from project storage and decrement the project's storage_bytes. This supersedes `delete_file`.", blobRmSchema, async (args) => handleBlobRm(args));
|
|
150
152
|
server.tool("blob_sign", "Generate a time-boxed S3 presigned GET URL for a blob. Use this to share a private blob externally without exposing your apikey. Default TTL 1 hour, max 7 days.", blobSignSchema, async (args) => handleBlobSign(args));
|
|
153
|
+
server.tool("diagnose_public_url", "Returns the live CDN state for a public blob URL (probed once from gateway-us-east-1 — NOT a global view). Use this when a deployed asset shows the wrong version or you suspect cache staleness. The result includes `expectedSha256` (from gateway DB), `observedSha256` (what CloudFront just served), recent `invalidation` status, and a human-readable `hint` with actionable next-steps. The `probeMayHaveWarmedCache: true` field warns that the probe itself populates the cache, so subsequent reads from elsewhere may differ. URLs outside the requesting project return 403; non-`*.run402.com` URLs return 400 unless they're on one of your active custom domains.", blobDiagnoseSchema, async (args) => handleBlobDiagnose(args));
|
|
154
|
+
server.tool("wait_for_cdn_freshness", "Polls the CDN until a MUTABLE blob URL serves the expected SHA-256, or the timeout elapses. **For mutable URLs only** — for immutable URLs (the `immutableUrl` returned by `blob_put`), no waiting is needed; they're bound to a SHA at upload time and never previously cached. Use this after a re-upload to an existing public mutable key when an end-user-visible URL must reflect the new content before continuing. The probe is single-vantage (us-east-1). On timeout, the tool returns isError=true so an agent can branch into a fallback — typically: switch to the immutableUrl.", blobWaitFreshSchema, async (args) => handleBlobWaitFresh(args));
|
|
151
155
|
server.tool("upload_file", "(DEPRECATED — use blob_put. Sunset 2026-06-01.) Upload text content to project storage. Returns the storage key and size.", uploadFileSchema, async (args) => handleUploadFile(args));
|
|
152
156
|
server.tool("download_file", "(DEPRECATED — use blob_get. Sunset 2026-06-01.) Download a file from project storage. Returns the file content.", downloadFileSchema, async (args) => handleDownloadFile(args));
|
|
153
157
|
server.tool("delete_file", "(DEPRECATED — use blob_rm. Sunset 2026-06-01.) Delete a file from project storage.", deleteFileSchema, async (args) => handleDeleteFile(args));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* MCP tool `diagnose_public_url`.
|
|
4
|
+
*
|
|
5
|
+
* Returns the gateway's diagnose envelope for a public blob URL: expected
|
|
6
|
+
* vs observed SHA, CloudFront cache state, recent invalidation status,
|
|
7
|
+
* vantage. The probe is single-region (us-east-1); the response self-
|
|
8
|
+
* documents this via `vantage` and `probeMayHaveWarmedCache: true`.
|
|
9
|
+
*
|
|
10
|
+
* Cross-project URLs return 403 (the gateway enforces project ownership);
|
|
11
|
+
* non-`*.run402.com` URLs return 400 SSRF-guard error unless the URL is on
|
|
12
|
+
* one of the requesting project's active custom domains.
|
|
13
|
+
*/
|
|
14
|
+
export declare const blobDiagnoseSchema: {
|
|
15
|
+
project_id: z.ZodString;
|
|
16
|
+
url: z.ZodString;
|
|
17
|
+
};
|
|
18
|
+
type Args = {
|
|
19
|
+
project_id: string;
|
|
20
|
+
url: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function handleBlobDiagnose(args: Args): Promise<{
|
|
23
|
+
content: Array<{
|
|
24
|
+
type: "text";
|
|
25
|
+
text: string;
|
|
26
|
+
}>;
|
|
27
|
+
isError?: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=blob-diagnose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-diagnose.d.ts","sourceRoot":"","sources":["../../src/tools/blob-diagnose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,KAAK,IAAI,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAuBhF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getSdk } from "../sdk.js";
|
|
3
|
+
import { mapSdkError } from "../errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* MCP tool `diagnose_public_url`.
|
|
6
|
+
*
|
|
7
|
+
* Returns the gateway's diagnose envelope for a public blob URL: expected
|
|
8
|
+
* vs observed SHA, CloudFront cache state, recent invalidation status,
|
|
9
|
+
* vantage. The probe is single-region (us-east-1); the response self-
|
|
10
|
+
* documents this via `vantage` and `probeMayHaveWarmedCache: true`.
|
|
11
|
+
*
|
|
12
|
+
* Cross-project URLs return 403 (the gateway enforces project ownership);
|
|
13
|
+
* non-`*.run402.com` URLs return 400 SSRF-guard error unless the URL is on
|
|
14
|
+
* one of the requesting project's active custom domains.
|
|
15
|
+
*/
|
|
16
|
+
export const blobDiagnoseSchema = {
|
|
17
|
+
project_id: z.string().describe("Project ID that owns the URL"),
|
|
18
|
+
url: z.string().describe("Full blob URL (e.g. https://app.run402.com/_blob/avatar.png)"),
|
|
19
|
+
};
|
|
20
|
+
export async function handleBlobDiagnose(args) {
|
|
21
|
+
try {
|
|
22
|
+
const env = await getSdk().blobs.diagnoseUrl(args.project_id, args.url);
|
|
23
|
+
const matched = env.observedSha256 != null && env.observedSha256 === env.expectedSha256;
|
|
24
|
+
const summary = matched
|
|
25
|
+
? `OK: CDN serving the current SHA (probed once from ${env.vantage}; not a global view).`
|
|
26
|
+
: `DIVERGENT: expected ${env.expectedSha256 ?? "<unknown>"} vs observed ${env.observedSha256 ?? "<no x-run402-content-sha256>"} (${env.vantage}).`;
|
|
27
|
+
return {
|
|
28
|
+
content: [
|
|
29
|
+
{
|
|
30
|
+
type: "text",
|
|
31
|
+
text: `${summary}\n\nHint: ${env.hint}\n\n` +
|
|
32
|
+
"```json\n" +
|
|
33
|
+
JSON.stringify(env, null, 2) +
|
|
34
|
+
"\n```",
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return mapSdkError(err, "diagnosing public blob URL");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=blob-diagnose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-diagnose.js","sourceRoot":"","sources":["../../src/tools/blob-diagnose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;CACzF,CAAC;AAIF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAU;IAEV,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,OAAO,GACX,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,cAAc,CAAC;QAC1E,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,qDAAqD,GAAG,CAAC,OAAO,uBAAuB;YACzF,CAAC,CAAC,uBAAuB,GAAG,CAAC,cAAc,IAAI,WAAW,gBAAgB,GAAG,CAAC,cAAc,IAAI,8BAA8B,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC;QACrJ,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,OAAO,aAAa,GAAG,CAAC,IAAI,MAAM;wBACrC,WAAW;wBACX,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC5B,OAAO;iBACV;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* MCP tool `wait_for_cdn_freshness`.
|
|
4
|
+
*
|
|
5
|
+
* Polls the gateway's diagnose endpoint until the URL serves the expected
|
|
6
|
+
* SHA-256, or the timeout elapses. **Mutable URLs only** — for immutable
|
|
7
|
+
* URLs (the `immutableUrl` field returned by `blob_put`) no waiting is
|
|
8
|
+
* needed; they're bound to a SHA at upload time and never previously cached.
|
|
9
|
+
*/
|
|
10
|
+
export declare const blobWaitFreshSchema: {
|
|
11
|
+
project_id: z.ZodString;
|
|
12
|
+
url: z.ZodString;
|
|
13
|
+
sha256: z.ZodString;
|
|
14
|
+
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
};
|
|
16
|
+
type Args = {
|
|
17
|
+
project_id: string;
|
|
18
|
+
url: string;
|
|
19
|
+
sha256: string;
|
|
20
|
+
timeout_ms?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare function handleBlobWaitFresh(args: Args): Promise<{
|
|
23
|
+
content: Array<{
|
|
24
|
+
type: "text";
|
|
25
|
+
text: string;
|
|
26
|
+
}>;
|
|
27
|
+
isError?: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=blob-wait-fresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-wait-fresh.d.ts","sourceRoot":"","sources":["../../src/tools/blob-wait-fresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;CAW/B,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0BhF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getSdk } from "../sdk.js";
|
|
3
|
+
import { mapSdkError } from "../errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* MCP tool `wait_for_cdn_freshness`.
|
|
6
|
+
*
|
|
7
|
+
* Polls the gateway's diagnose endpoint until the URL serves the expected
|
|
8
|
+
* SHA-256, or the timeout elapses. **Mutable URLs only** — for immutable
|
|
9
|
+
* URLs (the `immutableUrl` field returned by `blob_put`) no waiting is
|
|
10
|
+
* needed; they're bound to a SHA at upload time and never previously cached.
|
|
11
|
+
*/
|
|
12
|
+
export const blobWaitFreshSchema = {
|
|
13
|
+
project_id: z.string().describe("Project ID that owns the URL"),
|
|
14
|
+
url: z.string().describe("Mutable blob URL to poll (e.g. https://app.run402.com/_blob/avatar.png)"),
|
|
15
|
+
sha256: z.string().describe("Expected hex SHA-256 (from a preceding upload)"),
|
|
16
|
+
timeout_ms: z
|
|
17
|
+
.number()
|
|
18
|
+
.int()
|
|
19
|
+
.min(1_000)
|
|
20
|
+
.max(600_000)
|
|
21
|
+
.optional()
|
|
22
|
+
.describe("Max wait in milliseconds (1 000 – 600 000, default 60 000)"),
|
|
23
|
+
};
|
|
24
|
+
export async function handleBlobWaitFresh(args) {
|
|
25
|
+
try {
|
|
26
|
+
const result = await getSdk().blobs.waitFresh(args.project_id, {
|
|
27
|
+
url: args.url,
|
|
28
|
+
sha256: args.sha256,
|
|
29
|
+
timeoutMs: args.timeout_ms ?? 60_000,
|
|
30
|
+
});
|
|
31
|
+
const headline = result.fresh
|
|
32
|
+
? `FRESH: CDN now serving the expected SHA after ${result.attempts} probe(s) over ${result.elapsedMs}ms (vantage ${result.vantage}).`
|
|
33
|
+
: `TIMEOUT: CDN still serving SHA ${result.observedSha256 ?? "<none>"} after ${result.attempts} probe(s) over ${result.elapsedMs}ms. The URL may eventually catch up — re-try, or use the immutableUrl.`;
|
|
34
|
+
return {
|
|
35
|
+
content: [
|
|
36
|
+
{
|
|
37
|
+
type: "text",
|
|
38
|
+
text: `${headline}\n\n` +
|
|
39
|
+
"```json\n" +
|
|
40
|
+
JSON.stringify(result, null, 2) +
|
|
41
|
+
"\n```",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
isError: result.fresh ? undefined : true,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
return mapSdkError(err, "waiting for CDN freshness");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=blob-wait-fresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-wait-fresh.js","sourceRoot":"","sources":["../../src/tools/blob-wait-fresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACnG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC7E,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,KAAK,CAAC;SACV,GAAG,CAAC,OAAO,CAAC;SACZ,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAU;IAEV,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM;SACrC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK;YAC3B,CAAC,CAAC,iDAAiD,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,OAAO,IAAI;YACrI,CAAC,CAAC,kCAAkC,MAAM,CAAC,cAAc,IAAI,QAAQ,UAAU,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,SAAS,wEAAwE,CAAC;QAC3M,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,QAAQ,MAAM;wBACjB,WAAW;wBACX,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/B,OAAO;iBACV;aACF;YACD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run402-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.46.0",
|
|
4
4
|
"description": "MCP server for Run402 — AI-native Postgres databases with REST API, auth, storage, and row-level security. Pay with x402 USDC micropayments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* configured fetch still flows through any wrappers (e.g. test mocks).
|
|
8
8
|
*/
|
|
9
9
|
import type { Client } from "../kernel.js";
|
|
10
|
-
import type { BlobLsOptions, BlobLsResult, BlobPutOptions, BlobPutResult, BlobPutSource, BlobSignOptions, BlobSignResult } from "./blobs.types.js";
|
|
10
|
+
import type { BlobDiagnoseEnvelope, BlobLsOptions, BlobLsResult, BlobPutOptions, BlobPutResult, BlobPutSource, BlobSignOptions, BlobSignResult, BlobWaitFreshOptions, BlobWaitFreshResult } from "./blobs.types.js";
|
|
11
11
|
export declare class Blobs {
|
|
12
12
|
private readonly client;
|
|
13
13
|
constructor(client: Client);
|
|
@@ -22,6 +22,46 @@ export declare class Blobs {
|
|
|
22
22
|
* @throws {ProjectNotFound} if `projectId` is not in the provider.
|
|
23
23
|
*/
|
|
24
24
|
put(projectId: string, key: string, source: BlobPutSource, opts?: BlobPutOptions): Promise<BlobPutResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Diagnose a public blob URL. Returns a JSON envelope describing the live
|
|
27
|
+
* CDN state (expected vs observed SHA, cache headers, recent invalidation
|
|
28
|
+
* status, vantage). The gateway probes the URL once from us-east-1 with
|
|
29
|
+
* `Range: bytes=0-0` and returns within 5 s even if the inner probe is
|
|
30
|
+
* slow.
|
|
31
|
+
*
|
|
32
|
+
* **Vantage caveat:** the result reflects ONE CloudFront PoP at the time
|
|
33
|
+
* of the call. Other PoPs may serve different cached states. The
|
|
34
|
+
* `probeMayHaveWarmedCache: true` field reminds the agent that the probe
|
|
35
|
+
* itself populates the cache, so a subsequent read may differ.
|
|
36
|
+
*
|
|
37
|
+
* The URL must belong to the requesting project — cross-project URLs are
|
|
38
|
+
* rejected by the gateway with `403`. SSRF is enforced gateway-side: only
|
|
39
|
+
* `*.run402.com` and the project's active custom domains are accepted.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* const diag = await client.blobs.diagnoseUrl("prj_abc", "https://app.run402.com/_blob/avatar.png");
|
|
43
|
+
* if (diag.observedSha256 !== diag.expectedSha256) console.log(diag.hint);
|
|
44
|
+
*/
|
|
45
|
+
diagnoseUrl(projectId: string, url: string): Promise<BlobDiagnoseEnvelope>;
|
|
46
|
+
/**
|
|
47
|
+
* Poll the CDN until a mutable URL serves the expected SHA-256, or the
|
|
48
|
+
* timeout elapses. **For mutable URLs only** — for immutable URLs (the
|
|
49
|
+
* `immutableUrl` returned by `put`) no waiting is needed; they're bound
|
|
50
|
+
* at upload time and never previously cached.
|
|
51
|
+
*
|
|
52
|
+
* Default `timeoutMs` is 60_000 (60 s). The helper polls the gateway's
|
|
53
|
+
* diagnose endpoint with exponential backoff bounded by 1 s; each poll
|
|
54
|
+
* may itself warm the cache for the probed PoP, so subsequent reads from
|
|
55
|
+
* other PoPs may still be stale until invalidation propagation completes.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* await client.blobs.waitFresh("prj_abc", {
|
|
59
|
+
* url: result.url, // the mutable URL from blobs.put
|
|
60
|
+
* sha256: result.contentSha256,
|
|
61
|
+
* timeoutMs: 30_000,
|
|
62
|
+
* });
|
|
63
|
+
*/
|
|
64
|
+
waitFresh(projectId: string, opts: BlobWaitFreshOptions): Promise<BlobWaitFreshResult>;
|
|
25
65
|
/**
|
|
26
66
|
* Download a blob. Returns the raw `Response` so callers can stream to
|
|
27
67
|
* disk, pipe to another sink, or buffer with `.bytes()` / `.arrayBuffer()`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/namespaces/blobs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/namespaces/blobs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAGV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAsO1B,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;;;;OASG;IACG,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC;IA2FzB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAchF;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA2C/B;;;;;;;OAOG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB5D,oDAAoD;IAC9C,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAoB5E,+DAA+D;IACzD,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,6FAA6F;IACvF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;CAoBhG"}
|
|
@@ -40,6 +40,152 @@ async function sha256Hex(bytes) {
|
|
|
40
40
|
.map((b) => b.toString(16).padStart(2, "0"))
|
|
41
41
|
.join("");
|
|
42
42
|
}
|
|
43
|
+
function escapeHtmlAttr(s) {
|
|
44
|
+
return s
|
|
45
|
+
.replace(/&/g, "&")
|
|
46
|
+
.replace(/"/g, """)
|
|
47
|
+
.replace(/</g, "<")
|
|
48
|
+
.replace(/>/g, ">");
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert hex (e.g. `"abcd…"`) to base64 in environments that have either
|
|
52
|
+
* Buffer (Node) or `btoa` (browsers). The helper is here because Browser SDK
|
|
53
|
+
* builds may run without `Buffer`.
|
|
54
|
+
*/
|
|
55
|
+
function hexToBase64(hex) {
|
|
56
|
+
const len = hex.length;
|
|
57
|
+
const bytes = new Uint8Array(len / 2);
|
|
58
|
+
for (let i = 0; i < len; i += 2) {
|
|
59
|
+
bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
|
|
60
|
+
}
|
|
61
|
+
// Prefer Buffer when available (faster on Node).
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
63
|
+
const g = globalThis;
|
|
64
|
+
if (g.Buffer)
|
|
65
|
+
return g.Buffer.from(bytes).toString("base64");
|
|
66
|
+
let s = "";
|
|
67
|
+
for (const b of bytes)
|
|
68
|
+
s += String.fromCharCode(b);
|
|
69
|
+
return g.btoa ? g.btoa(s) : "";
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Widen the gateway's snake_case completion response into the AssetRef
|
|
73
|
+
* shape (which adds camelCase aliases + locally-derived integrity fields
|
|
74
|
+
* for any URL the consumer is about to embed in code). For non-immutable
|
|
75
|
+
* uploads where the SHA is null, the integrity fields are null and the
|
|
76
|
+
* agent guidance steers them to use `--immutable` before linking.
|
|
77
|
+
*/
|
|
78
|
+
function buildAssetRef(resp, contentType) {
|
|
79
|
+
const sha = resp.sha256;
|
|
80
|
+
const immutable = !!resp.immutable_url;
|
|
81
|
+
const cacheKind = resp.visibility === "private"
|
|
82
|
+
? "private"
|
|
83
|
+
: immutable
|
|
84
|
+
? "immutable"
|
|
85
|
+
: "mutable";
|
|
86
|
+
const etag = sha ? `"sha256-${sha}"` : null;
|
|
87
|
+
const sri = sha ? `sha256-${hexToBase64(sha)}` : null;
|
|
88
|
+
const contentDigest = sha ? `sha-256=:${hexToBase64(sha)}:` : null;
|
|
89
|
+
// v1.45 agent-DX URLs — guaranteed CDN-reachable on the auto-subdomain.
|
|
90
|
+
// Older gateway versions don't emit them; null in that case (callers fall
|
|
91
|
+
// back to the preferred-host `url` / `immutableUrl`).
|
|
92
|
+
const cdnUrl = resp.cdn_immutable_url ?? null;
|
|
93
|
+
const cdnMutableUrl = resp.cdn_url ?? null;
|
|
94
|
+
// The cdn envelope: prefer what the gateway returns; fall back to
|
|
95
|
+
// best-effort defaults so older gateway versions don't break the SDK
|
|
96
|
+
// surface. immutable URLs are always-ready by definition.
|
|
97
|
+
const cdnFromGw = resp.cdn ?? {};
|
|
98
|
+
const cdn = {
|
|
99
|
+
version: cdnFromGw.version ?? "blob-gateway-v2",
|
|
100
|
+
invalidationId: cdnFromGw.invalidationId ?? null,
|
|
101
|
+
invalidationStatus: cdnFromGw.invalidationStatus ?? null,
|
|
102
|
+
ready: cdnFromGw.ready ?? immutable,
|
|
103
|
+
hint: cdnFromGw.hint ??
|
|
104
|
+
(immutable
|
|
105
|
+
? "Use cdnUrl + scriptTag()/linkTag()/imgTag() — paste-and-go."
|
|
106
|
+
: "For mutable URLs, propagation is asynchronous. Prefer cdnUrl (immutable, content-hashed) for generated HTML/CSS/JS, or call wait_for_cdn_freshness."),
|
|
107
|
+
};
|
|
108
|
+
// Emitter helpers. Throw with an actionable hint when the SHA is null
|
|
109
|
+
// (non-immutable upload) — the agent should re-upload with `immutable:
|
|
110
|
+
// true` to get content-hashed URLs that pair with SRI.
|
|
111
|
+
function requireImmutable(name) {
|
|
112
|
+
if (!cdnUrl || !sri) {
|
|
113
|
+
throw new Error(`${name}() requires an immutable upload (pass { immutable: true } to blobs.put). ` +
|
|
114
|
+
`Without immutable, there is no SHA to bind for SRI and the URL would change on re-upload.`);
|
|
115
|
+
}
|
|
116
|
+
return { url: cdnUrl, sri };
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
key: resp.key,
|
|
120
|
+
size_bytes: resp.size_bytes,
|
|
121
|
+
sha256: sha,
|
|
122
|
+
visibility: resp.visibility,
|
|
123
|
+
url: resp.url,
|
|
124
|
+
immutable_url: resp.immutable_url,
|
|
125
|
+
size: resp.size_bytes,
|
|
126
|
+
contentSha256: sha,
|
|
127
|
+
contentType,
|
|
128
|
+
immutableUrl: resp.immutable_url,
|
|
129
|
+
cdnUrl,
|
|
130
|
+
cdnMutableUrl,
|
|
131
|
+
etag,
|
|
132
|
+
sri,
|
|
133
|
+
contentDigest,
|
|
134
|
+
cacheKind,
|
|
135
|
+
cdn,
|
|
136
|
+
scriptTag(opts) {
|
|
137
|
+
// Default `defer: true` — modern best practice. Defer prevents
|
|
138
|
+
// render-blocking when placed in <head> and is a no-op when placed
|
|
139
|
+
// at the end of <body> (the script runs after DOMContentLoaded
|
|
140
|
+
// either way). Pass `{ defer: false }` to opt out for the rare
|
|
141
|
+
// case requiring synchronous execution. `async` and `defer` are
|
|
142
|
+
// mutually exclusive; passing async overrides defer.
|
|
143
|
+
const { url, sri } = requireImmutable("scriptTag");
|
|
144
|
+
const attrs = [`src="${escapeHtmlAttr(url)}"`];
|
|
145
|
+
if (opts?.type === "module")
|
|
146
|
+
attrs.push(`type="module"`);
|
|
147
|
+
const wantsAsync = opts?.async === true;
|
|
148
|
+
const wantsDefer = opts?.defer ?? !wantsAsync;
|
|
149
|
+
if (wantsAsync)
|
|
150
|
+
attrs.push("async");
|
|
151
|
+
else if (wantsDefer)
|
|
152
|
+
attrs.push("defer");
|
|
153
|
+
attrs.push(`integrity="${escapeHtmlAttr(sri)}"`);
|
|
154
|
+
attrs.push("crossorigin");
|
|
155
|
+
return `<script ${attrs.join(" ")}></script>`;
|
|
156
|
+
},
|
|
157
|
+
linkTag(opts) {
|
|
158
|
+
// Always emit crossorigin — required for SRI to actually be
|
|
159
|
+
// enforced. Without crossorigin the browser silently ignores the
|
|
160
|
+
// integrity attribute (HTML spec). This applies to rel="preload"
|
|
161
|
+
// too: matching crossorigin on the preload + the eventual fetch is
|
|
162
|
+
// what lets the browser dedupe instead of double-fetching.
|
|
163
|
+
const { url, sri } = requireImmutable("linkTag");
|
|
164
|
+
const rel = opts?.rel ?? "stylesheet";
|
|
165
|
+
const attrs = [`rel="${escapeHtmlAttr(rel)}"`];
|
|
166
|
+
attrs.push(`href="${escapeHtmlAttr(url)}"`);
|
|
167
|
+
if (opts?.as)
|
|
168
|
+
attrs.push(`as="${escapeHtmlAttr(opts.as)}"`);
|
|
169
|
+
attrs.push(`integrity="${escapeHtmlAttr(sri)}"`);
|
|
170
|
+
attrs.push("crossorigin");
|
|
171
|
+
return `<link ${attrs.join(" ")}>`;
|
|
172
|
+
},
|
|
173
|
+
imgTag(alt) {
|
|
174
|
+
// Defaults: loading="lazy" + decoding="async" — modern best
|
|
175
|
+
// practice. Lazy is harmless for above-fold images (browsers
|
|
176
|
+
// handle the heuristic) and a flat win for the much more common
|
|
177
|
+
// below-fold case. Async decoding moves the decode off the main
|
|
178
|
+
// thread. Both are baseline-supported in all major browsers.
|
|
179
|
+
// <img> doesn't accept SRI per HTML5; the URL is content-hashed
|
|
180
|
+
// so it's still stable across re-deploys. Agents who need
|
|
181
|
+
// byte-level integrity for images should verify Content-Digest
|
|
182
|
+
// server-side.
|
|
183
|
+
const { url } = requireImmutable("imgTag");
|
|
184
|
+
const a = alt ?? "";
|
|
185
|
+
return `<img src="${escapeHtmlAttr(url)}" alt="${escapeHtmlAttr(a)}" loading="lazy" decoding="async">`;
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
43
189
|
export class Blobs {
|
|
44
190
|
client;
|
|
45
191
|
constructor(client) {
|
|
@@ -71,7 +217,13 @@ export class Blobs {
|
|
|
71
217
|
throw new Error("`content` is limited to 1 MB. Use `bytes` for larger uploads.");
|
|
72
218
|
}
|
|
73
219
|
const contentType = opts.contentType ?? guessContentType(key);
|
|
74
|
-
|
|
220
|
+
// v1.45 default: `immutable: true`. The agent-DX surface (cdnUrl, sri,
|
|
221
|
+
// scriptTag/linkTag/imgTag) only works for content-addressed uploads,
|
|
222
|
+
// so the default reaches for the best path. Pass `{ immutable: false }`
|
|
223
|
+
// explicitly when you specifically want a non-content-hashed URL
|
|
224
|
+
// (e.g. very large file where you want to skip the SHA pass).
|
|
225
|
+
const immutable = opts.immutable ?? true;
|
|
226
|
+
const sha256 = immutable ? await sha256Hex(bytes) : undefined;
|
|
75
227
|
// 1. Init upload — gateway returns presigned S3 URLs for each part.
|
|
76
228
|
const init = await this.client.request("/storage/v1/uploads", {
|
|
77
229
|
method: "POST",
|
|
@@ -84,7 +236,7 @@ export class Blobs {
|
|
|
84
236
|
size_bytes: sizeBytes,
|
|
85
237
|
content_type: contentType,
|
|
86
238
|
visibility: opts.visibility ?? "public",
|
|
87
|
-
immutable
|
|
239
|
+
immutable,
|
|
88
240
|
sha256,
|
|
89
241
|
},
|
|
90
242
|
context: "initializing upload",
|
|
@@ -109,7 +261,7 @@ export class Blobs {
|
|
|
109
261
|
const completeBody = init.mode === "multipart"
|
|
110
262
|
? { parts: partEtags.map((e, i) => ({ part_number: i + 1, etag: `"${e.etag}"` })) }
|
|
111
263
|
: {};
|
|
112
|
-
|
|
264
|
+
const completion = await this.client.request(`/storage/v1/uploads/${init.upload_id}/complete`, {
|
|
113
265
|
method: "POST",
|
|
114
266
|
headers: {
|
|
115
267
|
apikey: project.anon_key,
|
|
@@ -118,6 +270,105 @@ export class Blobs {
|
|
|
118
270
|
body: completeBody,
|
|
119
271
|
context: "completing upload",
|
|
120
272
|
});
|
|
273
|
+
// Widen the gateway response into the v1.45 AssetRef return type. Older
|
|
274
|
+
// gateway versions don't emit the `cdn` envelope; `buildAssetRef` fills
|
|
275
|
+
// safe defaults derived from the SHA + visibility so the SDK surface is
|
|
276
|
+
// stable across gateway versions.
|
|
277
|
+
return buildAssetRef(completion, contentType);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Diagnose a public blob URL. Returns a JSON envelope describing the live
|
|
281
|
+
* CDN state (expected vs observed SHA, cache headers, recent invalidation
|
|
282
|
+
* status, vantage). The gateway probes the URL once from us-east-1 with
|
|
283
|
+
* `Range: bytes=0-0` and returns within 5 s even if the inner probe is
|
|
284
|
+
* slow.
|
|
285
|
+
*
|
|
286
|
+
* **Vantage caveat:** the result reflects ONE CloudFront PoP at the time
|
|
287
|
+
* of the call. Other PoPs may serve different cached states. The
|
|
288
|
+
* `probeMayHaveWarmedCache: true` field reminds the agent that the probe
|
|
289
|
+
* itself populates the cache, so a subsequent read may differ.
|
|
290
|
+
*
|
|
291
|
+
* The URL must belong to the requesting project — cross-project URLs are
|
|
292
|
+
* rejected by the gateway with `403`. SSRF is enforced gateway-side: only
|
|
293
|
+
* `*.run402.com` and the project's active custom domains are accepted.
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* const diag = await client.blobs.diagnoseUrl("prj_abc", "https://app.run402.com/_blob/avatar.png");
|
|
297
|
+
* if (diag.observedSha256 !== diag.expectedSha256) console.log(diag.hint);
|
|
298
|
+
*/
|
|
299
|
+
async diagnoseUrl(projectId, url) {
|
|
300
|
+
const project = await this.client.getProject(projectId);
|
|
301
|
+
if (!project)
|
|
302
|
+
throw new ProjectNotFound(projectId, "diagnosing blob URL");
|
|
303
|
+
const path = `/storage/v1/blobs/diagnose?url=${encodeURIComponent(url)}`;
|
|
304
|
+
return this.client.request(path, {
|
|
305
|
+
headers: {
|
|
306
|
+
apikey: project.anon_key,
|
|
307
|
+
Authorization: `Bearer ${project.anon_key}`,
|
|
308
|
+
},
|
|
309
|
+
context: "diagnosing blob URL",
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Poll the CDN until a mutable URL serves the expected SHA-256, or the
|
|
314
|
+
* timeout elapses. **For mutable URLs only** — for immutable URLs (the
|
|
315
|
+
* `immutableUrl` returned by `put`) no waiting is needed; they're bound
|
|
316
|
+
* at upload time and never previously cached.
|
|
317
|
+
*
|
|
318
|
+
* Default `timeoutMs` is 60_000 (60 s). The helper polls the gateway's
|
|
319
|
+
* diagnose endpoint with exponential backoff bounded by 1 s; each poll
|
|
320
|
+
* may itself warm the cache for the probed PoP, so subsequent reads from
|
|
321
|
+
* other PoPs may still be stale until invalidation propagation completes.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* await client.blobs.waitFresh("prj_abc", {
|
|
325
|
+
* url: result.url, // the mutable URL from blobs.put
|
|
326
|
+
* sha256: result.contentSha256,
|
|
327
|
+
* timeoutMs: 30_000,
|
|
328
|
+
* });
|
|
329
|
+
*/
|
|
330
|
+
async waitFresh(projectId, opts) {
|
|
331
|
+
const project = await this.client.getProject(projectId);
|
|
332
|
+
if (!project)
|
|
333
|
+
throw new ProjectNotFound(projectId, "waiting for CDN freshness");
|
|
334
|
+
const expected = opts.sha256.toLowerCase();
|
|
335
|
+
const timeoutMs = opts.timeoutMs ?? 60_000;
|
|
336
|
+
const start = Date.now();
|
|
337
|
+
let attempts = 0;
|
|
338
|
+
let observed = null;
|
|
339
|
+
let delay = 100;
|
|
340
|
+
while (Date.now() - start < timeoutMs) {
|
|
341
|
+
attempts++;
|
|
342
|
+
try {
|
|
343
|
+
const envelope = await this.diagnoseUrl(projectId, opts.url);
|
|
344
|
+
observed = envelope.observedSha256;
|
|
345
|
+
if (observed && observed.toLowerCase() === expected) {
|
|
346
|
+
return {
|
|
347
|
+
fresh: true,
|
|
348
|
+
observedSha256: observed,
|
|
349
|
+
attempts,
|
|
350
|
+
elapsedMs: Date.now() - start,
|
|
351
|
+
vantage: "gateway-us-east-1",
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
catch {
|
|
356
|
+
// Swallow & retry — `diagnoseUrl` can fail on transient gateway
|
|
357
|
+
// hiccups (e.g. ALB cycling). The next poll re-attempts.
|
|
358
|
+
}
|
|
359
|
+
const remaining = timeoutMs - (Date.now() - start);
|
|
360
|
+
if (remaining <= 0)
|
|
361
|
+
break;
|
|
362
|
+
await new Promise((r) => setTimeout(r, Math.min(delay, remaining)));
|
|
363
|
+
delay = Math.min(delay * 2, 1000);
|
|
364
|
+
}
|
|
365
|
+
return {
|
|
366
|
+
fresh: false,
|
|
367
|
+
observedSha256: observed,
|
|
368
|
+
attempts,
|
|
369
|
+
elapsedMs: Date.now() - start,
|
|
370
|
+
vantage: "gateway-us-east-1",
|
|
371
|
+
};
|
|
121
372
|
}
|
|
122
373
|
/**
|
|
123
374
|
* Download a blob. Returns the raw `Response` so callers can stream to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/namespaces/blobs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/namespaces/blobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,16 +16,240 @@ export interface BlobPutOptions {
|
|
|
16
16
|
contentType?: string;
|
|
17
17
|
/** Default: `"public"`. Public blobs get a CDN URL; private requires auth. */
|
|
18
18
|
visibility?: BlobVisibility;
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Default (v1.45+): `true`. Returns an `AssetRef` with `cdnUrl` populated
|
|
21
|
+
* and the `scriptTag()` / `linkTag()` / `imgTag()` emitters working —
|
|
22
|
+
* this is the agent-DX flow (paste-and-go HTML with SRI baked in).
|
|
23
|
+
*
|
|
24
|
+
* Cost: one SHA-256 pass over the bytes on the client side. For small
|
|
25
|
+
* assets (the typical case — images, JS, CSS, fonts, JSON < 1 MB) it's
|
|
26
|
+
* a few ms dominated by network. Pass `false` to skip the SHA pass for
|
|
27
|
+
* very large uploads where you specifically don't need a content-hashed
|
|
28
|
+
* URL or SRI.
|
|
29
|
+
*
|
|
30
|
+
* When `false`, the returned `AssetRef` has `cdnUrl: null`, `sri: null`,
|
|
31
|
+
* and the tag emitters throw with an "immutable: true required" hint.
|
|
32
|
+
*/
|
|
20
33
|
immutable?: boolean;
|
|
21
34
|
}
|
|
22
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Cache-kind hint for a blob URL. Mirrors the gateway's
|
|
37
|
+
* `X-Run402-Blob-Cache-Kind` response header. Agents key on this when
|
|
38
|
+
* deciding whether they need to wait for CDN freshness after an upload.
|
|
39
|
+
*/
|
|
40
|
+
export type BlobCacheKind = "immutable" | "mutable" | "private";
|
|
41
|
+
/**
|
|
42
|
+
* CloudFront invalidation status for a mutable URL. Returned by the gateway's
|
|
43
|
+
* upload-completion response when an invalidation was triggered (e.g. a
|
|
44
|
+
* re-upload to an existing public mutable key). `ready: true` is the
|
|
45
|
+
* immutable-URL signal — no waiting needed.
|
|
46
|
+
*/
|
|
47
|
+
export interface BlobCdnEnvelope {
|
|
48
|
+
/** Blob CDN config version. Currently `"blob-gateway-v2"`. */
|
|
49
|
+
version: string;
|
|
50
|
+
/** CloudFront invalidation ID for the mutable URL, when one was triggered. */
|
|
51
|
+
invalidationId: string | null;
|
|
52
|
+
/** Status of the invalidation at the time of the upload response. */
|
|
53
|
+
invalidationStatus: "InProgress" | "Completed" | "Failed" | null;
|
|
54
|
+
/** `true` for immutable URLs (always ready); omitted/false for mutable. */
|
|
55
|
+
ready?: boolean;
|
|
56
|
+
/** Human-readable nudge ("Use immutableUrl or call wait_for_cdn_freshness."). */
|
|
57
|
+
hint: string | null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Stable URL reference returned by `client.blobs.put`.
|
|
61
|
+
*
|
|
62
|
+
* **The recommended agent-DX fields are `cdnUrl` + the tag emitters
|
|
63
|
+
* (`scriptTag`, `linkTag`, `imgTag`).** These give you a paste-and-go HTML
|
|
64
|
+
* tag with content-addressed URL + SRI + `crossorigin` already wired. No
|
|
65
|
+
* decisions about mutable vs. immutable, no `wait_for_cdn_freshness` polls,
|
|
66
|
+
* no manual integrity attribute construction — the URL is bound to a SHA at
|
|
67
|
+
* upload time, served from `pr-<public_id>.run402.com` (the host that
|
|
68
|
+
* always works through the v1.33 CDN), and never invalidated.
|
|
69
|
+
*
|
|
70
|
+
* The other fields are present for compatibility / advanced use:
|
|
71
|
+
* - `url` / `immutable_url` (snake_case): legacy v1.0+ fields. May be on
|
|
72
|
+
* a claimed-subdomain or custom-domain host (which is "prettier" but
|
|
73
|
+
* currently can NOT serve `/_blob/*` through the CDN — those subdomains'
|
|
74
|
+
* KVS values lack a `project_id`. Fix tracked separately).
|
|
75
|
+
* - `immutableUrl`: same value as `immutable_url`, camelCase.
|
|
76
|
+
* - `cdnMutableUrl`: mutable form of the auto-subdomain URL — useful only
|
|
77
|
+
* when you need a stable URL that always reflects the latest content.
|
|
78
|
+
* Comes with eventual-consistency caveats (CloudFront invalidation is
|
|
79
|
+
* async); prefer `cdnUrl` for generated code.
|
|
80
|
+
* - `etag`, `sri`, `contentDigest`: integrity values derived from the
|
|
81
|
+
* SHA-256.
|
|
82
|
+
* - `cdn`: CloudFront invalidation envelope.
|
|
83
|
+
*
|
|
84
|
+
* Tag emitters require the SHA-256 (only computed when uploaded with
|
|
85
|
+
* `immutable: true`). On non-immutable uploads, calling them throws.
|
|
86
|
+
*/
|
|
87
|
+
export interface AssetRef {
|
|
23
88
|
key: string;
|
|
24
89
|
size_bytes: number;
|
|
25
90
|
sha256: string | null;
|
|
26
91
|
visibility: BlobVisibility;
|
|
27
92
|
url: string | null;
|
|
28
93
|
immutable_url: string | null;
|
|
94
|
+
/** Same value as `size_bytes`, camelCase form. */
|
|
95
|
+
size: number;
|
|
96
|
+
/** Hex SHA-256 of the bytes. Same as `sha256` (camelCase alias). */
|
|
97
|
+
contentSha256: string | null;
|
|
98
|
+
/** Effective Content-Type (auto-detected from the key extension when not
|
|
99
|
+
* set explicitly via `BlobPutOptions.contentType`). */
|
|
100
|
+
contentType: string;
|
|
101
|
+
/** Same value as `immutable_url` (preferred-host form), camelCase. */
|
|
102
|
+
immutableUrl: string | null;
|
|
103
|
+
/** **The recommended URL for generated HTML/CSS/JS.** Content-addressed
|
|
104
|
+
* (immutable), served from the auto-subdomain
|
|
105
|
+
* (`pr-<public_id>.run402.com/_blob/<key-with-suffix>.<ext>`) which is
|
|
106
|
+
* guaranteed to work through the v1.33 CDN path. Pair with `sri` for
|
|
107
|
+
* Subresource Integrity. Null on non-immutable uploads (the SHA isn't
|
|
108
|
+
* computed) and on private uploads. */
|
|
109
|
+
cdnUrl: string | null;
|
|
110
|
+
/** Mutable form of the auto-subdomain URL. Use only when a stable URL
|
|
111
|
+
* must always reflect the latest content (eventual consistency on
|
|
112
|
+
* re-upload). Prefer `cdnUrl` for generated code. */
|
|
113
|
+
cdnMutableUrl: string | null;
|
|
114
|
+
/** Strong ETag of the form `"sha256-<hex>"`. Null when `sha256` is null. */
|
|
115
|
+
etag: string | null;
|
|
116
|
+
/** Browser SRI form: `sha256-<base64>`. Use as the `integrity` attribute
|
|
117
|
+
* value in `<script>`/`<link>` tags. */
|
|
118
|
+
sri: string | null;
|
|
119
|
+
/** RFC 9530 `Content-Digest` value, `sha-256=:<base64>:`. */
|
|
120
|
+
contentDigest: string | null;
|
|
121
|
+
/** Semantic cache-kind hint matching the gateway's response header. */
|
|
122
|
+
cacheKind: BlobCacheKind;
|
|
123
|
+
/** CloudFront invalidation envelope. For immutable uploads `cdn.ready ===
|
|
124
|
+
* true` and no further action is needed. */
|
|
125
|
+
cdn: BlobCdnEnvelope;
|
|
126
|
+
/**
|
|
127
|
+
* Returns a ready-to-paste `<script>` tag with the content-addressed
|
|
128
|
+
* URL + Subresource Integrity + `crossorigin`. The browser will refuse
|
|
129
|
+
* to execute the script if the bytes don't match the SHA.
|
|
130
|
+
*
|
|
131
|
+
* **Defaults:** `defer: true`. Modern best practice — non-render-
|
|
132
|
+
* blocking when placed in `<head>` and a no-op at end of `<body>`.
|
|
133
|
+
* Pass `{ defer: false }` for the rare case requiring sync execution.
|
|
134
|
+
* `async: true` overrides defer (the two are mutually exclusive).
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* const asset = await client.blobs.put(p, "app.js", { content });
|
|
138
|
+
* html += asset.scriptTag();
|
|
139
|
+
* // → <script src="https://pr-abc.run402.com/_blob/app-3a7fc02e.js" defer integrity="sha256-…" crossorigin></script>
|
|
140
|
+
*
|
|
141
|
+
* asset.scriptTag({ type: "module" });
|
|
142
|
+
* // → <script src="…" type="module" defer integrity="…" crossorigin></script>
|
|
143
|
+
*/
|
|
144
|
+
scriptTag(opts?: {
|
|
145
|
+
type?: "module" | "text/javascript";
|
|
146
|
+
defer?: boolean;
|
|
147
|
+
async?: boolean;
|
|
148
|
+
}): string;
|
|
149
|
+
/**
|
|
150
|
+
* Returns a ready-to-paste `<link>` tag (default `rel="stylesheet"`)
|
|
151
|
+
* with content-addressed URL + SRI + `crossorigin`. `crossorigin` is
|
|
152
|
+
* always emitted — required for SRI to actually be enforced (also
|
|
153
|
+
* required for rel="preload" to dedupe with the matching fetch).
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* asset.linkTag(); // stylesheet
|
|
157
|
+
* asset.linkTag({ rel: "preload", as: "font" });
|
|
158
|
+
* asset.linkTag({ rel: "modulepreload" });
|
|
159
|
+
*/
|
|
160
|
+
linkTag(opts?: {
|
|
161
|
+
rel?: string;
|
|
162
|
+
as?: string;
|
|
163
|
+
}): string;
|
|
164
|
+
/**
|
|
165
|
+
* Returns a ready-to-paste `<img>` tag with the content-addressed URL.
|
|
166
|
+
*
|
|
167
|
+
* **Defaults:** `loading="lazy"` + `decoding="async"`. Modern best
|
|
168
|
+
* practice — lazy loads below-fold images on demand, async decoding
|
|
169
|
+
* moves the decode off the main thread. Both are baseline-supported
|
|
170
|
+
* in all major browsers. Agents who specifically need an above-fold
|
|
171
|
+
* eager image can wrap the result and override.
|
|
172
|
+
*
|
|
173
|
+
* Browsers don't support SRI on `<img>`, so no `integrity` attribute
|
|
174
|
+
* is emitted. The URL is content-hashed so it's still stable across
|
|
175
|
+
* re-deploys; for byte-level verification, read `Content-Digest`
|
|
176
|
+
* server-side.
|
|
177
|
+
*
|
|
178
|
+
* `alt` is the image's accessibility text (default `""` for decorative
|
|
179
|
+
* images). Pass a description when the image conveys information.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* asset.imgTag("Company logo")
|
|
183
|
+
* // → <img src="https://pr-abc.run402.com/_blob/logo-a1b2c3d4.png" alt="Company logo" loading="lazy" decoding="async">
|
|
184
|
+
*/
|
|
185
|
+
imgTag(alt?: string): string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Return type of `client.blobs.put`. v1.45 widens this to AssetRef; the
|
|
189
|
+
* legacy fields stay for back-compat.
|
|
190
|
+
*/
|
|
191
|
+
export type BlobPutResult = AssetRef;
|
|
192
|
+
/** Response envelope from `client.blobs.diagnoseUrl(...)`. */
|
|
193
|
+
export interface BlobDiagnoseEnvelope {
|
|
194
|
+
projectId: string;
|
|
195
|
+
key: string;
|
|
196
|
+
/** SHA the gateway DB believes is current for `(projectId, key)`. */
|
|
197
|
+
expectedSha256: string | null;
|
|
198
|
+
/** SHA actually returned by the probe (`X-Run402-Content-Sha256` header). */
|
|
199
|
+
observedSha256: string | null;
|
|
200
|
+
/** Probe vantage. The agent is told the probe is single-region. */
|
|
201
|
+
vantage: "gateway-us-east-1";
|
|
202
|
+
/** Probe method — `"GET_RANGE_0_0"` (NOT HEAD; HEAD can hit a different
|
|
203
|
+
* cached variant). */
|
|
204
|
+
probeMethod: "GET_RANGE_0_0";
|
|
205
|
+
/** Accept-Encoding used by the probe. */
|
|
206
|
+
acceptEncoding: string;
|
|
207
|
+
/** ISO timestamp of the probe. */
|
|
208
|
+
observedAt: string;
|
|
209
|
+
/** Always `true` — the probe itself populates the cache, so subsequent
|
|
210
|
+
* reads may differ. Agents are told this explicitly. */
|
|
211
|
+
probeMayHaveWarmedCache: true;
|
|
212
|
+
/** The URL the probe actually fetched (after URL normalization). */
|
|
213
|
+
canonicalUrl: string;
|
|
214
|
+
/** Which URL kind we resolved against (`'blob-immutable'` or
|
|
215
|
+
* `'blob-mutable'`). `/_cas/<sha>` is deferred from this change. */
|
|
216
|
+
pathKind: "blob-mutable" | "blob-immutable";
|
|
217
|
+
cache: {
|
|
218
|
+
xCache: string | null;
|
|
219
|
+
ageSeconds: number | null;
|
|
220
|
+
cacheKind: BlobCacheKind | null;
|
|
221
|
+
};
|
|
222
|
+
invalidation: {
|
|
223
|
+
id: string | null;
|
|
224
|
+
status: "InProgress" | "Completed" | "Failed" | null;
|
|
225
|
+
};
|
|
226
|
+
/** Human-readable hint with actionable next-steps for the agent. */
|
|
227
|
+
hint: string;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Options for `client.blobs.waitFresh(projectId, opts)`. The URL is the
|
|
231
|
+
* mutable public URL you want to wait on (typically `result.url` from a
|
|
232
|
+
* preceding `blobs.put` call).
|
|
233
|
+
*
|
|
234
|
+
* **Mutable URLs only.** For immutable URLs (`immutableUrl`) no waiting is
|
|
235
|
+
* needed — they are bound to a SHA at upload time and were never previously
|
|
236
|
+
* cached.
|
|
237
|
+
*/
|
|
238
|
+
export interface BlobWaitFreshOptions {
|
|
239
|
+
/** The mutable URL to poll (e.g. `https://app.run402.com/_blob/avatar.png`). */
|
|
240
|
+
url: string;
|
|
241
|
+
/** Expected hex SHA-256. Polling exits when `observedSha256 === sha256`. */
|
|
242
|
+
sha256: string;
|
|
243
|
+
/** Default 60_000 ms. */
|
|
244
|
+
timeoutMs?: number;
|
|
245
|
+
}
|
|
246
|
+
/** Result of `client.blobs.waitFresh(...)`. */
|
|
247
|
+
export interface BlobWaitFreshResult {
|
|
248
|
+
fresh: boolean;
|
|
249
|
+
observedSha256: string | null;
|
|
250
|
+
attempts: number;
|
|
251
|
+
elapsedMs: number;
|
|
252
|
+
vantage: "gateway-us-east-1";
|
|
29
253
|
}
|
|
30
254
|
export interface BlobLsOptions {
|
|
31
255
|
/** Filter: only return blobs whose key starts with this prefix. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobs.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/blobs.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"blobs.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/blobs.types.ts"],"names":[],"mappings":"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"}
|