@run402/functions 2.3.0 → 2.4.1

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/assets.d.ts CHANGED
@@ -27,6 +27,25 @@ export interface AssetPutOptions {
27
27
  * `immutableUrl` is null.
28
28
  */
29
29
  immutable?: boolean;
30
+ /**
31
+ * v1.50 — caller-provided per-key metadata persisted to
32
+ * `internal.blobs.metadata`. Flat object; values must be string, number,
33
+ * boolean, or string[]. Nested objects are rejected. Serialized size cap:
34
+ * 4 KB. Validated client-side before any HTTP call so bad shapes surface
35
+ * as `Error` ("INVALID_ASSET_METADATA: …") rather than HTTP 400 round-trips.
36
+ *
37
+ * Last-write-wins on re-upload — omitting `metadata` on a subsequent put
38
+ * for the same key clears any previously-stored metadata.
39
+ */
40
+ metadata?: Record<string, string | number | boolean | string[]>;
41
+ /**
42
+ * v1.50 — EXIF policy applied to the indexed `image_exif` JSONB on
43
+ * `internal.blobs`. `'keep'` (default) stores the full EXIF object;
44
+ * `'strip'` keeps only the allowlist (camera_make / camera_model /
45
+ * lens_model / exposure_time / f_number / iso / focal_length /
46
+ * datetime_*). Original CAS bytes are NEVER mutated under either policy.
47
+ */
48
+ exifPolicy?: "keep" | "strip";
30
49
  }
31
50
  /**
32
51
  * Resolved asset reference. Wire shape matches the AssetRef the SDK's
@@ -61,6 +80,16 @@ export interface AssetVariant {
61
80
  cdn_url: string | null;
62
81
  cdn_immutable_url: string | null;
63
82
  }
83
+ /** v1.50 — descriptive image-intrinsic info. All fields optional; populated
84
+ * only for image uploads (image_format !== null). */
85
+ export interface ImageInfo {
86
+ has_alpha?: boolean;
87
+ color_space?: string;
88
+ animated?: boolean;
89
+ frame_count?: number;
90
+ bit_depth?: number;
91
+ orientation?: number;
92
+ }
64
93
  export interface AssetRef {
65
94
  key: string;
66
95
  sha256: string;
@@ -81,6 +110,22 @@ export interface AssetRef {
81
110
  size: number;
82
111
  contentType: string;
83
112
  contentSha256: string;
113
+ /** Caller-provided per-key metadata (`internal.blobs.metadata` JSONB).
114
+ * `null` when no metadata was supplied at the last upload. */
115
+ metadata?: Record<string, string | number | boolean | string[]> | null;
116
+ /** Bare image format (`internal.blobs.image_format`). One of `'jpeg' |
117
+ * 'png' | 'webp' | 'avif' | 'tiff' | 'svg' | 'bmp' | 'heic'`. `null` for
118
+ * non-images. */
119
+ image_format?: string | null;
120
+ /** Descriptive image-intrinsic fields (`internal.blobs.image_info`). */
121
+ image_info?: ImageInfo | null;
122
+ /** Extracted EXIF tags (`internal.blobs.image_exif`). Snake_case keys,
123
+ * policy-filtered per `image_exif_policy`. `null` when the image has no
124
+ * EXIF or no allowlisted tags survived `'strip'`. */
125
+ image_exif?: Record<string, unknown> | null;
126
+ /** Which EXIF policy was applied at upload (`'keep' | 'strip' | null`).
127
+ * `null` for non-images. */
128
+ image_exif_policy?: "keep" | "strip" | null;
84
129
  /** Display-oriented width (post-EXIF rotate). */
85
130
  width_px?: number;
86
131
  /** Display-oriented height (post-EXIF rotate). */
@@ -121,5 +166,57 @@ export declare const assets: {
121
166
  * deploy-time behavior.
122
167
  */
123
168
  put(key: string, source: AssetPutSourceInput, opts?: AssetPutOptions): Promise<AssetRef>;
169
+ /**
170
+ * v1.50 — list blobs in the project's storage namespace.
171
+ *
172
+ * Defaults: `sort: 'key:asc'`, `limit: 100`. Supply `filter` to constrain
173
+ * results to indexed predicates (uploadedBy, tag, format, isImage, plus
174
+ * dimension ranges). Unknown filter keys throw before the HTTP call.
175
+ *
176
+ * Returns the rows in the order specified by `sort`, with a `next_cursor`
177
+ * for keyset pagination. The cursor is opaque — pass it back as-is on the
178
+ * next call.
179
+ */
180
+ list(opts?: AssetsListOptions): Promise<AssetsListResult>;
124
181
  };
182
+ export type AssetsListSort = "key:asc" | "createdAt:asc" | "createdAt:desc";
183
+ export interface AssetsListFilter {
184
+ uploaded_by?: string;
185
+ tag?: string;
186
+ format?: string;
187
+ is_image?: boolean;
188
+ min_width?: number;
189
+ max_width?: number;
190
+ min_height?: number;
191
+ max_height?: number;
192
+ }
193
+ export interface AssetsListOptions {
194
+ prefix?: string;
195
+ limit?: number;
196
+ cursor?: string;
197
+ sort?: AssetsListSort;
198
+ filter?: AssetsListFilter;
199
+ }
200
+ export interface AssetListRow {
201
+ key: string;
202
+ size_bytes: number;
203
+ content_type: string | null;
204
+ sha256: string | null;
205
+ visibility: AssetVisibility;
206
+ immutable_suffix: string | null;
207
+ created_at: string;
208
+ updated_at: string;
209
+ metadata: Record<string, string | number | boolean | string[]> | null;
210
+ width_px: number | null;
211
+ height_px: number | null;
212
+ blurhash: string | null;
213
+ image_format: string | null;
214
+ image_info: ImageInfo | null;
215
+ image_exif: Record<string, unknown> | null;
216
+ image_exif_policy: "keep" | "strip" | null;
217
+ }
218
+ export interface AssetsListResult {
219
+ blobs: AssetListRow[];
220
+ next_cursor: string | null;
221
+ }
125
222
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC;IACpD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IAOtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;mCAE+B;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;+EAE2E;IAC3E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;sCAEkC;IAClC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,CAAC;CACH;AAoJD,eAAO,MAAM,MAAM;IACjB;;;;;;;;;;;OAWG;aAEI,MAAM,UACH,mBAAmB,SACrB,eAAe,GACpB,OAAO,CAAC,QAAQ,CAAC;CAsCrB,CAAC"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
package/dist/assets.js CHANGED
@@ -132,8 +132,110 @@ function widenAssetRef(raw) {
132
132
  ...(displayUrl !== undefined ? { display_url: displayUrl } : {}),
133
133
  ...(displayImmutableUrl !== undefined ? { display_immutable_url: displayImmutableUrl } : {}),
134
134
  ...(variants !== undefined ? { variants } : {}),
135
+ // v1.50 — pass-through caller metadata + image intrinsics. Gateway
136
+ // omits non-image fields entirely for non-image uploads; we mirror
137
+ // that by emitting `undefined` (omitted slot) rather than `null` for
138
+ // fields the gateway didn't return. The exception is `metadata`,
139
+ // which the gateway always returns (null if the caller supplied none).
140
+ ...(raw.metadata !== undefined
141
+ ? { metadata: raw.metadata }
142
+ : {}),
143
+ ...(raw.image_format !== undefined
144
+ ? { image_format: raw.image_format }
145
+ : {}),
146
+ ...(raw.image_info !== undefined
147
+ ? { image_info: raw.image_info }
148
+ : {}),
149
+ ...(raw.image_exif !== undefined
150
+ ? { image_exif: raw.image_exif }
151
+ : {}),
152
+ ...(raw.image_exif_policy !== undefined
153
+ ? { image_exif_policy: raw.image_exif_policy }
154
+ : {}),
135
155
  };
136
156
  }
157
+ // ---------------------------------------------------------------------------
158
+ // v1.50 — SDK-side metadata + exifPolicy validation. Mirrors the gateway's
159
+ // `services/asset-metadata-validation.ts` exactly so client errors surface
160
+ // before the HTTP call. We deliberately do NOT import from the gateway —
161
+ // `@run402/functions` is bundled into deployed function code and must have
162
+ // zero gateway-package dependencies.
163
+ // ---------------------------------------------------------------------------
164
+ const METADATA_MAX_BYTES = 4096;
165
+ /** Validate caller-supplied metadata. Throws Error("INVALID_ASSET_METADATA: …")
166
+ * on any rule violation. */
167
+ function validateMetadataClientSide(input) {
168
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
169
+ throw new Error("INVALID_ASSET_METADATA: metadata must be a flat JSON object");
170
+ }
171
+ const out = {};
172
+ for (const [key, value] of Object.entries(input)) {
173
+ if (typeof key !== "string" || key.length === 0) {
174
+ throw new Error("INVALID_ASSET_METADATA: metadata keys must be non-empty strings");
175
+ }
176
+ if (value === null || value === undefined)
177
+ continue;
178
+ if (Array.isArray(value)) {
179
+ for (let i = 0; i < value.length; i++) {
180
+ if (typeof value[i] !== "string") {
181
+ throw new Error(`INVALID_ASSET_METADATA: metadata.${key}[${i}] must be a string (no mixed-type arrays)`);
182
+ }
183
+ }
184
+ out[key] = value;
185
+ continue;
186
+ }
187
+ if (typeof value === "object") {
188
+ throw new Error(`INVALID_ASSET_METADATA: metadata.${key} must not be a nested object (flat shape only)`);
189
+ }
190
+ if (typeof value === "number") {
191
+ if (!Number.isFinite(value)) {
192
+ throw new Error(`INVALID_ASSET_METADATA: metadata.${key} number value must be finite`);
193
+ }
194
+ out[key] = value;
195
+ continue;
196
+ }
197
+ if (typeof value === "string" || typeof value === "boolean") {
198
+ out[key] = value;
199
+ continue;
200
+ }
201
+ throw new Error(`INVALID_ASSET_METADATA: metadata.${key} has unsupported value type ${typeof value}`);
202
+ }
203
+ const serialized = JSON.stringify(out);
204
+ // Use UTF-8 byte length (matches the gateway-side Buffer.byteLength check).
205
+ const byteLength = typeof TextEncoder !== "undefined"
206
+ ? new TextEncoder().encode(serialized).byteLength
207
+ : serialized.length;
208
+ if (byteLength > METADATA_MAX_BYTES) {
209
+ throw new Error(`INVALID_ASSET_METADATA: serialized size ${byteLength} bytes exceeds the ${METADATA_MAX_BYTES}-byte cap`);
210
+ }
211
+ return out;
212
+ }
213
+ /** Validate the exifPolicy enum value. Throws on invalid input. */
214
+ function validateExifPolicyClientSide(input) {
215
+ if (input === undefined || input === null || input === "")
216
+ return "keep";
217
+ if (input === "keep" || input === "strip")
218
+ return input;
219
+ throw new Error(`INVALID_EXIF_POLICY: exifPolicy must be 'keep' or 'strip'; got ${JSON.stringify(input)}`);
220
+ }
221
+ /** Encode a validated metadata object as the URL-safe base64 UTF-8 JSON
222
+ * header value the gateway expects on `x-run402-asset-metadata`. */
223
+ function encodeMetadataHeader(metadata) {
224
+ const json = JSON.stringify(metadata);
225
+ if (typeof Buffer !== "undefined") {
226
+ return Buffer.from(json, "utf8").toString("base64url");
227
+ }
228
+ // Browser / older Node fallback (Node 22 has Buffer.base64url natively).
229
+ // btoa works on Latin-1; use TextEncoder + manual base64url for safety.
230
+ const utf8 = new TextEncoder().encode(json);
231
+ let binary = "";
232
+ for (let i = 0; i < utf8.byteLength; i++)
233
+ binary += String.fromCharCode(utf8[i]);
234
+ return btoa(binary)
235
+ .replace(/\+/g, "-")
236
+ .replace(/\//g, "_")
237
+ .replace(/=+$/, "");
238
+ }
137
239
  async function readErrorMessage(res) {
138
240
  const text = await res.text();
139
241
  try {
@@ -169,19 +271,34 @@ export const assets = {
169
271
  const contentType = opts.contentType ?? guessContentType(key);
170
272
  const visibility = opts.visibility ?? "public";
171
273
  const immutable = opts.immutable ?? true;
274
+ // v1.50 — validate metadata + exifPolicy BEFORE the HTTP round-trip so
275
+ // bad client shapes surface as JS Errors with INVALID_ASSET_METADATA /
276
+ // INVALID_EXIF_POLICY codes rather than gateway 400s. Mirrors the
277
+ // gateway-side validator's rules exactly.
278
+ const validatedMetadata = opts.metadata !== undefined
279
+ ? validateMetadataClientSide(opts.metadata)
280
+ : null;
281
+ const exifPolicy = validateExifPolicyClientSide(opts.exifPolicy);
172
282
  // Slice into a fresh ArrayBuffer so the fetch body is a `BufferSource`
173
283
  // (Uint8Array<ArrayBufferLike> stopped matching the DOM `BodyInit` union
174
284
  // when TS 5.7 made TypedArrays generic over their backing buffer).
175
285
  const buf = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
286
+ const headers = {
287
+ Authorization: "Bearer " + config.SERVICE_KEY,
288
+ "Content-Type": contentType,
289
+ "x-run402-asset-key": key,
290
+ "x-run402-asset-visibility": visibility,
291
+ "x-run402-asset-immutable": immutable ? "true" : "false",
292
+ // Always send exif-policy; gateway defaults to 'keep' when absent,
293
+ // but explicit value makes the wire shape self-documenting.
294
+ "x-run402-asset-exif-policy": exifPolicy,
295
+ };
296
+ if (validatedMetadata !== null) {
297
+ headers["x-run402-asset-metadata"] = encodeMetadataHeader(validatedMetadata);
298
+ }
176
299
  const res = await fetch(config.API_BASE + "/apply/v1/service-asset-put", {
177
300
  method: "POST",
178
- headers: {
179
- Authorization: "Bearer " + config.SERVICE_KEY,
180
- "Content-Type": contentType,
181
- "x-run402-asset-key": key,
182
- "x-run402-asset-visibility": visibility,
183
- "x-run402-asset-immutable": immutable ? "true" : "false",
184
- },
301
+ headers,
185
302
  body: buf,
186
303
  });
187
304
  if (!res.ok) {
@@ -190,5 +307,118 @@ export const assets = {
190
307
  const raw = (await res.json());
191
308
  return widenAssetRef(raw);
192
309
  },
310
+ /**
311
+ * v1.50 — list blobs in the project's storage namespace.
312
+ *
313
+ * Defaults: `sort: 'key:asc'`, `limit: 100`. Supply `filter` to constrain
314
+ * results to indexed predicates (uploadedBy, tag, format, isImage, plus
315
+ * dimension ranges). Unknown filter keys throw before the HTTP call.
316
+ *
317
+ * Returns the rows in the order specified by `sort`, with a `next_cursor`
318
+ * for keyset pagination. The cursor is opaque — pass it back as-is on the
319
+ * next call.
320
+ */
321
+ async list(opts = {}) {
322
+ const validatedFilter = validateListFilterClientSide(opts.filter);
323
+ const validatedSort = validateListSortClientSide(opts.sort);
324
+ const params = new URLSearchParams();
325
+ if (opts.prefix !== undefined && opts.prefix !== "") {
326
+ params.set("prefix", opts.prefix);
327
+ }
328
+ if (opts.limit !== undefined) {
329
+ params.set("limit", String(opts.limit));
330
+ }
331
+ if (opts.cursor !== undefined && opts.cursor !== "") {
332
+ params.set("cursor", opts.cursor);
333
+ }
334
+ if (validatedSort !== "key:asc") {
335
+ // Default omitted; explicit non-default sent.
336
+ params.set("sort", validatedSort);
337
+ }
338
+ if (validatedFilter) {
339
+ for (const [k, v] of Object.entries(validatedFilter)) {
340
+ if (v === undefined)
341
+ continue;
342
+ params.set(`filter.${k}`, typeof v === "boolean" ? String(v) : String(v));
343
+ }
344
+ }
345
+ const url = config.API_BASE +
346
+ "/storage/v1/blobs" +
347
+ (params.toString() ? "?" + params.toString() : "");
348
+ const res = await fetch(url, {
349
+ method: "GET",
350
+ headers: { apikey: config.SERVICE_KEY },
351
+ });
352
+ if (!res.ok) {
353
+ throw new Error("Asset list failed (" + res.status + "): " + (await readErrorMessage(res)));
354
+ }
355
+ const json = (await res.json());
356
+ return {
357
+ blobs: json.blobs.map((row) => ({
358
+ key: String(row.key),
359
+ size_bytes: Number(row.size_bytes ?? 0),
360
+ content_type: row.content_type ?? null,
361
+ sha256: row.sha256 ?? null,
362
+ visibility: row.visibility ?? "public",
363
+ immutable_suffix: row.immutable_suffix ?? null,
364
+ created_at: String(row.created_at),
365
+ updated_at: String(row.updated_at),
366
+ metadata: row.metadata ??
367
+ null,
368
+ width_px: row.width_px ?? null,
369
+ height_px: row.height_px ?? null,
370
+ blurhash: row.blurhash ?? null,
371
+ image_format: row.image_format ?? null,
372
+ image_info: row.image_info ?? null,
373
+ image_exif: row.image_exif ?? null,
374
+ image_exif_policy: row.image_exif_policy ?? null,
375
+ })),
376
+ next_cursor: json.next_cursor,
377
+ };
378
+ },
193
379
  };
380
+ const ASSETS_LIST_FILTER_KEYS = [
381
+ "uploaded_by",
382
+ "tag",
383
+ "format",
384
+ "is_image",
385
+ "min_width",
386
+ "max_width",
387
+ "min_height",
388
+ "max_height",
389
+ ];
390
+ function validateListSortClientSide(input) {
391
+ if (input === undefined || input === null || input === "")
392
+ return "key:asc";
393
+ if (input === "key:asc" || input === "createdAt:asc" || input === "createdAt:desc") {
394
+ return input;
395
+ }
396
+ throw new Error(`INVALID_SORT: sort must be one of 'key:asc' | 'createdAt:asc' | 'createdAt:desc'; got ${JSON.stringify(input)}`);
397
+ }
398
+ function validateListFilterClientSide(input) {
399
+ if (input === undefined || input === null)
400
+ return null;
401
+ if (typeof input !== "object" || Array.isArray(input)) {
402
+ throw new Error("INVALID_FILTER_KEY: filter must be an object");
403
+ }
404
+ const allowed = new Set(ASSETS_LIST_FILTER_KEYS);
405
+ for (const key of Object.keys(input)) {
406
+ if (!allowed.has(key)) {
407
+ throw new Error(`INVALID_FILTER_KEY: unknown filter key '${key}'. Allowed: ${ASSETS_LIST_FILTER_KEYS.join(", ")}`);
408
+ }
409
+ }
410
+ // Type narrowing for each key (mirrors the gateway-side parser).
411
+ if (input.is_image !== undefined && typeof input.is_image !== "boolean") {
412
+ throw new Error("INVALID_FILTER_VALUE: filter.is_image must be a boolean");
413
+ }
414
+ for (const dimKey of ["min_width", "max_width", "min_height", "max_height"]) {
415
+ const v = input[dimKey];
416
+ if (v !== undefined) {
417
+ if (typeof v !== "number" || !Number.isFinite(v) || !Number.isInteger(v) || v < 0) {
418
+ throw new Error(`INVALID_FILTER_VALUE: filter.${dimKey} must be a non-negative integer; got ${JSON.stringify(v)}`);
419
+ }
420
+ }
421
+ }
422
+ return input;
423
+ }
194
424
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export type { EmailSendOptions, EmailRawOptions, EmailTemplateOptions, EmailSend
6
6
  export { ai } from "./ai.js";
7
7
  export type { GenerateImageOptions, GenerateImageResult, ImageAspect, TranslateOptions, TranslateResult, ModerateResult, } from "./ai.js";
8
8
  export { assets } from "./assets.js";
9
- export type { AssetPutOptions, AssetPutSource, AssetPutSourceInput, AssetRef, AssetVisibility, } from "./assets.js";
9
+ export type { AssetPutOptions, AssetPutSource, AssetPutSourceInput, AssetRef, AssetVisibility, AssetVariant, AssetListRow, AssetsListFilter, AssetsListOptions, AssetsListResult, AssetsListSort, ImageInfo, } from "./assets.js";
10
10
  export { bytes, isRequest, json, routedHttp, text } from "./routed-http.js";
11
11
  export type { RoutedHttpHeaderList, RoutedHttpRequestV1, RoutedHttpResponseInit, RoutedHttpResponseV1, } from "./routed-http.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,YAAY,EAEZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAS7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAS7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgBrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC"}
@@ -31,6 +31,27 @@ export interface RoutedHttpRequestV1 {
31
31
  requestId: string;
32
32
  clientIp?: string;
33
33
  userAgent?: string;
34
+ /** Capability `routed-locale-context`. Canonical locale tag (byte-
35
+ * identical to an entry in the active release's `i18n.locales[]`)
36
+ * when the release declares an i18n slice, `null` otherwise.
37
+ *
38
+ * **User functions read this via REQUEST HEADERS, not via `event.context`.**
39
+ * The bundled `@run402/functions` runtime translates the routed envelope
40
+ * into a Web-standard `Request` before calling user code, dropping
41
+ * `event.context`. The gateway also adds `x-run402-locale` to the
42
+ * forwarded request headers, alongside `x-run402-project-id` etc.:
43
+ * `const locale = req.headers.get('x-run402-locale');`
44
+ *
45
+ * This `context.locale` field is preserved for raw-envelope consumers
46
+ * (custom Lambda runtimes that bypass `buildEntryWrapper`). OPTIONAL on
47
+ * the type: gateways predating 2.3.0 / releases without `spec.i18n`
48
+ * omit this field entirely. Read as `event.context.locale ?? null`. */
49
+ locale?: string | null;
50
+ /** Echoed verbatim from the active release's `i18n.defaultLocale`,
51
+ * `null` when the release has no i18n slice. Same access rules as
52
+ * `locale`: user functions read `req.headers.get('x-run402-default-locale')`;
53
+ * raw-envelope consumers read `event.context.defaultLocale ?? null`. */
54
+ defaultLocale?: string | null;
34
55
  };
35
56
  }
36
57
  export interface RoutedHttpResponseV1 {
@@ -1 +1 @@
1
- {"version":3,"file":"routed-http.d.ts","sourceRoot":"","sources":["../src/routed-http.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,IAAI,GAAG;QACX,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC9B,WAAW,EAAE;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG;QACZ,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAMtB;AAED,wBAAgB,IAAI,CAClB,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAMtB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAEtB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAEtE;AAED,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC"}
1
+ {"version":3,"file":"routed-http.d.ts","sourceRoot":"","sources":["../src/routed-http.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,IAAI,GAAG;QACX,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC9B,WAAW,EAAE;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;;;;;;;;;;gFAcwE;QACxE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB;;;iFAGyE;QACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG;QACZ,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAMtB;AAED,wBAAgB,IAAI,CAClB,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAMtB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,sBAA2B,GAChC,oBAAoB,CAEtB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAEtE;AAED,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routed-http.js","sourceRoot":"","sources":["../src/routed-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmDrC,MAAM,UAAU,IAAI,CAClB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;QACzC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QAC1E,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,KAAc,EACd,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC;QAChF,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,KAAiB,EACjB,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;CACV,CAAC;AAEF,SAAS,QAAQ,CACf,KAAiB,EACjB,IAA4B;IAE5B,MAAM,SAAS,GAAG,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAyB;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG;QAC1B,IAAI,EAAE;YACJ,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClC,IAAI,EAAE,SAAS,CAAC,UAAU;SAC3B;KACF,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAyC,EACzC,WAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;IACnF,IAAI,CAAC,cAAc;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"routed-http.js","sourceRoot":"","sources":["../src/routed-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwErC,MAAM,UAAU,IAAI,CAClB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;QACzC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QAC1E,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,KAAc,EACd,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC;QAChF,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,KAAiB,EACjB,OAA+B,EAAE;IAEjC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;CACV,CAAC;AAEF,SAAS,QAAQ,CACf,KAAiB,EACjB,IAA4B;IAE5B,MAAM,SAAS,GAAG,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAyB;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG;QAC1B,IAAI,EAAE;YACJ,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClC,IAAI,EAAE,SAAS,CAAC,UAAU;SAC3B;KACF,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAyC,EACzC,WAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;IACnF,IAAI,CAAC,cAAc;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@run402/functions",
3
- "version": "2.3.0",
3
+ "version": "2.4.1",
4
4
  "description": "In-function helper library for Run402 serverless functions — db, adminDb, getUser, email, ai, assets. Auto-bundled into deployed functions; also installable for local TypeScript autocomplete.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",