@ttt-productions/ttt-core 0.79.39 → 0.79.41

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 (36) hide show
  1. package/dist/doc-schemas/chat-sync.d.ts +81 -9
  2. package/dist/doc-schemas/chat-sync.d.ts.map +1 -1
  3. package/dist/doc-schemas/chat-sync.js +39 -8
  4. package/dist/doc-schemas/chat-sync.js.map +1 -1
  5. package/dist/doc-schemas/content.d.ts +12 -6
  6. package/dist/doc-schemas/content.d.ts.map +1 -1
  7. package/dist/doc-schemas/content.js +65 -4
  8. package/dist/doc-schemas/content.js.map +1 -1
  9. package/dist/doc-schemas/media-activation-jobs.d.ts +1 -1
  10. package/dist/doc-schemas/media-assets.d.ts +6 -6
  11. package/dist/doc-schemas/registry.d.ts +93 -21
  12. package/dist/doc-schemas/registry.d.ts.map +1 -1
  13. package/dist/doc-schemas/safety/evidence.d.ts +4 -4
  14. package/dist/doc-schemas/work-project.d.ts +1 -1
  15. package/dist/paths/collection-refs.d.ts +3 -0
  16. package/dist/paths/collection-refs.d.ts.map +1 -1
  17. package/dist/paths/collection-refs.js +9 -0
  18. package/dist/paths/collection-refs.js.map +1 -1
  19. package/dist/paths/path-builders.d.ts +2 -0
  20. package/dist/paths/path-builders.d.ts.map +1 -1
  21. package/dist/paths/path-builders.js +4 -0
  22. package/dist/paths/path-builders.js.map +1 -1
  23. package/dist/schemas/admin.d.ts +8 -9
  24. package/dist/schemas/admin.d.ts.map +1 -1
  25. package/dist/schemas/admin.js +2 -2
  26. package/dist/schemas/admin.js.map +1 -1
  27. package/dist/schemas/hall-library.d.ts +14 -1
  28. package/dist/schemas/hall-library.d.ts.map +1 -1
  29. package/dist/schemas/hall-library.js +37 -12
  30. package/dist/schemas/hall-library.js.map +1 -1
  31. package/dist/schemas/notification.d.ts +1 -1
  32. package/dist/types/admin-ops.d.ts +4 -3
  33. package/dist/types/admin-ops.d.ts.map +1 -1
  34. package/dist/types/admin-ops.js.map +1 -1
  35. package/dist/upload-variables/update-episode-media-variables.d.ts +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"admin-ops.js","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF","sourcesContent":["// Admin ops-dashboard callable return shapes — cross-boundary contracts (backend\n// builds them, frontend renders them), so they live HERE per the Cross-Boundary\n// Type Invariant. Consolidated 2026-07-13 from the former \"intentional LOCAL DTO\"\n// in functions/src/admin/getOpsStatus.ts + its structurally-matching frontend\n// re-declaration (publish-avoidance rationale — auto-reject; ARCH-102 extended).\n\nimport type { PledgePaymentTotals } from './payments.js';\nimport type { DeadLetterCollection } from '../schemas/admin.js';\n\n/** Trust & Safety SLA-clock + active-case snapshot for the Mission Control landing (§A8).\n * Counts are point-in-time; the per-lane earliest-deadline epochs (ms) are handed over raw so\n * the countdown ticks CLIENT-side — the server holds no live timer. All fields optional so an\n * older client still type-checks; the earliest-* epochs are additionally absent when a lane has\n * no armed clock. */\nexport interface OpsSafetyClocks {\n /** `safetySlaMonitors` rows with status == 'armed' (an obligation clock still running). */\n armedMonitors: number;\n /** `safetySlaMonitors` rows with status == 'overdue' (a breached SLA obligation). */\n overdueMonitors: number;\n /** Open CSAM (childSafety) cases. */\n activeChildSafetyCases: number;\n /** Open NCII cases. */\n activeNciiCases: number;\n /** Open statutory TAKE IT DOWN requests (`takeItDownRequests`). */\n activeTakeItDownRequests: number;\n /** Earliest armed `reviewDue` monitor deadline across all lanes (epoch ms). */\n earliestReviewDueAt?: number;\n /** Earliest armed CSAM `photoDnaContract` (72h match-reporting) deadline (epoch ms). */\n earliestPhotoDnaContractAt?: number;\n /** Earliest armed NCII / TAKE IT DOWN `nciiRemovalDeadline` (48h statutory removal) deadline\n * (epoch ms). */\n earliestNciiRemovalDeadlineAt?: number;\n}\n\n/** Backend-machinery health for the Mission Control landing: dead-letter depth, stuck async\n * lanes, failed media, and the global safety-sweep dead-man heartbeat. Numbers/epochs only. */\nexport interface OpsBrokenMachinery {\n /** Total parked dead-letter rows across every ledger (see `getDeadLetters`). */\n deadLetterTotal: number;\n /** Dead-lettered chat-sync fanout jobs (`chatSyncFanoutJobs`). */\n deadLetteredFanoutJobs: number;\n /** Stuck hall-sub-item edge-sync rows (`hallSubItemEdgeSync`). */\n stuckEdgeSyncCount: number;\n /** Uncleared failed pendingMedia (mirrors `media.failed`, surfaced in the machinery lane). */\n failedMediaCount: number;\n /** `safetyMonitorHeartbeat/global.lastRunAt` (epoch ms) of the scheduled monitor sweep.\n * Absent if the heartbeat has never stamped. Display only — do NOT judge staleness from this\n * client-side: use `safetyMonitorHeartbeatStale`, which the backend derives from the SAME\n * threshold its dead-man checker alarms on (ARCH-102: one declaration, enforcement derives). */\n safetyMonitorHeartbeatLastRunAt?: number;\n /** True when the sweep's heartbeat is older than the backend's own dead-man threshold — i.e. the\n * scheduled safety monitors may not be running. Derived server-side so the operator chip and the\n * real alarm can never disagree. Absent when an older backend does not project it. */\n safetyMonitorHeartbeatStale?: boolean;\n}\n\n/** The `getOpsStatus` callable's return shape (read-only ops snapshot). */\nexport interface OpsStatus {\n generatedAt: number;\n /** pendingMedia processing pipeline depth + uncleared failures. */\n media: { pending: number; processing: number; failed: number };\n /** Open admin work-queue tasks by type (status == 'pending'). `opsAnomalies` is the\n * combined stake-share + pledge-ledger + pledge-payment-repair integrity lane depth.\n * `refundRequests` and `disputes` are additive (optional) money-ops queue counts — an\n * older backend that does not project them simply omits them. */\n adminQueue: {\n libraryReviews: number;\n reports: number;\n appeals: number;\n dispatches: number;\n opsAnomalies: number;\n /** Pending user-initiated refund requests (the `payment.pledgeRefundRequested` lane). */\n refundRequests?: number;\n /** Open Stripe disputes / chargebacks awaiting resolution. */\n disputes?: number;\n };\n /** userProfiles created in the last 24h. */\n signupsLast24h: number;\n /** auditEvents with result == 'failure' in the last 24h (failed sensitive actions). */\n actionFailuresLast24h: number;\n /** auditEvents of type 'payment.pledgePaymentFailed' in the last 24h. */\n paymentFailuresLast24h: number;\n /** All-time pledge totals (live Firestore aggregation over pledgePayments; cents). */\n pledge: PledgePaymentTotals;\n /** Trust & Safety SLA-clock + active-case snapshot (§A8). Additive — an older backend that\n * does not project it omits the block entirely. */\n safetyClocks?: OpsSafetyClocks;\n /** Backend-machinery health snapshot. Additive — omitted by an older backend. */\n brokenMachinery?: OpsBrokenMachinery;\n}\n\n/** One parked row in the `getDeadLetters` operator view — a normalized projection\n * over the heterogeneous ledger shapes (the callable maps each ledger's own\n * status/error/timestamp fields onto this). */\nexport interface DeadLetterRow {\n collection: DeadLetterCollection;\n /** Flat doc id, or the full nested document path for hallSubItemEdgeSync rows. */\n docId: string;\n deadLetteredAt: number | null;\n lastError: string | null;\n attemptCount: number | null;\n}\n\n/** The `getDeadLetters` callable's return shape. */\nexport interface GetDeadLettersResult {\n generatedAt: number;\n rows: DeadLetterRow[];\n /** True when any ledger hit the row cap — more parked rows exist than shown. */\n truncated: boolean;\n}\n"]}
1
+ {"version":3,"file":"admin-ops.js","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF","sourcesContent":["// Admin ops-dashboard callable return shapes — cross-boundary contracts (backend\n// builds them, frontend renders them), so they live HERE per the Cross-Boundary\n// Type Invariant. Consolidated 2026-07-13 from the former \"intentional LOCAL DTO\"\n// in functions/src/admin/getOpsStatus.ts + its structurally-matching frontend\n// re-declaration (publish-avoidance rationale — auto-reject; ARCH-102 extended).\n\nimport type { PledgePaymentTotals } from './payments.js';\nimport type { FlatDeadLetterCollection } from '../schemas/admin.js';\n\n/** Trust & Safety SLA-clock + active-case snapshot for the Mission Control landing (§A8).\n * Counts are point-in-time; the per-lane earliest-deadline epochs (ms) are handed over raw so\n * the countdown ticks CLIENT-side — the server holds no live timer. All fields optional so an\n * older client still type-checks; the earliest-* epochs are additionally absent when a lane has\n * no armed clock. */\nexport interface OpsSafetyClocks {\n /** `safetySlaMonitors` rows with status == 'armed' (an obligation clock still running). */\n armedMonitors: number;\n /** `safetySlaMonitors` rows with status == 'overdue' (a breached SLA obligation). */\n overdueMonitors: number;\n /** Open CSAM (childSafety) cases. */\n activeChildSafetyCases: number;\n /** Open NCII cases. */\n activeNciiCases: number;\n /** Open statutory TAKE IT DOWN requests (`takeItDownRequests`). */\n activeTakeItDownRequests: number;\n /** Earliest armed `reviewDue` monitor deadline across all lanes (epoch ms). */\n earliestReviewDueAt?: number;\n /** Earliest armed CSAM `photoDnaContract` (72h match-reporting) deadline (epoch ms). */\n earliestPhotoDnaContractAt?: number;\n /** Earliest armed NCII / TAKE IT DOWN `nciiRemovalDeadline` (48h statutory removal) deadline\n * (epoch ms). */\n earliestNciiRemovalDeadlineAt?: number;\n}\n\n/** Backend-machinery health for the Mission Control landing: dead-letter depth, stuck async\n * lanes, failed media, and the global safety-sweep dead-man heartbeat. Numbers/epochs only. */\nexport interface OpsBrokenMachinery {\n /** Total parked dead-letter rows across every ledger (see `getDeadLetters`). */\n deadLetterTotal: number;\n /** Dead-lettered chat-sync fanout jobs (`chatSyncFanoutJobs`). */\n deadLetteredFanoutJobs: number;\n /** Stuck hall-sub-item edge-sync rows (`hallSubItemEdgeSync`). */\n stuckEdgeSyncCount: number;\n /** Uncleared failed pendingMedia (mirrors `media.failed`, surfaced in the machinery lane). */\n failedMediaCount: number;\n /** `safetyMonitorHeartbeat/global.lastRunAt` (epoch ms) of the scheduled monitor sweep.\n * Absent if the heartbeat has never stamped. Display only — do NOT judge staleness from this\n * client-side: use `safetyMonitorHeartbeatStale`, which the backend derives from the SAME\n * threshold its dead-man checker alarms on (ARCH-102: one declaration, enforcement derives). */\n safetyMonitorHeartbeatLastRunAt?: number;\n /** True when the sweep's heartbeat is older than the backend's own dead-man threshold — i.e. the\n * scheduled safety monitors may not be running. Derived server-side so the operator chip and the\n * real alarm can never disagree. Absent when an older backend does not project it. */\n safetyMonitorHeartbeatStale?: boolean;\n}\n\n/** The `getOpsStatus` callable's return shape (read-only ops snapshot). */\nexport interface OpsStatus {\n generatedAt: number;\n /** pendingMedia processing pipeline depth + uncleared failures. */\n media: { pending: number; processing: number; failed: number };\n /** Open admin work-queue tasks by type (status == 'pending'). `opsAnomalies` is the\n * combined stake-share + pledge-ledger + pledge-payment-repair integrity lane depth.\n * `refundRequests` and `disputes` are additive (optional) money-ops queue counts — an\n * older backend that does not project them simply omits them. */\n adminQueue: {\n libraryReviews: number;\n reports: number;\n appeals: number;\n dispatches: number;\n opsAnomalies: number;\n /** Pending user-initiated refund requests (the `payment.pledgeRefundRequested` lane). */\n refundRequests?: number;\n /** Open Stripe disputes / chargebacks awaiting resolution. */\n disputes?: number;\n };\n /** userProfiles created in the last 24h. */\n signupsLast24h: number;\n /** auditEvents with result == 'failure' in the last 24h (failed sensitive actions). */\n actionFailuresLast24h: number;\n /** auditEvents of type 'payment.pledgePaymentFailed' in the last 24h. */\n paymentFailuresLast24h: number;\n /** All-time pledge totals (live Firestore aggregation over pledgePayments; cents). */\n pledge: PledgePaymentTotals;\n /** Trust & Safety SLA-clock + active-case snapshot (§A8). Additive — an older backend that\n * does not project it omits the block entirely. */\n safetyClocks?: OpsSafetyClocks;\n /** Backend-machinery health snapshot. Additive — omitted by an older backend. */\n brokenMachinery?: OpsBrokenMachinery;\n}\n\n/** One parked row in the `getDeadLetters` operator view — a normalized projection\n * over the heterogeneous ledger shapes (the callable maps each ledger's own\n * status/error/timestamp fields onto this). */\nexport interface DeadLetterRow {\n /** `getDeadLetters` lists flat ledgers only; nested Hall edge-sync rows use their structured replay target. */\n collection: FlatDeadLetterCollection;\n /** Flat document id within `collection`. */\n docId: string;\n deadLetteredAt: number | null;\n lastError: string | null;\n attemptCount: number | null;\n}\n\n/** The `getDeadLetters` callable's return shape. */\nexport interface GetDeadLettersResult {\n generatedAt: number;\n rows: DeadLetterRow[];\n /** True when any ledger hit the row cap — more parked rows exist than shown. */\n truncated: boolean;\n}\n"]}
@@ -18,8 +18,8 @@ export declare const UpdateTelevisionEpisodeMediaVariablesSchema: z.ZodObject<{
18
18
  }>;
19
19
  }, z.core.$strict>>;
20
20
  mediaKey: z.ZodEnum<{
21
- photoAssetId: "photoAssetId";
22
21
  videoAssetId: "videoAssetId";
22
+ photoAssetId: "photoAssetId";
23
23
  }>;
24
24
  onProgress: z.ZodOptional<z.ZodCustom<(state: import("@ttt-productions/media-schemas").UploadState | null) => void, (state: import("@ttt-productions/media-schemas").UploadState | null) => void>>;
25
25
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/ttt-core",
3
- "version": "0.79.39",
3
+ "version": "0.79.41",
4
4
  "description": "Core types, Firestore path constants, and shared constants for TTT Productions",
5
5
  "repository": {
6
6
  "type": "git",