@de-otio/trellis 0.10.11 → 0.12.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 (199) hide show
  1. package/dist/env.d.ts +232 -0
  2. package/dist/env.d.ts.map +1 -1
  3. package/dist/env.js +221 -0
  4. package/dist/env.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/lambda/media-completion-worker.d.ts +175 -0
  10. package/dist/lambda/media-completion-worker.d.ts.map +1 -0
  11. package/dist/lambda/media-completion-worker.js +373 -0
  12. package/dist/lambda/media-completion-worker.js.map +1 -0
  13. package/dist/lambda/media-processing-worker.d.ts +172 -1
  14. package/dist/lambda/media-processing-worker.d.ts.map +1 -1
  15. package/dist/lambda/media-processing-worker.js +343 -49
  16. package/dist/lambda/media-processing-worker.js.map +1 -1
  17. package/dist/lib/app.d.ts.map +1 -1
  18. package/dist/lib/app.js +5 -0
  19. package/dist/lib/app.js.map +1 -1
  20. package/dist/lib/encrypted-settings/config.d.ts +13 -0
  21. package/dist/lib/encrypted-settings/config.d.ts.map +1 -0
  22. package/dist/lib/encrypted-settings/config.js +19 -0
  23. package/dist/lib/encrypted-settings/config.js.map +1 -0
  24. package/dist/lib/encrypted-settings/encrypted-settings-handler.d.ts +57 -0
  25. package/dist/lib/encrypted-settings/encrypted-settings-handler.d.ts.map +1 -0
  26. package/dist/lib/encrypted-settings/encrypted-settings-handler.js +178 -0
  27. package/dist/lib/encrypted-settings/encrypted-settings-handler.js.map +1 -0
  28. package/dist/lib/encrypted-settings/encrypted-settings-store.d.ts +110 -0
  29. package/dist/lib/encrypted-settings/encrypted-settings-store.d.ts.map +1 -0
  30. package/dist/lib/encrypted-settings/encrypted-settings-store.js +103 -0
  31. package/dist/lib/encrypted-settings/encrypted-settings-store.js.map +1 -0
  32. package/dist/lib/encrypted-settings/types.d.ts +26 -0
  33. package/dist/lib/encrypted-settings/types.d.ts.map +1 -0
  34. package/dist/lib/encrypted-settings/types.js +27 -0
  35. package/dist/lib/encrypted-settings/types.js.map +1 -0
  36. package/dist/lib/exif-stripper.d.ts +37 -22
  37. package/dist/lib/exif-stripper.d.ts.map +1 -1
  38. package/dist/lib/exif-stripper.js +101 -41
  39. package/dist/lib/exif-stripper.js.map +1 -1
  40. package/dist/lib/media/cas-keys.d.ts +63 -0
  41. package/dist/lib/media/cas-keys.d.ts.map +1 -0
  42. package/dist/lib/media/cas-keys.js +102 -0
  43. package/dist/lib/media/cas-keys.js.map +1 -0
  44. package/dist/lib/media/classify-worker-error.d.ts +48 -0
  45. package/dist/lib/media/classify-worker-error.d.ts.map +1 -0
  46. package/dist/lib/media/classify-worker-error.js +319 -0
  47. package/dist/lib/media/classify-worker-error.js.map +1 -0
  48. package/dist/lib/media/dedupe-key.d.ts +29 -0
  49. package/dist/lib/media/dedupe-key.d.ts.map +1 -0
  50. package/dist/lib/media/dedupe-key.js +49 -0
  51. package/dist/lib/media/dedupe-key.js.map +1 -0
  52. package/dist/lib/media/duration-cap.d.ts +30 -0
  53. package/dist/lib/media/duration-cap.d.ts.map +1 -0
  54. package/dist/lib/media/duration-cap.js +37 -0
  55. package/dist/lib/media/duration-cap.js.map +1 -0
  56. package/dist/lib/media/ffmpeg-args.d.ts +83 -0
  57. package/dist/lib/media/ffmpeg-args.d.ts.map +1 -0
  58. package/dist/lib/media/ffmpeg-args.js +119 -0
  59. package/dist/lib/media/ffmpeg-args.js.map +1 -0
  60. package/dist/lib/media/media-ports.d.ts +126 -0
  61. package/dist/lib/media/media-ports.d.ts.map +1 -0
  62. package/dist/lib/media/media-ports.js +129 -0
  63. package/dist/lib/media/media-ports.js.map +1 -0
  64. package/dist/lib/media/media-upsert.d.ts +55 -0
  65. package/dist/lib/media/media-upsert.d.ts.map +1 -0
  66. package/dist/lib/media/media-upsert.js +38 -0
  67. package/dist/lib/media/media-upsert.js.map +1 -0
  68. package/dist/lib/media/moderation-provider.d.ts +111 -0
  69. package/dist/lib/media/moderation-provider.d.ts.map +1 -0
  70. package/dist/lib/media/moderation-provider.js +130 -0
  71. package/dist/lib/media/moderation-provider.js.map +1 -0
  72. package/dist/lib/media/moderation-resolved-payload.d.ts +48 -0
  73. package/dist/lib/media/moderation-resolved-payload.d.ts.map +1 -0
  74. package/dist/lib/media/moderation-resolved-payload.js +37 -0
  75. package/dist/lib/media/moderation-resolved-payload.js.map +1 -0
  76. package/dist/lib/media/moderation-status.d.ts +98 -0
  77. package/dist/lib/media/moderation-status.d.ts.map +1 -0
  78. package/dist/lib/media/moderation-status.js +122 -0
  79. package/dist/lib/media/moderation-status.js.map +1 -0
  80. package/dist/lib/media/processing-types.d.ts +45 -0
  81. package/dist/lib/media/processing-types.d.ts.map +1 -0
  82. package/dist/lib/media/processing-types.js +9 -0
  83. package/dist/lib/media/processing-types.js.map +1 -0
  84. package/dist/lib/media/promote-decision.d.ts +64 -0
  85. package/dist/lib/media/promote-decision.d.ts.map +1 -0
  86. package/dist/lib/media/promote-decision.js +76 -0
  87. package/dist/lib/media/promote-decision.js.map +1 -0
  88. package/dist/lib/media/quota-check.d.ts +22 -0
  89. package/dist/lib/media/quota-check.d.ts.map +1 -0
  90. package/dist/lib/media/quota-check.js +42 -0
  91. package/dist/lib/media/quota-check.js.map +1 -0
  92. package/dist/lib/media/quota-types.d.ts +15 -0
  93. package/dist/lib/media/quota-types.d.ts.map +1 -0
  94. package/dist/lib/media/quota-types.js +9 -0
  95. package/dist/lib/media/quota-types.js.map +1 -0
  96. package/dist/lib/media/route-upload.d.ts +58 -0
  97. package/dist/lib/media/route-upload.d.ts.map +1 -0
  98. package/dist/lib/media/route-upload.js +80 -0
  99. package/dist/lib/media/route-upload.js.map +1 -0
  100. package/dist/lib/media/serve-gate.d.ts +51 -0
  101. package/dist/lib/media/serve-gate.d.ts.map +1 -0
  102. package/dist/lib/media/serve-gate.js +68 -0
  103. package/dist/lib/media/serve-gate.js.map +1 -0
  104. package/dist/lib/media/tenant-resolution.d.ts +42 -0
  105. package/dist/lib/media/tenant-resolution.d.ts.map +1 -0
  106. package/dist/lib/media/tenant-resolution.js +45 -0
  107. package/dist/lib/media/tenant-resolution.js.map +1 -0
  108. package/dist/lib/media/text-moderation.d.ts +28 -0
  109. package/dist/lib/media/text-moderation.d.ts.map +1 -0
  110. package/dist/lib/media/text-moderation.js +62 -0
  111. package/dist/lib/media/text-moderation.js.map +1 -0
  112. package/dist/lib/media/track-verdict.d.ts +45 -0
  113. package/dist/lib/media/track-verdict.d.ts.map +1 -0
  114. package/dist/lib/media/track-verdict.js +52 -0
  115. package/dist/lib/media/track-verdict.js.map +1 -0
  116. package/dist/lib/media/transcript-moderation.d.ts +47 -0
  117. package/dist/lib/media/transcript-moderation.d.ts.map +1 -0
  118. package/dist/lib/media/transcript-moderation.js +70 -0
  119. package/dist/lib/media/transcript-moderation.js.map +1 -0
  120. package/dist/lib/media-handler.d.ts.map +1 -1
  121. package/dist/lib/media-handler.js +15 -9
  122. package/dist/lib/media-handler.js.map +1 -1
  123. package/dist/lib/notification-handler.d.ts +11 -4
  124. package/dist/lib/notification-handler.d.ts.map +1 -1
  125. package/dist/lib/notification-handler.js +161 -29
  126. package/dist/lib/notification-handler.js.map +1 -1
  127. package/dist/lib/post-handler.d.ts.map +1 -1
  128. package/dist/lib/post-handler.js +4 -1
  129. package/dist/lib/post-handler.js.map +1 -1
  130. package/dist/lib/realtime/block-store.d.ts +61 -0
  131. package/dist/lib/realtime/block-store.d.ts.map +1 -0
  132. package/dist/lib/realtime/block-store.js +0 -0
  133. package/dist/lib/realtime/block-store.js.map +1 -0
  134. package/dist/lib/realtime/channel.d.ts +34 -0
  135. package/dist/lib/realtime/channel.d.ts.map +1 -0
  136. package/dist/lib/realtime/channel.js +100 -0
  137. package/dist/lib/realtime/channel.js.map +1 -0
  138. package/dist/lib/realtime/delivery-policy.d.ts +51 -0
  139. package/dist/lib/realtime/delivery-policy.d.ts.map +1 -0
  140. package/dist/lib/realtime/delivery-policy.js +98 -0
  141. package/dist/lib/realtime/delivery-policy.js.map +1 -0
  142. package/dist/lib/realtime/index.d.ts +21 -0
  143. package/dist/lib/realtime/index.d.ts.map +1 -0
  144. package/dist/lib/realtime/index.js +39 -0
  145. package/dist/lib/realtime/index.js.map +1 -0
  146. package/dist/lib/realtime/no-op-transport.d.ts +10 -0
  147. package/dist/lib/realtime/no-op-transport.d.ts.map +1 -0
  148. package/dist/lib/realtime/no-op-transport.js +44 -0
  149. package/dist/lib/realtime/no-op-transport.js.map +1 -0
  150. package/dist/lib/realtime/poll-transport.d.ts +11 -0
  151. package/dist/lib/realtime/poll-transport.d.ts.map +1 -0
  152. package/dist/lib/realtime/poll-transport.js +68 -0
  153. package/dist/lib/realtime/poll-transport.js.map +1 -0
  154. package/dist/lib/realtime/push-notifier.d.ts +39 -0
  155. package/dist/lib/realtime/push-notifier.d.ts.map +1 -0
  156. package/dist/lib/realtime/push-notifier.js +76 -0
  157. package/dist/lib/realtime/push-notifier.js.map +1 -0
  158. package/dist/lib/realtime/realtime-transport.d.ts +2 -0
  159. package/dist/lib/realtime/realtime-transport.d.ts.map +1 -0
  160. package/dist/lib/realtime/realtime-transport.js +23 -0
  161. package/dist/lib/realtime/realtime-transport.js.map +1 -0
  162. package/dist/lib/realtime/setting-store.d.ts +30 -0
  163. package/dist/lib/realtime/setting-store.d.ts.map +1 -0
  164. package/dist/lib/realtime/setting-store.js +0 -0
  165. package/dist/lib/realtime/setting-store.js.map +1 -0
  166. package/dist/lib/realtime/types.d.ts +200 -0
  167. package/dist/lib/realtime/types.d.ts.map +1 -0
  168. package/dist/lib/realtime/types.js +61 -0
  169. package/dist/lib/realtime/types.js.map +1 -0
  170. package/dist/lib/routes/index.d.ts.map +1 -1
  171. package/dist/lib/routes/index.js +3 -0
  172. package/dist/lib/routes/index.js.map +1 -1
  173. package/dist/lib/routes/media.d.ts +21 -0
  174. package/dist/lib/routes/media.d.ts.map +1 -1
  175. package/dist/lib/routes/media.js +584 -483
  176. package/dist/lib/routes/media.js.map +1 -1
  177. package/dist/lib/routes/settings.d.ts +17 -0
  178. package/dist/lib/routes/settings.d.ts.map +1 -0
  179. package/dist/lib/routes/settings.js +187 -0
  180. package/dist/lib/routes/settings.js.map +1 -0
  181. package/dist/lib/services/image-normalizer.d.ts +64 -6
  182. package/dist/lib/services/image-normalizer.d.ts.map +1 -1
  183. package/dist/lib/services/image-normalizer.js +88 -6
  184. package/dist/lib/services/image-normalizer.js.map +1 -1
  185. package/dist/lib/services/media-upload-service.d.ts +2 -2
  186. package/dist/lib/services/media-upload-service.d.ts.map +1 -1
  187. package/dist/lib/services/media-upload-service.js +22 -21
  188. package/dist/lib/services/media-upload-service.js.map +1 -1
  189. package/dist/lib/tenant-scope.d.ts.map +1 -1
  190. package/dist/lib/tenant-scope.js +18 -1
  191. package/dist/lib/tenant-scope.js.map +1 -1
  192. package/package.json +23 -22
  193. package/prisma/migrations/20260620051144_add_encrypted_user_settings/migration.sql +24 -0
  194. package/prisma/migrations/20260620120000_add_blocked_users/migration.sql +29 -0
  195. package/prisma/migrations/20260625000000_media_tenant_scope_and_moderation_status/migration.sql +49 -0
  196. package/prisma/migrations/20260625000001_p0b_moderation_jobs/migration.sql +73 -0
  197. package/prisma/schema.prisma +133 -15
  198. package/src/lambda/media-completion-worker.ts +567 -0
  199. package/src/lambda/media-processing-worker.ts +508 -59
@@ -0,0 +1,62 @@
1
+ // CONTRACT: stable — coordinate changes. Shared P0b text-moderation seam.
2
+ //
3
+ // A-TEXTMOD decision: NO clean injectable text-moderation seam exists today.
4
+ //
5
+ // The repo already has apps/api/src/lib/moderation-handler.ts
6
+ // (`ModerationHandler.moderateText(text, env): Promise<ModerationResult>`), but
7
+ // it is NOT usable as the media-pipeline seam, for three reasons:
8
+ //
9
+ // 1. It is a concrete class that performs network I/O directly (fetches the
10
+ // hosted moderation API), not an injectable interface — it cannot live in
11
+ // the functional core, and it cannot be swapped for a Mock in property
12
+ // tests without monkey-patching the network.
13
+ // 2. Its result shape (`ModerationResult { approved, score, details, ... }`)
14
+ // is a different, real-category-named vocabulary — it is NOT the opaque
15
+ // `ModerationVerdict` the media seam standardizes on.
16
+ // 3. CRITICALLY, it FAILS OPEN: on a moderation error it returns
17
+ // `{ approved: true }` (and likewise `{ approved: true, budgetExceeded }`
18
+ // when the budget is spent). That is the exact opposite of the media
19
+ // pipeline's fail-closed invariant — a faulted text moderation must
20
+ // degrade to `review`, never to a decision that can serve bytes.
21
+ //
22
+ // Therefore B0 defines a thin, fail-closed `TextModerationProvider` seam that
23
+ // returns the canonical `ModerationVerdict` (./moderation-provider.ts). The
24
+ // imperative shell wires the concrete adapter; that adapter MUST map the legacy
25
+ // `ModerationResult` into a verdict WITHOUT inheriting the fail-open behavior:
26
+ //
27
+ // approved === true -> decision "approved"
28
+ // approved === false -> decision "quarantine" (a positive flag)
29
+ // error / budgetExceeded / timeout -> decision "review" (FAIL CLOSED)
30
+ //
31
+ // (The shell, not this file, owns that adapter — keeping core SDK-free.)
32
+ //
33
+ // Pure functional core: no I/O, no clock, no random, no cloud SDK. The Mock is
34
+ // in-memory and deterministic. Ships in the PUBLIC npm tarball: NO thresholds,
35
+ // secrets, or real-category vocabulary here — labels carry opaque tokens.
36
+ const MOCK_PROVIDER_NAME = "mock-text";
37
+ const MOCK_DEFAULT_VERDICT = {
38
+ decision: "review",
39
+ labels: [],
40
+ provider: MOCK_PROVIDER_NAME,
41
+ };
42
+ /**
43
+ * Test seam: returns a canned verdict (default fail-closed `review`). Labels, if
44
+ * programmed, must use ONLY opaque category tokens — never real-category strings.
45
+ */
46
+ export class MockTextModerationProvider {
47
+ verdict;
48
+ /** Records of each input, for assertions. */
49
+ calls = [];
50
+ constructor(canned = MOCK_DEFAULT_VERDICT) {
51
+ this.verdict = canned;
52
+ }
53
+ /** Program the verdict returned by subsequent `moderateText` calls. */
54
+ setVerdict(verdict) {
55
+ this.verdict = verdict;
56
+ }
57
+ async moderateText(text) {
58
+ this.calls.push(text);
59
+ return this.verdict;
60
+ }
61
+ }
62
+ //# sourceMappingURL=text-moderation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-moderation.js","sourceRoot":"","sources":["../../../src/lib/media/text-moderation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,6EAA6E;AAC7E,EAAE;AACF,8DAA8D;AAC9D,gFAAgF;AAChF,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,kDAAkD;AAClD,+EAA+E;AAC/E,6EAA6E;AAC7E,2DAA2D;AAC3D,mEAAmE;AACnE,+EAA+E;AAC/E,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,8DAA8D;AAC9D,kFAAkF;AAClF,4EAA4E;AAC5E,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,0EAA0E;AAkB1E,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAEvC,MAAM,oBAAoB,GAAsB;IAC9C,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,kBAAkB;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAC7B,OAAO,CAAoB;IAEnC,6CAA6C;IACpC,KAAK,GAAa,EAAE,CAAC;IAE9B,YAAY,SAA4B,oBAAoB;QAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,uEAAuE;IACvE,UAAU,CAAC,OAA0B;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ import type { ModerationDecision } from "./moderation-status.js";
2
+ /** The two moderation tracks a media object can carry. */
3
+ export type Track = "VISUAL" | "AUDIO";
4
+ /**
5
+ * The outcome of moderating a single track.
6
+ *
7
+ * - `decided` — the track was moderated and produced a 3-value decision.
8
+ * - `errored` — the track was expected but moderation faulted (no usable
9
+ * verdict). Fail-closed: treated as "must not approve".
10
+ * - `absent` — the track does not apply to this object (e.g. no audio track
11
+ * on a silent video, or no visual track on an audio-only object).
12
+ * Absence alone is NOT approval: combining with a present-and-
13
+ * approved track still degrades to "review", because we cannot
14
+ * certify a track we never inspected. The shell decides, per
15
+ * media kind, whether a single-track object should even call
16
+ * this combinator — see the obligations below.
17
+ */
18
+ export type TrackOutcome = {
19
+ readonly state: "decided";
20
+ readonly decision: ModerationDecision;
21
+ } | {
22
+ readonly state: "errored";
23
+ } | {
24
+ readonly state: "absent";
25
+ };
26
+ /**
27
+ * Combine two per-track outcomes into the object-level {@link ModerationDecision}.
28
+ *
29
+ * Precedence (checked in this order; total):
30
+ * 1. If EITHER track is decided-"quarantine" => "quarantine". A confirmed
31
+ * flag on any track wins over everything: it is strictly more restrictive
32
+ * than "review", and a quarantine that decayed to "review" because the
33
+ * other track was absent/errored would be a safety regression.
34
+ * 2. Else, "approved" IFF BOTH tracks are state "decided" AND BOTH decisions
35
+ * are "approved".
36
+ * 3. Else (any "review", any "errored", any "absent", or any mix) => "review".
37
+ *
38
+ * Consequences (property-tested):
39
+ * - One missing/failed track NEVER yields "approved".
40
+ * - "approved" requires positive evidence on BOTH tracks.
41
+ * - "quarantine" is sticky across an absent/errored sibling track.
42
+ * - The function never returns "approved" from doubt.
43
+ */
44
+ export declare function combineTrackVerdicts(visual: TrackOutcome, audio: TrackOutcome): ModerationDecision;
45
+ //# sourceMappingURL=track-verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-verdict.d.ts","sourceRoot":"","sources":["../../../src/lib/media/track-verdict.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,0DAA0D;AAC1D,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,GAClB,kBAAkB,CAapB"}
@@ -0,0 +1,52 @@
1
+ // CONTRACT: stable — coordinate changes. Shared P0b functional-core unit.
2
+ //
3
+ // Combine the per-track moderation outcomes of a single media object into ONE
4
+ // object-level decision. A video has up to two independently-moderated tracks
5
+ // (a VISUAL track via the image/video moderation provider and an AUDIO track
6
+ // via the text-moderation seam over a transcript); an audio-only object has
7
+ // only the AUDIO track; an image has only the VISUAL track.
8
+ //
9
+ // FAIL-CLOSED is the whole point: a missing track, an errored track, or any
10
+ // "review" outcome must never let the object reach "approved". Only the case
11
+ // where BOTH tracks are present, decided, and approved yields "approved".
12
+ //
13
+ // Pure functional core: no I/O, no clock, no random. Total over its inputs.
14
+ // Lives in the PUBLIC npm tarball: NO thresholds, secrets, or real-category
15
+ // vocabulary here.
16
+ /**
17
+ * Combine two per-track outcomes into the object-level {@link ModerationDecision}.
18
+ *
19
+ * Precedence (checked in this order; total):
20
+ * 1. If EITHER track is decided-"quarantine" => "quarantine". A confirmed
21
+ * flag on any track wins over everything: it is strictly more restrictive
22
+ * than "review", and a quarantine that decayed to "review" because the
23
+ * other track was absent/errored would be a safety regression.
24
+ * 2. Else, "approved" IFF BOTH tracks are state "decided" AND BOTH decisions
25
+ * are "approved".
26
+ * 3. Else (any "review", any "errored", any "absent", or any mix) => "review".
27
+ *
28
+ * Consequences (property-tested):
29
+ * - One missing/failed track NEVER yields "approved".
30
+ * - "approved" requires positive evidence on BOTH tracks.
31
+ * - "quarantine" is sticky across an absent/errored sibling track.
32
+ * - The function never returns "approved" from doubt.
33
+ */
34
+ export function combineTrackVerdicts(visual, audio) {
35
+ // 1. Quarantine on either decided track dominates.
36
+ if (isDecidedQuarantine(visual) || isDecidedQuarantine(audio)) {
37
+ return "quarantine";
38
+ }
39
+ // 2. Approve only with positive evidence on BOTH tracks.
40
+ if (isDecidedApproved(visual) && isDecidedApproved(audio)) {
41
+ return "approved";
42
+ }
43
+ // 3. Everything else fails closed to human review.
44
+ return "review";
45
+ }
46
+ function isDecidedQuarantine(o) {
47
+ return o.state === "decided" && o.decision === "quarantine";
48
+ }
49
+ function isDecidedApproved(o) {
50
+ return o.state === "decided" && o.decision === "approved";
51
+ }
52
+ //# sourceMappingURL=track-verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-verdict.js","sourceRoot":"","sources":["../../../src/lib/media/track-verdict.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,4DAA4D;AAC5D,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,mBAAmB;AA0BnB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,KAAmB;IAEnB,mDAAmD;IACnD,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yDAAyD;IACzD,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAe;IAC1C,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAe;IACxC,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * transcript-moderation.ts — pure functional core
3
+ *
4
+ * Maps a raw transcript string through the injected TextModerationProvider and
5
+ * folds the resulting ModerationVerdict into the canonical 3-value
6
+ * ModerationDecision understood by the media pipeline.
7
+ *
8
+ * Fail-closed contract (hard requirement):
9
+ * - Any thrown error from the seam => "review"
10
+ * - Any verdict whose decision is not one of
11
+ * the three known values => "review"
12
+ * - An empty/whitespace-only transcript is
13
+ * passed to the seam unchanged; the seam's
14
+ * own decision is honoured. If the seam
15
+ * throws on empty input that also resolves
16
+ * to "review" (error path above).
17
+ * RATIONALE: silent audio is not inherently
18
+ * safe — an empty transcript could be a
19
+ * decoding failure, a muted track, or
20
+ * legitimate silence. Approving it
21
+ * unconditionally would bypass the seam
22
+ * for a whole class of inputs. The seam
23
+ * is the authority; we defer to it.
24
+ *
25
+ * Pure functional core: no I/O, no clock, no random, no cloud SDK. Only
26
+ * node:crypto is permitted (deterministic, CPU-only) — not used here.
27
+ * Ships in the PUBLIC npm tarball: NO thresholds, secrets, or real-category
28
+ * vocabulary.
29
+ */
30
+ import type { ModerationDecision } from "./moderation-status.js";
31
+ import type { TextModerationProvider } from "./text-moderation.js";
32
+ /**
33
+ * Run `transcript` through the injected `textMod` seam and return the
34
+ * canonical {@link ModerationDecision}.
35
+ *
36
+ * Fail-closed on every failure path:
37
+ * - Seam throws => `"review"`
38
+ * - Seam resolves to an unknown decision => `"review"`
39
+ * - Seam resolves to `"approved"` => `"approved"` (only safe path)
40
+ * - Seam resolves to `"quarantine"` => `"quarantine"`
41
+ * - Seam resolves to `"review"` => `"review"`
42
+ *
43
+ * @param transcript The raw transcript string (may be empty for silent audio).
44
+ * @param textMod The injected text-moderation seam.
45
+ */
46
+ export declare function transcriptToModerationDecision(transcript: string, textMod: TextModerationProvider): Promise<ModerationDecision>;
47
+ //# sourceMappingURL=transcript-moderation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-moderation.d.ts","sourceRoot":"","sources":["../../../src/lib/media/transcript-moderation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKnE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA0B7B"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * transcript-moderation.ts — pure functional core
3
+ *
4
+ * Maps a raw transcript string through the injected TextModerationProvider and
5
+ * folds the resulting ModerationVerdict into the canonical 3-value
6
+ * ModerationDecision understood by the media pipeline.
7
+ *
8
+ * Fail-closed contract (hard requirement):
9
+ * - Any thrown error from the seam => "review"
10
+ * - Any verdict whose decision is not one of
11
+ * the three known values => "review"
12
+ * - An empty/whitespace-only transcript is
13
+ * passed to the seam unchanged; the seam's
14
+ * own decision is honoured. If the seam
15
+ * throws on empty input that also resolves
16
+ * to "review" (error path above).
17
+ * RATIONALE: silent audio is not inherently
18
+ * safe — an empty transcript could be a
19
+ * decoding failure, a muted track, or
20
+ * legitimate silence. Approving it
21
+ * unconditionally would bypass the seam
22
+ * for a whole class of inputs. The seam
23
+ * is the authority; we defer to it.
24
+ *
25
+ * Pure functional core: no I/O, no clock, no random, no cloud SDK. Only
26
+ * node:crypto is permitted (deterministic, CPU-only) — not used here.
27
+ * Ships in the PUBLIC npm tarball: NO thresholds, secrets, or real-category
28
+ * vocabulary.
29
+ */
30
+ /** The three known classifier decisions (kept local — not re-exported). */
31
+ const KNOWN_DECISIONS = new Set(["approved", "review", "quarantine"]);
32
+ /**
33
+ * Run `transcript` through the injected `textMod` seam and return the
34
+ * canonical {@link ModerationDecision}.
35
+ *
36
+ * Fail-closed on every failure path:
37
+ * - Seam throws => `"review"`
38
+ * - Seam resolves to an unknown decision => `"review"`
39
+ * - Seam resolves to `"approved"` => `"approved"` (only safe path)
40
+ * - Seam resolves to `"quarantine"` => `"quarantine"`
41
+ * - Seam resolves to `"review"` => `"review"`
42
+ *
43
+ * @param transcript The raw transcript string (may be empty for silent audio).
44
+ * @param textMod The injected text-moderation seam.
45
+ */
46
+ export async function transcriptToModerationDecision(transcript, textMod) {
47
+ let verdict;
48
+ try {
49
+ verdict = await textMod.moderateText(transcript);
50
+ }
51
+ catch {
52
+ // Seam threw — fail closed.
53
+ return "review";
54
+ }
55
+ // Guard against garbage/null/undefined verdict objects (defensive — the
56
+ // contract says the seam returns ModerationVerdict, but an adapter could
57
+ // be buggy).
58
+ if (verdict == null || typeof verdict !== "object") {
59
+ return "review";
60
+ }
61
+ const { decision } = verdict;
62
+ // Only the three known decisions are honoured. Anything else — including
63
+ // undefined, a future union member, or a typo from a misbehaving adapter —
64
+ // resolves to "review" (fail closed).
65
+ if (!KNOWN_DECISIONS.has(decision)) {
66
+ return "review";
67
+ }
68
+ return decision;
69
+ }
70
+ //# sourceMappingURL=transcript-moderation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-moderation.js","sourceRoot":"","sources":["../../../src/lib/media/transcript-moderation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,2EAA2E;AAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,UAAkB,EAClB,OAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,aAAa;IACb,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,0EAA0E;IAC1E,2EAA2E;IAC3E,sCAAsC;IACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAA8B,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-handler.d.ts","sourceRoot":"","sources":["../../src/lib/media-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-handler.d.ts","sourceRoot":"","sources":["../../src/lib/media-handler.ts"],"names":[],"mappings":"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"}
@@ -1074,10 +1074,12 @@ export class MediaHandler {
1074
1074
  const thumbnailUrl = `${apiDomain}/api/media/${media.contentHash}?variant=thumbnail`;
1075
1075
  const optimizedUrl = `${apiDomain}/api/media/${media.contentHash}?variant=optimized`;
1076
1076
  const originalUrl = `${apiDomain}/api/media/${media.contentHash}?variant=original`;
1077
- // This endpoint is owner-only (ownership verified above).
1078
- // Always return full metadata to the owner — privacy flags control
1079
- // what OTHER users see, not the owner. The flags are still included
1080
- // in the response so the frontend can render the toggle state.
1077
+ // Privacy flags gate the metadata fields in the response (D13 data-minimization).
1078
+ // metadataVisible defaults false metadata is private unless the owner has
1079
+ // explicitly enabled sharing. locationVisible gates any location-bearing fields.
1080
+ // The flags themselves are always included so the frontend can render the toggle.
1081
+ const metadataVisible = media.metadataVisible ?? false;
1082
+ const locationVisible = media.locationVisible ?? false;
1081
1083
  const result = {
1082
1084
  id: media.id,
1083
1085
  contentHash: media.contentHash,
@@ -1090,12 +1092,16 @@ export class MediaHandler {
1090
1092
  width: media.width ?? undefined,
1091
1093
  height: media.height ?? undefined,
1092
1094
  duration: media.duration ?? undefined,
1093
- exifData: media.exifData ?? undefined,
1094
- iptcData: media.iptcData ?? undefined,
1095
+ // exifData/iptcData/dateTaken: withheld when metadataVisible is false
1096
+ ...(metadataVisible && {
1097
+ exifData: media.exifData ?? undefined,
1098
+ iptcData: media.iptcData ?? undefined,
1099
+ dateTaken: media.dateTaken?.toISOString(),
1100
+ }),
1101
+ // videoMetadata does not contain privacy-sensitive EXIF; gated separately
1095
1102
  videoMetadata: media.videoMetadata ?? undefined,
1096
- dateTaken: media.dateTaken?.toISOString(),
1097
- metadataVisible: media.metadataVisible ?? false,
1098
- locationVisible: media.locationVisible ?? false,
1103
+ metadataVisible,
1104
+ locationVisible,
1099
1105
  createdAt: media.createdAt.toISOString(),
1100
1106
  updatedAt: media.updatedAt.toISOString(),
1101
1107
  hidden: media.hidden || false,
@@ -1 +1 @@
1
- {"version":3,"file":"media-handler.js","sourceRoot":"","sources":["../../src/lib/media-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-handler.js","sourceRoot":"","sources":["../../src/lib/media-handler.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  */
9
9
  import type { Env } from "../env.js";
10
10
  import type { NotificationType } from "@prisma/client";
11
+ import { type BlockStore } from "./realtime/block-store.js";
12
+ import type { DeliveryPolicyResolver } from "./realtime/index.js";
11
13
  export interface NotificationListResponse {
12
14
  notifications: Array<{
13
15
  id: string;
@@ -22,6 +24,15 @@ export interface NotificationListResponse {
22
24
  hasMore: boolean;
23
25
  }
24
26
  export declare class NotificationHandler {
27
+ private readonly injectedResolver;
28
+ private readonly blockStore;
29
+ constructor(deliveryResolver?: DeliveryPolicyResolver | null, blockStore?: BlockStore | null);
30
+ /**
31
+ * The resolver for this call: the injected one (tests) or a default built
32
+ * from env's runtime re-engagement denylist (threshold-secrecy: the denylist
33
+ * is env-driven config, never a compiled-in constant).
34
+ */
35
+ private resolverFor;
25
36
  /**
26
37
  * Create a notification for a user.
27
38
  * Checks preferences (unless SAFETY_ALERT or PARENTAL_LINK) and quiet hours.
@@ -54,10 +65,6 @@ export declare class NotificationHandler {
54
65
  * Check whether a notification type is enabled in preferences.
55
66
  */
56
67
  private isTypeEnabled;
57
- /**
58
- * Check if current time falls within user's quiet hours.
59
- */
60
- private isInQuietHours;
61
68
  }
62
69
  export declare class NotificationNotFoundError extends Error {
63
70
  constructor(notificationId: string);
@@ -1 +1 @@
1
- {"version":3,"file":"notification-handler.d.ts","sourceRoot":"","sources":["../../src/lib/notification-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,gBAAgB,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAQD,qBAAa,mBAAmB;IAC9B;;;OAGG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAmE1B;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC;IAuCpC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E;;;;OAIG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBlD;;OAEG;IACH,OAAO,CAAC,aAAa;IAgCrB;;OAEG;IACH,OAAO,CAAC,cAAc;CA0BvB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,cAAc,EAAE,MAAM;CAInC"}
1
+ {"version":3,"file":"notification-handler.d.ts","sourceRoot":"","sources":["../../src/lib/notification-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,gBAAgB,EAAW,MAAM,gBAAgB,CAAC;AAKhE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,sBAAsB,EAEvB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,gBAAgB,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AA+FD,qBAAa,mBAAmB;IAU9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAIjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAG7C,gBAAgB,GAAE,sBAAsB,GAAG,IAAW,EACtD,UAAU,GAAE,UAAU,GAAG,IAAW;IAMtC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAoI1B;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC;IAuCpC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E;;;;OAIG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBlD;;OAEG;IACH,OAAO,CAAC,aAAa;CAmCtB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,cAAc,EAAE,MAAM;CAInC"}