run402 1.69.6 → 1.69.8

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.
Files changed (38) hide show
  1. package/README.md +1 -0
  2. package/lib/blob.mjs +85 -47
  3. package/lib/deploy-v2.mjs +159 -62
  4. package/lib/functions.mjs +42 -6
  5. package/lib/secrets.mjs +34 -11
  6. package/package.json +1 -1
  7. package/sdk/dist/namespaces/auth.d.ts.map +1 -1
  8. package/sdk/dist/namespaces/auth.js +60 -6
  9. package/sdk/dist/namespaces/auth.js.map +1 -1
  10. package/sdk/dist/namespaces/billing.d.ts.map +1 -1
  11. package/sdk/dist/namespaces/billing.js +42 -14
  12. package/sdk/dist/namespaces/billing.js.map +1 -1
  13. package/sdk/dist/namespaces/blobs.d.ts +3 -2
  14. package/sdk/dist/namespaces/blobs.d.ts.map +1 -1
  15. package/sdk/dist/namespaces/blobs.js +38 -7
  16. package/sdk/dist/namespaces/blobs.js.map +1 -1
  17. package/sdk/dist/namespaces/blobs.types.d.ts +5 -6
  18. package/sdk/dist/namespaces/blobs.types.d.ts.map +1 -1
  19. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  20. package/sdk/dist/namespaces/deploy.js +13 -1
  21. package/sdk/dist/namespaces/deploy.js.map +1 -1
  22. package/sdk/dist/namespaces/email.d.ts.map +1 -1
  23. package/sdk/dist/namespaces/email.js +55 -12
  24. package/sdk/dist/namespaces/email.js.map +1 -1
  25. package/sdk/dist/namespaces/functions.d.ts.map +1 -1
  26. package/sdk/dist/namespaces/functions.js +92 -1
  27. package/sdk/dist/namespaces/functions.js.map +1 -1
  28. package/sdk/dist/namespaces/projects.d.ts.map +1 -1
  29. package/sdk/dist/namespaces/projects.js +7 -2
  30. package/sdk/dist/namespaces/projects.js.map +1 -1
  31. package/sdk/dist/node/files.d.ts +11 -5
  32. package/sdk/dist/node/files.d.ts.map +1 -1
  33. package/sdk/dist/node/files.js +31 -7
  34. package/sdk/dist/node/files.js.map +1 -1
  35. package/sdk/dist/validation.d.ts +6 -3
  36. package/sdk/dist/validation.d.ts.map +1 -1
  37. package/sdk/dist/validation.js +30 -0
  38. package/sdk/dist/validation.js.map +1 -1
package/lib/secrets.mjs CHANGED
@@ -9,12 +9,13 @@ Usage:
9
9
  run402 secrets <subcommand> [args...]
10
10
 
11
11
  Subcommands:
12
- set <id> <key> <value> [--file <path>] Set a secret on a project
12
+ set <id> <key> <value> [--file <path>|--stdin] Set a secret on a project
13
13
  list <id> List all secrets for a project
14
14
  delete <id> <key> Delete a secret from a project
15
15
 
16
16
  Examples:
17
17
  run402 secrets set prj_abc123 STRIPE_KEY --file ./.secrets/stripe-key
18
+ printf %s "$STRIPE_KEY" | run402 secrets set prj_abc123 STRIPE_KEY --stdin
18
19
  run402 secrets set prj_abc123 TLS_CERT --file cert.pem
19
20
  run402 secrets list prj_abc123
20
21
  run402 secrets delete prj_abc123 STRIPE_KEY
@@ -31,6 +32,7 @@ const SUB_HELP = {
31
32
  Usage:
32
33
  run402 secrets set <id> <key> <value> [--file <path>]
33
34
  run402 secrets set <id> <key> --file <path>
35
+ run402 secrets set <id> <key> --stdin
34
36
 
35
37
  Arguments:
36
38
  <id> Project ID (from 'run402 projects list')
@@ -38,15 +40,17 @@ Arguments:
38
40
  <value> Inline secret value (omit if using --file)
39
41
 
40
42
  Options:
41
- --file <path> Read the secret value from a file instead of inline
43
+ --file <path> Read the secret value from a file instead of inline. Use - or /dev/stdin to read stdin.
44
+ --stdin Read the secret value from stdin until EOF
42
45
 
43
46
  Notes:
44
47
  - Secrets are injected as process.env in serverless functions
45
48
  - Values are write-only; 'list' cannot verify values by hash
46
- - Prefer --file for real secrets so values do not land in shell history
49
+ - Prefer --file or --stdin for real secrets so values do not land in shell history
47
50
 
48
51
  Examples:
49
52
  run402 secrets set prj_abc123 STRIPE_KEY --file ./.secrets/stripe-key
53
+ printf %s "$STRIPE_KEY" | run402 secrets set prj_abc123 STRIPE_KEY --stdin
50
54
  run402 secrets set prj_abc123 TLS_CERT --file cert.pem
51
55
  `,
52
56
  list: `run402 secrets list — List all secrets for a project
@@ -77,25 +81,44 @@ Examples:
77
81
  `,
78
82
  };
79
83
 
84
+ export function readSecretValueForSet(parsedArgs, values, readers = {}) {
85
+ const readStdin = readers.readStdin ?? (() => readFileSync(0, "utf-8"));
86
+ const readFile = readers.readFile ?? ((path) => readFileSync(path, "utf-8"));
87
+ const validateFile = readers.validateFile ?? validateRegularFile;
88
+ const file = flagValue(parsedArgs, "--file");
89
+ const stdinRequested = parsedArgs.includes("--stdin");
90
+ const stdinFile = file === "-" || file === "/dev/stdin";
91
+ const valueSources = [
92
+ values.length === 1 ? "inline value" : null,
93
+ file ? "--file" : null,
94
+ stdinRequested ? "--stdin" : null,
95
+ ].filter(Boolean);
96
+
97
+ if (valueSources.length > 1) {
98
+ fail({ code: "BAD_USAGE", message: `Provide exactly one secret value source, got: ${valueSources.join(", ")}.` });
99
+ }
100
+ if (file && !stdinFile) validateFile(file, "--file");
101
+
102
+ if (stdinRequested || stdinFile) return readStdin();
103
+ if (file) return readFile(file);
104
+ if (values.length === 1) return values[0];
105
+ return undefined;
106
+ }
107
+
80
108
  async function set(projectId, key, args = []) {
81
109
  const parsedArgs = normalizeArgv(args);
82
110
  const valueFlags = ["--file"];
83
- assertKnownFlags(parsedArgs, [...valueFlags, "--help", "-h"], valueFlags);
111
+ assertKnownFlags(parsedArgs, [...valueFlags, "--stdin", "--help", "-h"], valueFlags);
84
112
  const values = positionalArgs(parsedArgs, valueFlags);
85
113
  if (values.length > 1) {
86
114
  fail({ code: "BAD_USAGE", message: `Unexpected argument for secrets set: ${values[1]}` });
87
115
  }
88
- const file = flagValue(parsedArgs, "--file");
89
- if (file && values.length > 0) {
90
- fail({ code: "BAD_USAGE", message: "Provide either an inline value or --file, not both." });
91
- }
92
- if (file) validateRegularFile(file, "--file");
93
- const val = file ? readFileSync(file, "utf-8") : values.length === 1 ? values[0] : undefined;
116
+ const val = readSecretValueForSet(parsedArgs, values);
94
117
  if (val === undefined) {
95
118
  fail({
96
119
  code: "BAD_USAGE",
97
120
  message: "Missing secret value.",
98
- hint: "Provide inline or use --file <path>",
121
+ hint: "Provide inline, use --file <path>, or pipe with --stdin.",
99
122
  });
100
123
  }
101
124
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402",
3
- "version": "1.69.6",
3
+ "version": "1.69.8",
4
4
  "description": "CLI for Run402 — provision Postgres databases, deploy static sites, generate images, and manage wallets via x402 and MPP micropayments.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/namespaces/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/namespaces/auth.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,38 @@
6
6
  * end-user flows). Settings + promote/demote use the service key.
7
7
  */
8
8
  import { LocalError, ProjectNotFound } from "../errors.js";
9
+ import { assertEmailAddress, assertHttpUrl, assertNonEmptyString, assertStringInSet, } from "../validation.js";
10
+ const MAGIC_LINK_INTENTS = ["signin", "invite", "claim", "recovery"];
11
+ const AUTH_SETTINGS_FIELDS = [
12
+ "allow_password_set",
13
+ "preferred_sign_in_method",
14
+ "public_signup",
15
+ "require_passkey_for_project_admin",
16
+ ];
17
+ const SIGN_IN_METHODS = ["password", "magic_link", "oauth_google", "passkey"];
18
+ const PUBLIC_SIGNUP_POLICIES = ["open", "known_email", "invite_only"];
19
+ function validateAuthSettings(settings) {
20
+ const raw = settings;
21
+ for (const key of Object.keys(raw)) {
22
+ if (!AUTH_SETTINGS_FIELDS.includes(key)) {
23
+ throw new LocalError(`Unknown auth settings field: ${key}`, "updating auth settings");
24
+ }
25
+ }
26
+ if (raw.allow_password_set !== undefined &&
27
+ typeof raw.allow_password_set !== "boolean") {
28
+ throw new LocalError("allow_password_set must be a boolean.", "updating auth settings");
29
+ }
30
+ if (raw.require_passkey_for_project_admin !== undefined &&
31
+ typeof raw.require_passkey_for_project_admin !== "boolean") {
32
+ throw new LocalError("require_passkey_for_project_admin must be a boolean.", "updating auth settings");
33
+ }
34
+ if (raw.preferred_sign_in_method !== undefined && raw.preferred_sign_in_method !== null) {
35
+ assertStringInSet(raw.preferred_sign_in_method, SIGN_IN_METHODS, "preferred_sign_in_method", "updating auth settings");
36
+ }
37
+ if (raw.public_signup !== undefined) {
38
+ assertStringInSet(raw.public_signup, PUBLIC_SIGNUP_POLICIES, "public_signup", "updating auth settings");
39
+ }
40
+ }
9
41
  export class Auth {
10
42
  client;
11
43
  magicLink;
@@ -23,9 +55,14 @@ export class Auth {
23
55
  }
24
56
  /** Send a passwordless login email (magic link). 15-minute token. */
25
57
  async requestMagicLink(projectId, opts) {
26
- if (!opts || typeof opts !== "object") {
58
+ if (!opts || typeof opts !== "object" || Array.isArray(opts)) {
27
59
  throw new LocalError("r.auth.requestMagicLink(projectId, opts) requires an opts object as the 2nd argument (e.g., { email, redirectUrl })", "requesting magic link");
28
60
  }
61
+ assertEmailAddress(opts.email, "email", "requesting magic link");
62
+ assertHttpUrl(opts.redirectUrl, "redirectUrl", "requesting magic link");
63
+ if (opts.intent !== undefined) {
64
+ assertStringInSet(opts.intent, MAGIC_LINK_INTENTS, "intent", "requesting magic link");
65
+ }
29
66
  const project = await this.client.getProject(projectId);
30
67
  if (!project)
31
68
  throw new ProjectNotFound(projectId, "requesting magic link");
@@ -49,6 +86,7 @@ export class Auth {
49
86
  }
50
87
  /** Exchange a magic-link token for access + refresh tokens. */
51
88
  async verifyMagicLink(projectId, token) {
89
+ assertNonEmptyString(token, "token", "verifying magic link");
52
90
  const project = await this.client.getProject(projectId);
53
91
  if (!project)
54
92
  throw new ProjectNotFound(projectId, "verifying magic link");
@@ -68,14 +106,19 @@ export class Auth {
68
106
  * Bearer credential.
69
107
  */
70
108
  async setUserPassword(projectId, opts) {
71
- if (!opts || typeof opts !== "object") {
109
+ if (!opts || typeof opts !== "object" || Array.isArray(opts)) {
72
110
  throw new LocalError("r.auth.setUserPassword(projectId, opts) requires an opts object as the 2nd argument (e.g., { accessToken, newPassword })", "setting user password");
73
111
  }
112
+ assertNonEmptyString(opts.accessToken, "accessToken", "setting user password");
113
+ assertNonEmptyString(opts.newPassword, "newPassword", "setting user password");
114
+ if (opts.currentPassword !== undefined) {
115
+ assertNonEmptyString(opts.currentPassword, "currentPassword", "setting user password");
116
+ }
74
117
  const project = await this.client.getProject(projectId);
75
118
  if (!project)
76
119
  throw new ProjectNotFound(projectId, "setting user password");
77
120
  const body = { new_password: opts.newPassword };
78
- if (opts.currentPassword)
121
+ if (opts.currentPassword !== undefined)
79
122
  body.current_password = opts.currentPassword;
80
123
  await this.client.request("/auth/v1/user/password", {
81
124
  method: "PUT",
@@ -89,9 +132,10 @@ export class Auth {
89
132
  }
90
133
  /** Update project-level auth settings. Requires service key. */
91
134
  async settings(projectId, settings) {
92
- if (!settings || typeof settings !== "object") {
135
+ if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
93
136
  throw new LocalError("r.auth.settings(projectId, settings) requires a settings object as the 2nd argument (e.g., { allow_password_set: true })", "updating auth settings");
94
137
  }
138
+ validateAuthSettings(settings);
95
139
  const project = await this.client.getProject(projectId);
96
140
  if (!project)
97
141
  throw new ProjectNotFound(projectId, "updating auth settings");
@@ -107,9 +151,19 @@ export class Auth {
107
151
  }
108
152
  /** Create or update an auth user. Requires service key. */
109
153
  async createUser(projectId, opts) {
110
- if (!opts || typeof opts !== "object") {
154
+ if (!opts || typeof opts !== "object" || Array.isArray(opts)) {
111
155
  throw new LocalError("r.auth.createUser(projectId, opts) requires an opts object as the 2nd argument (e.g., { email, isAdmin })", "creating auth user");
112
156
  }
157
+ assertEmailAddress(opts.email, "email", "creating auth user");
158
+ if (opts.redirectUrl !== undefined) {
159
+ assertHttpUrl(opts.redirectUrl, "redirectUrl", "creating auth user");
160
+ }
161
+ if (opts.isAdmin !== undefined && typeof opts.isAdmin !== "boolean") {
162
+ throw new LocalError("isAdmin must be a boolean when provided.", "creating auth user");
163
+ }
164
+ if (opts.sendInvite !== undefined && typeof opts.sendInvite !== "boolean") {
165
+ throw new LocalError("sendInvite must be a boolean when provided.", "creating auth user");
166
+ }
113
167
  const project = await this.client.getProject(projectId);
114
168
  if (!project)
115
169
  throw new ProjectNotFound(projectId, "creating auth user");
@@ -118,7 +172,7 @@ export class Auth {
118
172
  body.is_admin = opts.isAdmin;
119
173
  if (typeof opts.sendInvite === "boolean")
120
174
  body.send_invite = opts.sendInvite;
121
- if (opts.redirectUrl)
175
+ if (opts.redirectUrl !== undefined)
122
176
  body.redirect_url = opts.redirectUrl;
123
177
  if (opts.clientState !== undefined)
124
178
  body.client_state = opts.clientState;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/namespaces/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/namespaces/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
@@ -4,26 +4,48 @@
4
4
  * account by wallet address or email.
5
5
  */
6
6
  import { LocalError } from "../errors.js";
7
- import { assertPositiveSafeInteger } from "../validation.js";
8
- function encodeBillingIdentifier(identifier) {
9
- const normalized = /^0x/i.test(identifier)
10
- ? identifier.toLowerCase()
11
- : identifier;
7
+ import { assertEmailAddress, assertEvmAddress, assertNonEmptyString, assertPositiveSafeInteger, assertStringInSet, } from "../validation.js";
8
+ const BILLING_TIERS = ["prototype", "hobby", "team"];
9
+ function encodeBillingIdentifier(identifier, context) {
10
+ const normalized = normalizeBillingIdentifier(identifier, context);
12
11
  return encodeURIComponent(normalized);
13
12
  }
13
+ function normalizeBillingIdentifier(identifier, context) {
14
+ assertNonEmptyString(identifier, "identifier", context);
15
+ if (/^0x/i.test(identifier)) {
16
+ assertEvmAddress(identifier, "identifier", context);
17
+ return identifier.toLowerCase();
18
+ }
19
+ assertEmailAddress(identifier, "identifier", context);
20
+ return identifier;
21
+ }
14
22
  function assertNonNegativeSafeInteger(value, name, context) {
15
23
  if (!Number.isSafeInteger(value) || value < 0) {
16
24
  throw new LocalError(`${name} must be a non-negative safe integer.`, context);
17
25
  }
18
26
  }
27
+ function assertUsdMicrosAmount(value, name, context) {
28
+ if (!Number.isSafeInteger(value) || value < 500_000 || value % 10_000 !== 0) {
29
+ throw new LocalError(`${name} must be a safe integer USD-micros amount of at least 500000 and whole-cent aligned.`, context);
30
+ }
31
+ }
19
32
  function checkoutIdentifierBody(identifier, context) {
20
- if (identifier.email && identifier.wallet) {
33
+ if (!identifier || typeof identifier !== "object" || Array.isArray(identifier)) {
34
+ throw new LocalError("identifier must be an object with either `email` or `wallet`.", context);
35
+ }
36
+ const hasEmail = identifier.email !== undefined;
37
+ const hasWallet = identifier.wallet !== undefined;
38
+ if (hasEmail && hasWallet) {
21
39
  throw new LocalError("Provide either `email` or `wallet` in identifier, not both.", context);
22
40
  }
23
- if (identifier.wallet)
24
- return { wallet: identifier.wallet };
25
- if (identifier.email)
41
+ if (hasWallet) {
42
+ assertEvmAddress(identifier.wallet, "identifier.wallet", context);
43
+ return { wallet: identifier.wallet.toLowerCase() };
44
+ }
45
+ if (hasEmail) {
46
+ assertEmailAddress(identifier.email, "identifier.email", context);
26
47
  return { email: identifier.email };
48
+ }
27
49
  throw new LocalError("Provide either `email` or `wallet` in identifier.", context);
28
50
  }
29
51
  export class Billing {
@@ -43,7 +65,7 @@ export class Billing {
43
65
  }
44
66
  /** Check a billing account by wallet or email identifier. Public, no auth. */
45
67
  async getAccount(identifier) {
46
- const encoded = encodeBillingIdentifier(identifier);
68
+ const encoded = encodeBillingIdentifier(identifier, "checking balance");
47
69
  return this.client.request(`/billing/v1/accounts/${encoded}`, {
48
70
  context: "checking balance",
49
71
  withAuth: false,
@@ -55,7 +77,7 @@ export class Billing {
55
77
  }
56
78
  /** Fetch billing history by wallet or email identifier. */
57
79
  async getHistory(identifier, limit) {
58
- const encoded = encodeBillingIdentifier(identifier);
80
+ const encoded = encodeBillingIdentifier(identifier, "fetching billing history");
59
81
  if (limit !== undefined) {
60
82
  assertPositiveSafeInteger(limit, "limit", "fetching billing history");
61
83
  }
@@ -69,6 +91,8 @@ export class Billing {
69
91
  }
70
92
  /** Create a Stripe checkout URL to fund a wallet's billing balance. */
71
93
  async createCheckout(wallet, amountUsdMicros) {
94
+ assertEvmAddress(wallet, "wallet", "creating checkout");
95
+ assertUsdMicrosAmount(amountUsdMicros, "amountUsdMicros", "creating checkout");
72
96
  return this.client.request("/billing/v1/checkouts", {
73
97
  method: "POST",
74
98
  body: { wallet: wallet.toLowerCase(), amount_usd_micros: amountUsdMicros },
@@ -78,6 +102,7 @@ export class Billing {
78
102
  }
79
103
  /** Create an email-only (no-wallet) billing account. Sends a verification email. */
80
104
  async createEmailAccount(email) {
105
+ assertEmailAddress(email, "email", "creating email billing account");
81
106
  return this.client.request("/billing/v1/accounts", {
82
107
  method: "POST",
83
108
  body: { email },
@@ -87,17 +112,20 @@ export class Billing {
87
112
  }
88
113
  /** Link a wallet to an existing email billing account to enable hybrid Stripe + x402. */
89
114
  async linkWallet(billingAccountId, wallet) {
90
- await this.client.request(`/billing/v1/accounts/${billingAccountId}/link-wallet`, {
115
+ assertNonEmptyString(billingAccountId, "billingAccountId", "linking wallet");
116
+ assertEvmAddress(wallet, "wallet", "linking wallet");
117
+ await this.client.request(`/billing/v1/accounts/${encodeURIComponent(billingAccountId)}/link-wallet`, {
91
118
  method: "POST",
92
- body: { wallet },
119
+ body: { wallet: wallet.toLowerCase() },
93
120
  context: "linking wallet",
94
121
  withAuth: false,
95
122
  });
96
123
  }
97
124
  /** Create a Stripe checkout for a tier subscription/renewal/upgrade. */
98
125
  async tierCheckout(tier, identifier) {
126
+ assertStringInSet(tier, BILLING_TIERS, "tier", "creating tier checkout");
99
127
  const body = checkoutIdentifierBody(identifier, "creating tier checkout");
100
- return this.client.request(`/billing/v1/tiers/${tier}/checkout`, {
128
+ return this.client.request(`/billing/v1/tiers/${encodeURIComponent(tier)}/checkout`, {
101
129
  method: "POST",
102
130
  body,
103
131
  context: "creating tier checkout",
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,9 @@ export declare class Blobs {
16
16
  * presigned S3 URLs — they do NOT pass through the gateway, so uploads
17
17
  * are not double-billed as API calls and large files stream efficiently.
18
18
  *
19
- * Pass `immutable: true` to produce a content-addressed URL (the server
20
- * computes no hash — the SDK does it locally and attests via `sha256`).
19
+ * Pass `immutable: true` to produce a content-addressed URL. The SDK always
20
+ * computes the SHA-256 digest required by the upload API; `immutable` only
21
+ * controls URL/cache semantics.
21
22
  *
22
23
  * @throws {ProjectNotFound} if `projectId` is not in the provider.
23
24
  */
@@ -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;AAG3C,OAAO,KAAK,EAGV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAgO1B,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;IAoFzB;;;;OAIG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAsBhC,+EAA+E;IACzE,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,CAAC;IAgBlC;;;OAGG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,yBAA8B,EACpC,KAAK,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACnC,OAAO,CAAC,wBAAwB,CAAC;IAoBpC;;;;;;;;;;;;;;;;;;;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;IA6C/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;IAwB5E,+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"}
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;AAG3C,OAAO,KAAK,EAGV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAiQ1B,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;;;;;OAUG;IACG,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC;IAsFzB;;;;OAIG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAwBhC,+EAA+E;IACzE,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,CAAC;IAgBlC;;;OAGG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,yBAA8B,EACpC,KAAK,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACnC,OAAO,CAAC,wBAAwB,CAAC;IAoBpC;;;;;;;;;;;;;;;;;;;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;IA6C/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;IAwB5E,+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;CAwBhG"}
@@ -41,6 +41,30 @@ async function sha256Hex(bytes) {
41
41
  .map((b) => b.toString(16).padStart(2, "0"))
42
42
  .join("");
43
43
  }
44
+ async function sha256HexAndBase64(bytes) {
45
+ const hex = await sha256Hex(bytes);
46
+ return { hex, base64: hexToBase64(hex) };
47
+ }
48
+ function validateSha256Hex(value, name, context) {
49
+ if (typeof value !== "string" || !/^[a-fA-F0-9]{64}$/.test(value)) {
50
+ throw new LocalError(`${name} must be a 64-character hex SHA-256 digest.`, context);
51
+ }
52
+ }
53
+ function assertIntegerInRange(value, name, min, max, context) {
54
+ if (!Number.isSafeInteger(value) || value < min || value > max) {
55
+ throw new LocalError(`${name} must be a safe integer between ${min} and ${max}.`, context);
56
+ }
57
+ }
58
+ function checksumHeadersForPresignedUrl(url, checksumBase64) {
59
+ let urlHasChecksum = false;
60
+ try {
61
+ urlHasChecksum = new URL(url).searchParams.has("x-amz-checksum-sha256");
62
+ }
63
+ catch {
64
+ urlHasChecksum = false;
65
+ }
66
+ return urlHasChecksum ? {} : { "x-amz-checksum-sha256": checksumBase64 };
67
+ }
44
68
  function escapeHtmlAttr(s) {
45
69
  return s
46
70
  .replace(/&/g, "&amp;")
@@ -112,7 +136,7 @@ function buildAssetRef(resp, contentType) {
112
136
  function requireImmutable(name) {
113
137
  if (!cdnUrl || !sri) {
114
138
  throw new LocalError(`${name}() requires an immutable upload (pass { immutable: true } to blobs.put). ` +
115
- `Without immutable, there is no SHA to bind for SRI and the URL would change on re-upload.`, "rendering blob tag");
139
+ `Without immutable, there is no content-addressed CDN URL to bind for SRI and the URL would change on re-upload.`, "rendering blob tag");
116
140
  }
117
141
  return { url: cdnUrl, sri };
118
142
  }
@@ -197,8 +221,9 @@ export class Blobs {
197
221
  * presigned S3 URLs — they do NOT pass through the gateway, so uploads
198
222
  * are not double-billed as API calls and large files stream efficiently.
199
223
  *
200
- * Pass `immutable: true` to produce a content-addressed URL (the server
201
- * computes no hash — the SDK does it locally and attests via `sha256`).
224
+ * Pass `immutable: true` to produce a content-addressed URL. The SDK always
225
+ * computes the SHA-256 digest required by the upload API; `immutable` only
226
+ * controls URL/cache semantics.
202
227
  *
203
228
  * @throws {ProjectNotFound} if `projectId` is not in the provider.
204
229
  */
@@ -233,9 +258,8 @@ export class Blobs {
233
258
  // scriptTag/linkTag/imgTag) only works for content-addressed uploads,
234
259
  // so the default reaches for the best path. Pass `{ immutable: false }`
235
260
  // explicitly when you specifically want a non-content-hashed URL
236
- // (e.g. very large file where you want to skip the SHA pass).
237
261
  const immutable = opts.immutable ?? true;
238
- const sha256 = immutable ? await sha256Hex(bytes) : undefined;
262
+ const sha256 = await sha256Hex(bytes);
239
263
  // 1. Init upload — gateway returns presigned S3 URLs for each part.
240
264
  const init = await this.initUploadSession(projectId, {
241
265
  key,
@@ -249,8 +273,10 @@ export class Blobs {
249
273
  const partEtags = new Array(init.part_count);
250
274
  for (const part of init.parts) {
251
275
  const partBytes = bytes.subarray(part.byte_start, part.byte_end + 1);
276
+ const checksum = await sha256HexAndBase64(partBytes);
252
277
  const putRes = await this.client.fetch(part.url, {
253
278
  method: "PUT",
279
+ headers: checksumHeadersForPresignedUrl(part.url, checksum.base64),
254
280
  body: partBytes,
255
281
  });
256
282
  if (!putRes.ok) {
@@ -259,11 +285,12 @@ export class Blobs {
259
285
  }
260
286
  partEtags[part.part_number - 1] = {
261
287
  etag: (putRes.headers.get("etag") ?? "").replace(/^"|"$/g, ""),
288
+ sha256: checksum.hex,
262
289
  };
263
290
  }
264
291
  // 3. Complete upload — gateway finalizes (commits multipart, writes DB row).
265
292
  const completeBody = init.mode === "multipart"
266
- ? { parts: partEtags.map((e, i) => ({ part_number: i + 1, etag: `"${e.etag}"` })) }
293
+ ? { parts: partEtags.map((e, i) => ({ part_number: i + 1, etag: `"${e.etag}"`, sha256: e.sha256 })) }
267
294
  : {};
268
295
  return this.completeUploadSession(projectId, init.upload_id, completeBody, {
269
296
  contentType,
@@ -275,6 +302,7 @@ export class Blobs {
275
302
  * to manage local files, part concurrency, and cached session state.
276
303
  */
277
304
  async initUploadSession(projectId, opts) {
305
+ validateSha256Hex(opts.sha256, "sha256", "initializing upload");
278
306
  const project = await this.client.getProject(projectId);
279
307
  if (!project)
280
308
  throw new ProjectNotFound(projectId, "initializing upload");
@@ -290,7 +318,7 @@ export class Blobs {
290
318
  content_type: opts.content_type,
291
319
  visibility: opts.visibility ?? "public",
292
320
  immutable: opts.immutable ?? false,
293
- ...(opts.sha256 !== undefined ? { sha256: opts.sha256 } : {}),
321
+ sha256: opts.sha256,
294
322
  },
295
323
  context: "initializing upload",
296
324
  });
@@ -488,6 +516,9 @@ export class Blobs {
488
516
  }
489
517
  /** Generate a time-boxed S3 presigned GET URL for a blob. Default TTL 1 hour, max 7 days. */
490
518
  async sign(projectId, key, opts = {}) {
519
+ if (opts.ttl_seconds !== undefined) {
520
+ assertIntegerInRange(opts.ttl_seconds, "ttl_seconds", 60, 604800, "signing blob URL");
521
+ }
491
522
  const project = await this.client.getProject(projectId);
492
523
  if (!project)
493
524
  throw new ProjectNotFound(projectId, "signing blob URL");