@antiphony/shared 0.4.0 → 0.5.1

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.
@@ -149,21 +149,21 @@ declare const TranscriptSegmentSchema: z.ZodEffects<z.ZodObject<{
149
149
  endMs: z.ZodNumber;
150
150
  text: z.ZodString;
151
151
  }, "strip", z.ZodTypeAny, {
152
+ text: string;
152
153
  startMs: number;
153
154
  endMs: number;
154
- text: string;
155
155
  }, {
156
+ text: string;
156
157
  startMs: number;
157
158
  endMs: number;
158
- text: string;
159
159
  }>, {
160
+ text: string;
160
161
  startMs: number;
161
162
  endMs: number;
162
- text: string;
163
163
  }, {
164
+ text: string;
164
165
  startMs: number;
165
166
  endMs: number;
166
- text: string;
167
167
  }>;
168
168
  type TranscriptSegment = z.infer<typeof TranscriptSegmentSchema>;
169
169
  /**
@@ -177,35 +177,35 @@ declare const TimedTranscriptSchema: z.ZodObject<{
177
177
  endMs: z.ZodNumber;
178
178
  text: z.ZodString;
179
179
  }, "strip", z.ZodTypeAny, {
180
+ text: string;
180
181
  startMs: number;
181
182
  endMs: number;
182
- text: string;
183
183
  }, {
184
+ text: string;
184
185
  startMs: number;
185
186
  endMs: number;
186
- text: string;
187
187
  }>, {
188
+ text: string;
188
189
  startMs: number;
189
190
  endMs: number;
190
- text: string;
191
191
  }, {
192
+ text: string;
192
193
  startMs: number;
193
194
  endMs: number;
194
- text: string;
195
195
  }>, "many">;
196
196
  text: z.ZodOptional<z.ZodString>;
197
197
  }, "strip", z.ZodTypeAny, {
198
198
  segments: {
199
+ text: string;
199
200
  startMs: number;
200
201
  endMs: number;
201
- text: string;
202
202
  }[];
203
203
  text?: string | undefined;
204
204
  }, {
205
205
  segments: {
206
+ text: string;
206
207
  startMs: number;
207
208
  endMs: number;
208
- text: string;
209
209
  }[];
210
210
  text?: string | undefined;
211
211
  }>;
@@ -217,6 +217,18 @@ type TimedTranscript = z.infer<typeof TimedTranscriptSchema>;
217
217
  */
218
218
  declare const AudioEmbedViewSchema: z.ZodObject<{
219
219
  $type: z.ZodLiteral<"dev.antiphony.embed.audio#view">;
220
+ /**
221
+ * `url`, `durationMs` and `waveform` are RESOLVED, not copied: once
222
+ * processing has produced an audio variant they describe that variant
223
+ * rather than the bytes the client uploaded. They always agree with one
224
+ * another — a duration and a set of peaks are only meaningful against the
225
+ * audio `url` actually points at.
226
+ *
227
+ * A client that stored `durationMs` at upload time should therefore expect
228
+ * it to change (trim removes leading/trailing silence), and should render
229
+ * these three as a set rather than caching them independently. The record's
230
+ * originals are immutable and unaffected; this is a read-time resolution.
231
+ */
220
232
  url: z.ZodString;
221
233
  durationMs: z.ZodOptional<z.ZodNumber>;
222
234
  alt: z.ZodOptional<z.ZodString>;
@@ -228,54 +240,62 @@ declare const AudioEmbedViewSchema: z.ZodObject<{
228
240
  endMs: z.ZodNumber;
229
241
  text: z.ZodString;
230
242
  }, "strip", z.ZodTypeAny, {
243
+ text: string;
231
244
  startMs: number;
232
245
  endMs: number;
233
- text: string;
234
246
  }, {
247
+ text: string;
235
248
  startMs: number;
236
249
  endMs: number;
237
- text: string;
238
250
  }>, {
251
+ text: string;
239
252
  startMs: number;
240
253
  endMs: number;
241
- text: string;
242
254
  }, {
255
+ text: string;
243
256
  startMs: number;
244
257
  endMs: number;
245
- text: string;
246
258
  }>, "many">;
247
259
  text: z.ZodOptional<z.ZodString>;
248
260
  }, "strip", z.ZodTypeAny, {
249
261
  segments: {
262
+ text: string;
250
263
  startMs: number;
251
264
  endMs: number;
252
- text: string;
253
265
  }[];
254
266
  text?: string | undefined;
255
267
  }, {
256
268
  segments: {
269
+ text: string;
257
270
  startMs: number;
258
271
  endMs: number;
259
- text: string;
260
272
  }[];
261
273
  text?: string | undefined;
262
274
  }>>;
263
275
  /**
264
- * Per-stage audio-processing status (transcribe / denoise), when the app
265
- * opted into processing on create. Absent otherwise. A `pending` stage
266
- * means the client should poll (or re-render) for the result. When
267
- * `denoise === 'ready'`, `url` above already resolves to the cleaned
268
- * audio variant. See `types/processing.ts`.
276
+ * Per-stage audio-processing status (denoise / trim / transcribe /
277
+ * waveform), when the app opted into processing. Absent otherwise. A
278
+ * `pending` stage means the client should poll (or re-render) for the
279
+ * result including a stage that returns to `pending` after having been
280
+ * `ready`, which is how a recompute surfaces. Once a byte-mutating stage
281
+ * completes, `url`/`durationMs`/`waveform` above already resolve to the
282
+ * processed audio variant. See `types/processing.ts`.
269
283
  */
270
284
  processing: z.ZodOptional<z.ZodObject<{
271
285
  transcribe: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
272
286
  denoise: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
287
+ trim: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
288
+ waveform: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
273
289
  }, "strip", z.ZodTypeAny, {
290
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
274
291
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
275
292
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
293
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
276
294
  }, {
295
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
277
296
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
278
297
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
298
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
279
299
  }>>;
280
300
  }, "strip", z.ZodTypeAny, {
281
301
  $type: "dev.antiphony.embed.audio#view";
@@ -283,36 +303,40 @@ declare const AudioEmbedViewSchema: z.ZodObject<{
283
303
  durationMs?: number | undefined;
284
304
  alt?: string | undefined;
285
305
  waveform?: number[] | undefined;
306
+ processing?: {
307
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
308
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
309
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
310
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
311
+ } | undefined;
286
312
  transcript?: {
287
313
  segments: {
314
+ text: string;
288
315
  startMs: number;
289
316
  endMs: number;
290
- text: string;
291
317
  }[];
292
318
  text?: string | undefined;
293
319
  } | undefined;
294
- processing?: {
295
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
296
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
297
- } | undefined;
298
320
  }, {
299
321
  $type: "dev.antiphony.embed.audio#view";
300
322
  url: string;
301
323
  durationMs?: number | undefined;
302
324
  alt?: string | undefined;
303
325
  waveform?: number[] | undefined;
326
+ processing?: {
327
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
328
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
329
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
330
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
331
+ } | undefined;
304
332
  transcript?: {
305
333
  segments: {
334
+ text: string;
306
335
  startMs: number;
307
336
  endMs: number;
308
- text: string;
309
337
  }[];
310
338
  text?: string | undefined;
311
339
  } | undefined;
312
- processing?: {
313
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
314
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
315
- } | undefined;
316
340
  }>;
317
341
  type AudioEmbedView = z.infer<typeof AudioEmbedViewSchema>;
318
342
  /**
@@ -370,17 +394,43 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
370
394
  processing: z.ZodOptional<z.ZodObject<{
371
395
  transcribe: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
372
396
  denoise: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
373
- denoisedBlobCid: z.ZodOptional<z.ZodString>;
397
+ trim: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
398
+ waveform: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
399
+ } & {
400
+ reprocess: z.ZodOptional<z.ZodBoolean>;
401
+ } & {
402
+ processedBlobCid: z.ZodOptional<z.ZodString>;
403
+ processedMimeType: z.ZodOptional<z.ZodString>;
404
+ processedDurationMs: z.ZodOptional<z.ZodNumber>;
405
+ denoiseModel: z.ZodOptional<z.ZodString>;
406
+ waveformPeaks: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
407
+ leaseUntil: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodType<unknown, z.ZodTypeDef, unknown>, z.ZodString, z.ZodNumber, z.ZodDate]>, Date, unknown>>;
374
408
  updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodType<unknown, z.ZodTypeDef, unknown>, z.ZodString, z.ZodNumber, z.ZodDate]>, Date, unknown>;
375
409
  }, "strip", z.ZodTypeAny, {
376
410
  updatedAt: Date;
411
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
377
412
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
378
413
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
379
- denoisedBlobCid?: string | undefined;
414
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
415
+ reprocess?: boolean | undefined;
416
+ processedBlobCid?: string | undefined;
417
+ processedMimeType?: string | undefined;
418
+ processedDurationMs?: number | undefined;
419
+ denoiseModel?: string | undefined;
420
+ waveformPeaks?: number[] | undefined;
421
+ leaseUntil?: Date | undefined;
380
422
  }, {
423
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
381
424
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
382
425
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
383
- denoisedBlobCid?: string | undefined;
426
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
427
+ reprocess?: boolean | undefined;
428
+ processedBlobCid?: string | undefined;
429
+ processedMimeType?: string | undefined;
430
+ processedDurationMs?: number | undefined;
431
+ denoiseModel?: string | undefined;
432
+ waveformPeaks?: number[] | undefined;
433
+ leaseUntil?: unknown;
384
434
  updatedAt?: unknown;
385
435
  }>>;
386
436
  /** User-authored text (bsky-semantic). May be empty for pure-audio posts. NEVER the transcript. */
@@ -498,33 +548,13 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
498
548
  selfLabels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
499
549
  createdAt: z.ZodEffects<z.ZodUnion<[z.ZodType<unknown, z.ZodTypeDef, unknown>, z.ZodString, z.ZodNumber, z.ZodDate]>, Date, unknown>;
500
550
  }, "strip", z.ZodTypeAny, {
501
- cid: string;
502
551
  text: string;
552
+ cid: string;
503
553
  id: string;
504
554
  originAppId: string;
505
555
  authorId: string;
506
- kind: "prompt" | "reply";
556
+ kind: "reply" | "prompt";
507
557
  createdAt: Date;
508
- processing?: {
509
- updatedAt: Date;
510
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
511
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
512
- denoisedBlobCid?: string | undefined;
513
- } | undefined;
514
- authorDid?: string | undefined;
515
- orgId?: string | null | undefined;
516
- reply?: {
517
- root: {
518
- uri: string;
519
- cid: string;
520
- };
521
- parent: {
522
- uri: string;
523
- cid: string;
524
- };
525
- } | undefined;
526
- threadParticipants?: string[] | undefined;
527
- rootAuthorId?: string | undefined;
528
558
  title?: string | undefined;
529
559
  embed?: {
530
560
  $type: "dev.antiphony.embed.audio";
@@ -540,23 +570,6 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
540
570
  alt?: string | undefined;
541
571
  waveform?: number[] | undefined;
542
572
  } | undefined;
543
- langs?: string[] | undefined;
544
- selfLabels?: string[] | undefined;
545
- }, {
546
- cid: string;
547
- text: string;
548
- id: string;
549
- originAppId: string;
550
- authorId: string;
551
- kind: "prompt" | "reply";
552
- processing?: {
553
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
554
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
555
- denoisedBlobCid?: string | undefined;
556
- updatedAt?: unknown;
557
- } | undefined;
558
- authorDid?: string | undefined;
559
- orgId?: string | null | undefined;
560
573
  reply?: {
561
574
  root: {
562
575
  uri: string;
@@ -567,8 +580,33 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
567
580
  cid: string;
568
581
  };
569
582
  } | undefined;
583
+ langs?: string[] | undefined;
584
+ selfLabels?: string[] | undefined;
585
+ processing?: {
586
+ updatedAt: Date;
587
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
588
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
589
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
590
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
591
+ reprocess?: boolean | undefined;
592
+ processedBlobCid?: string | undefined;
593
+ processedMimeType?: string | undefined;
594
+ processedDurationMs?: number | undefined;
595
+ denoiseModel?: string | undefined;
596
+ waveformPeaks?: number[] | undefined;
597
+ leaseUntil?: Date | undefined;
598
+ } | undefined;
599
+ authorDid?: string | undefined;
600
+ orgId?: string | null | undefined;
570
601
  threadParticipants?: string[] | undefined;
571
602
  rootAuthorId?: string | undefined;
603
+ }, {
604
+ text: string;
605
+ cid: string;
606
+ id: string;
607
+ originAppId: string;
608
+ authorId: string;
609
+ kind: "reply" | "prompt";
572
610
  title?: string | undefined;
573
611
  embed?: {
574
612
  $type: "dev.antiphony.embed.audio";
@@ -584,25 +622,6 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
584
622
  alt?: string | undefined;
585
623
  waveform?: number[] | undefined;
586
624
  } | undefined;
587
- langs?: string[] | undefined;
588
- selfLabels?: string[] | undefined;
589
- createdAt?: unknown;
590
- }>, {
591
- cid: string;
592
- text: string;
593
- id: string;
594
- originAppId: string;
595
- authorId: string;
596
- kind: "prompt" | "reply";
597
- createdAt: Date;
598
- processing?: {
599
- updatedAt: Date;
600
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
601
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
602
- denoisedBlobCid?: string | undefined;
603
- } | undefined;
604
- authorDid?: string | undefined;
605
- orgId?: string | null | undefined;
606
625
  reply?: {
607
626
  root: {
608
627
  uri: string;
@@ -613,8 +632,35 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
613
632
  cid: string;
614
633
  };
615
634
  } | undefined;
635
+ langs?: string[] | undefined;
636
+ selfLabels?: string[] | undefined;
637
+ processing?: {
638
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
639
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
640
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
641
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
642
+ reprocess?: boolean | undefined;
643
+ processedBlobCid?: string | undefined;
644
+ processedMimeType?: string | undefined;
645
+ processedDurationMs?: number | undefined;
646
+ denoiseModel?: string | undefined;
647
+ waveformPeaks?: number[] | undefined;
648
+ leaseUntil?: unknown;
649
+ updatedAt?: unknown;
650
+ } | undefined;
651
+ authorDid?: string | undefined;
652
+ orgId?: string | null | undefined;
616
653
  threadParticipants?: string[] | undefined;
617
654
  rootAuthorId?: string | undefined;
655
+ createdAt?: unknown;
656
+ }>, {
657
+ text: string;
658
+ cid: string;
659
+ id: string;
660
+ originAppId: string;
661
+ authorId: string;
662
+ kind: "reply" | "prompt";
663
+ createdAt: Date;
618
664
  title?: string | undefined;
619
665
  embed?: {
620
666
  $type: "dev.antiphony.embed.audio";
@@ -630,23 +676,6 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
630
676
  alt?: string | undefined;
631
677
  waveform?: number[] | undefined;
632
678
  } | undefined;
633
- langs?: string[] | undefined;
634
- selfLabels?: string[] | undefined;
635
- }, {
636
- cid: string;
637
- text: string;
638
- id: string;
639
- originAppId: string;
640
- authorId: string;
641
- kind: "prompt" | "reply";
642
- processing?: {
643
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
644
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
645
- denoisedBlobCid?: string | undefined;
646
- updatedAt?: unknown;
647
- } | undefined;
648
- authorDid?: string | undefined;
649
- orgId?: string | null | undefined;
650
679
  reply?: {
651
680
  root: {
652
681
  uri: string;
@@ -657,8 +686,33 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
657
686
  cid: string;
658
687
  };
659
688
  } | undefined;
689
+ langs?: string[] | undefined;
690
+ selfLabels?: string[] | undefined;
691
+ processing?: {
692
+ updatedAt: Date;
693
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
694
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
695
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
696
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
697
+ reprocess?: boolean | undefined;
698
+ processedBlobCid?: string | undefined;
699
+ processedMimeType?: string | undefined;
700
+ processedDurationMs?: number | undefined;
701
+ denoiseModel?: string | undefined;
702
+ waveformPeaks?: number[] | undefined;
703
+ leaseUntil?: Date | undefined;
704
+ } | undefined;
705
+ authorDid?: string | undefined;
706
+ orgId?: string | null | undefined;
660
707
  threadParticipants?: string[] | undefined;
661
708
  rootAuthorId?: string | undefined;
709
+ }, {
710
+ text: string;
711
+ cid: string;
712
+ id: string;
713
+ originAppId: string;
714
+ authorId: string;
715
+ kind: "reply" | "prompt";
662
716
  title?: string | undefined;
663
717
  embed?: {
664
718
  $type: "dev.antiphony.embed.audio";
@@ -674,8 +728,36 @@ declare const AudioPostRecordSchema: z.ZodEffects<z.ZodObject<{
674
728
  alt?: string | undefined;
675
729
  waveform?: number[] | undefined;
676
730
  } | undefined;
731
+ reply?: {
732
+ root: {
733
+ uri: string;
734
+ cid: string;
735
+ };
736
+ parent: {
737
+ uri: string;
738
+ cid: string;
739
+ };
740
+ } | undefined;
677
741
  langs?: string[] | undefined;
678
742
  selfLabels?: string[] | undefined;
743
+ processing?: {
744
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
745
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
746
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
747
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
748
+ reprocess?: boolean | undefined;
749
+ processedBlobCid?: string | undefined;
750
+ processedMimeType?: string | undefined;
751
+ processedDurationMs?: number | undefined;
752
+ denoiseModel?: string | undefined;
753
+ waveformPeaks?: number[] | undefined;
754
+ leaseUntil?: unknown;
755
+ updatedAt?: unknown;
756
+ } | undefined;
757
+ authorDid?: string | undefined;
758
+ orgId?: string | null | undefined;
759
+ threadParticipants?: string[] | undefined;
760
+ rootAuthorId?: string | undefined;
679
761
  createdAt?: unknown;
680
762
  }>;
681
763
  type AudioPostRecord = z.infer<typeof AudioPostRecordSchema>;
@@ -703,35 +785,35 @@ declare const TranscriptEnrichmentRecordSchema: z.ZodObject<{
703
785
  endMs: z.ZodNumber;
704
786
  text: z.ZodString;
705
787
  }, "strip", z.ZodTypeAny, {
788
+ text: string;
706
789
  startMs: number;
707
790
  endMs: number;
708
- text: string;
709
791
  }, {
792
+ text: string;
710
793
  startMs: number;
711
794
  endMs: number;
712
- text: string;
713
795
  }>, {
796
+ text: string;
714
797
  startMs: number;
715
798
  endMs: number;
716
- text: string;
717
799
  }, {
800
+ text: string;
718
801
  startMs: number;
719
802
  endMs: number;
720
- text: string;
721
803
  }>, "many">;
722
804
  text: z.ZodOptional<z.ZodString>;
723
805
  }, "strip", z.ZodTypeAny, {
724
806
  segments: {
807
+ text: string;
725
808
  startMs: number;
726
809
  endMs: number;
727
- text: string;
728
810
  }[];
729
811
  text?: string | undefined;
730
812
  }, {
731
813
  segments: {
814
+ text: string;
732
815
  startMs: number;
733
816
  endMs: number;
734
- text: string;
735
817
  }[];
736
818
  text?: string | undefined;
737
819
  }>;
@@ -743,9 +825,9 @@ declare const TranscriptEnrichmentRecordSchema: z.ZodObject<{
743
825
  }, "strip", z.ZodTypeAny, {
744
826
  transcript: {
745
827
  segments: {
828
+ text: string;
746
829
  startMs: number;
747
830
  endMs: number;
748
- text: string;
749
831
  }[];
750
832
  text?: string | undefined;
751
833
  };
@@ -760,9 +842,9 @@ declare const TranscriptEnrichmentRecordSchema: z.ZodObject<{
760
842
  }, {
761
843
  transcript: {
762
844
  segments: {
845
+ text: string;
763
846
  startMs: number;
764
847
  endMs: number;
765
- text: string;
766
848
  }[];
767
849
  text?: string | undefined;
768
850
  };
@@ -878,6 +960,7 @@ declare const PostRecordPublicSchema: z.ZodObject<{
878
960
  }, "strip", z.ZodTypeAny, {
879
961
  text: string;
880
962
  createdAt: Date;
963
+ title?: string | undefined;
881
964
  reply?: {
882
965
  root: {
883
966
  uri: string;
@@ -888,11 +971,11 @@ declare const PostRecordPublicSchema: z.ZodObject<{
888
971
  cid: string;
889
972
  };
890
973
  } | undefined;
891
- title?: string | undefined;
892
974
  langs?: string[] | undefined;
893
975
  selfLabels?: string[] | undefined;
894
976
  }, {
895
977
  text: string;
978
+ title?: string | undefined;
896
979
  reply?: {
897
980
  root: {
898
981
  uri: string;
@@ -903,7 +986,6 @@ declare const PostRecordPublicSchema: z.ZodObject<{
903
986
  cid: string;
904
987
  };
905
988
  } | undefined;
906
- title?: string | undefined;
907
989
  langs?: string[] | undefined;
908
990
  selfLabels?: string[] | undefined;
909
991
  createdAt?: unknown;
@@ -981,6 +1063,7 @@ declare const AudioPostViewSchema: z.ZodObject<{
981
1063
  }, "strip", z.ZodTypeAny, {
982
1064
  text: string;
983
1065
  createdAt: Date;
1066
+ title?: string | undefined;
984
1067
  reply?: {
985
1068
  root: {
986
1069
  uri: string;
@@ -991,11 +1074,11 @@ declare const AudioPostViewSchema: z.ZodObject<{
991
1074
  cid: string;
992
1075
  };
993
1076
  } | undefined;
994
- title?: string | undefined;
995
1077
  langs?: string[] | undefined;
996
1078
  selfLabels?: string[] | undefined;
997
1079
  }, {
998
1080
  text: string;
1081
+ title?: string | undefined;
999
1082
  reply?: {
1000
1083
  root: {
1001
1084
  uri: string;
@@ -1006,7 +1089,6 @@ declare const AudioPostViewSchema: z.ZodObject<{
1006
1089
  cid: string;
1007
1090
  };
1008
1091
  } | undefined;
1009
- title?: string | undefined;
1010
1092
  langs?: string[] | undefined;
1011
1093
  selfLabels?: string[] | undefined;
1012
1094
  createdAt?: unknown;
@@ -1014,6 +1096,18 @@ declare const AudioPostViewSchema: z.ZodObject<{
1014
1096
  /** Hydrated audio embed (signed URL + lifted transcript). */
1015
1097
  embed: z.ZodOptional<z.ZodObject<{
1016
1098
  $type: z.ZodLiteral<"dev.antiphony.embed.audio#view">;
1099
+ /**
1100
+ * `url`, `durationMs` and `waveform` are RESOLVED, not copied: once
1101
+ * processing has produced an audio variant they describe that variant
1102
+ * rather than the bytes the client uploaded. They always agree with one
1103
+ * another — a duration and a set of peaks are only meaningful against the
1104
+ * audio `url` actually points at.
1105
+ *
1106
+ * A client that stored `durationMs` at upload time should therefore expect
1107
+ * it to change (trim removes leading/trailing silence), and should render
1108
+ * these three as a set rather than caching them independently. The record's
1109
+ * originals are immutable and unaffected; this is a read-time resolution.
1110
+ */
1017
1111
  url: z.ZodString;
1018
1112
  durationMs: z.ZodOptional<z.ZodNumber>;
1019
1113
  alt: z.ZodOptional<z.ZodString>;
@@ -1025,54 +1119,62 @@ declare const AudioPostViewSchema: z.ZodObject<{
1025
1119
  endMs: z.ZodNumber;
1026
1120
  text: z.ZodString;
1027
1121
  }, "strip", z.ZodTypeAny, {
1122
+ text: string;
1028
1123
  startMs: number;
1029
1124
  endMs: number;
1030
- text: string;
1031
1125
  }, {
1126
+ text: string;
1032
1127
  startMs: number;
1033
1128
  endMs: number;
1034
- text: string;
1035
1129
  }>, {
1130
+ text: string;
1036
1131
  startMs: number;
1037
1132
  endMs: number;
1038
- text: string;
1039
1133
  }, {
1134
+ text: string;
1040
1135
  startMs: number;
1041
1136
  endMs: number;
1042
- text: string;
1043
1137
  }>, "many">;
1044
1138
  text: z.ZodOptional<z.ZodString>;
1045
1139
  }, "strip", z.ZodTypeAny, {
1046
1140
  segments: {
1141
+ text: string;
1047
1142
  startMs: number;
1048
1143
  endMs: number;
1049
- text: string;
1050
1144
  }[];
1051
1145
  text?: string | undefined;
1052
1146
  }, {
1053
1147
  segments: {
1148
+ text: string;
1054
1149
  startMs: number;
1055
1150
  endMs: number;
1056
- text: string;
1057
1151
  }[];
1058
1152
  text?: string | undefined;
1059
1153
  }>>;
1060
1154
  /**
1061
- * Per-stage audio-processing status (transcribe / denoise), when the app
1062
- * opted into processing on create. Absent otherwise. A `pending` stage
1063
- * means the client should poll (or re-render) for the result. When
1064
- * `denoise === 'ready'`, `url` above already resolves to the cleaned
1065
- * audio variant. See `types/processing.ts`.
1155
+ * Per-stage audio-processing status (denoise / trim / transcribe /
1156
+ * waveform), when the app opted into processing. Absent otherwise. A
1157
+ * `pending` stage means the client should poll (or re-render) for the
1158
+ * result including a stage that returns to `pending` after having been
1159
+ * `ready`, which is how a recompute surfaces. Once a byte-mutating stage
1160
+ * completes, `url`/`durationMs`/`waveform` above already resolve to the
1161
+ * processed audio variant. See `types/processing.ts`.
1066
1162
  */
1067
1163
  processing: z.ZodOptional<z.ZodObject<{
1068
1164
  transcribe: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
1069
1165
  denoise: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
1166
+ trim: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
1167
+ waveform: z.ZodOptional<z.ZodEnum<["pending", "ready", "failed", "skipped"]>>;
1070
1168
  }, "strip", z.ZodTypeAny, {
1169
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1071
1170
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1072
1171
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1172
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1073
1173
  }, {
1174
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1074
1175
  transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1075
1176
  denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1177
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1076
1178
  }>>;
1077
1179
  }, "strip", z.ZodTypeAny, {
1078
1180
  $type: "dev.antiphony.embed.audio#view";
@@ -1080,36 +1182,40 @@ declare const AudioPostViewSchema: z.ZodObject<{
1080
1182
  durationMs?: number | undefined;
1081
1183
  alt?: string | undefined;
1082
1184
  waveform?: number[] | undefined;
1185
+ processing?: {
1186
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1187
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1188
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1189
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1190
+ } | undefined;
1083
1191
  transcript?: {
1084
1192
  segments: {
1193
+ text: string;
1085
1194
  startMs: number;
1086
1195
  endMs: number;
1087
- text: string;
1088
1196
  }[];
1089
1197
  text?: string | undefined;
1090
1198
  } | undefined;
1091
- processing?: {
1092
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1093
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1094
- } | undefined;
1095
1199
  }, {
1096
1200
  $type: "dev.antiphony.embed.audio#view";
1097
1201
  url: string;
1098
1202
  durationMs?: number | undefined;
1099
1203
  alt?: string | undefined;
1100
1204
  waveform?: number[] | undefined;
1205
+ processing?: {
1206
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1207
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1208
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1209
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1210
+ } | undefined;
1101
1211
  transcript?: {
1102
1212
  segments: {
1213
+ text: string;
1103
1214
  startMs: number;
1104
1215
  endMs: number;
1105
- text: string;
1106
1216
  }[];
1107
1217
  text?: string | undefined;
1108
1218
  } | undefined;
1109
- processing?: {
1110
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1111
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1112
- } | undefined;
1113
1219
  }>>;
1114
1220
  viewer: z.ZodObject<{
1115
1221
  /** True when the authenticated caller authored this post. */
@@ -1135,10 +1241,11 @@ declare const AudioPostViewSchema: z.ZodObject<{
1135
1241
  uri: string;
1136
1242
  cid: string;
1137
1243
  authorId: string;
1138
- kind: "prompt" | "reply";
1244
+ kind: "reply" | "prompt";
1139
1245
  record: {
1140
1246
  text: string;
1141
1247
  createdAt: Date;
1248
+ title?: string | undefined;
1142
1249
  reply?: {
1143
1250
  root: {
1144
1251
  uri: string;
@@ -1149,7 +1256,6 @@ declare const AudioPostViewSchema: z.ZodObject<{
1149
1256
  cid: string;
1150
1257
  };
1151
1258
  } | undefined;
1152
- title?: string | undefined;
1153
1259
  langs?: string[] | undefined;
1154
1260
  selfLabels?: string[] | undefined;
1155
1261
  };
@@ -1158,33 +1264,36 @@ declare const AudioPostViewSchema: z.ZodObject<{
1158
1264
  canReply: boolean;
1159
1265
  replyDisabledReason?: "unauthenticated" | "not_a_participant" | undefined;
1160
1266
  };
1161
- authorDid?: string | undefined;
1162
1267
  embed?: {
1163
1268
  $type: "dev.antiphony.embed.audio#view";
1164
1269
  url: string;
1165
1270
  durationMs?: number | undefined;
1166
1271
  alt?: string | undefined;
1167
1272
  waveform?: number[] | undefined;
1273
+ processing?: {
1274
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1275
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1276
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1277
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1278
+ } | undefined;
1168
1279
  transcript?: {
1169
1280
  segments: {
1281
+ text: string;
1170
1282
  startMs: number;
1171
1283
  endMs: number;
1172
- text: string;
1173
1284
  }[];
1174
1285
  text?: string | undefined;
1175
1286
  } | undefined;
1176
- processing?: {
1177
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1178
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1179
- } | undefined;
1180
1287
  } | undefined;
1288
+ authorDid?: string | undefined;
1181
1289
  }, {
1182
1290
  uri: string;
1183
1291
  cid: string;
1184
1292
  authorId: string;
1185
- kind: "prompt" | "reply";
1293
+ kind: "reply" | "prompt";
1186
1294
  record: {
1187
1295
  text: string;
1296
+ title?: string | undefined;
1188
1297
  reply?: {
1189
1298
  root: {
1190
1299
  uri: string;
@@ -1195,7 +1304,6 @@ declare const AudioPostViewSchema: z.ZodObject<{
1195
1304
  cid: string;
1196
1305
  };
1197
1306
  } | undefined;
1198
- title?: string | undefined;
1199
1307
  langs?: string[] | undefined;
1200
1308
  selfLabels?: string[] | undefined;
1201
1309
  createdAt?: unknown;
@@ -1205,26 +1313,28 @@ declare const AudioPostViewSchema: z.ZodObject<{
1205
1313
  canReply?: boolean | undefined;
1206
1314
  replyDisabledReason?: "unauthenticated" | "not_a_participant" | undefined;
1207
1315
  };
1208
- authorDid?: string | undefined;
1209
1316
  embed?: {
1210
1317
  $type: "dev.antiphony.embed.audio#view";
1211
1318
  url: string;
1212
1319
  durationMs?: number | undefined;
1213
1320
  alt?: string | undefined;
1214
1321
  waveform?: number[] | undefined;
1322
+ processing?: {
1323
+ waveform?: "pending" | "ready" | "failed" | "skipped" | undefined;
1324
+ transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1325
+ denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1326
+ trim?: "pending" | "ready" | "failed" | "skipped" | undefined;
1327
+ } | undefined;
1215
1328
  transcript?: {
1216
1329
  segments: {
1330
+ text: string;
1217
1331
  startMs: number;
1218
1332
  endMs: number;
1219
- text: string;
1220
1333
  }[];
1221
1334
  text?: string | undefined;
1222
1335
  } | undefined;
1223
- processing?: {
1224
- transcribe?: "pending" | "ready" | "failed" | "skipped" | undefined;
1225
- denoise?: "pending" | "ready" | "failed" | "skipped" | undefined;
1226
- } | undefined;
1227
1336
  } | undefined;
1337
+ authorDid?: string | undefined;
1228
1338
  }>;
1229
1339
  type AudioPostView = z.infer<typeof AudioPostViewSchema>;
1230
1340