@depup/uploadthing 7.7.4-depup.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.
Files changed (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/changes.json +18 -0
  4. package/client/index.cjs +331 -0
  5. package/client/index.d.cts +36 -0
  6. package/client/index.d.cts.map +1 -0
  7. package/client/index.d.ts +36 -0
  8. package/client/index.d.ts.map +1 -0
  9. package/client/index.js +286 -0
  10. package/client/index.js.map +1 -0
  11. package/client-future/index.cjs +426 -0
  12. package/client-future/index.d.cts +373 -0
  13. package/client-future/index.d.cts.map +1 -0
  14. package/client-future/index.d.ts +373 -0
  15. package/client-future/index.d.ts.map +1 -0
  16. package/client-future/index.js +383 -0
  17. package/client-future/index.js.map +1 -0
  18. package/dist/chunk-CUT6urMc.cjs +30 -0
  19. package/dist/deprecations-DPGpmqha.cjs +13 -0
  20. package/dist/deprecations-pLmw6Ytd.js +8 -0
  21. package/dist/deprecations-pLmw6Ytd.js.map +1 -0
  22. package/dist/package-BQ_k22T9.cjs +11 -0
  23. package/dist/package-DpScpvTA.js +6 -0
  24. package/dist/package-DpScpvTA.js.map +1 -0
  25. package/dist/shared-schemas-BmG5ARoX.js +82 -0
  26. package/dist/shared-schemas-BmG5ARoX.js.map +1 -0
  27. package/dist/shared-schemas-CG9VaBtT.cjs +129 -0
  28. package/dist/to-web-request-BQtxSXgE.cjs +98 -0
  29. package/dist/to-web-request-DhP0wXG-.js +87 -0
  30. package/dist/to-web-request-DhP0wXG-.js.map +1 -0
  31. package/dist/types-Bs3w2d_3.d.ts +627 -0
  32. package/dist/types-Bs3w2d_3.d.ts.map +1 -0
  33. package/dist/types-DiVC1t2V.d.cts +625 -0
  34. package/dist/types-DiVC1t2V.d.cts.map +1 -0
  35. package/dist/upload-builder-BUa7tovh.d.cts +32 -0
  36. package/dist/upload-builder-BUa7tovh.d.cts.map +1 -0
  37. package/dist/upload-builder-BcFawEj0.d.ts +32 -0
  38. package/dist/upload-builder-BcFawEj0.d.ts.map +1 -0
  39. package/dist/upload-builder-BlFOAnsv.js +699 -0
  40. package/dist/upload-builder-BlFOAnsv.js.map +1 -0
  41. package/dist/upload-builder-D6Ken9H0.cjs +794 -0
  42. package/dist/ut-reporter-BHoyNnzW.cjs +120 -0
  43. package/dist/ut-reporter-Dlppchbx.js +103 -0
  44. package/dist/ut-reporter-Dlppchbx.js.map +1 -0
  45. package/effect-platform/index.cjs +22 -0
  46. package/effect-platform/index.d.cts +54 -0
  47. package/effect-platform/index.d.cts.map +1 -0
  48. package/effect-platform/index.d.ts +54 -0
  49. package/effect-platform/index.d.ts.map +1 -0
  50. package/effect-platform/index.js +19 -0
  51. package/effect-platform/index.js.map +1 -0
  52. package/express/index.cjs +30 -0
  53. package/express/index.d.cts +28 -0
  54. package/express/index.d.cts.map +1 -0
  55. package/express/index.d.ts +28 -0
  56. package/express/index.d.ts.map +1 -0
  57. package/express/index.js +27 -0
  58. package/express/index.js.map +1 -0
  59. package/fastify/index.cjs +27 -0
  60. package/fastify/index.d.cts +28 -0
  61. package/fastify/index.d.cts.map +1 -0
  62. package/fastify/index.d.ts +28 -0
  63. package/fastify/index.d.ts.map +1 -0
  64. package/fastify/index.js +24 -0
  65. package/fastify/index.js.map +1 -0
  66. package/h3/index.cjs +20 -0
  67. package/h3/index.d.cts +28 -0
  68. package/h3/index.d.cts.map +1 -0
  69. package/h3/index.d.ts +28 -0
  70. package/h3/index.d.ts.map +1 -0
  71. package/h3/index.js +17 -0
  72. package/h3/index.js.map +1 -0
  73. package/next/index.cjs +22 -0
  74. package/next/index.d.cts +30 -0
  75. package/next/index.d.cts.map +1 -0
  76. package/next/index.d.ts +30 -0
  77. package/next/index.d.ts.map +1 -0
  78. package/next/index.js +19 -0
  79. package/next/index.js.map +1 -0
  80. package/next-legacy/index.cjs +28 -0
  81. package/next-legacy/index.d.cts +28 -0
  82. package/next-legacy/index.d.cts.map +1 -0
  83. package/next-legacy/index.d.ts +28 -0
  84. package/next-legacy/index.d.ts.map +1 -0
  85. package/next-legacy/index.js +25 -0
  86. package/next-legacy/index.js.map +1 -0
  87. package/package.json +210 -0
  88. package/remix/index.cjs +22 -0
  89. package/remix/index.d.cts +30 -0
  90. package/remix/index.d.cts.map +1 -0
  91. package/remix/index.d.ts +30 -0
  92. package/remix/index.d.ts.map +1 -0
  93. package/remix/index.js +19 -0
  94. package/remix/index.js.map +1 -0
  95. package/server/index.cjs +414 -0
  96. package/server/index.d.cts +211 -0
  97. package/server/index.d.cts.map +1 -0
  98. package/server/index.d.ts +213 -0
  99. package/server/index.d.ts.map +1 -0
  100. package/server/index.js +405 -0
  101. package/server/index.js.map +1 -0
  102. package/tw/index.cjs +70 -0
  103. package/tw/index.d.cts +29 -0
  104. package/tw/index.d.cts.map +1 -0
  105. package/tw/index.d.ts +29 -0
  106. package/tw/index.d.ts.map +1 -0
  107. package/tw/index.js +74 -0
  108. package/tw/index.js.map +1 -0
  109. package/tw/v4.css +11 -0
  110. package/types/index.cjs +3 -0
  111. package/types/index.d.cts +2 -0
  112. package/types/index.d.ts +2 -0
  113. package/types/index.js +3 -0
@@ -0,0 +1,625 @@
1
+ import { ACL, ContentDisposition, Either, EndpointMetadata, ErrorMessage, ExpandedRouteConfig as ExpandedRouteConfig$1, ExtendObjectIf, FetchEsque, FileRouterInputConfig, Json, JsonObject, MaybePromise, MaybeUrl, RouteOptions, SerializedUploadThingError, Simplify, Time, UploadThingError } from "@uploadthing/shared";
2
+ import * as LogLevel from "effect/LogLevel";
3
+ import * as Config from "effect/Config";
4
+ import * as Schema$1 from "effect/Schema";
5
+ import { Schema } from "effect/Schema";
6
+ import * as Standard from "@standard-schema/spec";
7
+ import { Blob as Blob$1 } from "buffer";
8
+
9
+ //#region src/_internal/logger.d.ts
10
+
11
+ declare const LogFormat: Config.Config<"json" | "logFmt" | "structured" | "pretty">;
12
+ type LogFormat = Config.Config.Success<typeof LogFormat>;
13
+ //#endregion
14
+ //#region src/_internal/parser.d.ts
15
+ type ParseFn<TType> = (input: unknown) => Promise<TType>;
16
+ type ParserZodEsque<TInput extends Json, TParsedInput> = {
17
+ _input: TInput;
18
+ _output: TParsedInput;
19
+ parseAsync: ParseFn<TParsedInput>;
20
+ };
21
+ type JsonParser<In extends Json, Out = In> = ParserZodEsque<In, Out> | Standard.StandardSchemaV1<In, Out> | Schema$1.Schema<Out, In>;
22
+ //#endregion
23
+ //#region src/_internal/shared-schemas.d.ts
24
+ declare const UploadThingToken: Schema$1.transform<Schema$1.transform<Schema$1.Schema<Uint8Array<ArrayBufferLike>, string, never>, Schema$1.transform<typeof Schema$1.Uint8ArrayFromSelf, typeof Schema$1.String>>, Schema$1.transform<Schema$1.SchemaClass<unknown, string, never>, Schema$1.Struct<{
25
+ apiKey: Schema$1.Redacted<Schema$1.filter<typeof Schema$1.String>>;
26
+ appId: typeof Schema$1.String;
27
+ regions: Schema$1.NonEmptyArray<typeof Schema$1.String>;
28
+ ingestHost: Schema$1.optionalWith<typeof Schema$1.String, {
29
+ default: () => string;
30
+ }>;
31
+ }>>>;
32
+ declare const FileUploadData_base: Schema$1.Class<FileUploadData, {
33
+ name: typeof Schema$1.String;
34
+ size: typeof Schema$1.Number;
35
+ type: typeof Schema$1.String;
36
+ lastModified: Schema$1.optional<typeof Schema$1.Number>;
37
+ }, Schema$1.Struct.Encoded<{
38
+ name: typeof Schema$1.String;
39
+ size: typeof Schema$1.Number;
40
+ type: typeof Schema$1.String;
41
+ lastModified: Schema$1.optional<typeof Schema$1.Number>;
42
+ }>, never, {
43
+ readonly name: string;
44
+ } & {
45
+ readonly size: number;
46
+ } & {
47
+ readonly type: string;
48
+ } & {
49
+ readonly lastModified?: number | undefined;
50
+ }, {}, {}>;
51
+ /**
52
+ * =============================================================================
53
+ * ======================== File Type Hierarchy ===============================
54
+ * =============================================================================
55
+ */
56
+ /**
57
+ * Properties from the web File object, this is what the client sends when initiating an upload
58
+ */
59
+ declare class FileUploadData extends FileUploadData_base {}
60
+ declare const FileUploadDataWithCustomId_base: Schema$1.Class<FileUploadDataWithCustomId, {
61
+ name: typeof Schema$1.String;
62
+ size: typeof Schema$1.Number;
63
+ type: typeof Schema$1.String;
64
+ lastModified: Schema$1.optional<typeof Schema$1.Number>;
65
+ } & {
66
+ customId: Schema$1.NullOr<typeof Schema$1.String>;
67
+ }, {
68
+ readonly name: string;
69
+ readonly size: number;
70
+ readonly type: string;
71
+ } & {
72
+ readonly lastModified?: number | undefined;
73
+ } & {
74
+ readonly customId: string | null;
75
+ } & {}, never, {
76
+ readonly name: string;
77
+ } & {
78
+ readonly size: number;
79
+ } & {
80
+ readonly type: string;
81
+ } & {
82
+ readonly lastModified?: number | undefined;
83
+ } & {
84
+ readonly customId: string | null;
85
+ }, FileUploadData, {}>;
86
+ /**
87
+ * `.middleware()` can add a customId to the incoming file data
88
+ */
89
+ declare class FileUploadDataWithCustomId extends FileUploadDataWithCustomId_base {}
90
+ declare const UploadedFileData_base: Schema$1.Class<UploadedFileData, {
91
+ name: typeof Schema$1.String;
92
+ size: typeof Schema$1.Number;
93
+ type: typeof Schema$1.String;
94
+ lastModified: Schema$1.optional<typeof Schema$1.Number>;
95
+ } & {
96
+ customId: Schema$1.NullOr<typeof Schema$1.String>;
97
+ } & {
98
+ key: typeof Schema$1.String;
99
+ /**
100
+ * @deprecated
101
+ * This field will be removed in uploadthing v9. Use `ufsUrl` instead.
102
+ */
103
+ url: typeof Schema$1.String;
104
+ /**
105
+ * @deprecated
106
+ * This field will be removed in uploadthing v9. Use `ufsUrl` instead.
107
+ */
108
+ appUrl: typeof Schema$1.String;
109
+ ufsUrl: typeof Schema$1.String;
110
+ fileHash: typeof Schema$1.String;
111
+ }, {
112
+ readonly name: string;
113
+ readonly size: number;
114
+ readonly type: string;
115
+ } & {
116
+ readonly lastModified?: number | undefined;
117
+ } & {
118
+ readonly customId: string | null;
119
+ } & {} & {
120
+ readonly url: string;
121
+ readonly key: string;
122
+ readonly appUrl: string;
123
+ readonly ufsUrl: string;
124
+ readonly fileHash: string;
125
+ } & {}, never, {
126
+ readonly name: string;
127
+ } & {
128
+ readonly size: number;
129
+ } & {
130
+ readonly type: string;
131
+ } & {
132
+ readonly lastModified?: number | undefined;
133
+ } & {
134
+ readonly customId: string | null;
135
+ } & {
136
+ readonly url: string;
137
+ } & {
138
+ readonly key: string;
139
+ } & {
140
+ readonly appUrl: string;
141
+ } & {
142
+ readonly ufsUrl: string;
143
+ } & {
144
+ readonly fileHash: string;
145
+ }, FileUploadDataWithCustomId, {}>;
146
+ /**
147
+ * When files are uploaded, we get back
148
+ * - a key
149
+ * - URLs for the file
150
+ * - the hash (md5-hex) of the uploaded file's contents
151
+ */
152
+ declare class UploadedFileData extends UploadedFileData_base {}
153
+ /**
154
+ * When the client has uploaded a file and polled for data returned by `.onUploadComplete()`
155
+ */
156
+ interface ClientUploadedFileData<T> extends UploadedFileData {
157
+ /**
158
+ * Matches what's returned from the serverside `onUploadComplete` callback
159
+ */
160
+ readonly serverData: T;
161
+ }
162
+ declare const NewPresignedUrl_base: Schema$1.Class<NewPresignedUrl, {
163
+ url: typeof Schema$1.String;
164
+ key: typeof Schema$1.String;
165
+ customId: Schema$1.NullOr<typeof Schema$1.String>;
166
+ name: typeof Schema$1.String;
167
+ }, Schema$1.Struct.Encoded<{
168
+ url: typeof Schema$1.String;
169
+ key: typeof Schema$1.String;
170
+ customId: Schema$1.NullOr<typeof Schema$1.String>;
171
+ name: typeof Schema$1.String;
172
+ }>, never, {
173
+ readonly url: string;
174
+ } & {
175
+ readonly name: string;
176
+ } & {
177
+ readonly customId: string | null;
178
+ } & {
179
+ readonly key: string;
180
+ }, {}, {}>;
181
+ /**
182
+ * =============================================================================
183
+ * ======================== Server Response Schemas ============================
184
+ * =============================================================================
185
+ */
186
+ declare class NewPresignedUrl extends NewPresignedUrl_base {}
187
+ declare const UploadActionPayload_base: Schema$1.Class<UploadActionPayload, {
188
+ files: Schema$1.Array$<typeof FileUploadData>;
189
+ input: Schema$1.Schema<Json>;
190
+ }, Schema$1.Struct.Encoded<{
191
+ files: Schema$1.Array$<typeof FileUploadData>;
192
+ input: Schema$1.Schema<Json>;
193
+ }>, never, {
194
+ readonly input: Json;
195
+ } & {
196
+ readonly files: readonly FileUploadData[];
197
+ }, {}, {}>;
198
+ /**
199
+ * =============================================================================
200
+ * ======================== Client Action Payloads ============================
201
+ * =============================================================================
202
+ */
203
+ declare class UploadActionPayload extends UploadActionPayload_base {}
204
+ //#endregion
205
+ //#region src/_internal/types.d.ts
206
+ type UTRegionAlias = "bom1" | "icn1" | "syd1" | "can1" | "fra1" | "zrh1" | "dub1" | "cle1" | "sfo1" | "sea1";
207
+ /**
208
+ * Marker used to select the region based on the incoming request
209
+ */
210
+ declare const UTRegion: unique symbol;
211
+ /**
212
+ * Marker used to append a `customId` to the incoming file data in `.middleware()`
213
+ * @example
214
+ * ```ts
215
+ * .middleware((opts) => {
216
+ * return {
217
+ * [UTFiles]: opts.files.map((file) => ({
218
+ * ...file,
219
+ * customId: generateId(),
220
+ * }))
221
+ * };
222
+ * })
223
+ * ```
224
+ */
225
+ declare const UTFiles: unique symbol;
226
+ type UnsetMarker = "unsetMarker" & {
227
+ __brand: "unsetMarker";
228
+ };
229
+ type ValidMiddlewareObject = {
230
+ [UTRegion]?: UTRegionAlias;
231
+ [UTFiles]?: Partial<FileUploadDataWithCustomId>[];
232
+ [key: string]: unknown;
233
+ };
234
+ interface AnyParams {
235
+ _routeOptions: any;
236
+ _input: {
237
+ in: any;
238
+ out: any;
239
+ };
240
+ _metadata: any;
241
+ _adapterFnArgs: Record<string, unknown>;
242
+ _errorShape: any;
243
+ _errorFn: any;
244
+ _output: any;
245
+ }
246
+ type MiddlewareFn<TInput extends Json | UnsetMarker, TOutput extends ValidMiddlewareObject, TArgs extends Record<string, unknown>> = (opts: TArgs & {
247
+ files: Schema.Type<typeof UploadActionPayload>["files"];
248
+ input: TInput extends UnsetMarker ? undefined : TInput;
249
+ }) => MaybePromise<TOutput>;
250
+ type UploadCompleteFn<TMetadata, TOutput extends JsonObject | void, TArgs extends Record<string, unknown>> = (opts: TArgs & {
251
+ metadata: TMetadata;
252
+ file: UploadedFileData;
253
+ }) => MaybePromise<TOutput>;
254
+ type UploadErrorFn<TArgs extends Record<string, unknown>> = (input: TArgs & {
255
+ error: UploadThingError;
256
+ fileKey: string;
257
+ }) => MaybePromise<void>;
258
+ interface UploadBuilder<TParams extends AnyParams> {
259
+ input: <TIn extends Json, TOut>(parser: TParams["_input"]["in"] extends UnsetMarker ? JsonParser<TIn, TOut> : ErrorMessage<"input is already set">) => UploadBuilder<{
260
+ _routeOptions: TParams["_routeOptions"];
261
+ _input: {
262
+ in: TIn;
263
+ out: TOut;
264
+ };
265
+ _metadata: TParams["_metadata"];
266
+ _adapterFnArgs: TParams["_adapterFnArgs"];
267
+ _errorShape: TParams["_errorShape"];
268
+ _errorFn: TParams["_errorFn"];
269
+ _output: UnsetMarker;
270
+ }>;
271
+ middleware: <TOutput extends ValidMiddlewareObject>(fn: TParams["_metadata"] extends UnsetMarker ? MiddlewareFn<TParams["_input"]["out"], TOutput, TParams["_adapterFnArgs"]> : ErrorMessage<"middleware is already set">) => UploadBuilder<{
272
+ _routeOptions: TParams["_routeOptions"];
273
+ _input: TParams["_input"];
274
+ _metadata: TOutput;
275
+ _adapterFnArgs: TParams["_adapterFnArgs"];
276
+ _errorShape: TParams["_errorShape"];
277
+ _errorFn: TParams["_errorFn"];
278
+ _output: UnsetMarker;
279
+ }>;
280
+ onUploadError: (fn: TParams["_errorFn"] extends UnsetMarker ? UploadErrorFn<TParams["_adapterFnArgs"]> : ErrorMessage<"onUploadError is already set">) => UploadBuilder<{
281
+ _routeOptions: TParams["_routeOptions"];
282
+ _input: TParams["_input"];
283
+ _metadata: TParams["_metadata"];
284
+ _adapterFnArgs: TParams["_adapterFnArgs"];
285
+ _errorShape: TParams["_errorShape"];
286
+ _errorFn: UploadErrorFn<TParams["_adapterFnArgs"]>;
287
+ _output: UnsetMarker;
288
+ }>;
289
+ onUploadComplete: <TOutput extends JsonObject | void>(fn: UploadCompleteFn<Simplify<TParams["_metadata"] extends UnsetMarker ? undefined : Omit<TParams["_metadata"], typeof UTFiles | typeof UTRegion>>, TOutput, TParams["_adapterFnArgs"]>) => FileRoute<{
290
+ input: TParams["_input"]["in"] extends UnsetMarker ? undefined : TParams["_input"]["in"];
291
+ output: TParams["_routeOptions"]["awaitServerData"] extends false ? null : TOutput extends void | undefined ? null : TOutput;
292
+ errorShape: TParams["_errorShape"];
293
+ }>;
294
+ }
295
+ type AnyBuiltUploaderTypes = {
296
+ input: any;
297
+ output: any;
298
+ errorShape: any;
299
+ };
300
+ interface FileRoute<TTypes extends AnyBuiltUploaderTypes> {
301
+ $types: TTypes;
302
+ routerConfig: FileRouterInputConfig;
303
+ routeOptions: RouteOptions;
304
+ inputParser: JsonParser<any>;
305
+ middleware: MiddlewareFn<any, ValidMiddlewareObject, any>;
306
+ onUploadError: UploadErrorFn<any>;
307
+ errorFormatter: (err: UploadThingError) => any;
308
+ onUploadComplete: UploadCompleteFn<any, any, any>;
309
+ }
310
+ type AnyFileRoute = FileRoute<AnyBuiltUploaderTypes>;
311
+ /**
312
+ * Map actionType to the required payload for that action
313
+ * @todo Look into using @effect/rpc :thinking:
314
+ */
315
+ //#endregion
316
+ //#region src/sdk/types.d.ts
317
+ interface UTApiOptions {
318
+ /**
319
+ * Provide a custom fetch function.
320
+ * @default globalThis.fetch
321
+ */
322
+ fetch?: FetchEsque;
323
+ /**
324
+ * Provide a custom UploadThing token
325
+ * @default process.env.UPLOADTHING_TOKEN
326
+ */
327
+ token?: string;
328
+ /**
329
+ * @default "info"
330
+ */
331
+ logLevel?: LogLevel.Literal;
332
+ /**
333
+ * What format log entries should be in
334
+ * @default "pretty" in development, else "json"
335
+ * @see https://effect.website/docs/guides/observability/logging#built-in-loggers
336
+ */
337
+ logFormat?: Config.Config.Success<typeof LogFormat>;
338
+ /**
339
+ * Set the default key type for file operations. Allows you to set your preferred filter
340
+ * for file keys or custom identifiers without needing to specify it on every call.
341
+ * @default "fileKey"
342
+ */
343
+ defaultKeyType?: "fileKey" | "customId";
344
+ /**
345
+ * URL override for the API server
346
+ */
347
+ apiUrl?: string;
348
+ /**
349
+ * URL override for the ingest server
350
+ */
351
+ ingestUrl?: string;
352
+ /**
353
+ * Hostname override for the CDN hosting the files
354
+ * @default "ufs.sh"
355
+ */
356
+ ufsHost?: string;
357
+ /**
358
+ * Where to put the appId in the URL.
359
+ * @default "subdomain"
360
+ */
361
+ ufsAppIdLocation?: "subdomain" | "path";
362
+ }
363
+ type UrlWithOverrides = {
364
+ url: MaybeUrl;
365
+ name?: string;
366
+ customId?: string;
367
+ };
368
+ type BlobEsque = Blob$1 | Blob;
369
+ type FileEsque = BlobEsque & {
370
+ name: string;
371
+ lastModified?: number;
372
+ customId?: string | null | undefined;
373
+ };
374
+ interface UploadFilesOptions$1 {
375
+ contentDisposition?: ContentDisposition;
376
+ acl?: ACL;
377
+ /**
378
+ * AbortSignal that can be used to cancel the upload
379
+ */
380
+ signal?: AbortSignal;
381
+ /**
382
+ * The number of files to upload concurrently. Must be a positive integer between 1 and 25.
383
+ * @default 1
384
+ */
385
+ concurrency?: number;
386
+ }
387
+ type UploadFileResult = Either<UploadedFileData, SerializedUploadThingError>;
388
+ interface KeyTypeOptionsBase {
389
+ /**
390
+ * Whether the provided key is a fileKey or a custom identifier. fileKey is the
391
+ * identifier you get from UploadThing after uploading a file, customId is a
392
+ * custom identifier you provided when uploading a file.
393
+ * @default fileKey
394
+ */
395
+ keyType?: "fileKey" | "customId";
396
+ }
397
+ interface DeleteFilesOptions extends KeyTypeOptionsBase {}
398
+ interface GetFileUrlsOptions extends KeyTypeOptionsBase {}
399
+ interface ListFilesOptions {
400
+ limit?: number;
401
+ offset?: number;
402
+ }
403
+ type KeyRename = {
404
+ fileKey: string;
405
+ newName: string;
406
+ };
407
+ type CustomIdRename = {
408
+ customId: string;
409
+ newName: string;
410
+ };
411
+ type RenameFileUpdate = KeyRename | CustomIdRename;
412
+ interface GenerateSignedURLOptions {
413
+ /**
414
+ * How long the URL will be valid for.
415
+ * - Must be positive and less than 7 days (604800 seconds).
416
+ * @default 5min
417
+ */
418
+ expiresIn?: Time;
419
+ }
420
+ interface GetSignedURLOptions extends KeyTypeOptionsBase {
421
+ /**
422
+ * How long the URL will be valid for.
423
+ * - Must be positive and less than 7 days (604800 seconds).
424
+ * - You must accept overrides on the UploadThing dashboard for this option to be accepted.
425
+ * @default app default on UploadThing dashboard
426
+ */
427
+ expiresIn?: Time;
428
+ }
429
+ interface ACLUpdateOptions extends KeyTypeOptionsBase {}
430
+ //#endregion
431
+ //#region src/types.d.ts
432
+ type FileRouter = Record<string, AnyFileRoute>;
433
+ type inferEndpointInput<TFileRoute extends AnyFileRoute> = TFileRoute["$types"]["input"];
434
+ type inferEndpointOutput<TFileRoute extends AnyFileRoute> = TFileRoute["$types"]["output"];
435
+ type inferErrorShape<TFileRoute extends AnyFileRoute> = TFileRoute["$types"]["errorShape"];
436
+ type RouteHandlerConfig = {
437
+ logLevel?: LogLevel.Literal;
438
+ /**
439
+ * What format log entries should be in
440
+ * @default "pretty" in development, else "json"
441
+ * @see https://effect.website/docs/guides/observability/logging#built-in-loggers
442
+ */
443
+ logFormat?: LogFormat;
444
+ /**
445
+ * The full, absolute URL to where your route handler is hosted. UploadThing
446
+ * attempts to automatically detect this value based on the request URL and
447
+ * headers. You can override this if the automatic detection fails.
448
+ * @example URL { https://www.example.com/api/uploadthing }
449
+ */
450
+ callbackUrl?: string;
451
+ token?: string;
452
+ /**
453
+ * Used to determine whether to run dev hook or not
454
+ * @default `env.NODE_ENV === "development" || env.NODE_ENV === "dev"`
455
+ */
456
+ isDev?: boolean;
457
+ /**
458
+ * Used to override the fetch implementation
459
+ * @default `globalThis.fetch`
460
+ */
461
+ fetch?: FetchEsque;
462
+ /**
463
+ * Set how UploadThing should handle the daemon promise before returning a response to the client.
464
+ * You can also provide a synchronous function that will be called before returning a response to
465
+ * the client. This can be useful for things like:
466
+ * - [`@vercel/functions.waitUntil`](https://vercel.com/docs/functions/functions-api-reference#waituntil)
467
+ * - [`next/after`](https://nextjs.org/blog/next-15-rc#executing-code-after-a-response-with-nextafter-experimental)
468
+ * - or equivalent function from your serverless infrastructure provider that allows asynchronous streaming
469
+ * If deployed on a stateful server, you most likely want "void" to run the daemon in the background.
470
+ * @remarks - `"await"` is not allowed in development environments
471
+ * @default isDev === true ? "void" : "await"
472
+ */
473
+ handleDaemonPromise?: "void" | "await" | ((promise: Promise<unknown>) => void);
474
+ /**
475
+ * URL override for the ingest server
476
+ */
477
+ ingestUrl?: string;
478
+ };
479
+ type RouteHandlerOptions<TRouter extends FileRouter> = {
480
+ router: TRouter;
481
+ config?: RouteHandlerConfig;
482
+ };
483
+ type UploadFilesOptions<TFileRoute extends AnyFileRoute> = {
484
+ /**
485
+ * The files to upload
486
+ */
487
+ files: File[];
488
+ /**
489
+ * An AbortSignal to cancel the upload
490
+ * Calling `abort()` on the parent AbortController will
491
+ * cause this function to throw an `UploadAbortedError`
492
+ */
493
+ signal?: AbortSignal | undefined;
494
+ /**
495
+ * Called when presigned URLs have been retrieved and the file upload is about to begin
496
+ */
497
+ onUploadBegin?: ((opts: {
498
+ file: string;
499
+ }) => void) | undefined;
500
+ /**
501
+ * Called continuously as the file is uploaded to the storage provider
502
+ */
503
+ onUploadProgress?: ((opts: {
504
+ /** The file that triggered the progress event */
505
+ file: File;
506
+ /** Percentage of the file that has been uploaded */
507
+ progress: number;
508
+ /** Total bytes of the file that has been uploaded */
509
+ loaded: number;
510
+ /** How many bytes have been uploaded since the last progress event for this file */
511
+ delta: number;
512
+ /** Total bytes uploaded for all files in this upload */
513
+ totalLoaded: number;
514
+ /** Percentage of the total loaded bytes for the upload */
515
+ totalProgress: number;
516
+ }) => void) | undefined;
517
+ /**
518
+ * This option has been moved to your serverside route config.
519
+ * Please opt-in by setting `awaitServerData: false` in your route
520
+ * config instead.
521
+ * ### Example
522
+ * ```ts
523
+ * f(
524
+ * { image: { maxFileSize: "1MB" } },
525
+ * { awaitServerData: false }
526
+ * ).middleware(...)
527
+ * ```
528
+ * @deprecated
529
+ * @see https://docs.uploadthing.com/api-reference/server#route-options
530
+ */
531
+ skipPolling?: ErrorMessage<"This option has been moved to your serverside route config. Please use `awaitServerData` in your route config instead.">;
532
+ /**
533
+ * URL to the UploadThing API endpoint
534
+ * @example URL { http://localhost:3000/api/uploadthing }
535
+ * @example URL { https://www.example.com/api/uploadthing }
536
+ * @remarks This option is not required when `uploadFiles` has been generated with `genUploader`
537
+ */
538
+ url: URL;
539
+ /**
540
+ * Set custom headers that'll get sent with requests
541
+ * to your server
542
+ */
543
+ headers?: HeadersInit | (() => MaybePromise<HeadersInit>) | undefined;
544
+ /**
545
+ * The uploadthing package that is making this request, used to identify the client in the server logs
546
+ * @example "@uploadthing/react"
547
+ * @remarks This option is not required when `uploadFiles` has been generated with `genUploader`
548
+ */
549
+ package: string;
550
+ } & ExtendObjectIf<inferEndpointInput<TFileRoute>, {
551
+ input: inferEndpointInput<TFileRoute>;
552
+ }>;
553
+ type CreateUploadOptions<TFileRoute extends AnyFileRoute> = {
554
+ /**
555
+ * The files to upload
556
+ */
557
+ files: File[];
558
+ /**
559
+ * Called continuously as the file is uploaded to the storage provider
560
+ */
561
+ onUploadProgress?: ((opts: {
562
+ /** The file that triggered the progress event */
563
+ file: File;
564
+ /** Percentage of the file that has been uploaded */
565
+ progress: number;
566
+ /** Total bytes of the file that has been uploaded */
567
+ loaded: number;
568
+ /** How many bytes have been uploaded since the last progress event for this file */
569
+ delta: number;
570
+ /** Total bytes uploaded for all files in this upload */
571
+ totalLoaded: number;
572
+ /** Percentage of the total loaded bytes for the upload */
573
+ totalProgress: number;
574
+ }) => void) | undefined;
575
+ /**
576
+ * Set custom headers that'll get sent with requests
577
+ * to your server
578
+ */
579
+ headers?: HeadersInit | (() => MaybePromise<HeadersInit>) | undefined;
580
+ } & ExtendObjectIf<inferEndpointInput<TFileRoute>, {
581
+ input: inferEndpointInput<TFileRoute>;
582
+ }>;
583
+ type GenerateUploaderOptions = {
584
+ /**
585
+ * URL to the UploadThing API endpoint
586
+ * @example /api/uploadthing
587
+ * @example URL { https://www.example.com/api/uploadthing }
588
+ *
589
+ * If relative, host will be inferred from either the `VERCEL_URL` environment variable or `window.location.origin`
590
+ *
591
+ * @default (VERCEL_URL ?? window.location.origin) + "/api/uploadthing"
592
+ */
593
+ url?: string | URL;
594
+ /**
595
+ * Provide a custom fetch implementation.
596
+ * @default `globalThis.fetch`
597
+ * @example
598
+ * ```ts
599
+ * fetch: (input, init) => {
600
+ * if (input.toString().startsWith(MY_SERVER_URL)) {
601
+ * // Include cookies in the request to your API
602
+ * return fetch(input, {
603
+ * ...init,
604
+ * credentials: "include",
605
+ * });
606
+ * }
607
+ *
608
+ * return fetch(input, init);
609
+ * }
610
+ * ```
611
+ */
612
+ fetch?: FetchEsque | undefined;
613
+ /**
614
+ * The uploadthing package that is making this request
615
+ * @example "@uploadthing/react"
616
+ *
617
+ * This is used to identify the client in the server logs
618
+ */
619
+ package?: string;
620
+ };
621
+ type EndpointArg<TRouter extends FileRouter, TEndpoint extends keyof TRouter> = TEndpoint | ((_: RouteRegistry<TRouter>) => TEndpoint);
622
+ type RouteRegistry<TRouter extends FileRouter> = { [k in keyof TRouter]: k };
623
+ //#endregion
624
+ export { ACLUpdateOptions, type AnyFileRoute, type ClientUploadedFileData, CreateUploadOptions, DeleteFilesOptions, EndpointArg, type EndpointMetadata, type ExpandedRouteConfig$1 as ExpandedRouteConfig, FileEsque, type FileRoute, FileRouter, type FileUploadData, type FileUploadDataWithCustomId, GenerateSignedURLOptions, GenerateUploaderOptions, GetFileUrlsOptions, GetSignedURLOptions, ListFilesOptions, type NewPresignedUrl, RenameFileUpdate, RouteHandlerConfig, RouteHandlerOptions, RouteRegistry, UTApiOptions, UTFiles, UTRegion, type UTRegionAlias, UnsetMarker, UploadBuilder, UploadFileResult, UploadFilesOptions, UploadFilesOptions$1, UploadThingToken, type UploadedFileData, UrlWithOverrides, inferEndpointInput, inferEndpointOutput, inferErrorShape };
625
+ //# sourceMappingURL=types-DiVC1t2V.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DiVC1t2V.d.cts","names":[],"sources":["../src/_internal/logger.ts","../src/_internal/parser.ts","../src/_internal/shared-schemas.ts","../src/_internal/types.ts","../src/sdk/types.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { UnsetMarker, UploadBuilder } from "./types-DiVC1t2V.cjs";
2
+ import { FileRouterInputConfig, Json, RouteOptions, UploadThingError } from "@uploadthing/shared";
3
+
4
+ //#region src/_internal/upload-builder.d.ts
5
+ type CreateBuilderOptions<TErrorShape extends Json> = {
6
+ errorFormatter: (err: UploadThingError) => TErrorShape;
7
+ };
8
+ /**
9
+ * Create a builder for your backend adapter.
10
+ * Refer to the existing adapters for examples on how to use this function.
11
+ * @public
12
+ *
13
+ * @param opts - Options for the builder
14
+ * @returns A file route builder for making UploadThing file routes
15
+ */
16
+ declare function createBuilder<TAdapterFnArgs extends Record<string, unknown>, TErrorShape extends Json = {
17
+ message: string;
18
+ }>(opts?: CreateBuilderOptions<TErrorShape>): <TRouteOptions extends RouteOptions>(input: FileRouterInputConfig, config?: TRouteOptions) => UploadBuilder<{
19
+ _routeOptions: TRouteOptions;
20
+ _input: {
21
+ in: UnsetMarker;
22
+ out: UnsetMarker;
23
+ };
24
+ _metadata: UnsetMarker;
25
+ _adapterFnArgs: TAdapterFnArgs;
26
+ _errorShape: TErrorShape;
27
+ _errorFn: UnsetMarker;
28
+ _output: UnsetMarker;
29
+ }>;
30
+ //#endregion
31
+ export { CreateBuilderOptions, createBuilder };
32
+ //# sourceMappingURL=upload-builder-BUa7tovh.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-builder-BUa7tovh.d.cts","names":[],"sources":["../src/_internal/upload-builder.ts"],"sourcesContent":[],"mappings":";;;;KAwFY,yCAAyC;wBAC7B,qBAAqB;AAD7C,CAAA;;;;;AACwD;AAWxD;;;AAEsB,iBAFN,aAEM,CAAA,uBADG,MACH,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,oBAAA,IAAA,GAAA;EAAI,OACI,EAAA,MAAA;CAAW,CAAA,CAAA,IAAhC,CAAA,EAAA,oBAAA,CAAqB,WAArB,CAAA,CAAA,EAAA,CAAA,sBACuB,YADvB,CAAA,CAAA,KAAA,EAEE,qBAFF,EAAA,MAAA,CAAA,EAGI,aAHJ,EAAA,GAIJ,aAJI,CAAA;EAAoB,aACG,EAIb,aAJa;EAAY,MACjC,EAAA;IACE,EAAA,EAGK,WAHL;IAEM,GAAA,EACiB,WADjB;EAAa,CAAA;EACH,SAAO,EACrB,WADqB;EAAW,cAChC,EACK,cADL;EAAW,WACN,EACH,WADG;EAAc,QACjB,EACH,WADG;EAAW,OACd,EACD,WADC;CAAW,CAAA"}