@run402/sdk 1.62.1 → 1.64.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 CHANGED
@@ -72,7 +72,7 @@ The `CredentialsProvider` interface has two required methods (`getAuth`, `getPro
72
72
  | `auth` | `requestMagicLink`, `verifyMagicLink`, `createUser`, `inviteUser`, `setUserPassword`, `settings`, passkey registration/login/list/delete helpers, `providers`, `promote`, `demote` |
73
73
  | `apps` | `browse`, `getApp`, `fork`, `publish`, `listVersions`, `updateVersion`, `deleteVersion`, `bundleDeploy` (legacy shim → routes through `deploy`) |
74
74
  | `tier` | `set`, `status` (tier pricing lives on `r.projects.getQuote()`) |
75
- | `billing` | `createEmailAccount`, `linkWallet`, `tierCheckout`, `buyEmailPack`, `setAutoRecharge`, `balance`, `history`, `createCheckout` |
75
+ | `billing` | `createEmailAccount`, `linkWallet`, `tierCheckout`, `buyEmailPack`, `setAutoRecharge`, `checkBalance`, `getAccount`, `getHistory`, `balance`, `history`, `createCheckout` |
76
76
  | `contracts` | `provisionWallet`, `getWallet`, `listWallets`, `setRecovery`, `setLowBalanceAlert`, `call`, `read`, `callStatus`, `drain`, `deleteWallet` |
77
77
  | `ai` | `translate`, `moderate`, `usage`, `generateImage` |
78
78
  | `allowance` | `status`, `create`, `export`, `faucet` |
@@ -128,6 +128,11 @@ const logo = await r.blobs.put(projectId, "logo.png", { bytes });
128
128
 
129
129
  `immutable: true` is the default since v1.45 — pass `false` only when you specifically want to skip the SHA-256 pass on a very large upload.
130
130
 
131
+ For custom resumable upload UX, use the low-level session primitives:
132
+ `r.blobs.initUploadSession(...)`, `r.blobs.getUploadSession(...)`, and
133
+ `r.blobs.completeUploadSession(...)`. Bytes still go directly to the presigned
134
+ part URLs; the Run402 gateway sees only session metadata.
135
+
131
136
  ### Unified deploy (v1.34+) — `r.deploy.apply`
132
137
 
133
138
  The canonical primitive for any deploy (database + migrations + manifest + value-free secret declarations + functions + site + subdomain). Three layers:
@@ -147,9 +152,10 @@ const resumed = await r.deploy.resume(operationId);
147
152
 
148
153
  - **All bytes ride through CAS.** The plan request body never carries inline bytes — only `ContentRef` objects. When the spec exceeds 5 MB JSON, the SDK uploads the manifest itself as a CAS object (`manifest_ref` escape hatch).
149
154
  - **Per-resource semantics on the spec.** `site.replace` = "this is the whole site" (files absent are removed). `site.patch.put` / `patch.delete` are surgical updates. `functions.replace` / `functions.patch.set` / `functions.patch.delete` mirror that. Secrets are value-free: set values first with `r.secrets.set(project, key, value)`, then deploy with `secrets.require` and/or `secrets.delete`. `subdomains.set` / `subdomains.add` / `subdomains.remove` use their own shape. Top-level absence = leave untouched.
150
- - **Same-origin web routes.** `routes` is `undefined | null | { replace: RouteSpec[] }`. Omit it or pass `null` to carry forward base routes, pass `{ replace: [] }` to clear routes, or pass route entries to replace the table. Each route has `pattern`, optional non-empty `methods`, and `target: { type: "function", name }`. Direct `/functions/v1/:name` invocation remains API-key protected; routed paths are public browser ingress.
155
+ - **Same-origin web routes.** `routes` is `undefined | null | { replace: RouteSpec[] }`. Omit it or pass `null` to carry forward base routes, pass `{ replace: [] }` to clear routes, or pass route entries to replace the table. Each route has `pattern`, optional non-empty `methods`, and `target: { type: "function", name }`. Use exact `/admin` plus final-wildcard `/admin/*` for a dynamic section root. Routed browser ingress invokes Node 22 Fetch Request -> Response handlers; `req.url` is the full public URL on managed subdomains, deployment hosts, and verified custom domains. Direct `/functions/v1/:name` invocation remains API-key protected. Runtime route failure codes include `ROUTE_MANIFEST_LOAD_FAILED`, `ROUTED_INVOKE_WORKER_SECRET_MISSING`, `ROUTED_INVOKE_AUTH_FAILED`, `ROUTED_ROUTE_STALE`, `ROUTE_METHOD_NOT_ALLOWED`, and `ROUTED_RESPONSE_TOO_LARGE`.
151
156
  - **Strict spec validation happens before network calls.** Raw `ReleaseSpec` objects reject unknown fields (for example `project_id` or `subdomain`) instead of silently dropping them during normalization, and project/base-only or empty nested specs fail with `Run402DeployError.code === "MANIFEST_EMPTY"`. Use the Node manifest helpers when starting from CLI/MCP-style JSON.
152
157
  - **Warnings are structured.** `DeployResult.warnings` contains `WarningEntry[]` (`code`, `severity`, `requires_confirmation`, `message`, optional `affected`/`details`/`confidence`); the type preserves legacy low/medium/high plan warnings and modern deploy-observability info/warn/high warnings. `apply()` emits `plan.warnings` and stops before upload/commit on confirmation-required warnings unless `allowWarnings` is set. For `MISSING_REQUIRED_SECRET`, set the affected keys with `r.secrets.set`, then retry.
158
+ - **Safe release-race retries are SDK-owned.** `deploy.apply()` automatically re-plans and retries omitted/current-base specs when the gateway returns `BASE_RELEASE_CONFLICT` with `safe_to_retry: true`. The default budget is two retries after the initial attempt; pass `{ maxRetries: 0 }` to opt out. Each retry emits `deploy.retry`; exhausted retries keep the last `Run402DeployError` and add `attempts`, `maxRetries`, and `lastRetryCode`.
153
159
  - **Planning supports dry-runs.** `r.deploy.plan(spec, { dryRun: true })` calls the server-authoritative dry-run route and returns the normalized v2 plan envelope without uploading bytes or creating plan/operation rows (`plan_id` and `operation_id` are `null`).
154
160
  - **Release observability is typed.** Use `r.deploy.getRelease({ project, releaseId, siteLimit? })`, `r.deploy.getActiveRelease({ project, siteLimit? })`, and `r.deploy.diff({ project, from, to, limit? })` to inspect release inventory and release-to-release diffs. `diff` returns `ReleaseToReleaseDiff` with `migrations.applied_between_releases`; secret diffs expose keys only.
155
161
  - **Server-authoritative manifest digest** — no byte-for-byte canonicalize requirement on the client.
@@ -181,7 +187,7 @@ const resumed = await r.deploy.resume(operationId);
181
187
  project: projectId,
182
188
  functions: {
183
189
  replace: {
184
- api: { source: "import { routedHttp } from '@run402/functions'; export default async (event) => routedHttp.json({ ok: true, path: event.path });" },
190
+ api: { source: "export default async function handler(req) { const url = new URL(req.url); return Response.json({ ok: true, path: url.pathname }); }" },
185
191
  admin: { source: "export default async () => new Response('admin')" },
186
192
  auth: { source: "export default async () => new Response('login')" },
187
193
  },
@@ -193,7 +199,9 @@ const resumed = await r.deploy.resume(operationId);
193
199
  await r.deploy.apply(spec);
194
200
  ```
195
201
 
196
- Matching is exact or final `/*` prefix only. `/admin/*` does not match `/admin`; deploy both `/admin` and `/admin/*` when the section root is dynamic. Query strings are ignored for matching and forwarded to routed functions as `rawQuery`. Exact beats prefix, longest prefix wins, and method-compatible dynamic routes beat static files. A method-specific `POST /login` route lets static `GET /login` serve HTML. Unsafe method mismatch returns `405`; matched dynamic route failures do not fall back to static assets.
202
+ Matching is exact or final `/*` prefix only. `/admin/*` does not match `/admin`; deploy both `/admin` and `/admin/*` when the section root is dynamic. Query strings are ignored for matching and preserved in the handler's full public `req.url`. Exact beats prefix, longest prefix wins, and method-compatible dynamic routes beat static files. A method-specific `POST /login` route lets static `GET /login` serve HTML. Unsafe method mismatch returns `405`; matched dynamic route failures do not fall back to static assets.
203
+
204
+ Routed functions use Node 22 Fetch Request -> Response. `req.url` is the full public URL on managed subdomains, deployment hosts, and verified custom domains. The raw `run402.routed_http.v1` envelope is internal; direct `/functions/v1/:name` remains API-key protected.
197
205
 
198
206
  Route warning recovery:
199
207
 
@@ -321,8 +329,10 @@ try {
321
329
  if (isPaymentRequired(e)) {
322
330
  // e is narrowed to PaymentRequired
323
331
  // present payment requirements to the user — read e.body, e.context, etc.
324
- } else if (isDeployError(e) && e.safeToRetry) {
325
- // e is narrowed to Run402DeployError; it's safe to retry with the same idempotency key
332
+ } else if (isDeployError(e)) {
333
+ // e is narrowed to Run402DeployError.
334
+ // deploy.apply auto-retries safe BASE_RELEASE_CONFLICT races for current-base specs.
335
+ // Log the structured envelope for policy errors, exhausted retries, or caller-owned recovery.
326
336
  } else throw e;
327
337
  }
328
338
  ```
@@ -340,6 +350,12 @@ and any inter-process boundary where the error needs to survive serialization.
340
350
  `safeToRetry`) by default. Pair it with the SDK method's own
341
351
  `idempotencyKey` so retried mutations dedup server-side:
342
352
 
353
+ For `r.deploy.apply()`, safe `BASE_RELEASE_CONFLICT` release races are already
354
+ handled by the deploy namespace with a fresh plan and visible `deploy.retry`
355
+ events. Use `withRetry` for caller-owned retry policies around other operations,
356
+ or pass `maxRetries: 0` to `deploy.apply` when you want to handle deploy races
357
+ yourself.
358
+
343
359
  ```ts
344
360
  import {
345
361
  run402,
package/dist/errors.d.ts CHANGED
@@ -137,6 +137,9 @@ export declare class Run402DeployError extends Run402Error {
137
137
  readonly fix: Run402DeployErrorFix | null;
138
138
  readonly logs: string[] | null;
139
139
  readonly rolledBack: boolean;
140
+ readonly attempts?: number;
141
+ readonly maxRetries?: number;
142
+ readonly lastRetryCode?: Run402DeployErrorCode;
140
143
  constructor(message: string, init: {
141
144
  code: Run402DeployErrorCode;
142
145
  phase?: string | null;
@@ -147,6 +150,9 @@ export declare class Run402DeployError extends Run402Error {
147
150
  fix?: Run402DeployErrorFix | null;
148
151
  logs?: string[] | null;
149
152
  rolledBack?: boolean;
153
+ attempts?: number;
154
+ maxRetries?: number;
155
+ lastRetryCode?: Run402DeployErrorCode;
150
156
  status?: number | null;
151
157
  body?: unknown;
152
158
  context: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -175,6 +175,9 @@ export class Run402DeployError extends Run402Error {
175
175
  fix;
176
176
  logs;
177
177
  rolledBack;
178
+ attempts;
179
+ maxRetries;
180
+ lastRetryCode;
178
181
  constructor(message, init) {
179
182
  super(message, init.status ?? null, init.body ?? null, init.context);
180
183
  this.code = init.code;
@@ -186,6 +189,12 @@ export class Run402DeployError extends Run402Error {
186
189
  this.fix = init.fix ?? null;
187
190
  this.logs = init.logs ?? null;
188
191
  this.rolledBack = init.rolledBack ?? false;
192
+ if (init.attempts !== undefined)
193
+ this.attempts = init.attempts;
194
+ if (init.maxRetries !== undefined)
195
+ this.maxRetries = init.maxRetries;
196
+ if (init.lastRetryCode !== undefined)
197
+ this.lastRetryCode = init.lastRetryCode;
189
198
  }
190
199
  toJSON() {
191
200
  return {
@@ -198,6 +207,9 @@ export class Run402DeployError extends Run402Error {
198
207
  logs: this.logs,
199
208
  rolledBack: this.rolledBack,
200
209
  retryable: this.retryable,
210
+ attempts: this.attempts,
211
+ maxRetries: this.maxRetries,
212
+ lastRetryCode: this.lastRetryCode,
201
213
  };
202
214
  }
203
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/kernel.d.ts CHANGED
@@ -27,11 +27,16 @@ export interface RequestOptions {
27
27
  /** Short verb phrase attached to thrown errors (e.g. "provisioning project"). */
28
28
  context: string;
29
29
  }
30
+ export interface ResponseEnvelope<T = unknown> {
31
+ status: number;
32
+ body: T;
33
+ }
30
34
  /** Internal client surface passed to each namespace. */
31
35
  export interface Client {
32
36
  /** API base URL, e.g. `https://api.run402.com`. Exposed for namespaces that need to compute derived URLs (e.g. REST endpoints). */
33
37
  readonly apiBase: string;
34
38
  request<T>(path: string, opts: RequestOptions): Promise<T>;
39
+ requestWithResponse<T>(path: string, opts: RequestOptions): Promise<ResponseEnvelope<T>>;
35
40
  getProject(id: string): Promise<ProjectKeys | null>;
36
41
  /** The underlying credentials provider. Namespaces use this to access optional methods (saveProject, setActiveProject, ...). */
37
42
  readonly credentials: CredentialsProvider;
@@ -43,5 +48,6 @@ export interface Client {
43
48
  readonly fetch: typeof globalThis.fetch;
44
49
  }
45
50
  export declare function request<T>(kernel: KernelConfig, path: string, opts: RequestOptions): Promise<T>;
51
+ export declare function requestWithResponse<T>(kernel: KernelConfig, path: string, opts: RequestOptions): Promise<ResponseEnvelope<T>>;
46
52
  export declare function buildClient(kernel: KernelConfig): Client;
47
53
  //# sourceMappingURL=kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,MAAM;IACrB,mIAAmI;IACnI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpD,gIAAgI;IAChI,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACzC;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,CAAC,CAAC,CA0EZ;AAWD,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQxD"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED,wDAAwD;AACxD,MAAM,WAAW,MAAM;IACrB,mIAAmI;IACnI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpD,gIAAgI;IAChI,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACzC;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA0E9B;AAWD,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAUxD"}
package/dist/kernel.js CHANGED
@@ -12,6 +12,9 @@
12
12
  */
13
13
  import { ApiError, NetworkError, PaymentRequired, Unauthorized, } from "./errors.js";
14
14
  export async function request(kernel, path, opts) {
15
+ return (await requestWithResponse(kernel, path, opts)).body;
16
+ }
17
+ export async function requestWithResponse(kernel, path, opts) {
15
18
  const { apiBase, fetch, credentials } = kernel;
16
19
  const { method = "GET", headers = {}, body, rawBody, withAuth = true, context } = opts;
17
20
  const url = `${apiBase}${path}`;
@@ -55,7 +58,7 @@ export async function request(kernel, path, opts) {
55
58
  resBody = await res.text();
56
59
  }
57
60
  if (res.ok)
58
- return resBody;
61
+ return { status: res.status, body: resBody };
59
62
  if (res.status === 402) {
60
63
  throw new PaymentRequired(`${displayMessage(resBody, "Payment required")} while ${context}`, 402, resBody, context);
61
64
  }
@@ -78,6 +81,7 @@ export function buildClient(kernel) {
78
81
  return {
79
82
  apiBase: kernel.apiBase,
80
83
  request: (path, opts) => request(kernel, path, opts),
84
+ requestWithResponse: (path, opts) => requestWithResponse(kernel, path, opts),
81
85
  getProject: (id) => kernel.credentials.getProject(id),
82
86
  credentials: kernel.credentials,
83
87
  fetch: kernel.fetch,
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export interface AccountIdentifier {
45
45
  email?: string;
46
46
  wallet?: string;
47
47
  }
48
+ export type BillingAccountIdentifier = string;
48
49
  export interface AutoRechargeOptions {
49
50
  billingAccountId: string;
50
51
  enabled: boolean;
@@ -52,14 +53,18 @@ export interface AutoRechargeOptions {
52
53
  }
53
54
  export declare class Billing {
54
55
  private readonly client;
55
- readonly balance: (wallet: string) => Promise<BillingBalance>;
56
+ readonly balance: (identifier: BillingAccountIdentifier) => Promise<BillingBalance>;
56
57
  readonly createEmail: (email: string) => Promise<EmailBillingAccount>;
57
58
  readonly autoRecharge: (opts: AutoRechargeOptions) => Promise<void>;
58
59
  constructor(client: Client);
59
- /** Check a wallet's billing balance (available / held / status). Public, no auth. */
60
- checkBalance(wallet: string): Promise<BillingBalance>;
61
- /** Fetch billing history for a wallet. */
62
- history(wallet: string, limit?: number): Promise<BillingHistoryResult>;
60
+ /** Check a billing account by wallet or email identifier. Public, no auth. */
61
+ checkBalance(identifier: BillingAccountIdentifier): Promise<BillingBalance>;
62
+ /** Check a billing account by wallet or email identifier. Public, no auth. */
63
+ getAccount(identifier: BillingAccountIdentifier): Promise<BillingBalance>;
64
+ /** Fetch billing history by wallet or email identifier. */
65
+ history(identifier: BillingAccountIdentifier, limit?: number): Promise<BillingHistoryResult>;
66
+ /** Fetch billing history by wallet or email identifier. */
67
+ getHistory(identifier: BillingAccountIdentifier, limit?: number): Promise<BillingHistoryResult>;
63
68
  /** Create a Stripe checkout URL to fund a wallet's billing balance. */
64
69
  createCheckout(wallet: string, amountUsdMicros: number): Promise<CreateCheckoutResult>;
65
70
  /** Create an email-only (no-wallet) billing account. Sends a verification email. */
@@ -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,6 +4,12 @@
4
4
  * account by wallet address or email.
5
5
  */
6
6
  import { LocalError } from "../errors.js";
7
+ function encodeBillingIdentifier(identifier) {
8
+ const normalized = /^0x/i.test(identifier)
9
+ ? identifier.toLowerCase()
10
+ : identifier;
11
+ return encodeURIComponent(normalized);
12
+ }
7
13
  export class Billing {
8
14
  client;
9
15
  balance;
@@ -15,20 +21,28 @@ export class Billing {
15
21
  this.createEmail = this.createEmailAccount.bind(this);
16
22
  this.autoRecharge = this.setAutoRecharge.bind(this);
17
23
  }
18
- /** Check a wallet's billing balance (available / held / status). Public, no auth. */
19
- async checkBalance(wallet) {
20
- const w = wallet.toLowerCase();
21
- return this.client.request(`/billing/v1/accounts/${w}`, {
24
+ /** Check a billing account by wallet or email identifier. Public, no auth. */
25
+ async checkBalance(identifier) {
26
+ return this.getAccount(identifier);
27
+ }
28
+ /** Check a billing account by wallet or email identifier. Public, no auth. */
29
+ async getAccount(identifier) {
30
+ const encoded = encodeBillingIdentifier(identifier);
31
+ return this.client.request(`/billing/v1/accounts/${encoded}`, {
22
32
  context: "checking balance",
23
33
  withAuth: false,
24
34
  });
25
35
  }
26
- /** Fetch billing history for a wallet. */
27
- async history(wallet, limit) {
28
- const w = wallet.toLowerCase();
36
+ /** Fetch billing history by wallet or email identifier. */
37
+ async history(identifier, limit) {
38
+ return this.getHistory(identifier, limit);
39
+ }
40
+ /** Fetch billing history by wallet or email identifier. */
41
+ async getHistory(identifier, limit) {
42
+ const encoded = encodeBillingIdentifier(identifier);
29
43
  const path = limit
30
- ? `/billing/v1/accounts/${w}/history?limit=${limit}`
31
- : `/billing/v1/accounts/${w}/history`;
44
+ ? `/billing/v1/accounts/${encoded}/history?limit=${encodeURIComponent(String(limit))}`
45
+ : `/billing/v1/accounts/${encoded}/history`;
32
46
  return this.client.request(path, {
33
47
  context: "fetching billing history",
34
48
  withAuth: false,
@@ -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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"}
@@ -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 { BlobDiagnoseEnvelope, BlobLsOptions, BlobLsResult, BlobPutOptions, BlobPutResult, BlobPutSource, BlobSignOptions, BlobSignResult, BlobWaitFreshOptions, BlobWaitFreshResult } from "./blobs.types.js";
10
+ import type { BlobDiagnoseEnvelope, BlobLsOptions, BlobLsResult, BlobPutOptions, BlobPutResult, BlobPutSource, BlobSignOptions, BlobSignResult, BlobUploadCompleteOptions, BlobUploadCompleteResult, BlobUploadInitOptions, BlobUploadInitResult, BlobUploadStatusResult, 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,21 @@ 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
+ * Initialize a low-level upload session. This is the gateway half of
27
+ * `blobs.put`, exposed for CLI-style resumable streaming uploaders that need
28
+ * to manage local files, part concurrency, and cached session state.
29
+ */
30
+ initUploadSession(projectId: string, opts: BlobUploadInitOptions): Promise<BlobUploadInitResult>;
31
+ /** Fetch a low-level upload session's current status for resumable uploads. */
32
+ getUploadSession(projectId: string, uploadId: string): Promise<BlobUploadStatusResult>;
33
+ /**
34
+ * Complete a low-level upload session and return the same AssetRef shape as
35
+ * `blobs.put`. Single PUT sessions may omit `parts`.
36
+ */
37
+ completeUploadSession(projectId: string, uploadId: string, opts?: BlobUploadCompleteOptions, extra?: {
38
+ contentType?: string;
39
+ }): Promise<BlobUploadCompleteResult>;
25
40
  /**
26
41
  * Diagnose a public blob URL. Returns a JSON envelope describing the live
27
42
  * CDN state (expected vs observed SHA, cache headers, recent invalidation
@@ -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,EAGV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAuO1B,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;IA8GzB;;;;;;;;;;;;;;;;;;;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"}
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,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;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"}
@@ -202,9 +202,6 @@ export class Blobs {
202
202
  * @throws {ProjectNotFound} if `projectId` is not in the provider.
203
203
  */
204
204
  async put(projectId, key, source, opts = {}) {
205
- const project = await this.client.getProject(projectId);
206
- if (!project)
207
- throw new ProjectNotFound(projectId, "uploading blob");
208
205
  // Normalize the polymorphic source shape (GH-126). Bare strings and
209
206
  // Uint8Arrays are accepted as a shorthand for `{ content }` / `{ bytes }`
210
207
  // so callers don't need to know about the wrapper object — every other
@@ -239,21 +236,13 @@ export class Blobs {
239
236
  const immutable = opts.immutable ?? true;
240
237
  const sha256 = immutable ? await sha256Hex(bytes) : undefined;
241
238
  // 1. Init upload — gateway returns presigned S3 URLs for each part.
242
- const init = await this.client.request("/storage/v1/uploads", {
243
- method: "POST",
244
- headers: {
245
- apikey: project.anon_key,
246
- Authorization: `Bearer ${project.anon_key}`,
247
- },
248
- body: {
249
- key,
250
- size_bytes: sizeBytes,
251
- content_type: contentType,
252
- visibility: opts.visibility ?? "public",
253
- immutable,
254
- sha256,
255
- },
256
- context: "initializing upload",
239
+ const init = await this.initUploadSession(projectId, {
240
+ key,
241
+ size_bytes: sizeBytes,
242
+ content_type: contentType,
243
+ visibility: opts.visibility ?? "public",
244
+ immutable,
245
+ sha256,
257
246
  });
258
247
  // 2. PUT each part directly to S3 via the presigned URL.
259
248
  const partEtags = new Array(init.part_count);
@@ -275,20 +264,67 @@ export class Blobs {
275
264
  const completeBody = init.mode === "multipart"
276
265
  ? { parts: partEtags.map((e, i) => ({ part_number: i + 1, etag: `"${e.etag}"` })) }
277
266
  : {};
278
- const completion = await this.client.request(`/storage/v1/uploads/${init.upload_id}/complete`, {
267
+ return this.completeUploadSession(projectId, init.upload_id, completeBody, {
268
+ contentType,
269
+ });
270
+ }
271
+ /**
272
+ * Initialize a low-level upload session. This is the gateway half of
273
+ * `blobs.put`, exposed for CLI-style resumable streaming uploaders that need
274
+ * to manage local files, part concurrency, and cached session state.
275
+ */
276
+ async initUploadSession(projectId, opts) {
277
+ const project = await this.client.getProject(projectId);
278
+ if (!project)
279
+ throw new ProjectNotFound(projectId, "initializing upload");
280
+ return this.client.request("/storage/v1/uploads", {
281
+ method: "POST",
282
+ headers: {
283
+ apikey: project.anon_key,
284
+ Authorization: `Bearer ${project.anon_key}`,
285
+ },
286
+ body: {
287
+ key: opts.key,
288
+ size_bytes: opts.size_bytes,
289
+ content_type: opts.content_type,
290
+ visibility: opts.visibility ?? "public",
291
+ immutable: opts.immutable ?? false,
292
+ ...(opts.sha256 !== undefined ? { sha256: opts.sha256 } : {}),
293
+ },
294
+ context: "initializing upload",
295
+ });
296
+ }
297
+ /** Fetch a low-level upload session's current status for resumable uploads. */
298
+ async getUploadSession(projectId, uploadId) {
299
+ const project = await this.client.getProject(projectId);
300
+ if (!project)
301
+ throw new ProjectNotFound(projectId, "fetching upload session");
302
+ return this.client.request(`/storage/v1/uploads/${encodeURIComponent(uploadId)}`, {
303
+ headers: {
304
+ apikey: project.anon_key,
305
+ Authorization: `Bearer ${project.anon_key}`,
306
+ },
307
+ context: "fetching upload session",
308
+ });
309
+ }
310
+ /**
311
+ * Complete a low-level upload session and return the same AssetRef shape as
312
+ * `blobs.put`. Single PUT sessions may omit `parts`.
313
+ */
314
+ async completeUploadSession(projectId, uploadId, opts = {}, extra = {}) {
315
+ const project = await this.client.getProject(projectId);
316
+ if (!project)
317
+ throw new ProjectNotFound(projectId, "completing upload");
318
+ const completion = await this.client.request(`/storage/v1/uploads/${encodeURIComponent(uploadId)}/complete`, {
279
319
  method: "POST",
280
320
  headers: {
281
321
  apikey: project.anon_key,
282
322
  Authorization: `Bearer ${project.anon_key}`,
283
323
  },
284
- body: completeBody,
324
+ body: opts.parts ? { parts: opts.parts } : {},
285
325
  context: "completing upload",
286
326
  });
287
- // Widen the gateway response into the v1.45 AssetRef return type. Older
288
- // gateway versions don't emit the `cdn` envelope; `buildAssetRef` fills
289
- // safe defaults derived from the SHA + visibility so the SDK surface is
290
- // stable across gateway versions.
291
- return buildAssetRef(completion, contentType);
327
+ return buildAssetRef(completion, extra.contentType ?? completion.content_type ?? "application/octet-stream");
292
328
  }
293
329
  /**
294
330
  * Diagnose a public blob URL. Returns a JSON envelope describing the live