@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.
- package/dist/env.d.ts +232 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +221 -0
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/lambda/media-completion-worker.d.ts +175 -0
- package/dist/lambda/media-completion-worker.d.ts.map +1 -0
- package/dist/lambda/media-completion-worker.js +373 -0
- package/dist/lambda/media-completion-worker.js.map +1 -0
- package/dist/lambda/media-processing-worker.d.ts +172 -1
- package/dist/lambda/media-processing-worker.d.ts.map +1 -1
- package/dist/lambda/media-processing-worker.js +343 -49
- package/dist/lambda/media-processing-worker.js.map +1 -1
- package/dist/lib/app.d.ts.map +1 -1
- package/dist/lib/app.js +5 -0
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/encrypted-settings/config.d.ts +13 -0
- package/dist/lib/encrypted-settings/config.d.ts.map +1 -0
- package/dist/lib/encrypted-settings/config.js +19 -0
- package/dist/lib/encrypted-settings/config.js.map +1 -0
- package/dist/lib/encrypted-settings/encrypted-settings-handler.d.ts +57 -0
- package/dist/lib/encrypted-settings/encrypted-settings-handler.d.ts.map +1 -0
- package/dist/lib/encrypted-settings/encrypted-settings-handler.js +178 -0
- package/dist/lib/encrypted-settings/encrypted-settings-handler.js.map +1 -0
- package/dist/lib/encrypted-settings/encrypted-settings-store.d.ts +110 -0
- package/dist/lib/encrypted-settings/encrypted-settings-store.d.ts.map +1 -0
- package/dist/lib/encrypted-settings/encrypted-settings-store.js +103 -0
- package/dist/lib/encrypted-settings/encrypted-settings-store.js.map +1 -0
- package/dist/lib/encrypted-settings/types.d.ts +26 -0
- package/dist/lib/encrypted-settings/types.d.ts.map +1 -0
- package/dist/lib/encrypted-settings/types.js +27 -0
- package/dist/lib/encrypted-settings/types.js.map +1 -0
- package/dist/lib/exif-stripper.d.ts +37 -22
- package/dist/lib/exif-stripper.d.ts.map +1 -1
- package/dist/lib/exif-stripper.js +101 -41
- package/dist/lib/exif-stripper.js.map +1 -1
- package/dist/lib/media/cas-keys.d.ts +63 -0
- package/dist/lib/media/cas-keys.d.ts.map +1 -0
- package/dist/lib/media/cas-keys.js +102 -0
- package/dist/lib/media/cas-keys.js.map +1 -0
- package/dist/lib/media/classify-worker-error.d.ts +48 -0
- package/dist/lib/media/classify-worker-error.d.ts.map +1 -0
- package/dist/lib/media/classify-worker-error.js +319 -0
- package/dist/lib/media/classify-worker-error.js.map +1 -0
- package/dist/lib/media/dedupe-key.d.ts +29 -0
- package/dist/lib/media/dedupe-key.d.ts.map +1 -0
- package/dist/lib/media/dedupe-key.js +49 -0
- package/dist/lib/media/dedupe-key.js.map +1 -0
- package/dist/lib/media/duration-cap.d.ts +30 -0
- package/dist/lib/media/duration-cap.d.ts.map +1 -0
- package/dist/lib/media/duration-cap.js +37 -0
- package/dist/lib/media/duration-cap.js.map +1 -0
- package/dist/lib/media/ffmpeg-args.d.ts +83 -0
- package/dist/lib/media/ffmpeg-args.d.ts.map +1 -0
- package/dist/lib/media/ffmpeg-args.js +119 -0
- package/dist/lib/media/ffmpeg-args.js.map +1 -0
- package/dist/lib/media/media-ports.d.ts +126 -0
- package/dist/lib/media/media-ports.d.ts.map +1 -0
- package/dist/lib/media/media-ports.js +129 -0
- package/dist/lib/media/media-ports.js.map +1 -0
- package/dist/lib/media/media-upsert.d.ts +55 -0
- package/dist/lib/media/media-upsert.d.ts.map +1 -0
- package/dist/lib/media/media-upsert.js +38 -0
- package/dist/lib/media/media-upsert.js.map +1 -0
- package/dist/lib/media/moderation-provider.d.ts +111 -0
- package/dist/lib/media/moderation-provider.d.ts.map +1 -0
- package/dist/lib/media/moderation-provider.js +130 -0
- package/dist/lib/media/moderation-provider.js.map +1 -0
- package/dist/lib/media/moderation-resolved-payload.d.ts +48 -0
- package/dist/lib/media/moderation-resolved-payload.d.ts.map +1 -0
- package/dist/lib/media/moderation-resolved-payload.js +37 -0
- package/dist/lib/media/moderation-resolved-payload.js.map +1 -0
- package/dist/lib/media/moderation-status.d.ts +98 -0
- package/dist/lib/media/moderation-status.d.ts.map +1 -0
- package/dist/lib/media/moderation-status.js +122 -0
- package/dist/lib/media/moderation-status.js.map +1 -0
- package/dist/lib/media/processing-types.d.ts +45 -0
- package/dist/lib/media/processing-types.d.ts.map +1 -0
- package/dist/lib/media/processing-types.js +9 -0
- package/dist/lib/media/processing-types.js.map +1 -0
- package/dist/lib/media/promote-decision.d.ts +64 -0
- package/dist/lib/media/promote-decision.d.ts.map +1 -0
- package/dist/lib/media/promote-decision.js +76 -0
- package/dist/lib/media/promote-decision.js.map +1 -0
- package/dist/lib/media/quota-check.d.ts +22 -0
- package/dist/lib/media/quota-check.d.ts.map +1 -0
- package/dist/lib/media/quota-check.js +42 -0
- package/dist/lib/media/quota-check.js.map +1 -0
- package/dist/lib/media/quota-types.d.ts +15 -0
- package/dist/lib/media/quota-types.d.ts.map +1 -0
- package/dist/lib/media/quota-types.js +9 -0
- package/dist/lib/media/quota-types.js.map +1 -0
- package/dist/lib/media/route-upload.d.ts +58 -0
- package/dist/lib/media/route-upload.d.ts.map +1 -0
- package/dist/lib/media/route-upload.js +80 -0
- package/dist/lib/media/route-upload.js.map +1 -0
- package/dist/lib/media/serve-gate.d.ts +51 -0
- package/dist/lib/media/serve-gate.d.ts.map +1 -0
- package/dist/lib/media/serve-gate.js +68 -0
- package/dist/lib/media/serve-gate.js.map +1 -0
- package/dist/lib/media/tenant-resolution.d.ts +42 -0
- package/dist/lib/media/tenant-resolution.d.ts.map +1 -0
- package/dist/lib/media/tenant-resolution.js +45 -0
- package/dist/lib/media/tenant-resolution.js.map +1 -0
- package/dist/lib/media/text-moderation.d.ts +28 -0
- package/dist/lib/media/text-moderation.d.ts.map +1 -0
- package/dist/lib/media/text-moderation.js +62 -0
- package/dist/lib/media/text-moderation.js.map +1 -0
- package/dist/lib/media/track-verdict.d.ts +45 -0
- package/dist/lib/media/track-verdict.d.ts.map +1 -0
- package/dist/lib/media/track-verdict.js +52 -0
- package/dist/lib/media/track-verdict.js.map +1 -0
- package/dist/lib/media/transcript-moderation.d.ts +47 -0
- package/dist/lib/media/transcript-moderation.d.ts.map +1 -0
- package/dist/lib/media/transcript-moderation.js +70 -0
- package/dist/lib/media/transcript-moderation.js.map +1 -0
- package/dist/lib/media-handler.d.ts.map +1 -1
- package/dist/lib/media-handler.js +15 -9
- package/dist/lib/media-handler.js.map +1 -1
- package/dist/lib/notification-handler.d.ts +11 -4
- package/dist/lib/notification-handler.d.ts.map +1 -1
- package/dist/lib/notification-handler.js +161 -29
- package/dist/lib/notification-handler.js.map +1 -1
- package/dist/lib/post-handler.d.ts.map +1 -1
- package/dist/lib/post-handler.js +4 -1
- package/dist/lib/post-handler.js.map +1 -1
- package/dist/lib/realtime/block-store.d.ts +61 -0
- package/dist/lib/realtime/block-store.d.ts.map +1 -0
- package/dist/lib/realtime/block-store.js +0 -0
- package/dist/lib/realtime/block-store.js.map +1 -0
- package/dist/lib/realtime/channel.d.ts +34 -0
- package/dist/lib/realtime/channel.d.ts.map +1 -0
- package/dist/lib/realtime/channel.js +100 -0
- package/dist/lib/realtime/channel.js.map +1 -0
- package/dist/lib/realtime/delivery-policy.d.ts +51 -0
- package/dist/lib/realtime/delivery-policy.d.ts.map +1 -0
- package/dist/lib/realtime/delivery-policy.js +98 -0
- package/dist/lib/realtime/delivery-policy.js.map +1 -0
- package/dist/lib/realtime/index.d.ts +21 -0
- package/dist/lib/realtime/index.d.ts.map +1 -0
- package/dist/lib/realtime/index.js +39 -0
- package/dist/lib/realtime/index.js.map +1 -0
- package/dist/lib/realtime/no-op-transport.d.ts +10 -0
- package/dist/lib/realtime/no-op-transport.d.ts.map +1 -0
- package/dist/lib/realtime/no-op-transport.js +44 -0
- package/dist/lib/realtime/no-op-transport.js.map +1 -0
- package/dist/lib/realtime/poll-transport.d.ts +11 -0
- package/dist/lib/realtime/poll-transport.d.ts.map +1 -0
- package/dist/lib/realtime/poll-transport.js +68 -0
- package/dist/lib/realtime/poll-transport.js.map +1 -0
- package/dist/lib/realtime/push-notifier.d.ts +39 -0
- package/dist/lib/realtime/push-notifier.d.ts.map +1 -0
- package/dist/lib/realtime/push-notifier.js +76 -0
- package/dist/lib/realtime/push-notifier.js.map +1 -0
- package/dist/lib/realtime/realtime-transport.d.ts +2 -0
- package/dist/lib/realtime/realtime-transport.d.ts.map +1 -0
- package/dist/lib/realtime/realtime-transport.js +23 -0
- package/dist/lib/realtime/realtime-transport.js.map +1 -0
- package/dist/lib/realtime/setting-store.d.ts +30 -0
- package/dist/lib/realtime/setting-store.d.ts.map +1 -0
- package/dist/lib/realtime/setting-store.js +0 -0
- package/dist/lib/realtime/setting-store.js.map +1 -0
- package/dist/lib/realtime/types.d.ts +200 -0
- package/dist/lib/realtime/types.d.ts.map +1 -0
- package/dist/lib/realtime/types.js +61 -0
- package/dist/lib/realtime/types.js.map +1 -0
- package/dist/lib/routes/index.d.ts.map +1 -1
- package/dist/lib/routes/index.js +3 -0
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/routes/media.d.ts +21 -0
- package/dist/lib/routes/media.d.ts.map +1 -1
- package/dist/lib/routes/media.js +584 -483
- package/dist/lib/routes/media.js.map +1 -1
- package/dist/lib/routes/settings.d.ts +17 -0
- package/dist/lib/routes/settings.d.ts.map +1 -0
- package/dist/lib/routes/settings.js +187 -0
- package/dist/lib/routes/settings.js.map +1 -0
- package/dist/lib/services/image-normalizer.d.ts +64 -6
- package/dist/lib/services/image-normalizer.d.ts.map +1 -1
- package/dist/lib/services/image-normalizer.js +88 -6
- package/dist/lib/services/image-normalizer.js.map +1 -1
- package/dist/lib/services/media-upload-service.d.ts +2 -2
- package/dist/lib/services/media-upload-service.d.ts.map +1 -1
- package/dist/lib/services/media-upload-service.js +22 -21
- package/dist/lib/services/media-upload-service.js.map +1 -1
- package/dist/lib/tenant-scope.d.ts.map +1 -1
- package/dist/lib/tenant-scope.js +18 -1
- package/dist/lib/tenant-scope.js.map +1 -1
- package/package.json +23 -22
- package/prisma/migrations/20260620051144_add_encrypted_user_settings/migration.sql +24 -0
- package/prisma/migrations/20260620120000_add_blocked_users/migration.sql +29 -0
- package/prisma/migrations/20260625000000_media_tenant_scope_and_moderation_status/migration.sql +49 -0
- package/prisma/migrations/20260625000001_p0b_moderation_jobs/migration.sql +73 -0
- package/prisma/schema.prisma +133 -15
- package/src/lambda/media-completion-worker.ts +567 -0
- package/src/lambda/media-processing-worker.ts +508 -59
package/dist/env.d.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type ResolveContext } from "@de-otio/saas-foundation/secrets";
|
|
8
8
|
import type { KVNamespace, CloudflareQueue, R2Bucket, AnalyticsEngineDataset } from "./types/cloudflare-compat.js";
|
|
9
|
+
import type { NotificationType } from "@prisma/client";
|
|
10
|
+
import type { RealtimeTransport } from "./lib/realtime/index.js";
|
|
9
11
|
/** Application environment — available to all route handlers */
|
|
10
12
|
export interface Env {
|
|
11
13
|
DATABASE_URL: string;
|
|
@@ -185,7 +187,237 @@ export interface Env {
|
|
|
185
187
|
INTERACTION_EVENT_PRUNE_BATCH_SIZE?: string;
|
|
186
188
|
/** Prune circuit-breaker: max iterations per run. Default 1000. */
|
|
187
189
|
INTERACTION_EVENT_PRUNE_MAX_ITERATIONS?: string;
|
|
190
|
+
/**
|
|
191
|
+
* Feature gates for the realtime seam.
|
|
192
|
+
* realtimeTransport: which transport core selects as the FALLBACK when no
|
|
193
|
+
* provider is injected — "poll" (default) | "appsync-events".
|
|
194
|
+
* realtimePush: whether the createNotification() push hand-off is enabled
|
|
195
|
+
* (default false). The floor decision is computed either way; this only
|
|
196
|
+
* gates whether deliver() is invoked.
|
|
197
|
+
*/
|
|
198
|
+
features: {
|
|
199
|
+
realtimeTransport: "poll" | "appsync-events";
|
|
200
|
+
realtimePush: boolean;
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Manipulative re-engagement NotificationTypes denied to non-adult recipients
|
|
204
|
+
* by the delivery FLOOR (minor-protection). RUNTIME CONFIG per the
|
|
205
|
+
* threshold-secrecy invariant. Default EMPTY (v1 ships no such type).
|
|
206
|
+
*/
|
|
207
|
+
REALTIME_REENGAGEMENT_TYPES: ReadonlySet<NotificationType>;
|
|
208
|
+
/** Setting-sync blob namespaces the deployment permits (allowlist). Empty = sync off. */
|
|
209
|
+
REALTIME_SETTING_NAMESPACES: string[];
|
|
210
|
+
/** Max bytes for a single encrypted setting blob (size cap; runtime config). */
|
|
211
|
+
REALTIME_SETTING_MAX_BYTES: number;
|
|
212
|
+
/**
|
|
213
|
+
* Retention window (days) for realtime connection/access logs. Treated like
|
|
214
|
+
* SecurityEvent (retention-bound), never durable ops data. Default short (7).
|
|
215
|
+
*/
|
|
216
|
+
REALTIME_CONN_LOG_RETENTION_DAYS: number;
|
|
217
|
+
/**
|
|
218
|
+
* The resolved transport instance. Populated by the env builder with the
|
|
219
|
+
* default (Poll/Noop) via resolveRealtimeTransport(); a consuming app
|
|
220
|
+
* OVERWRITES the slot by calling setRealtimeProvider() before serving.
|
|
221
|
+
* Handlers read env.realtimeTransport — never construct one.
|
|
222
|
+
*/
|
|
223
|
+
realtimeTransport: RealtimeTransport;
|
|
224
|
+
/**
|
|
225
|
+
* Media upload/serve configuration. All operational thresholds come from
|
|
226
|
+
* env vars; code ships only conservative safe-for-dev defaults.
|
|
227
|
+
*/
|
|
228
|
+
media: {
|
|
229
|
+
/**
|
|
230
|
+
* Maximum file size in bytes per media type.
|
|
231
|
+
* Sources: MEDIA_MAX_BYTES_IMAGE / MEDIA_MAX_BYTES_VIDEO / MEDIA_MAX_BYTES_AUDIO.
|
|
232
|
+
*/
|
|
233
|
+
maxBytes: {
|
|
234
|
+
image: number;
|
|
235
|
+
video: number;
|
|
236
|
+
audio: number;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Maximum total pixels (width × height) for uploaded images. Guards against
|
|
240
|
+
* decompression-bomb attacks (sharp limitInputPixels). Source: MEDIA_MAX_PIXELS.
|
|
241
|
+
*/
|
|
242
|
+
maxPixels: number;
|
|
243
|
+
/**
|
|
244
|
+
* Upload and serve rate limits (requests per minute). Operational values
|
|
245
|
+
* come from env; code ships conservative dev defaults.
|
|
246
|
+
* Sources: MEDIA_RATE_UPLOAD_PER_MIN / MEDIA_RATE_BATCH_PER_MIN / MEDIA_RATE_SERVE_PER_MIN.
|
|
247
|
+
*/
|
|
248
|
+
rateLimits: {
|
|
249
|
+
uploadPerMin: number;
|
|
250
|
+
batchPerMin: number;
|
|
251
|
+
servePerMin: number;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Accepted MIME-type allowlists per media type.
|
|
255
|
+
* Sources: MEDIA_ALLOWLIST_IMAGE_JSON / MEDIA_ALLOWLIST_VIDEO_JSON / MEDIA_ALLOWLIST_AUDIO_JSON
|
|
256
|
+
* (JSON arrays). Defaults to narrow safe sets; consumer widens as needed.
|
|
257
|
+
*/
|
|
258
|
+
allowlist: {
|
|
259
|
+
image: string[];
|
|
260
|
+
video: string[];
|
|
261
|
+
audio: string[];
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Enumerated derivative preset identifiers. Bounds the closed union used by
|
|
265
|
+
* the CAS key builder (T3). Source: MEDIA_PRESETS_JSON (JSON string array).
|
|
266
|
+
*/
|
|
267
|
+
presets: string[];
|
|
268
|
+
/**
|
|
269
|
+
* Per-category moderation thresholds: review and quarantine confidence
|
|
270
|
+
* boundaries (0–1). Absence of a key ⇒ fail-closed (treat as review).
|
|
271
|
+
* Source: MEDIA_THRESHOLDS_JSON (JSON object). Real operative numbers live
|
|
272
|
+
* in the consumer's SSM; compiled defaults are intentionally absent so the
|
|
273
|
+
* public tarball contains no threshold values.
|
|
274
|
+
*/
|
|
275
|
+
thresholds: Record<string, {
|
|
276
|
+
review: number;
|
|
277
|
+
quarantine: number;
|
|
278
|
+
}>;
|
|
279
|
+
/**
|
|
280
|
+
* Canonical output format for the image re-encode pipeline (T7).
|
|
281
|
+
* Must be one of the sharp-writable formats: "jpeg" | "png" | "webp".
|
|
282
|
+
* Source: MEDIA_CANONICAL_FORMAT. Default: "jpeg".
|
|
283
|
+
*/
|
|
284
|
+
canonicalFormat: "jpeg" | "png" | "webp";
|
|
285
|
+
/**
|
|
286
|
+
* JPEG/WebP output quality for the re-encode pipeline (1–100).
|
|
287
|
+
* Source: MEDIA_CANONICAL_QUALITY. Default: 85 (conservative dev default).
|
|
288
|
+
*/
|
|
289
|
+
canonicalQuality: number;
|
|
290
|
+
/**
|
|
291
|
+
* Maximum video duration in seconds the pipeline will accept. Clips
|
|
292
|
+
* exceeding this cap are rejected before transcoding begins (cost + abuse
|
|
293
|
+
* guard). Source: MEDIA_MAX_DURATION_SECONDS. Default: 60 (conservative
|
|
294
|
+
* dev default; consumer injects operative value via SSM/env).
|
|
295
|
+
*/
|
|
296
|
+
maxDurationSeconds: number;
|
|
297
|
+
/**
|
|
298
|
+
* Per-tenant cap on the number of uploads that may reach REVIEW status
|
|
299
|
+
* within the rolling rate window. Tenants that exceed this cap have
|
|
300
|
+
* subsequent uploads auto-rejected until the window resets. Source:
|
|
301
|
+
* MEDIA_REVIEW_RATE_CAP. Default: 20 (conservative dev default; consumer
|
|
302
|
+
* injects operative value via SSM/env).
|
|
303
|
+
*/
|
|
304
|
+
reviewRateCap: number;
|
|
305
|
+
/**
|
|
306
|
+
* Per-tenant upload quota: maximum number of stored objects and total
|
|
307
|
+
* bytes. Quota enforcement is advisory in P0b (logged, not hard-blocked);
|
|
308
|
+
* the consumer's CDK env sets hard values. Sources: MEDIA_QUOTA_MAX_OBJECTS
|
|
309
|
+
* / MEDIA_QUOTA_MAX_BYTES.
|
|
310
|
+
*/
|
|
311
|
+
uploadQuota: {
|
|
312
|
+
/** Maximum number of stored MediaFile objects per tenant. Default: 1000. */
|
|
313
|
+
maxObjects: number;
|
|
314
|
+
/** Maximum total bytes of stored media per tenant. Default: 1 GiB. */
|
|
315
|
+
maxBytes: number;
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* Transcription configuration for audio moderation (AUDIO track).
|
|
319
|
+
* outputBucket: S3 bucket for transcription output (no default — absent
|
|
320
|
+
* means the AUDIO track cannot submit jobs; callers must check).
|
|
321
|
+
* languageCode: BCP-47 language code for the transcription model.
|
|
322
|
+
* Source: MEDIA_TRANSCRIBE_LANGUAGE_CODE. Default: "en-US".
|
|
323
|
+
*/
|
|
324
|
+
transcribe: {
|
|
325
|
+
/** S3 bucket for transcription job output. Source: MEDIA_TRANSCRIBE_OUTPUT_BUCKET. No default. */
|
|
326
|
+
outputBucket?: string;
|
|
327
|
+
/** BCP-47 language code. Source: MEDIA_TRANSCRIBE_LANGUAGE_CODE. Default: "en-US". */
|
|
328
|
+
languageCode: string;
|
|
329
|
+
};
|
|
330
|
+
};
|
|
188
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* Track A — the RESERVED key-ring namespace. The client stores its wrapped-DEK
|
|
334
|
+
* bundle under this namespace; the server is blind to it (opaque ciphertext, no
|
|
335
|
+
* parsing). Always allowed, regardless of REALTIME_SETTING_NAMESPACES, so the
|
|
336
|
+
* key-ring works even when no other setting sync is opted in.
|
|
337
|
+
*/
|
|
338
|
+
export declare const KEYRING_NAMESPACE = "__keyring";
|
|
339
|
+
/**
|
|
340
|
+
* Resolve the realtime config block + the default transport instance from
|
|
341
|
+
* process.env. Single-writer: this is the ONLY place that reads the REALTIME_*
|
|
342
|
+
* env vars. The default is `poll` with an in-memory store + the calm-delivery
|
|
343
|
+
* resolver — fully functional with zero infra. A consuming app overrides the
|
|
344
|
+
* transport via setRealtimeProvider() (resolved here).
|
|
345
|
+
*
|
|
346
|
+
* REALTIME_SETTING_NAMESPACES always includes the reserved `__keyring` namespace
|
|
347
|
+
* (Track A), independent of the deployment's opt-in allowlist.
|
|
348
|
+
*/
|
|
349
|
+
export declare function resolveRealtimeEnv(): {
|
|
350
|
+
features: {
|
|
351
|
+
realtimeTransport: "poll" | "appsync-events";
|
|
352
|
+
realtimePush: boolean;
|
|
353
|
+
};
|
|
354
|
+
REALTIME_REENGAGEMENT_TYPES: ReadonlySet<NotificationType>;
|
|
355
|
+
REALTIME_SETTING_NAMESPACES: string[];
|
|
356
|
+
REALTIME_SETTING_MAX_BYTES: number;
|
|
357
|
+
REALTIME_CONN_LOG_RETENTION_DAYS: number;
|
|
358
|
+
realtimeTransport: RealtimeTransport;
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Resolve the media config block from process.env.
|
|
362
|
+
*
|
|
363
|
+
* Single-writer: this is the ONLY place that reads the MEDIA_* env vars.
|
|
364
|
+
* Threshold-secrecy invariant (CLAUDE.md rule 8): no cap / rate-limit /
|
|
365
|
+
* threshold *value* is compiled in. Defaults are conservative dev-safe
|
|
366
|
+
* values only; the consumer injects operative values via SSM/env vars.
|
|
367
|
+
*
|
|
368
|
+
* Absence of a threshold entry ⇒ fail-closed (treated as "review" by the gate).
|
|
369
|
+
*/
|
|
370
|
+
export declare function resolveMediaEnv(): {
|
|
371
|
+
media: {
|
|
372
|
+
maxBytes: {
|
|
373
|
+
image: number;
|
|
374
|
+
video: number;
|
|
375
|
+
audio: number;
|
|
376
|
+
};
|
|
377
|
+
maxPixels: number;
|
|
378
|
+
rateLimits: {
|
|
379
|
+
uploadPerMin: number;
|
|
380
|
+
batchPerMin: number;
|
|
381
|
+
servePerMin: number;
|
|
382
|
+
};
|
|
383
|
+
allowlist: {
|
|
384
|
+
image: string[];
|
|
385
|
+
video: string[];
|
|
386
|
+
audio: string[];
|
|
387
|
+
};
|
|
388
|
+
presets: string[];
|
|
389
|
+
thresholds: Record<string, {
|
|
390
|
+
review: number;
|
|
391
|
+
quarantine: number;
|
|
392
|
+
}>;
|
|
393
|
+
canonicalFormat: "jpeg" | "png" | "webp";
|
|
394
|
+
canonicalQuality: number;
|
|
395
|
+
maxDurationSeconds: number;
|
|
396
|
+
reviewRateCap: number;
|
|
397
|
+
uploadQuota: {
|
|
398
|
+
maxObjects: number;
|
|
399
|
+
maxBytes: number;
|
|
400
|
+
};
|
|
401
|
+
transcribe: {
|
|
402
|
+
outputBucket?: string;
|
|
403
|
+
languageCode: string;
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
};
|
|
407
|
+
/**
|
|
408
|
+
* Parse MEDIA_THRESHOLDS_JSON into a validated threshold map.
|
|
409
|
+
*
|
|
410
|
+
* Only entries whose `review` and `quarantine` values are numbers in [0, 1] are
|
|
411
|
+
* accepted. Out-of-range entries are silently dropped — an invalid threshold is
|
|
412
|
+
* treated as absent, which ⇒ fail-closed (review). This guards against a
|
|
413
|
+
* misconfigured value accidentally opening the gate.
|
|
414
|
+
*
|
|
415
|
+
* Exported for unit testing.
|
|
416
|
+
*/
|
|
417
|
+
export declare function parseMediaThresholds(raw: string | undefined): Record<string, {
|
|
418
|
+
review: number;
|
|
419
|
+
quarantine: number;
|
|
420
|
+
}>;
|
|
189
421
|
/** S1.4 — Validate critical environment variables at startup */
|
|
190
422
|
export declare function validateEnv(env: Env): string[];
|
|
191
423
|
/**
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EAER,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EAER,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiBjE,gEAAgE;AAChE,MAAM,WAAW,GAAG;IAElB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAGlC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAGrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAGnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAGhC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,oBAAoB,GAAG,aAAa,CAAC;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAGnC;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAIrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,MAAM,CAAC,EAAE,GAAG,CAAC;IAGb,aAAa,EAAE,WAAW,CAAC;IAC3B,sBAAsB,EAAE,WAAW,CAAC;IACpC,UAAU,EAAE,WAAW,CAAC;IACxB,mBAAmB,EAAE,WAAW,CAAC;IACjC,aAAa,EAAE,WAAW,CAAC;IAC3B,mBAAmB,EAAE,WAAW,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,WAAW,CAAC;IACnC,iBAAiB,EAAE,WAAW,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC;IAC1B,cAAc,EAAE,WAAW,CAAC;IAC5B,cAAc,EAAE,WAAW,CAAC;IAC5B,cAAc,EAAE,WAAW,CAAC;IAC5B,oBAAoB,EAAE,WAAW,CAAC;IAClC,cAAc,EAAE,WAAW,CAAC;IAG5B,YAAY,EAAE,eAAe,CAAC;IAC9B,oBAAoB,EAAE,eAAe,CAAC;IACtC,sBAAsB,EAAE,eAAe,CAAC;IACxC,gBAAgB,EAAE,eAAe,CAAC;IAClC,sBAAsB,EAAE,eAAe,CAAC;IACxC,0BAA0B,EAAE,eAAe,CAAC;IAG5C,eAAe,EAAE,QAAQ,CAAC;IAC1B,eAAe,EAAE,QAAQ,CAAC;IAU1B;4CACwC;IACxC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yEAAyE;IACzE,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,8EAA8E;IAC9E,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,wDAAwD;IACxD,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,mEAAmE;IACnE,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAOhD;;;;;;;OAOG;IACH,QAAQ,EAAE;QACR,iBAAiB,EAAE,MAAM,GAAG,gBAAgB,CAAC;QAC7C,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF;;;;OAIG;IACH,2BAA2B,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3D,yFAAyF;IACzF,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,gFAAgF;IAChF,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,gCAAgC,EAAE,MAAM,CAAC;IACzC;;;;;OAKG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAUrC;;;OAGG;IACH,KAAK,EAAE;QACL;;;WAGG;QACH,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1D;;;WAGG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,UAAU,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/E;;;;WAIG;QACH,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACjE;;;WAGG;QACH,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB;;;;;;WAMG;QACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnE;;;;WAIG;QACH,eAAe,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QACzC;;;WAGG;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB;;;;;WAKG;QACH,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,CAAC;QACtB;;;;;WAKG;QACH,WAAW,EAAE;YACX,4EAA4E;YAC5E,UAAU,EAAE,MAAM,CAAC;YACnB,sEAAsE;YACtE,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF;;;;;;WAMG;QACH,UAAU,EAAE;YACV,kGAAkG;YAClG,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,sFAAsF;YACtF,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;CAEH;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,QAAQ,EAAE;QAAE,iBAAiB,EAAE,MAAM,GAAG,gBAAgB,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAClF,2BAA2B,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3D,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,0BAA0B,EAAE,MAAM,CAAC;IACnC,gCAAgC,EAAE,MAAM,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CA4DA;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI;IAAE,KAAK,EAAE;QAC1C,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1D,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/E,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnE,eAAe,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QACzC,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QACtD,UAAU,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAA;CAAE,CAwJF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCxD;AA8FD,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAkB9C;AA0BD;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAiNrE"}
|
package/dist/env.js
CHANGED
|
@@ -8,12 +8,226 @@ import { DynamoKv, createDefaultDynamoClient } from "@de-otio/saas-foundation/kv
|
|
|
8
8
|
import { S3Storage, createDefaultS3Client } from "@de-otio/saas-foundation/storage";
|
|
9
9
|
import { SqsQueue, createDefaultSqsClient } from "@de-otio/saas-foundation/queue";
|
|
10
10
|
import { resolveSecret, secretRef, } from "@de-otio/saas-foundation/secrets";
|
|
11
|
+
import { PollTransport, NoopRealtimeTransport, InMemorySettingStore, CalmDeliveryResolver, resolveRealtimeTransport, } from "./lib/realtime/index.js";
|
|
11
12
|
const stage = process.env.STAGE || "dev";
|
|
12
13
|
function sqsUrl(queueName) {
|
|
13
14
|
const base = process.env.SQS_ENDPOINT || `https://sqs.${process.env.AWS_REGION || "us-east-1"}.amazonaws.com`;
|
|
14
15
|
const accountId = process.env.AWS_ACCOUNT_ID || "000000000000";
|
|
15
16
|
return `${base}/${accountId}/${stage}-${queueName}`;
|
|
16
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Track A — the RESERVED key-ring namespace. The client stores its wrapped-DEK
|
|
20
|
+
* bundle under this namespace; the server is blind to it (opaque ciphertext, no
|
|
21
|
+
* parsing). Always allowed, regardless of REALTIME_SETTING_NAMESPACES, so the
|
|
22
|
+
* key-ring works even when no other setting sync is opted in.
|
|
23
|
+
*/
|
|
24
|
+
export const KEYRING_NAMESPACE = "__keyring";
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the realtime config block + the default transport instance from
|
|
27
|
+
* process.env. Single-writer: this is the ONLY place that reads the REALTIME_*
|
|
28
|
+
* env vars. The default is `poll` with an in-memory store + the calm-delivery
|
|
29
|
+
* resolver — fully functional with zero infra. A consuming app overrides the
|
|
30
|
+
* transport via setRealtimeProvider() (resolved here).
|
|
31
|
+
*
|
|
32
|
+
* REALTIME_SETTING_NAMESPACES always includes the reserved `__keyring` namespace
|
|
33
|
+
* (Track A), independent of the deployment's opt-in allowlist.
|
|
34
|
+
*/
|
|
35
|
+
export function resolveRealtimeEnv() {
|
|
36
|
+
const transportKind = process.env.REALTIME_TRANSPORT === "appsync-events"
|
|
37
|
+
? "appsync-events"
|
|
38
|
+
: "poll";
|
|
39
|
+
const realtimePush = process.env.REALTIME_PUSH_ENABLED === "true";
|
|
40
|
+
// Minor-protection re-engagement denylist (runtime config; default empty).
|
|
41
|
+
const reengagementTypes = new Set((process.env.REALTIME_REENGAGEMENT_TYPES ?? "")
|
|
42
|
+
.split(",")
|
|
43
|
+
.map((s) => s.trim())
|
|
44
|
+
.filter((s) => s.length > 0));
|
|
45
|
+
const configured = (process.env.REALTIME_SETTING_NAMESPACES ?? "")
|
|
46
|
+
.split(",")
|
|
47
|
+
.map((s) => s.trim())
|
|
48
|
+
.filter((s) => s.length > 0);
|
|
49
|
+
// Track A — RESERVED system namespace. `__keyring` holds the wrapped-DEK
|
|
50
|
+
// key-ring bundle and is ALWAYS allowed (the store treats it as opaque
|
|
51
|
+
// ciphertext — no parsing), independent of the deployment's opt-in allowlist.
|
|
52
|
+
const namespaces = configured.includes(KEYRING_NAMESPACE)
|
|
53
|
+
? configured
|
|
54
|
+
: [...configured, KEYRING_NAMESPACE];
|
|
55
|
+
const maxBytesRaw = Number.parseInt(process.env.REALTIME_SETTING_MAX_BYTES ?? "", 10);
|
|
56
|
+
const maxBytes = Number.isFinite(maxBytesRaw) && maxBytesRaw > 0
|
|
57
|
+
? maxBytesRaw
|
|
58
|
+
: 65536; // 64 KiB default cap
|
|
59
|
+
const retentionRaw = Number.parseInt(process.env.REALTIME_CONN_LOG_RETENTION_DAYS ?? "", 10);
|
|
60
|
+
const connLogRetentionDays = Number.isFinite(retentionRaw) && retentionRaw > 0 ? retentionRaw : 7;
|
|
61
|
+
// Default transport: in-memory store + calm-delivery resolver. Skybber injects
|
|
62
|
+
// a push transport. Core never constructs an AppSync transport —
|
|
63
|
+
// "appsync-events" without an injected provider falls back to noop.
|
|
64
|
+
const settingStore = new InMemorySettingStore();
|
|
65
|
+
const policyResolver = new CalmDeliveryResolver({ reengagementTypes });
|
|
66
|
+
const fallback = transportKind === "appsync-events"
|
|
67
|
+
? new NoopRealtimeTransport(policyResolver)
|
|
68
|
+
: new PollTransport(settingStore, policyResolver);
|
|
69
|
+
const realtimeTransport = resolveRealtimeTransport(fallback);
|
|
70
|
+
return {
|
|
71
|
+
features: { realtimeTransport: transportKind, realtimePush },
|
|
72
|
+
REALTIME_REENGAGEMENT_TYPES: reengagementTypes,
|
|
73
|
+
REALTIME_SETTING_NAMESPACES: namespaces,
|
|
74
|
+
REALTIME_SETTING_MAX_BYTES: maxBytes,
|
|
75
|
+
REALTIME_CONN_LOG_RETENTION_DAYS: connLogRetentionDays,
|
|
76
|
+
realtimeTransport,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve the media config block from process.env.
|
|
81
|
+
*
|
|
82
|
+
* Single-writer: this is the ONLY place that reads the MEDIA_* env vars.
|
|
83
|
+
* Threshold-secrecy invariant (CLAUDE.md rule 8): no cap / rate-limit /
|
|
84
|
+
* threshold *value* is compiled in. Defaults are conservative dev-safe
|
|
85
|
+
* values only; the consumer injects operative values via SSM/env vars.
|
|
86
|
+
*
|
|
87
|
+
* Absence of a threshold entry ⇒ fail-closed (treated as "review" by the gate).
|
|
88
|
+
*/
|
|
89
|
+
export function resolveMediaEnv() {
|
|
90
|
+
// --- maxBytes: conservative dev defaults (10 MiB image, 100 MiB video/audio) ---
|
|
91
|
+
const parseBytes = (raw, fallback) => {
|
|
92
|
+
const n = Number.parseInt(raw ?? "", 10);
|
|
93
|
+
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
94
|
+
};
|
|
95
|
+
const maxBytesImage = parseBytes(process.env.MEDIA_MAX_BYTES_IMAGE, 10 * 1024 * 1024);
|
|
96
|
+
const maxBytesVideo = parseBytes(process.env.MEDIA_MAX_BYTES_VIDEO, 100 * 1024 * 1024);
|
|
97
|
+
const maxBytesAudio = parseBytes(process.env.MEDIA_MAX_BYTES_AUDIO, 100 * 1024 * 1024);
|
|
98
|
+
// --- maxPixels: decompression-bomb guard for sharp(limitInputPixels) ---
|
|
99
|
+
const maxPixelsRaw = Number.parseInt(process.env.MEDIA_MAX_PIXELS ?? "", 10);
|
|
100
|
+
// 25 MP dev default — conservative; real limit injected via env
|
|
101
|
+
const maxPixels = Number.isFinite(maxPixelsRaw) && maxPixelsRaw > 0
|
|
102
|
+
? maxPixelsRaw
|
|
103
|
+
: 25_000_000;
|
|
104
|
+
// --- rate limits (requests per minute; conservative dev defaults) ---
|
|
105
|
+
const parseRateLimit = (raw, fallback) => {
|
|
106
|
+
const n = Number.parseInt(raw ?? "", 10);
|
|
107
|
+
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
108
|
+
};
|
|
109
|
+
const uploadPerMin = parseRateLimit(process.env.MEDIA_RATE_UPLOAD_PER_MIN, 10);
|
|
110
|
+
const batchPerMin = parseRateLimit(process.env.MEDIA_RATE_BATCH_PER_MIN, 5);
|
|
111
|
+
const servePerMin = parseRateLimit(process.env.MEDIA_RATE_SERVE_PER_MIN, 60);
|
|
112
|
+
// --- MIME allowlists: narrow safe dev defaults; consumer widens as needed ---
|
|
113
|
+
const parseJsonArray = (raw, fallback) => {
|
|
114
|
+
if (!raw)
|
|
115
|
+
return fallback;
|
|
116
|
+
try {
|
|
117
|
+
const parsed = JSON.parse(raw);
|
|
118
|
+
if (Array.isArray(parsed) && parsed.every((x) => typeof x === "string")) {
|
|
119
|
+
return parsed;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Malformed JSON → fail-closed: use fallback
|
|
124
|
+
}
|
|
125
|
+
return fallback;
|
|
126
|
+
};
|
|
127
|
+
const allowlistImage = parseJsonArray(process.env.MEDIA_ALLOWLIST_IMAGE_JSON, ["image/jpeg", "image/png", "image/webp", "image/gif"]);
|
|
128
|
+
const allowlistVideo = parseJsonArray(process.env.MEDIA_ALLOWLIST_VIDEO_JSON, ["video/mp4"]);
|
|
129
|
+
const allowlistAudio = parseJsonArray(process.env.MEDIA_ALLOWLIST_AUDIO_JSON, ["audio/mpeg", "audio/mp4"]);
|
|
130
|
+
// --- presets: derivative variant identifiers (empty = no derivatives in P0a) ---
|
|
131
|
+
const presets = parseJsonArray(process.env.MEDIA_PRESETS_JSON, []);
|
|
132
|
+
// --- thresholds: fail-closed; NO default numeric values ---
|
|
133
|
+
// Absence of a key ⇒ the moderation gate treats the category as "review".
|
|
134
|
+
// Real operative numbers live in the consumer's SSM; the public tarball
|
|
135
|
+
// must never contain a compiled threshold literal (threshold-secrecy invariant).
|
|
136
|
+
const thresholds = parseMediaThresholds(process.env.MEDIA_THRESHOLDS_JSON);
|
|
137
|
+
// --- canonicalFormat: the sharp output format for the re-encode pipeline ---
|
|
138
|
+
const rawFormat = process.env.MEDIA_CANONICAL_FORMAT ?? "jpeg";
|
|
139
|
+
const canonicalFormat = rawFormat === "png" || rawFormat === "webp" ? rawFormat : "jpeg";
|
|
140
|
+
// --- canonicalQuality: JPEG/WebP output quality (1-100) ---
|
|
141
|
+
const rawQuality = Number.parseInt(process.env.MEDIA_CANONICAL_QUALITY ?? "", 10);
|
|
142
|
+
const canonicalQuality = Number.isFinite(rawQuality) && rawQuality >= 1 && rawQuality <= 100
|
|
143
|
+
? rawQuality
|
|
144
|
+
: 85; // Conservative dev default
|
|
145
|
+
// --- maxDurationSeconds: video clip cap ---
|
|
146
|
+
const maxDurationSecondsRaw = Number.parseInt(process.env.MEDIA_MAX_DURATION_SECONDS ?? "", 10);
|
|
147
|
+
// 60 s conservative dev default; consumer injects operative value via env.
|
|
148
|
+
const maxDurationSeconds = Number.isFinite(maxDurationSecondsRaw) && maxDurationSecondsRaw > 0
|
|
149
|
+
? maxDurationSecondsRaw
|
|
150
|
+
: 60;
|
|
151
|
+
// --- reviewRateCap: per-tenant REVIEW-generating upload cap ---
|
|
152
|
+
const reviewRateCapRaw = Number.parseInt(process.env.MEDIA_REVIEW_RATE_CAP ?? "", 10);
|
|
153
|
+
// 20 conservative dev default; consumer injects operative value via env.
|
|
154
|
+
const reviewRateCap = Number.isFinite(reviewRateCapRaw) && reviewRateCapRaw > 0
|
|
155
|
+
? reviewRateCapRaw
|
|
156
|
+
: 20;
|
|
157
|
+
// --- uploadQuota: per-tenant object count + byte ceiling ---
|
|
158
|
+
const quotaMaxObjectsRaw = Number.parseInt(process.env.MEDIA_QUOTA_MAX_OBJECTS ?? "", 10);
|
|
159
|
+
const quotaMaxObjects = Number.isFinite(quotaMaxObjectsRaw) && quotaMaxObjectsRaw > 0
|
|
160
|
+
? quotaMaxObjectsRaw
|
|
161
|
+
: 1000; // 1 000 objects dev default
|
|
162
|
+
const quotaMaxBytesRaw = Number.parseInt(process.env.MEDIA_QUOTA_MAX_BYTES ?? "", 10);
|
|
163
|
+
const quotaMaxBytes = Number.isFinite(quotaMaxBytesRaw) && quotaMaxBytesRaw > 0
|
|
164
|
+
? quotaMaxBytesRaw
|
|
165
|
+
: 1024 * 1024 * 1024; // 1 GiB dev default
|
|
166
|
+
// --- transcribe config ---
|
|
167
|
+
// outputBucket has no default (absent ⇒ AUDIO track cannot submit jobs).
|
|
168
|
+
const transcribeOutputBucket = process.env.MEDIA_TRANSCRIBE_OUTPUT_BUCKET || undefined;
|
|
169
|
+
const rawLanguageCode = (process.env.MEDIA_TRANSCRIBE_LANGUAGE_CODE ?? "").trim();
|
|
170
|
+
const transcribeLanguageCode = rawLanguageCode.length > 0 ? rawLanguageCode : "en-US";
|
|
171
|
+
return {
|
|
172
|
+
media: {
|
|
173
|
+
maxBytes: { image: maxBytesImage, video: maxBytesVideo, audio: maxBytesAudio },
|
|
174
|
+
maxPixels,
|
|
175
|
+
rateLimits: { uploadPerMin, batchPerMin, servePerMin },
|
|
176
|
+
allowlist: { image: allowlistImage, video: allowlistVideo, audio: allowlistAudio },
|
|
177
|
+
presets,
|
|
178
|
+
thresholds,
|
|
179
|
+
canonicalFormat,
|
|
180
|
+
canonicalQuality,
|
|
181
|
+
maxDurationSeconds,
|
|
182
|
+
reviewRateCap,
|
|
183
|
+
uploadQuota: { maxObjects: quotaMaxObjects, maxBytes: quotaMaxBytes },
|
|
184
|
+
transcribe: { outputBucket: transcribeOutputBucket, languageCode: transcribeLanguageCode },
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Parse MEDIA_THRESHOLDS_JSON into a validated threshold map.
|
|
190
|
+
*
|
|
191
|
+
* Only entries whose `review` and `quarantine` values are numbers in [0, 1] are
|
|
192
|
+
* accepted. Out-of-range entries are silently dropped — an invalid threshold is
|
|
193
|
+
* treated as absent, which ⇒ fail-closed (review). This guards against a
|
|
194
|
+
* misconfigured value accidentally opening the gate.
|
|
195
|
+
*
|
|
196
|
+
* Exported for unit testing.
|
|
197
|
+
*/
|
|
198
|
+
export function parseMediaThresholds(raw) {
|
|
199
|
+
if (!raw)
|
|
200
|
+
return {};
|
|
201
|
+
let parsed;
|
|
202
|
+
try {
|
|
203
|
+
parsed = JSON.parse(raw);
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
return {};
|
|
207
|
+
}
|
|
208
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
209
|
+
return {};
|
|
210
|
+
}
|
|
211
|
+
const result = {};
|
|
212
|
+
for (const [category, value] of Object.entries(parsed)) {
|
|
213
|
+
if (typeof value === "object" &&
|
|
214
|
+
value !== null &&
|
|
215
|
+
!Array.isArray(value) &&
|
|
216
|
+
typeof value.review === "number" &&
|
|
217
|
+
typeof value.quarantine === "number" &&
|
|
218
|
+
value.review >= 0 &&
|
|
219
|
+
value.review <= 1 &&
|
|
220
|
+
value.quarantine >= 0 &&
|
|
221
|
+
value.quarantine <= 1) {
|
|
222
|
+
result[category] = {
|
|
223
|
+
review: value.review,
|
|
224
|
+
quarantine: value.quarantine,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
// Out-of-range or malformed entries are dropped (fail-closed)
|
|
228
|
+
}
|
|
229
|
+
return result;
|
|
230
|
+
}
|
|
17
231
|
/**
|
|
18
232
|
* Assemble a Postgres URL from Secrets Manager at runtime.
|
|
19
233
|
*
|
|
@@ -169,6 +383,13 @@ export async function buildEnv(context) {
|
|
|
169
383
|
// NOT write it to process.env so it can't leak through env-var exposure.
|
|
170
384
|
const databaseUrl = await resolveDatabaseUrl();
|
|
171
385
|
return {
|
|
386
|
+
// Realtime transport seam: resolveRealtimeEnv() reads the REALTIME_* vars
|
|
387
|
+
// and selects the default (poll/noop) transport; Skybber overrides via
|
|
388
|
+
// setRealtimeProvider() before serving.
|
|
389
|
+
...resolveRealtimeEnv(),
|
|
390
|
+
// Media config seam: resolveMediaEnv() reads all MEDIA_* vars; no compiled
|
|
391
|
+
// threshold values ship in the tarball (threshold-secrecy invariant).
|
|
392
|
+
...resolveMediaEnv(),
|
|
172
393
|
DATABASE_URL: databaseUrl,
|
|
173
394
|
DATABASE_URL_CN: process.env.DATABASE_URL_CN,
|
|
174
395
|
DIRECT_URL: process.env.DIRECT_URL,
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,4 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { startServer } from "./server.js";
|
|
7
7
|
export { registerExtension, getExtension, getExtensions } from "./extensions.js";
|
|
8
|
+
// Realtime transport seam: a consuming app (e.g. Skybber) injects a concrete
|
|
9
|
+
// transport (AppSync Events) before serving; core ships the poll/noop default.
|
|
10
|
+
export { setRealtimeProvider } from "./lib/realtime/index.js";
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjF,6EAA6E;AAC7E,+EAA+E;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|