@devultur/convex 1.0.3 → 1.2.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 (47) hide show
  1. package/README.md +126 -0
  2. package/dist/bin/init.js +1 -0
  3. package/dist/{chunk-FHWT3GD6.js → chunk-GKLFRSGI.js} +2 -0
  4. package/dist/component/_generated/api.d.ts +12 -0
  5. package/dist/component/_generated/api.d.ts.map +1 -1
  6. package/dist/component/_generated/api.js.map +1 -1
  7. package/dist/component/_generated/component.d.ts +49 -0
  8. package/dist/component/_generated/component.d.ts.map +1 -1
  9. package/dist/component/lock.d.ts +33 -0
  10. package/dist/component/lock.d.ts.map +1 -0
  11. package/dist/component/lock.js +47 -0
  12. package/dist/component/lock.js.map +1 -0
  13. package/dist/component/lockValidators.d.ts +25 -0
  14. package/dist/component/lockValidators.d.ts.map +1 -0
  15. package/dist/component/lockValidators.js +14 -0
  16. package/dist/component/lockValidators.js.map +1 -0
  17. package/dist/component/mediaClient.d.ts +3 -0
  18. package/dist/component/mediaClient.d.ts.map +1 -0
  19. package/dist/component/mediaClient.js +7 -0
  20. package/dist/component/mediaClient.js.map +1 -0
  21. package/dist/component/public.d.ts +72 -0
  22. package/dist/component/public.d.ts.map +1 -1
  23. package/dist/component/public.js +48 -13
  24. package/dist/component/public.js.map +1 -1
  25. package/dist/component/schema.d.ts +10 -1
  26. package/dist/component/schema.d.ts.map +1 -1
  27. package/dist/component/schema.js +10 -1
  28. package/dist/component/schema.js.map +1 -1
  29. package/dist/component/uploadKeys.d.ts +14 -0
  30. package/dist/component/uploadKeys.d.ts.map +1 -0
  31. package/dist/component/uploadKeys.js +23 -0
  32. package/dist/component/uploadKeys.js.map +1 -0
  33. package/dist/component/uploads.d.ts +119 -0
  34. package/dist/component/uploads.d.ts.map +1 -0
  35. package/dist/component/uploads.js +106 -0
  36. package/dist/component/uploads.js.map +1 -0
  37. package/dist/component/workerErrors.d.ts +17 -0
  38. package/dist/component/workerErrors.d.ts.map +1 -0
  39. package/dist/component/workerErrors.js +41 -0
  40. package/dist/component/workerErrors.js.map +1 -0
  41. package/dist/index.d.ts +138 -4
  42. package/dist/index.js +102 -4
  43. package/dist/react.d.ts +18 -5
  44. package/dist/react.js +35 -13
  45. package/dist/validators.d.ts +5 -3
  46. package/dist/validators.js +1 -1
  47. package/package.json +7 -3
@@ -1,11 +1,13 @@
1
- import { createWorkerClient, DEFAULT_TOKEN_EXPIRY_SECONDS, extractId, MediaEventName, MediaStatus, } from "@devultur/core";
1
+ import { DEFAULT_TOKEN_EXPIRY_SECONDS, extractId, MediaEventName, MediaStatus } from "@devultur/core";
2
+ import { paginationOptsValidator } from "convex/server";
2
3
  import { v } from "convex/values";
3
4
  import { api, internal } from "./_generated/api";
4
- import { action, env, internalMutation, mutation, query } from "./_generated/server";
5
+ import { internalMutation, mutation, query } from "./_generated/server";
6
+ import { objectLockValidator } from "./lockValidators";
7
+ import { getMediaClient } from "./mediaClient";
5
8
  import { transcodeOutputFields } from "./schema";
6
- function getMediaClient() {
7
- return createWorkerClient(env.DEVULTUR_SECRET, env.DEVULTUR_API_URL);
8
- }
9
+ import { UPLOAD_CONFIRM_BACKSTOP_MS } from "./uploads";
10
+ import { workerAction } from "./workerErrors";
9
11
  // Webhook path RELATIVE to the component. Convex gives the component a `CONVEX_SITE_URL` that ALREADY
10
12
  // includes its mount prefix (e.g. `${site}/devultur`), so `${CONVEX_SITE_URL}/webhook` resolves to the
11
13
  // mounted route (`${site}/devultur/webhook`) without duplicating the prefix. Do NOT add `/devultur/` here
@@ -19,7 +21,7 @@ const STUCK_TIMEOUT_MS = 45 * 60 * 1000;
19
21
  // Reusable validator for the categorized failure reason (see FailureReason in @devultur/core).
20
22
  const failureReasonValidator = v.union(v.literal("invalid_input"), v.literal("unsupported_codec"), v.literal("timeout"), v.literal("capacity"), v.literal("internal"));
21
23
  // --- Media Actions (call CF Worker) ---
22
- export const issueViewerToken = action({
24
+ export const issueViewerToken = workerAction({
23
25
  args: { sessionSecret: v.optional(v.string()) },
24
26
  handler: async (_ctx, args) => {
25
27
  const media = getMediaClient();
@@ -30,26 +32,37 @@ export const issueViewerToken = action({
30
32
  return { token, expiresIn };
31
33
  },
32
34
  });
33
- export const createUploadUrl = action({
35
+ export const createUploadUrl = workerAction({
34
36
  args: {
35
37
  filename: v.string(),
36
38
  contentType: v.string(),
37
39
  visibility: v.optional(v.union(v.literal("public"), v.literal("private"))),
40
+ /** Lock of the new file (retention and/or hold), written with its bytes. */
41
+ lock: v.optional(objectLockValidator),
42
+ hold: v.optional(v.boolean()),
38
43
  },
39
- handler: async (_ctx, args) => {
44
+ handler: async (ctx, args) => {
40
45
  const media = getMediaClient();
41
46
  // Returns { url, key, id, kind, visibility } → the client assembles the DevulturMedia after the PUT.
42
- return media.createUploadUrl(args);
47
+ const upload = await media.createUploadUrl(args);
48
+ // Backstop for a client that never confirms: records the upload later if its bytes were stored (uploads.ts).
49
+ await ctx.scheduler.runAfter(UPLOAD_CONFIRM_BACKSTOP_MS, internal.uploads.confirmUploadLater, {
50
+ key: upload.key,
51
+ filename: args.filename,
52
+ });
53
+ return upload;
43
54
  },
44
55
  });
45
- export const deleteMediaAction = action({
56
+ export const deleteMediaAction = workerAction({
46
57
  args: { key: v.string() },
47
- handler: async (_ctx, args) => {
58
+ handler: async (ctx, args) => {
48
59
  const media = getMediaClient();
49
60
  await media.delete(args.key);
61
+ // Only once the Worker deleted it: a refused delete (a lock) keeps the file in the library.
62
+ await ctx.runMutation(internal.uploads.forgetUpload, { key: args.key });
50
63
  },
51
64
  });
52
- export const deleteVideo = action({
65
+ export const deleteVideo = workerAction({
53
66
  args: { videoId: v.string(), visibility: v.optional(v.union(v.literal("public"), v.literal("private"))) },
54
67
  handler: async (ctx, args) => {
55
68
  const media = getMediaClient();
@@ -79,7 +92,7 @@ export const cleanupVideoRecords = internalMutation({
79
92
  await Promise.all(captions.map((caption) => ctx.db.delete(caption._id)));
80
93
  },
81
94
  });
82
- export const processVideo = action({
95
+ export const processVideo = workerAction({
83
96
  args: {
84
97
  key: v.string(),
85
98
  preset: v.optional(v.string()),
@@ -217,6 +230,13 @@ export const createMedia = mutation({
217
230
  sizeBytes: v.number(),
218
231
  },
219
232
  handler: async (ctx, args) => {
233
+ // One record per key: `processVideo` and a confirmed upload can both get here first.
234
+ const existing = await ctx.db
235
+ .query("media")
236
+ .withIndex("by_key", (q) => q.eq("key", args.key))
237
+ .first();
238
+ if (existing)
239
+ return existing._id;
220
240
  return ctx.db.insert("media", { ...args, createdAt: Date.now() });
221
241
  },
222
242
  });
@@ -262,6 +282,7 @@ export const getMediaByKey = query({
262
282
  .first();
263
283
  },
264
284
  });
285
+ // Every record at once: fine for a handful, unbounded for a library. A library pages with `listMediaPage`.
265
286
  export const listMedia = query({
266
287
  args: { type: v.optional(v.union(v.literal("video"), v.literal("image"), v.literal("file"))) },
267
288
  handler: async (ctx, args) => {
@@ -272,6 +293,20 @@ export const listMedia = query({
272
293
  return mediaQuery.collect();
273
294
  },
274
295
  });
296
+ /** One page of the media library, newest first, optionally of one type (`by_type` index). */
297
+ export const listMediaPage = query({
298
+ args: {
299
+ type: v.optional(v.union(v.literal("video"), v.literal("image"), v.literal("file"))),
300
+ paginationOpts: paginationOptsValidator,
301
+ },
302
+ handler: async (ctx, args) => {
303
+ const { type } = args;
304
+ const records = type
305
+ ? ctx.db.query("media").withIndex("by_type", (q) => q.eq("type", type))
306
+ : ctx.db.query("media");
307
+ return records.order("desc").paginate(args.paginationOpts);
308
+ },
309
+ });
275
310
  // --- Captions ---
276
311
  export const upsertCaption = mutation({
277
312
  args: {
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/component/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/component/public.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,10 @@ export declare const transcodeOutputFields: {
36
36
  };
37
37
  declare const _default: import("convex/server").SchemaDefinition<{
38
38
  media: import("convex/server").TableDefinition<import("convex/values").VObject<{
39
+ width?: number | undefined;
40
+ height?: number | undefined;
41
+ visibility?: "public" | "private" | undefined;
42
+ objectKey?: string | undefined;
39
43
  transcodeStatus?: "queued" | "transcoding" | "captioning" | "ready" | "failed" | undefined;
40
44
  transcodeProgress?: {
41
45
  phase?: "captioning" | "downloading" | "encoding" | "uploading" | undefined;
@@ -115,6 +119,10 @@ declare const _default: import("convex/server").SchemaDefinition<{
115
119
  filename: import("convex/values").VString<string, "required">;
116
120
  contentType: import("convex/values").VString<string, "required">;
117
121
  sizeBytes: import("convex/values").VFloat64<number, "required">;
122
+ visibility: import("convex/values").VUnion<"public" | "private" | undefined, [import("convex/values").VLiteral<"public", "required">, import("convex/values").VLiteral<"private", "required">], "optional", never>;
123
+ objectKey: import("convex/values").VString<string | undefined, "optional">;
124
+ width: import("convex/values").VFloat64<number | undefined, "optional">;
125
+ height: import("convex/values").VFloat64<number | undefined, "optional">;
118
126
  transcodeStatus: import("convex/values").VUnion<"queued" | "transcoding" | "captioning" | "ready" | "failed" | undefined, [import("convex/values").VLiteral<"queued", "required">, import("convex/values").VLiteral<"transcoding", "required">, import("convex/values").VLiteral<"captioning", "required">, import("convex/values").VLiteral<"ready", "required">, import("convex/values").VLiteral<"failed", "required">], "optional", never>;
119
127
  transcodeProgress: import("convex/values").VObject<{
120
128
  phase?: "captioning" | "downloading" | "encoding" | "uploading" | undefined;
@@ -130,8 +138,9 @@ declare const _default: import("convex/server").SchemaDefinition<{
130
138
  retriable: import("convex/values").VBoolean<boolean | undefined, "optional">;
131
139
  playlistUrl: import("convex/values").VString<string | undefined, "optional">;
132
140
  thumbnailKey: import("convex/values").VString<string | undefined, "optional">;
133
- }, "required", "type" | "key" | "filename" | "contentType" | "sizeBytes" | "transcodeStatus" | "transcodeProgress" | "transcodeError" | "failureReason" | "retriable" | "playlistUrl" | "thumbnailKey" | "captionLocales" | "captionsPending" | "duration" | "createdAt" | "renditions" | "posterUrls" | "hasAudio" | "storyboardKey" | "transcodeProgress.current" | "transcodeProgress.total" | "transcodeProgress.phase" | "posterUrls.jpg" | "posterUrls.avif">, {
141
+ }, "required", "type" | "key" | "width" | "height" | "filename" | "contentType" | "sizeBytes" | "visibility" | "objectKey" | "transcodeStatus" | "transcodeProgress" | "transcodeError" | "failureReason" | "retriable" | "playlistUrl" | "thumbnailKey" | "captionLocales" | "captionsPending" | "duration" | "createdAt" | "renditions" | "posterUrls" | "hasAudio" | "storyboardKey" | "transcodeProgress.current" | "transcodeProgress.total" | "transcodeProgress.phase" | "posterUrls.jpg" | "posterUrls.avif">, {
134
142
  by_key: ["key", "_creationTime"];
143
+ by_type: ["type", "_creationTime"];
135
144
  }, {}, {}>;
136
145
  captions: import("convex/server").TableDefinition<import("convex/values").VObject<{
137
146
  srtUrl?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBjC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAmEG"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBjC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBA4EG"}
@@ -24,6 +24,12 @@ export default defineSchema({
24
24
  filename: v.string(),
25
25
  contentType: v.string(),
26
26
  sizeBytes: v.number(),
27
+ // Set by a confirmed upload (see uploads.ts). Unset on records from before 1.1.0 and on videos recorded only by
28
+ // `processVideo`. The record's `key` is the media id for every kind; `objectKey` is the stored object's key.
29
+ visibility: v.optional(v.union(v.literal("public"), v.literal("private"))),
30
+ objectKey: v.optional(v.string()),
31
+ width: v.optional(v.number()),
32
+ height: v.optional(v.number()),
27
33
  transcodeStatus: v.optional(v.union(v.literal("queued"), v.literal("transcoding"), v.literal("captioning"), v.literal("ready"), v.literal("failed"))),
28
34
  transcodeProgress: v.optional(v.object({
29
35
  current: v.number(),
@@ -44,7 +50,10 @@ export default defineSchema({
44
50
  captionsPending: v.optional(v.boolean()),
45
51
  duration: v.optional(v.number()),
46
52
  createdAt: v.number(),
47
- }).index("by_key", ["key"]),
53
+ })
54
+ .index("by_key", ["key"])
55
+ // The media library by kind (`listMediaPage`), newest first.
56
+ .index("by_type", ["type"]),
48
57
  captions: defineTable({
49
58
  mediaKey: v.string(),
50
59
  locale: v.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { DevulturKind, Visibility } from "@devultur/core";
2
+ export interface UploadKey {
3
+ visibility: Visibility;
4
+ kind: DevulturKind;
5
+ id: string;
6
+ /** The (sanitized) filename in the key. */
7
+ storedName: string;
8
+ }
9
+ /**
10
+ * The parts of an upload key: `{visibility}/{image|file}/{id}/{name}` or `{visibility}/video/{id}/raw/{name}`.
11
+ * `null` for any other key (derivatives, assets, exports): those are never library items.
12
+ */
13
+ export declare function parseUploadKey(key: string): UploadKey | null;
14
+ //# sourceMappingURL=uploadKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadKeys.d.ts","sourceRoot":"","sources":["../../src/component/uploadKeys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI/D,MAAM,WAAW,SAAS;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAa5D"}
@@ -0,0 +1,23 @@
1
+ const KINDS = ["video", "image", "file"];
2
+ /**
3
+ * The parts of an upload key: `{visibility}/{image|file}/{id}/{name}` or `{visibility}/video/{id}/raw/{name}`.
4
+ * `null` for any other key (derivatives, assets, exports): those are never library items.
5
+ */
6
+ export function parseUploadKey(key) {
7
+ const segments = key.split("/");
8
+ const [visibility, kind, id] = segments;
9
+ if (visibility !== "public" && visibility !== "private")
10
+ return null;
11
+ if (!KINDS.includes(kind) || !id)
12
+ return null;
13
+ const nameSegments = kind === "video" ? 5 : 4;
14
+ if (segments.length !== nameSegments)
15
+ return null;
16
+ if (kind === "video" && segments[3] !== "raw")
17
+ return null;
18
+ const storedName = segments.at(-1);
19
+ if (!storedName)
20
+ return null;
21
+ return { visibility, kind: kind, id, storedName };
22
+ }
23
+ //# sourceMappingURL=uploadKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadKeys.js","sourceRoot":"","sources":["../../src/component/uploadKeys.ts"],"names":[],"mappings":"AAGA,MAAM,KAAK,GAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAUlE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAoB,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAE9D,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAoB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACnE,CAAC"}
@@ -0,0 +1,119 @@
1
+ export declare const UPLOAD_CONFIRM_BACKSTOP_MS: number;
2
+ /**
3
+ * Records an upload in the component's `media` table once its bytes are stored (call it after the PUT). Returns the
4
+ * record, or `null` when nothing is stored at `key`. Idempotent: confirming twice updates the same record, and a
5
+ * video's transcode state is left as it is.
6
+ */
7
+ export declare const confirmUpload: import("convex/server").RegisteredAction<"public", {
8
+ width?: number | undefined;
9
+ height?: number | undefined;
10
+ filename?: string | undefined;
11
+ key: string;
12
+ }, Promise<{
13
+ _id: import("convex/values").GenericId<"media">;
14
+ _creationTime: number;
15
+ width?: number | undefined;
16
+ height?: number | undefined;
17
+ visibility?: "public" | "private" | undefined;
18
+ objectKey?: string | undefined;
19
+ transcodeStatus?: "queued" | "transcoding" | "captioning" | "ready" | "failed" | undefined;
20
+ transcodeProgress?: {
21
+ phase?: "captioning" | "downloading" | "encoding" | "uploading" | undefined;
22
+ current: number;
23
+ total: number;
24
+ } | undefined;
25
+ transcodeError?: string | undefined;
26
+ failureReason?: "invalid_input" | "unsupported_codec" | "timeout" | "capacity" | "internal" | undefined;
27
+ retriable?: boolean | undefined;
28
+ playlistUrl?: string | undefined;
29
+ thumbnailKey?: string | undefined;
30
+ captionLocales?: string[] | undefined;
31
+ captionsPending?: boolean | undefined;
32
+ duration?: number | undefined;
33
+ renditions?: {
34
+ width?: number | undefined;
35
+ height?: number | undefined;
36
+ variant: string;
37
+ kind: "hls" | "mp4";
38
+ rung: string;
39
+ key: string;
40
+ url: string;
41
+ }[] | undefined;
42
+ posterUrls?: {
43
+ jpg?: string | undefined;
44
+ avif?: string | undefined;
45
+ } | undefined;
46
+ hasAudio?: boolean | undefined;
47
+ storyboardKey?: string | undefined;
48
+ type: "video" | "image" | "file";
49
+ key: string;
50
+ filename: string;
51
+ contentType: string;
52
+ sizeBytes: number;
53
+ createdAt: number;
54
+ } | null>>;
55
+ /** The scheduled check `createUploadUrl` leaves behind: records the upload if it was stored and never confirmed. */
56
+ export declare const confirmUploadLater: import("convex/server").RegisteredAction<"internal", {
57
+ width?: number | undefined;
58
+ height?: number | undefined;
59
+ filename?: string | undefined;
60
+ key: string;
61
+ }, Promise<void>>;
62
+ export declare const recordUpload: import("convex/server").RegisteredMutation<"internal", {
63
+ width?: number | undefined;
64
+ height?: number | undefined;
65
+ type: "video" | "image" | "file";
66
+ key: string;
67
+ filename: string;
68
+ contentType: string;
69
+ sizeBytes: number;
70
+ visibility: "public" | "private";
71
+ objectKey: string;
72
+ }, Promise<{
73
+ _id: import("convex/values").GenericId<"media">;
74
+ _creationTime: number;
75
+ width?: number | undefined;
76
+ height?: number | undefined;
77
+ visibility?: "public" | "private" | undefined;
78
+ objectKey?: string | undefined;
79
+ transcodeStatus?: "queued" | "transcoding" | "captioning" | "ready" | "failed" | undefined;
80
+ transcodeProgress?: {
81
+ phase?: "captioning" | "downloading" | "encoding" | "uploading" | undefined;
82
+ current: number;
83
+ total: number;
84
+ } | undefined;
85
+ transcodeError?: string | undefined;
86
+ failureReason?: "invalid_input" | "unsupported_codec" | "timeout" | "capacity" | "internal" | undefined;
87
+ retriable?: boolean | undefined;
88
+ playlistUrl?: string | undefined;
89
+ thumbnailKey?: string | undefined;
90
+ captionLocales?: string[] | undefined;
91
+ captionsPending?: boolean | undefined;
92
+ duration?: number | undefined;
93
+ renditions?: {
94
+ width?: number | undefined;
95
+ height?: number | undefined;
96
+ variant: string;
97
+ kind: "hls" | "mp4";
98
+ rung: string;
99
+ key: string;
100
+ url: string;
101
+ }[] | undefined;
102
+ posterUrls?: {
103
+ jpg?: string | undefined;
104
+ avif?: string | undefined;
105
+ } | undefined;
106
+ hasAudio?: boolean | undefined;
107
+ storyboardKey?: string | undefined;
108
+ type: "video" | "image" | "file";
109
+ key: string;
110
+ filename: string;
111
+ contentType: string;
112
+ sizeBytes: number;
113
+ createdAt: number;
114
+ } | null>>;
115
+ /** Drops the record of a deleted image or file. A video's record goes with `deleteVideo`, not with one of its keys. */
116
+ export declare const forgetUpload: import("convex/server").RegisteredMutation<"internal", {
117
+ key: string;
118
+ }, Promise<void>>;
119
+ //# sourceMappingURL=uploads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/component/uploads.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,0BAA0B,QAAsB,CAAC;AAgD9D;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAGxB,CAAC;AAEH,oHAAoH;AACpH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA0BvB,CAAC;AAEH,uHAAuH;AACvH,eAAO,MAAM,YAAY;;iBAYvB,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { extractId, sanitizeFilename } from "@devultur/core";
2
+ import { ConvexError, v } from "convex/values";
3
+ import { internal } from "./_generated/api";
4
+ import { internalAction, internalMutation } from "./_generated/server";
5
+ import { getMediaClient } from "./mediaClient";
6
+ import { parseUploadKey } from "./uploadKeys";
7
+ import { workerAction } from "./workerErrors";
8
+ // Past the Worker's longest upload window (a multipart upload can run for 24 hours), so the scheduled check never runs
9
+ // while the bytes are still on their way.
10
+ export const UPLOAD_CONFIRM_BACKSTOP_MS = 25 * 60 * 60 * 1000;
11
+ /** The display name to store: the client's when it is the name in the key, else the key's own. */
12
+ function displayName(uploadKey, filename) {
13
+ if (filename && sanitizeFilename(filename) === uploadKey.storedName)
14
+ return filename;
15
+ return uploadKey.storedName;
16
+ }
17
+ const confirmArgs = {
18
+ key: v.string(),
19
+ /** The original filename (display and download name). Ignored unless it is the one in the key. */
20
+ filename: v.optional(v.string()),
21
+ /** Intrinsic size of an image, read in the browser. */
22
+ width: v.optional(v.number()),
23
+ height: v.optional(v.number()),
24
+ };
25
+ /** HEADs the object and records it; `null` when no object is stored at `key` (yet). */
26
+ // Annotated: the result of `internal.uploads.*` would otherwise type this module in terms of itself.
27
+ async function confirm(ctx, args) {
28
+ const uploadKey = parseUploadKey(args.key);
29
+ if (!uploadKey) {
30
+ throw new ConvexError({ code: "invalid_upload_key", message: `Not an upload key: ${args.key}`, status: 400 });
31
+ }
32
+ const head = await getMediaClient().files.head(args.key);
33
+ if (!head)
34
+ return null;
35
+ return ctx.runMutation(internal.uploads.recordUpload, {
36
+ key: uploadKey.id,
37
+ objectKey: args.key,
38
+ type: uploadKey.kind,
39
+ visibility: uploadKey.visibility,
40
+ filename: displayName(uploadKey, args.filename),
41
+ contentType: head.contentType,
42
+ sizeBytes: head.size,
43
+ ...(args.width !== undefined ? { width: args.width } : {}),
44
+ ...(args.height !== undefined ? { height: args.height } : {}),
45
+ });
46
+ }
47
+ /**
48
+ * Records an upload in the component's `media` table once its bytes are stored (call it after the PUT). Returns the
49
+ * record, or `null` when nothing is stored at `key`. Idempotent: confirming twice updates the same record, and a
50
+ * video's transcode state is left as it is.
51
+ */
52
+ export const confirmUpload = workerAction({
53
+ args: confirmArgs,
54
+ handler: async (ctx, args) => confirm(ctx, args),
55
+ });
56
+ /** The scheduled check `createUploadUrl` leaves behind: records the upload if it was stored and never confirmed. */
57
+ export const confirmUploadLater = internalAction({
58
+ args: confirmArgs,
59
+ handler: async (ctx, args) => {
60
+ await confirm(ctx, args);
61
+ },
62
+ });
63
+ export const recordUpload = internalMutation({
64
+ args: {
65
+ key: v.string(),
66
+ objectKey: v.string(),
67
+ type: v.union(v.literal("video"), v.literal("image"), v.literal("file")),
68
+ visibility: v.union(v.literal("public"), v.literal("private")),
69
+ filename: v.string(),
70
+ contentType: v.string(),
71
+ sizeBytes: v.number(),
72
+ width: v.optional(v.number()),
73
+ height: v.optional(v.number()),
74
+ },
75
+ handler: async (ctx, args) => {
76
+ const existing = await ctx.db
77
+ .query("media")
78
+ .withIndex("by_key", (q) => q.eq("key", args.key))
79
+ .first();
80
+ if (!existing) {
81
+ const id = await ctx.db.insert("media", { ...args, createdAt: Date.now() });
82
+ return ctx.db.get(id);
83
+ }
84
+ // A video `processVideo` recorded first: fill in what only the upload knows, keep its transcode state.
85
+ await ctx.db.patch(existing._id, args);
86
+ return ctx.db.get(existing._id);
87
+ },
88
+ });
89
+ /** Drops the record of a deleted image or file. A video's record goes with `deleteVideo`, not with one of its keys. */
90
+ export const forgetUpload = internalMutation({
91
+ args: { key: v.string() },
92
+ handler: async (ctx, args) => {
93
+ if (!parseUploadKey(args.key))
94
+ return;
95
+ const record = await ctx.db
96
+ .query("media")
97
+ .withIndex("by_key", (q) => q.eq("key", extractId(args.key)))
98
+ .first();
99
+ if (!record || record.type === "video")
100
+ return;
101
+ if (record.objectKey && record.objectKey !== args.key)
102
+ return;
103
+ await ctx.db.delete(record._id);
104
+ },
105
+ });
106
+ //# sourceMappingURL=uploads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/component/uploads.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAkB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,uHAAuH;AACvH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9D,kGAAkG;AAClG,SAAS,WAAW,CAAC,SAAoB,EAAE,QAA4B;IACtE,IAAI,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC;IACrF,OAAO,SAAS,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED,MAAM,WAAW,GAAG;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,kGAAkG;IAClG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,uDAAuD;IACvD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC;AASF,uFAAuF;AACvF,qGAAqG;AACrG,KAAK,UAAU,OAAO,CAAC,GAAc,EAAE,IAAiB;IACvD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,MAAM,IAAI,GAAoB,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE;QACrD,GAAG,EAAE,SAAS,CAAC,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG;QACnB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;IACzC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAgC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;CAC9E,CAAC,CAAC;AAEH,oHAAoH;AACpH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;IAChD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC5C,IAAI,EAAE;QACL,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC3B,KAAK,CAAC,OAAO,CAAC;aACd,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;aACjD,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5E,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,uGAAuG;QACvG,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACD,CAAC,CAAC;AAEH,uHAAuH;AACvH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC5C,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IACzB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO;QACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,OAAO,CAAC;aACd,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5D,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QAC/C,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG;YAAE,OAAO;QAC9D,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACD,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type Value } from "convex/values";
2
+ import { action } from "./_generated/server";
3
+ /** `data` of the `ConvexError` a component action throws when the Worker refuses a request. */
4
+ export interface DevulturErrorData {
5
+ /** The Worker's stable code (`retention_active`, `file_too_large`, ...), or `worker_error` when it sent none. */
6
+ code: string;
7
+ message: string;
8
+ /** HTTP status of the Worker's answer. */
9
+ status: number;
10
+ /** The rest of the Worker's error body, e.g. `{ key, mode, until, hold }` on `retention_active`. */
11
+ details?: Record<string, Value>;
12
+ }
13
+ /** The error to rethrow: a Worker refusal becomes a `ConvexError` with its code; anything else passes through. */
14
+ export declare function toComponentError(error: unknown): unknown;
15
+ /** `action` whose handler rethrows Worker refusals as `ConvexError<DevulturErrorData>`. */
16
+ export declare const workerAction: typeof action;
17
+ //# sourceMappingURL=workerErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerErrors.d.ts","sourceRoot":"","sources":["../../src/component/workerErrors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,+FAA+F;AAC/F,MAAM,WAAW,iBAAiB;IACjC,iHAAiH;IACjH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAChC;AAYD,kHAAkH;AAClH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUxD;AAED,2FAA2F;AAC3F,eAAO,MAAM,YAAY,EAUG,OAAO,MAAM,CAAC"}