@backbay/glia-agent 0.1.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.
@@ -0,0 +1,1698 @@
1
+ import { z } from 'zod';
2
+ import { A as AVO } from './types-B0jyNVTH.js';
3
+ import { c as CognitionState } from './types-CRp9rbx0.js';
4
+
5
+ type AudioFormat = 'wav' | 'pcm_s16le' | 'opus' | 'mp3' | 'flac';
6
+ type VoiceLicenseCategory = 'cc0' | 'cc-by' | 'cc-by-nc' | 'custom' | 'unknown';
7
+ declare const DEFAULT_TARGET_AVO: AVO;
8
+ interface VoiceCatalogEntry {
9
+ voiceId: string;
10
+ displayName?: string;
11
+ language?: string;
12
+ tags?: string[];
13
+ licenseCategory: VoiceLicenseCategory;
14
+ licenseText?: string;
15
+ source?: string;
16
+ }
17
+ interface VoiceCatalog {
18
+ get: (voiceId: string) => VoiceCatalogEntry | null;
19
+ list: () => VoiceCatalogEntry[];
20
+ }
21
+ interface AudioPolicy {
22
+ safetyMode: boolean;
23
+ trustTier?: string;
24
+ voiceCloningAllowed: boolean;
25
+ /**
26
+ * If true, callers should avoid playing unverified audio.
27
+ * Typically derived from trust tier and safety mode.
28
+ */
29
+ requireProofBeforePlayback?: boolean;
30
+ /**
31
+ * Optional allowlist; if set, speech plans must use one of these voice IDs.
32
+ */
33
+ allowedVoiceIds?: string[];
34
+ }
35
+ type AudioPlannerMode = 'idle' | 'listening' | 'deliberating' | 'acting' | 'explaining' | 'recovering' | 'blocked';
36
+ interface SpeechControls {
37
+ /**
38
+ * Expressiveness/diversity knob, when supported by the backend.
39
+ * Recommended range: 0..1 (provider may map differently).
40
+ */
41
+ temperature?: number;
42
+ /**
43
+ * Decode quality / steps knob, when supported by the backend.
44
+ */
45
+ quality?: number;
46
+ /**
47
+ * Free-form provider-specific controls.
48
+ */
49
+ [key: string]: unknown;
50
+ }
51
+ interface SpeechSynthesisRequest {
52
+ traceId: string;
53
+ runId?: string;
54
+ text: string;
55
+ language?: string;
56
+ voiceId: string;
57
+ targetAffect: AVO;
58
+ controls?: SpeechControls;
59
+ /**
60
+ * Optional client policy context. Including this enables the server to emit a more accurate
61
+ * `AudioProof.manifest.policy` without having to guess.
62
+ */
63
+ policy?: {
64
+ safetyMode: boolean;
65
+ trustTier?: string;
66
+ voiceCloningAllowed: boolean;
67
+ };
68
+ }
69
+ interface AudioArtifact {
70
+ id: string;
71
+ uri?: string;
72
+ format: AudioFormat;
73
+ sha256: string;
74
+ durationMs: number;
75
+ sampleRateHz?: number;
76
+ channels?: number;
77
+ }
78
+ interface SpeechSynthesisResult {
79
+ audio: Blob;
80
+ artifact: AudioArtifact;
81
+ proof?: AudioProof;
82
+ }
83
+ interface SpeechSynthesisProvider {
84
+ providerId: string;
85
+ synthesizeSpeech: (request: SpeechSynthesisRequest, options?: {
86
+ signal?: AbortSignal;
87
+ }) => Promise<SpeechSynthesisResult>;
88
+ }
89
+ interface AudioVerifier {
90
+ verifierId: string;
91
+ verifySpeech: (args: {
92
+ request: SpeechSynthesisRequest;
93
+ result: SpeechSynthesisResult;
94
+ policy: AudioPolicy;
95
+ }) => Promise<AudioProof>;
96
+ }
97
+ interface AudioGateResult {
98
+ passed: boolean;
99
+ metrics?: Record<string, unknown>;
100
+ reason?: string;
101
+ }
102
+ interface AudioGates {
103
+ quality: AudioGateResult;
104
+ semantic: AudioGateResult;
105
+ affect: AudioGateResult;
106
+ multimodalConsistency?: AudioGateResult;
107
+ watermark?: AudioGateResult;
108
+ speakerConsistency?: AudioGateResult;
109
+ antiSpoof?: AudioGateResult;
110
+ mos?: AudioGateResult;
111
+ safetyText?: AudioGateResult;
112
+ safetyAudio?: AudioGateResult;
113
+ }
114
+ interface EvidenceRef {
115
+ type: 'run' | 'run_receipt' | 'artifact' | 'ui';
116
+ runId?: string;
117
+ receiptHash?: string;
118
+ path?: string;
119
+ digest?: string;
120
+ componentId?: string;
121
+ note?: string;
122
+ }
123
+ interface AudioProof {
124
+ version: '1.0';
125
+ createdAt: string;
126
+ manifest: {
127
+ traceId?: string;
128
+ runId?: string;
129
+ text: string;
130
+ language?: string;
131
+ targetAffect: AVO;
132
+ policy: {
133
+ safetyMode: boolean;
134
+ trustTier?: string;
135
+ voiceCloningAllowed: boolean;
136
+ };
137
+ cognitionSnapshot?: {
138
+ snapshotVersion?: string;
139
+ snapshotId?: string;
140
+ [key: string]: unknown;
141
+ };
142
+ };
143
+ proof: {
144
+ synthesis: {
145
+ providerId: string;
146
+ model: {
147
+ id: string;
148
+ revision?: string;
149
+ sha256?: string;
150
+ };
151
+ voice: {
152
+ voiceId: string;
153
+ licenseCategory: VoiceLicenseCategory;
154
+ licenseText?: string;
155
+ source?: string;
156
+ };
157
+ controls?: SpeechControls;
158
+ seed?: number;
159
+ };
160
+ attempts?: Array<{
161
+ attempt: number;
162
+ artifactRef: string;
163
+ notes?: string;
164
+ gates: AudioGates;
165
+ }>;
166
+ artifacts: AudioArtifact[];
167
+ gates: AudioGates;
168
+ evidence?: EvidenceRef[];
169
+ };
170
+ verdict: {
171
+ passed: boolean;
172
+ reason?: string;
173
+ score?: number;
174
+ };
175
+ }
176
+ declare function clamp01(value: number): number;
177
+ declare function createTraceId(): string;
178
+
179
+ /**
180
+ * Zod schemas for audio proof validation.
181
+ *
182
+ * This is the runtime counterpart of `docs/schemas/audio-proof.schema.json`.
183
+ */
184
+
185
+ declare const AudioFormatSchema: z.ZodEnum<["wav", "pcm_s16le", "opus", "mp3", "flac"]>;
186
+ declare const VoiceLicenseCategorySchema: z.ZodEnum<["cc0", "cc-by", "cc-by-nc", "custom", "unknown"]>;
187
+ declare const AudioProofSchema: z.ZodObject<{
188
+ version: z.ZodEnum<["1.0"]>;
189
+ createdAt: z.ZodString;
190
+ manifest: z.ZodObject<{
191
+ traceId: z.ZodOptional<z.ZodString>;
192
+ runId: z.ZodOptional<z.ZodString>;
193
+ text: z.ZodString;
194
+ language: z.ZodOptional<z.ZodString>;
195
+ targetAffect: z.ZodObject<{
196
+ valence: z.ZodNumber;
197
+ arousal: z.ZodNumber;
198
+ openness: z.ZodNumber;
199
+ }, "strip", z.ZodTypeAny, {
200
+ arousal: number;
201
+ valence: number;
202
+ openness: number;
203
+ }, {
204
+ arousal: number;
205
+ valence: number;
206
+ openness: number;
207
+ }>;
208
+ policy: z.ZodObject<{
209
+ safetyMode: z.ZodBoolean;
210
+ trustTier: z.ZodOptional<z.ZodString>;
211
+ voiceCloningAllowed: z.ZodBoolean;
212
+ }, "strip", z.ZodTypeAny, {
213
+ safetyMode: boolean;
214
+ voiceCloningAllowed: boolean;
215
+ trustTier?: string | undefined;
216
+ }, {
217
+ safetyMode: boolean;
218
+ voiceCloningAllowed: boolean;
219
+ trustTier?: string | undefined;
220
+ }>;
221
+ cognitionSnapshot: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
222
+ }, "strip", z.ZodTypeAny, {
223
+ policy: {
224
+ safetyMode: boolean;
225
+ voiceCloningAllowed: boolean;
226
+ trustTier?: string | undefined;
227
+ };
228
+ text: string;
229
+ targetAffect: {
230
+ arousal: number;
231
+ valence: number;
232
+ openness: number;
233
+ };
234
+ runId?: string | undefined;
235
+ traceId?: string | undefined;
236
+ language?: string | undefined;
237
+ cognitionSnapshot?: Record<string, unknown> | undefined;
238
+ }, {
239
+ policy: {
240
+ safetyMode: boolean;
241
+ voiceCloningAllowed: boolean;
242
+ trustTier?: string | undefined;
243
+ };
244
+ text: string;
245
+ targetAffect: {
246
+ arousal: number;
247
+ valence: number;
248
+ openness: number;
249
+ };
250
+ runId?: string | undefined;
251
+ traceId?: string | undefined;
252
+ language?: string | undefined;
253
+ cognitionSnapshot?: Record<string, unknown> | undefined;
254
+ }>;
255
+ proof: z.ZodObject<{
256
+ synthesis: z.ZodObject<{
257
+ providerId: z.ZodString;
258
+ model: z.ZodObject<{
259
+ id: z.ZodString;
260
+ revision: z.ZodOptional<z.ZodString>;
261
+ sha256: z.ZodOptional<z.ZodString>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ id: string;
264
+ sha256?: string | undefined;
265
+ revision?: string | undefined;
266
+ }, {
267
+ id: string;
268
+ sha256?: string | undefined;
269
+ revision?: string | undefined;
270
+ }>;
271
+ voice: z.ZodObject<{
272
+ voiceId: z.ZodString;
273
+ licenseCategory: z.ZodEnum<["cc0", "cc-by", "cc-by-nc", "custom", "unknown"]>;
274
+ licenseText: z.ZodOptional<z.ZodString>;
275
+ source: z.ZodOptional<z.ZodString>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ voiceId: string;
278
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
279
+ licenseText?: string | undefined;
280
+ source?: string | undefined;
281
+ }, {
282
+ voiceId: string;
283
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
284
+ licenseText?: string | undefined;
285
+ source?: string | undefined;
286
+ }>;
287
+ controls: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
288
+ seed: z.ZodOptional<z.ZodNumber>;
289
+ }, "strip", z.ZodTypeAny, {
290
+ providerId: string;
291
+ model: {
292
+ id: string;
293
+ sha256?: string | undefined;
294
+ revision?: string | undefined;
295
+ };
296
+ voice: {
297
+ voiceId: string;
298
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
299
+ licenseText?: string | undefined;
300
+ source?: string | undefined;
301
+ };
302
+ controls?: Record<string, unknown> | undefined;
303
+ seed?: number | undefined;
304
+ }, {
305
+ providerId: string;
306
+ model: {
307
+ id: string;
308
+ sha256?: string | undefined;
309
+ revision?: string | undefined;
310
+ };
311
+ voice: {
312
+ voiceId: string;
313
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
314
+ licenseText?: string | undefined;
315
+ source?: string | undefined;
316
+ };
317
+ controls?: Record<string, unknown> | undefined;
318
+ seed?: number | undefined;
319
+ }>;
320
+ attempts: z.ZodOptional<z.ZodArray<z.ZodObject<{
321
+ attempt: z.ZodNumber;
322
+ artifactRef: z.ZodString;
323
+ notes: z.ZodOptional<z.ZodString>;
324
+ gates: z.ZodObject<{
325
+ quality: z.ZodObject<{
326
+ passed: z.ZodBoolean;
327
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
328
+ reason: z.ZodOptional<z.ZodString>;
329
+ }, "strip", z.ZodTypeAny, {
330
+ passed: boolean;
331
+ reason?: string | undefined;
332
+ metrics?: Record<string, unknown> | undefined;
333
+ }, {
334
+ passed: boolean;
335
+ reason?: string | undefined;
336
+ metrics?: Record<string, unknown> | undefined;
337
+ }>;
338
+ semantic: z.ZodObject<{
339
+ passed: z.ZodBoolean;
340
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
341
+ reason: z.ZodOptional<z.ZodString>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ passed: boolean;
344
+ reason?: string | undefined;
345
+ metrics?: Record<string, unknown> | undefined;
346
+ }, {
347
+ passed: boolean;
348
+ reason?: string | undefined;
349
+ metrics?: Record<string, unknown> | undefined;
350
+ }>;
351
+ affect: z.ZodObject<{
352
+ passed: z.ZodBoolean;
353
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
354
+ reason: z.ZodOptional<z.ZodString>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ passed: boolean;
357
+ reason?: string | undefined;
358
+ metrics?: Record<string, unknown> | undefined;
359
+ }, {
360
+ passed: boolean;
361
+ reason?: string | undefined;
362
+ metrics?: Record<string, unknown> | undefined;
363
+ }>;
364
+ multimodalConsistency: z.ZodOptional<z.ZodObject<{
365
+ passed: z.ZodBoolean;
366
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
367
+ reason: z.ZodOptional<z.ZodString>;
368
+ }, "strip", z.ZodTypeAny, {
369
+ passed: boolean;
370
+ reason?: string | undefined;
371
+ metrics?: Record<string, unknown> | undefined;
372
+ }, {
373
+ passed: boolean;
374
+ reason?: string | undefined;
375
+ metrics?: Record<string, unknown> | undefined;
376
+ }>>;
377
+ watermark: z.ZodOptional<z.ZodObject<{
378
+ passed: z.ZodBoolean;
379
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
380
+ reason: z.ZodOptional<z.ZodString>;
381
+ }, "strip", z.ZodTypeAny, {
382
+ passed: boolean;
383
+ reason?: string | undefined;
384
+ metrics?: Record<string, unknown> | undefined;
385
+ }, {
386
+ passed: boolean;
387
+ reason?: string | undefined;
388
+ metrics?: Record<string, unknown> | undefined;
389
+ }>>;
390
+ speakerConsistency: z.ZodOptional<z.ZodObject<{
391
+ passed: z.ZodBoolean;
392
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
393
+ reason: z.ZodOptional<z.ZodString>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ passed: boolean;
396
+ reason?: string | undefined;
397
+ metrics?: Record<string, unknown> | undefined;
398
+ }, {
399
+ passed: boolean;
400
+ reason?: string | undefined;
401
+ metrics?: Record<string, unknown> | undefined;
402
+ }>>;
403
+ antiSpoof: z.ZodOptional<z.ZodObject<{
404
+ passed: z.ZodBoolean;
405
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
406
+ reason: z.ZodOptional<z.ZodString>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ passed: boolean;
409
+ reason?: string | undefined;
410
+ metrics?: Record<string, unknown> | undefined;
411
+ }, {
412
+ passed: boolean;
413
+ reason?: string | undefined;
414
+ metrics?: Record<string, unknown> | undefined;
415
+ }>>;
416
+ mos: z.ZodOptional<z.ZodObject<{
417
+ passed: z.ZodBoolean;
418
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
419
+ reason: z.ZodOptional<z.ZodString>;
420
+ }, "strip", z.ZodTypeAny, {
421
+ passed: boolean;
422
+ reason?: string | undefined;
423
+ metrics?: Record<string, unknown> | undefined;
424
+ }, {
425
+ passed: boolean;
426
+ reason?: string | undefined;
427
+ metrics?: Record<string, unknown> | undefined;
428
+ }>>;
429
+ safetyText: z.ZodOptional<z.ZodObject<{
430
+ passed: z.ZodBoolean;
431
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
432
+ reason: z.ZodOptional<z.ZodString>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ passed: boolean;
435
+ reason?: string | undefined;
436
+ metrics?: Record<string, unknown> | undefined;
437
+ }, {
438
+ passed: boolean;
439
+ reason?: string | undefined;
440
+ metrics?: Record<string, unknown> | undefined;
441
+ }>>;
442
+ safetyAudio: z.ZodOptional<z.ZodObject<{
443
+ passed: z.ZodBoolean;
444
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
445
+ reason: z.ZodOptional<z.ZodString>;
446
+ }, "strip", z.ZodTypeAny, {
447
+ passed: boolean;
448
+ reason?: string | undefined;
449
+ metrics?: Record<string, unknown> | undefined;
450
+ }, {
451
+ passed: boolean;
452
+ reason?: string | undefined;
453
+ metrics?: Record<string, unknown> | undefined;
454
+ }>>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ quality: {
457
+ passed: boolean;
458
+ reason?: string | undefined;
459
+ metrics?: Record<string, unknown> | undefined;
460
+ };
461
+ semantic: {
462
+ passed: boolean;
463
+ reason?: string | undefined;
464
+ metrics?: Record<string, unknown> | undefined;
465
+ };
466
+ affect: {
467
+ passed: boolean;
468
+ reason?: string | undefined;
469
+ metrics?: Record<string, unknown> | undefined;
470
+ };
471
+ multimodalConsistency?: {
472
+ passed: boolean;
473
+ reason?: string | undefined;
474
+ metrics?: Record<string, unknown> | undefined;
475
+ } | undefined;
476
+ watermark?: {
477
+ passed: boolean;
478
+ reason?: string | undefined;
479
+ metrics?: Record<string, unknown> | undefined;
480
+ } | undefined;
481
+ speakerConsistency?: {
482
+ passed: boolean;
483
+ reason?: string | undefined;
484
+ metrics?: Record<string, unknown> | undefined;
485
+ } | undefined;
486
+ antiSpoof?: {
487
+ passed: boolean;
488
+ reason?: string | undefined;
489
+ metrics?: Record<string, unknown> | undefined;
490
+ } | undefined;
491
+ mos?: {
492
+ passed: boolean;
493
+ reason?: string | undefined;
494
+ metrics?: Record<string, unknown> | undefined;
495
+ } | undefined;
496
+ safetyText?: {
497
+ passed: boolean;
498
+ reason?: string | undefined;
499
+ metrics?: Record<string, unknown> | undefined;
500
+ } | undefined;
501
+ safetyAudio?: {
502
+ passed: boolean;
503
+ reason?: string | undefined;
504
+ metrics?: Record<string, unknown> | undefined;
505
+ } | undefined;
506
+ }, {
507
+ quality: {
508
+ passed: boolean;
509
+ reason?: string | undefined;
510
+ metrics?: Record<string, unknown> | undefined;
511
+ };
512
+ semantic: {
513
+ passed: boolean;
514
+ reason?: string | undefined;
515
+ metrics?: Record<string, unknown> | undefined;
516
+ };
517
+ affect: {
518
+ passed: boolean;
519
+ reason?: string | undefined;
520
+ metrics?: Record<string, unknown> | undefined;
521
+ };
522
+ multimodalConsistency?: {
523
+ passed: boolean;
524
+ reason?: string | undefined;
525
+ metrics?: Record<string, unknown> | undefined;
526
+ } | undefined;
527
+ watermark?: {
528
+ passed: boolean;
529
+ reason?: string | undefined;
530
+ metrics?: Record<string, unknown> | undefined;
531
+ } | undefined;
532
+ speakerConsistency?: {
533
+ passed: boolean;
534
+ reason?: string | undefined;
535
+ metrics?: Record<string, unknown> | undefined;
536
+ } | undefined;
537
+ antiSpoof?: {
538
+ passed: boolean;
539
+ reason?: string | undefined;
540
+ metrics?: Record<string, unknown> | undefined;
541
+ } | undefined;
542
+ mos?: {
543
+ passed: boolean;
544
+ reason?: string | undefined;
545
+ metrics?: Record<string, unknown> | undefined;
546
+ } | undefined;
547
+ safetyText?: {
548
+ passed: boolean;
549
+ reason?: string | undefined;
550
+ metrics?: Record<string, unknown> | undefined;
551
+ } | undefined;
552
+ safetyAudio?: {
553
+ passed: boolean;
554
+ reason?: string | undefined;
555
+ metrics?: Record<string, unknown> | undefined;
556
+ } | undefined;
557
+ }>;
558
+ }, "strip", z.ZodTypeAny, {
559
+ attempt: number;
560
+ artifactRef: string;
561
+ gates: {
562
+ quality: {
563
+ passed: boolean;
564
+ reason?: string | undefined;
565
+ metrics?: Record<string, unknown> | undefined;
566
+ };
567
+ semantic: {
568
+ passed: boolean;
569
+ reason?: string | undefined;
570
+ metrics?: Record<string, unknown> | undefined;
571
+ };
572
+ affect: {
573
+ passed: boolean;
574
+ reason?: string | undefined;
575
+ metrics?: Record<string, unknown> | undefined;
576
+ };
577
+ multimodalConsistency?: {
578
+ passed: boolean;
579
+ reason?: string | undefined;
580
+ metrics?: Record<string, unknown> | undefined;
581
+ } | undefined;
582
+ watermark?: {
583
+ passed: boolean;
584
+ reason?: string | undefined;
585
+ metrics?: Record<string, unknown> | undefined;
586
+ } | undefined;
587
+ speakerConsistency?: {
588
+ passed: boolean;
589
+ reason?: string | undefined;
590
+ metrics?: Record<string, unknown> | undefined;
591
+ } | undefined;
592
+ antiSpoof?: {
593
+ passed: boolean;
594
+ reason?: string | undefined;
595
+ metrics?: Record<string, unknown> | undefined;
596
+ } | undefined;
597
+ mos?: {
598
+ passed: boolean;
599
+ reason?: string | undefined;
600
+ metrics?: Record<string, unknown> | undefined;
601
+ } | undefined;
602
+ safetyText?: {
603
+ passed: boolean;
604
+ reason?: string | undefined;
605
+ metrics?: Record<string, unknown> | undefined;
606
+ } | undefined;
607
+ safetyAudio?: {
608
+ passed: boolean;
609
+ reason?: string | undefined;
610
+ metrics?: Record<string, unknown> | undefined;
611
+ } | undefined;
612
+ };
613
+ notes?: string | undefined;
614
+ }, {
615
+ attempt: number;
616
+ artifactRef: string;
617
+ gates: {
618
+ quality: {
619
+ passed: boolean;
620
+ reason?: string | undefined;
621
+ metrics?: Record<string, unknown> | undefined;
622
+ };
623
+ semantic: {
624
+ passed: boolean;
625
+ reason?: string | undefined;
626
+ metrics?: Record<string, unknown> | undefined;
627
+ };
628
+ affect: {
629
+ passed: boolean;
630
+ reason?: string | undefined;
631
+ metrics?: Record<string, unknown> | undefined;
632
+ };
633
+ multimodalConsistency?: {
634
+ passed: boolean;
635
+ reason?: string | undefined;
636
+ metrics?: Record<string, unknown> | undefined;
637
+ } | undefined;
638
+ watermark?: {
639
+ passed: boolean;
640
+ reason?: string | undefined;
641
+ metrics?: Record<string, unknown> | undefined;
642
+ } | undefined;
643
+ speakerConsistency?: {
644
+ passed: boolean;
645
+ reason?: string | undefined;
646
+ metrics?: Record<string, unknown> | undefined;
647
+ } | undefined;
648
+ antiSpoof?: {
649
+ passed: boolean;
650
+ reason?: string | undefined;
651
+ metrics?: Record<string, unknown> | undefined;
652
+ } | undefined;
653
+ mos?: {
654
+ passed: boolean;
655
+ reason?: string | undefined;
656
+ metrics?: Record<string, unknown> | undefined;
657
+ } | undefined;
658
+ safetyText?: {
659
+ passed: boolean;
660
+ reason?: string | undefined;
661
+ metrics?: Record<string, unknown> | undefined;
662
+ } | undefined;
663
+ safetyAudio?: {
664
+ passed: boolean;
665
+ reason?: string | undefined;
666
+ metrics?: Record<string, unknown> | undefined;
667
+ } | undefined;
668
+ };
669
+ notes?: string | undefined;
670
+ }>, "many">>;
671
+ artifacts: z.ZodArray<z.ZodObject<{
672
+ id: z.ZodString;
673
+ uri: z.ZodOptional<z.ZodString>;
674
+ format: z.ZodEnum<["wav", "pcm_s16le", "opus", "mp3", "flac"]>;
675
+ sha256: z.ZodString;
676
+ sampleRateHz: z.ZodOptional<z.ZodNumber>;
677
+ channels: z.ZodOptional<z.ZodNumber>;
678
+ durationMs: z.ZodNumber;
679
+ }, "strip", z.ZodTypeAny, {
680
+ id: string;
681
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
682
+ sha256: string;
683
+ durationMs: number;
684
+ uri?: string | undefined;
685
+ sampleRateHz?: number | undefined;
686
+ channels?: number | undefined;
687
+ }, {
688
+ id: string;
689
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
690
+ sha256: string;
691
+ durationMs: number;
692
+ uri?: string | undefined;
693
+ sampleRateHz?: number | undefined;
694
+ channels?: number | undefined;
695
+ }>, "many">;
696
+ gates: z.ZodObject<{
697
+ quality: z.ZodObject<{
698
+ passed: z.ZodBoolean;
699
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
700
+ reason: z.ZodOptional<z.ZodString>;
701
+ }, "strip", z.ZodTypeAny, {
702
+ passed: boolean;
703
+ reason?: string | undefined;
704
+ metrics?: Record<string, unknown> | undefined;
705
+ }, {
706
+ passed: boolean;
707
+ reason?: string | undefined;
708
+ metrics?: Record<string, unknown> | undefined;
709
+ }>;
710
+ semantic: z.ZodObject<{
711
+ passed: z.ZodBoolean;
712
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
713
+ reason: z.ZodOptional<z.ZodString>;
714
+ }, "strip", z.ZodTypeAny, {
715
+ passed: boolean;
716
+ reason?: string | undefined;
717
+ metrics?: Record<string, unknown> | undefined;
718
+ }, {
719
+ passed: boolean;
720
+ reason?: string | undefined;
721
+ metrics?: Record<string, unknown> | undefined;
722
+ }>;
723
+ affect: z.ZodObject<{
724
+ passed: z.ZodBoolean;
725
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
726
+ reason: z.ZodOptional<z.ZodString>;
727
+ }, "strip", z.ZodTypeAny, {
728
+ passed: boolean;
729
+ reason?: string | undefined;
730
+ metrics?: Record<string, unknown> | undefined;
731
+ }, {
732
+ passed: boolean;
733
+ reason?: string | undefined;
734
+ metrics?: Record<string, unknown> | undefined;
735
+ }>;
736
+ multimodalConsistency: z.ZodOptional<z.ZodObject<{
737
+ passed: z.ZodBoolean;
738
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
739
+ reason: z.ZodOptional<z.ZodString>;
740
+ }, "strip", z.ZodTypeAny, {
741
+ passed: boolean;
742
+ reason?: string | undefined;
743
+ metrics?: Record<string, unknown> | undefined;
744
+ }, {
745
+ passed: boolean;
746
+ reason?: string | undefined;
747
+ metrics?: Record<string, unknown> | undefined;
748
+ }>>;
749
+ watermark: z.ZodOptional<z.ZodObject<{
750
+ passed: z.ZodBoolean;
751
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
752
+ reason: z.ZodOptional<z.ZodString>;
753
+ }, "strip", z.ZodTypeAny, {
754
+ passed: boolean;
755
+ reason?: string | undefined;
756
+ metrics?: Record<string, unknown> | undefined;
757
+ }, {
758
+ passed: boolean;
759
+ reason?: string | undefined;
760
+ metrics?: Record<string, unknown> | undefined;
761
+ }>>;
762
+ speakerConsistency: z.ZodOptional<z.ZodObject<{
763
+ passed: z.ZodBoolean;
764
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
765
+ reason: z.ZodOptional<z.ZodString>;
766
+ }, "strip", z.ZodTypeAny, {
767
+ passed: boolean;
768
+ reason?: string | undefined;
769
+ metrics?: Record<string, unknown> | undefined;
770
+ }, {
771
+ passed: boolean;
772
+ reason?: string | undefined;
773
+ metrics?: Record<string, unknown> | undefined;
774
+ }>>;
775
+ antiSpoof: z.ZodOptional<z.ZodObject<{
776
+ passed: z.ZodBoolean;
777
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
778
+ reason: z.ZodOptional<z.ZodString>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ passed: boolean;
781
+ reason?: string | undefined;
782
+ metrics?: Record<string, unknown> | undefined;
783
+ }, {
784
+ passed: boolean;
785
+ reason?: string | undefined;
786
+ metrics?: Record<string, unknown> | undefined;
787
+ }>>;
788
+ mos: z.ZodOptional<z.ZodObject<{
789
+ passed: z.ZodBoolean;
790
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
791
+ reason: z.ZodOptional<z.ZodString>;
792
+ }, "strip", z.ZodTypeAny, {
793
+ passed: boolean;
794
+ reason?: string | undefined;
795
+ metrics?: Record<string, unknown> | undefined;
796
+ }, {
797
+ passed: boolean;
798
+ reason?: string | undefined;
799
+ metrics?: Record<string, unknown> | undefined;
800
+ }>>;
801
+ safetyText: z.ZodOptional<z.ZodObject<{
802
+ passed: z.ZodBoolean;
803
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
804
+ reason: z.ZodOptional<z.ZodString>;
805
+ }, "strip", z.ZodTypeAny, {
806
+ passed: boolean;
807
+ reason?: string | undefined;
808
+ metrics?: Record<string, unknown> | undefined;
809
+ }, {
810
+ passed: boolean;
811
+ reason?: string | undefined;
812
+ metrics?: Record<string, unknown> | undefined;
813
+ }>>;
814
+ safetyAudio: z.ZodOptional<z.ZodObject<{
815
+ passed: z.ZodBoolean;
816
+ metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
817
+ reason: z.ZodOptional<z.ZodString>;
818
+ }, "strip", z.ZodTypeAny, {
819
+ passed: boolean;
820
+ reason?: string | undefined;
821
+ metrics?: Record<string, unknown> | undefined;
822
+ }, {
823
+ passed: boolean;
824
+ reason?: string | undefined;
825
+ metrics?: Record<string, unknown> | undefined;
826
+ }>>;
827
+ }, "strip", z.ZodTypeAny, {
828
+ quality: {
829
+ passed: boolean;
830
+ reason?: string | undefined;
831
+ metrics?: Record<string, unknown> | undefined;
832
+ };
833
+ semantic: {
834
+ passed: boolean;
835
+ reason?: string | undefined;
836
+ metrics?: Record<string, unknown> | undefined;
837
+ };
838
+ affect: {
839
+ passed: boolean;
840
+ reason?: string | undefined;
841
+ metrics?: Record<string, unknown> | undefined;
842
+ };
843
+ multimodalConsistency?: {
844
+ passed: boolean;
845
+ reason?: string | undefined;
846
+ metrics?: Record<string, unknown> | undefined;
847
+ } | undefined;
848
+ watermark?: {
849
+ passed: boolean;
850
+ reason?: string | undefined;
851
+ metrics?: Record<string, unknown> | undefined;
852
+ } | undefined;
853
+ speakerConsistency?: {
854
+ passed: boolean;
855
+ reason?: string | undefined;
856
+ metrics?: Record<string, unknown> | undefined;
857
+ } | undefined;
858
+ antiSpoof?: {
859
+ passed: boolean;
860
+ reason?: string | undefined;
861
+ metrics?: Record<string, unknown> | undefined;
862
+ } | undefined;
863
+ mos?: {
864
+ passed: boolean;
865
+ reason?: string | undefined;
866
+ metrics?: Record<string, unknown> | undefined;
867
+ } | undefined;
868
+ safetyText?: {
869
+ passed: boolean;
870
+ reason?: string | undefined;
871
+ metrics?: Record<string, unknown> | undefined;
872
+ } | undefined;
873
+ safetyAudio?: {
874
+ passed: boolean;
875
+ reason?: string | undefined;
876
+ metrics?: Record<string, unknown> | undefined;
877
+ } | undefined;
878
+ }, {
879
+ quality: {
880
+ passed: boolean;
881
+ reason?: string | undefined;
882
+ metrics?: Record<string, unknown> | undefined;
883
+ };
884
+ semantic: {
885
+ passed: boolean;
886
+ reason?: string | undefined;
887
+ metrics?: Record<string, unknown> | undefined;
888
+ };
889
+ affect: {
890
+ passed: boolean;
891
+ reason?: string | undefined;
892
+ metrics?: Record<string, unknown> | undefined;
893
+ };
894
+ multimodalConsistency?: {
895
+ passed: boolean;
896
+ reason?: string | undefined;
897
+ metrics?: Record<string, unknown> | undefined;
898
+ } | undefined;
899
+ watermark?: {
900
+ passed: boolean;
901
+ reason?: string | undefined;
902
+ metrics?: Record<string, unknown> | undefined;
903
+ } | undefined;
904
+ speakerConsistency?: {
905
+ passed: boolean;
906
+ reason?: string | undefined;
907
+ metrics?: Record<string, unknown> | undefined;
908
+ } | undefined;
909
+ antiSpoof?: {
910
+ passed: boolean;
911
+ reason?: string | undefined;
912
+ metrics?: Record<string, unknown> | undefined;
913
+ } | undefined;
914
+ mos?: {
915
+ passed: boolean;
916
+ reason?: string | undefined;
917
+ metrics?: Record<string, unknown> | undefined;
918
+ } | undefined;
919
+ safetyText?: {
920
+ passed: boolean;
921
+ reason?: string | undefined;
922
+ metrics?: Record<string, unknown> | undefined;
923
+ } | undefined;
924
+ safetyAudio?: {
925
+ passed: boolean;
926
+ reason?: string | undefined;
927
+ metrics?: Record<string, unknown> | undefined;
928
+ } | undefined;
929
+ }>;
930
+ evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
931
+ type: z.ZodEnum<["run", "run_receipt", "artifact", "ui"]>;
932
+ runId: z.ZodOptional<z.ZodString>;
933
+ receiptHash: z.ZodOptional<z.ZodString>;
934
+ path: z.ZodOptional<z.ZodString>;
935
+ digest: z.ZodOptional<z.ZodString>;
936
+ componentId: z.ZodOptional<z.ZodString>;
937
+ note: z.ZodOptional<z.ZodString>;
938
+ }, "strip", z.ZodTypeAny, {
939
+ type: "run" | "run_receipt" | "artifact" | "ui";
940
+ path?: string | undefined;
941
+ runId?: string | undefined;
942
+ receiptHash?: string | undefined;
943
+ digest?: string | undefined;
944
+ componentId?: string | undefined;
945
+ note?: string | undefined;
946
+ }, {
947
+ type: "run" | "run_receipt" | "artifact" | "ui";
948
+ path?: string | undefined;
949
+ runId?: string | undefined;
950
+ receiptHash?: string | undefined;
951
+ digest?: string | undefined;
952
+ componentId?: string | undefined;
953
+ note?: string | undefined;
954
+ }>, "many">>;
955
+ }, "strip", z.ZodTypeAny, {
956
+ synthesis: {
957
+ providerId: string;
958
+ model: {
959
+ id: string;
960
+ sha256?: string | undefined;
961
+ revision?: string | undefined;
962
+ };
963
+ voice: {
964
+ voiceId: string;
965
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
966
+ licenseText?: string | undefined;
967
+ source?: string | undefined;
968
+ };
969
+ controls?: Record<string, unknown> | undefined;
970
+ seed?: number | undefined;
971
+ };
972
+ gates: {
973
+ quality: {
974
+ passed: boolean;
975
+ reason?: string | undefined;
976
+ metrics?: Record<string, unknown> | undefined;
977
+ };
978
+ semantic: {
979
+ passed: boolean;
980
+ reason?: string | undefined;
981
+ metrics?: Record<string, unknown> | undefined;
982
+ };
983
+ affect: {
984
+ passed: boolean;
985
+ reason?: string | undefined;
986
+ metrics?: Record<string, unknown> | undefined;
987
+ };
988
+ multimodalConsistency?: {
989
+ passed: boolean;
990
+ reason?: string | undefined;
991
+ metrics?: Record<string, unknown> | undefined;
992
+ } | undefined;
993
+ watermark?: {
994
+ passed: boolean;
995
+ reason?: string | undefined;
996
+ metrics?: Record<string, unknown> | undefined;
997
+ } | undefined;
998
+ speakerConsistency?: {
999
+ passed: boolean;
1000
+ reason?: string | undefined;
1001
+ metrics?: Record<string, unknown> | undefined;
1002
+ } | undefined;
1003
+ antiSpoof?: {
1004
+ passed: boolean;
1005
+ reason?: string | undefined;
1006
+ metrics?: Record<string, unknown> | undefined;
1007
+ } | undefined;
1008
+ mos?: {
1009
+ passed: boolean;
1010
+ reason?: string | undefined;
1011
+ metrics?: Record<string, unknown> | undefined;
1012
+ } | undefined;
1013
+ safetyText?: {
1014
+ passed: boolean;
1015
+ reason?: string | undefined;
1016
+ metrics?: Record<string, unknown> | undefined;
1017
+ } | undefined;
1018
+ safetyAudio?: {
1019
+ passed: boolean;
1020
+ reason?: string | undefined;
1021
+ metrics?: Record<string, unknown> | undefined;
1022
+ } | undefined;
1023
+ };
1024
+ artifacts: {
1025
+ id: string;
1026
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
1027
+ sha256: string;
1028
+ durationMs: number;
1029
+ uri?: string | undefined;
1030
+ sampleRateHz?: number | undefined;
1031
+ channels?: number | undefined;
1032
+ }[];
1033
+ attempts?: {
1034
+ attempt: number;
1035
+ artifactRef: string;
1036
+ gates: {
1037
+ quality: {
1038
+ passed: boolean;
1039
+ reason?: string | undefined;
1040
+ metrics?: Record<string, unknown> | undefined;
1041
+ };
1042
+ semantic: {
1043
+ passed: boolean;
1044
+ reason?: string | undefined;
1045
+ metrics?: Record<string, unknown> | undefined;
1046
+ };
1047
+ affect: {
1048
+ passed: boolean;
1049
+ reason?: string | undefined;
1050
+ metrics?: Record<string, unknown> | undefined;
1051
+ };
1052
+ multimodalConsistency?: {
1053
+ passed: boolean;
1054
+ reason?: string | undefined;
1055
+ metrics?: Record<string, unknown> | undefined;
1056
+ } | undefined;
1057
+ watermark?: {
1058
+ passed: boolean;
1059
+ reason?: string | undefined;
1060
+ metrics?: Record<string, unknown> | undefined;
1061
+ } | undefined;
1062
+ speakerConsistency?: {
1063
+ passed: boolean;
1064
+ reason?: string | undefined;
1065
+ metrics?: Record<string, unknown> | undefined;
1066
+ } | undefined;
1067
+ antiSpoof?: {
1068
+ passed: boolean;
1069
+ reason?: string | undefined;
1070
+ metrics?: Record<string, unknown> | undefined;
1071
+ } | undefined;
1072
+ mos?: {
1073
+ passed: boolean;
1074
+ reason?: string | undefined;
1075
+ metrics?: Record<string, unknown> | undefined;
1076
+ } | undefined;
1077
+ safetyText?: {
1078
+ passed: boolean;
1079
+ reason?: string | undefined;
1080
+ metrics?: Record<string, unknown> | undefined;
1081
+ } | undefined;
1082
+ safetyAudio?: {
1083
+ passed: boolean;
1084
+ reason?: string | undefined;
1085
+ metrics?: Record<string, unknown> | undefined;
1086
+ } | undefined;
1087
+ };
1088
+ notes?: string | undefined;
1089
+ }[] | undefined;
1090
+ evidence?: {
1091
+ type: "run" | "run_receipt" | "artifact" | "ui";
1092
+ path?: string | undefined;
1093
+ runId?: string | undefined;
1094
+ receiptHash?: string | undefined;
1095
+ digest?: string | undefined;
1096
+ componentId?: string | undefined;
1097
+ note?: string | undefined;
1098
+ }[] | undefined;
1099
+ }, {
1100
+ synthesis: {
1101
+ providerId: string;
1102
+ model: {
1103
+ id: string;
1104
+ sha256?: string | undefined;
1105
+ revision?: string | undefined;
1106
+ };
1107
+ voice: {
1108
+ voiceId: string;
1109
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
1110
+ licenseText?: string | undefined;
1111
+ source?: string | undefined;
1112
+ };
1113
+ controls?: Record<string, unknown> | undefined;
1114
+ seed?: number | undefined;
1115
+ };
1116
+ gates: {
1117
+ quality: {
1118
+ passed: boolean;
1119
+ reason?: string | undefined;
1120
+ metrics?: Record<string, unknown> | undefined;
1121
+ };
1122
+ semantic: {
1123
+ passed: boolean;
1124
+ reason?: string | undefined;
1125
+ metrics?: Record<string, unknown> | undefined;
1126
+ };
1127
+ affect: {
1128
+ passed: boolean;
1129
+ reason?: string | undefined;
1130
+ metrics?: Record<string, unknown> | undefined;
1131
+ };
1132
+ multimodalConsistency?: {
1133
+ passed: boolean;
1134
+ reason?: string | undefined;
1135
+ metrics?: Record<string, unknown> | undefined;
1136
+ } | undefined;
1137
+ watermark?: {
1138
+ passed: boolean;
1139
+ reason?: string | undefined;
1140
+ metrics?: Record<string, unknown> | undefined;
1141
+ } | undefined;
1142
+ speakerConsistency?: {
1143
+ passed: boolean;
1144
+ reason?: string | undefined;
1145
+ metrics?: Record<string, unknown> | undefined;
1146
+ } | undefined;
1147
+ antiSpoof?: {
1148
+ passed: boolean;
1149
+ reason?: string | undefined;
1150
+ metrics?: Record<string, unknown> | undefined;
1151
+ } | undefined;
1152
+ mos?: {
1153
+ passed: boolean;
1154
+ reason?: string | undefined;
1155
+ metrics?: Record<string, unknown> | undefined;
1156
+ } | undefined;
1157
+ safetyText?: {
1158
+ passed: boolean;
1159
+ reason?: string | undefined;
1160
+ metrics?: Record<string, unknown> | undefined;
1161
+ } | undefined;
1162
+ safetyAudio?: {
1163
+ passed: boolean;
1164
+ reason?: string | undefined;
1165
+ metrics?: Record<string, unknown> | undefined;
1166
+ } | undefined;
1167
+ };
1168
+ artifacts: {
1169
+ id: string;
1170
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
1171
+ sha256: string;
1172
+ durationMs: number;
1173
+ uri?: string | undefined;
1174
+ sampleRateHz?: number | undefined;
1175
+ channels?: number | undefined;
1176
+ }[];
1177
+ attempts?: {
1178
+ attempt: number;
1179
+ artifactRef: string;
1180
+ gates: {
1181
+ quality: {
1182
+ passed: boolean;
1183
+ reason?: string | undefined;
1184
+ metrics?: Record<string, unknown> | undefined;
1185
+ };
1186
+ semantic: {
1187
+ passed: boolean;
1188
+ reason?: string | undefined;
1189
+ metrics?: Record<string, unknown> | undefined;
1190
+ };
1191
+ affect: {
1192
+ passed: boolean;
1193
+ reason?: string | undefined;
1194
+ metrics?: Record<string, unknown> | undefined;
1195
+ };
1196
+ multimodalConsistency?: {
1197
+ passed: boolean;
1198
+ reason?: string | undefined;
1199
+ metrics?: Record<string, unknown> | undefined;
1200
+ } | undefined;
1201
+ watermark?: {
1202
+ passed: boolean;
1203
+ reason?: string | undefined;
1204
+ metrics?: Record<string, unknown> | undefined;
1205
+ } | undefined;
1206
+ speakerConsistency?: {
1207
+ passed: boolean;
1208
+ reason?: string | undefined;
1209
+ metrics?: Record<string, unknown> | undefined;
1210
+ } | undefined;
1211
+ antiSpoof?: {
1212
+ passed: boolean;
1213
+ reason?: string | undefined;
1214
+ metrics?: Record<string, unknown> | undefined;
1215
+ } | undefined;
1216
+ mos?: {
1217
+ passed: boolean;
1218
+ reason?: string | undefined;
1219
+ metrics?: Record<string, unknown> | undefined;
1220
+ } | undefined;
1221
+ safetyText?: {
1222
+ passed: boolean;
1223
+ reason?: string | undefined;
1224
+ metrics?: Record<string, unknown> | undefined;
1225
+ } | undefined;
1226
+ safetyAudio?: {
1227
+ passed: boolean;
1228
+ reason?: string | undefined;
1229
+ metrics?: Record<string, unknown> | undefined;
1230
+ } | undefined;
1231
+ };
1232
+ notes?: string | undefined;
1233
+ }[] | undefined;
1234
+ evidence?: {
1235
+ type: "run" | "run_receipt" | "artifact" | "ui";
1236
+ path?: string | undefined;
1237
+ runId?: string | undefined;
1238
+ receiptHash?: string | undefined;
1239
+ digest?: string | undefined;
1240
+ componentId?: string | undefined;
1241
+ note?: string | undefined;
1242
+ }[] | undefined;
1243
+ }>;
1244
+ verdict: z.ZodObject<{
1245
+ passed: z.ZodBoolean;
1246
+ reason: z.ZodOptional<z.ZodString>;
1247
+ score: z.ZodOptional<z.ZodNumber>;
1248
+ }, "strip", z.ZodTypeAny, {
1249
+ passed: boolean;
1250
+ reason?: string | undefined;
1251
+ score?: number | undefined;
1252
+ }, {
1253
+ passed: boolean;
1254
+ reason?: string | undefined;
1255
+ score?: number | undefined;
1256
+ }>;
1257
+ }, "strip", z.ZodTypeAny, {
1258
+ version: "1.0";
1259
+ createdAt: string;
1260
+ manifest: {
1261
+ policy: {
1262
+ safetyMode: boolean;
1263
+ voiceCloningAllowed: boolean;
1264
+ trustTier?: string | undefined;
1265
+ };
1266
+ text: string;
1267
+ targetAffect: {
1268
+ arousal: number;
1269
+ valence: number;
1270
+ openness: number;
1271
+ };
1272
+ runId?: string | undefined;
1273
+ traceId?: string | undefined;
1274
+ language?: string | undefined;
1275
+ cognitionSnapshot?: Record<string, unknown> | undefined;
1276
+ };
1277
+ proof: {
1278
+ synthesis: {
1279
+ providerId: string;
1280
+ model: {
1281
+ id: string;
1282
+ sha256?: string | undefined;
1283
+ revision?: string | undefined;
1284
+ };
1285
+ voice: {
1286
+ voiceId: string;
1287
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
1288
+ licenseText?: string | undefined;
1289
+ source?: string | undefined;
1290
+ };
1291
+ controls?: Record<string, unknown> | undefined;
1292
+ seed?: number | undefined;
1293
+ };
1294
+ gates: {
1295
+ quality: {
1296
+ passed: boolean;
1297
+ reason?: string | undefined;
1298
+ metrics?: Record<string, unknown> | undefined;
1299
+ };
1300
+ semantic: {
1301
+ passed: boolean;
1302
+ reason?: string | undefined;
1303
+ metrics?: Record<string, unknown> | undefined;
1304
+ };
1305
+ affect: {
1306
+ passed: boolean;
1307
+ reason?: string | undefined;
1308
+ metrics?: Record<string, unknown> | undefined;
1309
+ };
1310
+ multimodalConsistency?: {
1311
+ passed: boolean;
1312
+ reason?: string | undefined;
1313
+ metrics?: Record<string, unknown> | undefined;
1314
+ } | undefined;
1315
+ watermark?: {
1316
+ passed: boolean;
1317
+ reason?: string | undefined;
1318
+ metrics?: Record<string, unknown> | undefined;
1319
+ } | undefined;
1320
+ speakerConsistency?: {
1321
+ passed: boolean;
1322
+ reason?: string | undefined;
1323
+ metrics?: Record<string, unknown> | undefined;
1324
+ } | undefined;
1325
+ antiSpoof?: {
1326
+ passed: boolean;
1327
+ reason?: string | undefined;
1328
+ metrics?: Record<string, unknown> | undefined;
1329
+ } | undefined;
1330
+ mos?: {
1331
+ passed: boolean;
1332
+ reason?: string | undefined;
1333
+ metrics?: Record<string, unknown> | undefined;
1334
+ } | undefined;
1335
+ safetyText?: {
1336
+ passed: boolean;
1337
+ reason?: string | undefined;
1338
+ metrics?: Record<string, unknown> | undefined;
1339
+ } | undefined;
1340
+ safetyAudio?: {
1341
+ passed: boolean;
1342
+ reason?: string | undefined;
1343
+ metrics?: Record<string, unknown> | undefined;
1344
+ } | undefined;
1345
+ };
1346
+ artifacts: {
1347
+ id: string;
1348
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
1349
+ sha256: string;
1350
+ durationMs: number;
1351
+ uri?: string | undefined;
1352
+ sampleRateHz?: number | undefined;
1353
+ channels?: number | undefined;
1354
+ }[];
1355
+ attempts?: {
1356
+ attempt: number;
1357
+ artifactRef: string;
1358
+ gates: {
1359
+ quality: {
1360
+ passed: boolean;
1361
+ reason?: string | undefined;
1362
+ metrics?: Record<string, unknown> | undefined;
1363
+ };
1364
+ semantic: {
1365
+ passed: boolean;
1366
+ reason?: string | undefined;
1367
+ metrics?: Record<string, unknown> | undefined;
1368
+ };
1369
+ affect: {
1370
+ passed: boolean;
1371
+ reason?: string | undefined;
1372
+ metrics?: Record<string, unknown> | undefined;
1373
+ };
1374
+ multimodalConsistency?: {
1375
+ passed: boolean;
1376
+ reason?: string | undefined;
1377
+ metrics?: Record<string, unknown> | undefined;
1378
+ } | undefined;
1379
+ watermark?: {
1380
+ passed: boolean;
1381
+ reason?: string | undefined;
1382
+ metrics?: Record<string, unknown> | undefined;
1383
+ } | undefined;
1384
+ speakerConsistency?: {
1385
+ passed: boolean;
1386
+ reason?: string | undefined;
1387
+ metrics?: Record<string, unknown> | undefined;
1388
+ } | undefined;
1389
+ antiSpoof?: {
1390
+ passed: boolean;
1391
+ reason?: string | undefined;
1392
+ metrics?: Record<string, unknown> | undefined;
1393
+ } | undefined;
1394
+ mos?: {
1395
+ passed: boolean;
1396
+ reason?: string | undefined;
1397
+ metrics?: Record<string, unknown> | undefined;
1398
+ } | undefined;
1399
+ safetyText?: {
1400
+ passed: boolean;
1401
+ reason?: string | undefined;
1402
+ metrics?: Record<string, unknown> | undefined;
1403
+ } | undefined;
1404
+ safetyAudio?: {
1405
+ passed: boolean;
1406
+ reason?: string | undefined;
1407
+ metrics?: Record<string, unknown> | undefined;
1408
+ } | undefined;
1409
+ };
1410
+ notes?: string | undefined;
1411
+ }[] | undefined;
1412
+ evidence?: {
1413
+ type: "run" | "run_receipt" | "artifact" | "ui";
1414
+ path?: string | undefined;
1415
+ runId?: string | undefined;
1416
+ receiptHash?: string | undefined;
1417
+ digest?: string | undefined;
1418
+ componentId?: string | undefined;
1419
+ note?: string | undefined;
1420
+ }[] | undefined;
1421
+ };
1422
+ verdict: {
1423
+ passed: boolean;
1424
+ reason?: string | undefined;
1425
+ score?: number | undefined;
1426
+ };
1427
+ }, {
1428
+ version: "1.0";
1429
+ createdAt: string;
1430
+ manifest: {
1431
+ policy: {
1432
+ safetyMode: boolean;
1433
+ voiceCloningAllowed: boolean;
1434
+ trustTier?: string | undefined;
1435
+ };
1436
+ text: string;
1437
+ targetAffect: {
1438
+ arousal: number;
1439
+ valence: number;
1440
+ openness: number;
1441
+ };
1442
+ runId?: string | undefined;
1443
+ traceId?: string | undefined;
1444
+ language?: string | undefined;
1445
+ cognitionSnapshot?: Record<string, unknown> | undefined;
1446
+ };
1447
+ proof: {
1448
+ synthesis: {
1449
+ providerId: string;
1450
+ model: {
1451
+ id: string;
1452
+ sha256?: string | undefined;
1453
+ revision?: string | undefined;
1454
+ };
1455
+ voice: {
1456
+ voiceId: string;
1457
+ licenseCategory: "custom" | "unknown" | "cc0" | "cc-by" | "cc-by-nc";
1458
+ licenseText?: string | undefined;
1459
+ source?: string | undefined;
1460
+ };
1461
+ controls?: Record<string, unknown> | undefined;
1462
+ seed?: number | undefined;
1463
+ };
1464
+ gates: {
1465
+ quality: {
1466
+ passed: boolean;
1467
+ reason?: string | undefined;
1468
+ metrics?: Record<string, unknown> | undefined;
1469
+ };
1470
+ semantic: {
1471
+ passed: boolean;
1472
+ reason?: string | undefined;
1473
+ metrics?: Record<string, unknown> | undefined;
1474
+ };
1475
+ affect: {
1476
+ passed: boolean;
1477
+ reason?: string | undefined;
1478
+ metrics?: Record<string, unknown> | undefined;
1479
+ };
1480
+ multimodalConsistency?: {
1481
+ passed: boolean;
1482
+ reason?: string | undefined;
1483
+ metrics?: Record<string, unknown> | undefined;
1484
+ } | undefined;
1485
+ watermark?: {
1486
+ passed: boolean;
1487
+ reason?: string | undefined;
1488
+ metrics?: Record<string, unknown> | undefined;
1489
+ } | undefined;
1490
+ speakerConsistency?: {
1491
+ passed: boolean;
1492
+ reason?: string | undefined;
1493
+ metrics?: Record<string, unknown> | undefined;
1494
+ } | undefined;
1495
+ antiSpoof?: {
1496
+ passed: boolean;
1497
+ reason?: string | undefined;
1498
+ metrics?: Record<string, unknown> | undefined;
1499
+ } | undefined;
1500
+ mos?: {
1501
+ passed: boolean;
1502
+ reason?: string | undefined;
1503
+ metrics?: Record<string, unknown> | undefined;
1504
+ } | undefined;
1505
+ safetyText?: {
1506
+ passed: boolean;
1507
+ reason?: string | undefined;
1508
+ metrics?: Record<string, unknown> | undefined;
1509
+ } | undefined;
1510
+ safetyAudio?: {
1511
+ passed: boolean;
1512
+ reason?: string | undefined;
1513
+ metrics?: Record<string, unknown> | undefined;
1514
+ } | undefined;
1515
+ };
1516
+ artifacts: {
1517
+ id: string;
1518
+ format: "wav" | "pcm_s16le" | "opus" | "mp3" | "flac";
1519
+ sha256: string;
1520
+ durationMs: number;
1521
+ uri?: string | undefined;
1522
+ sampleRateHz?: number | undefined;
1523
+ channels?: number | undefined;
1524
+ }[];
1525
+ attempts?: {
1526
+ attempt: number;
1527
+ artifactRef: string;
1528
+ gates: {
1529
+ quality: {
1530
+ passed: boolean;
1531
+ reason?: string | undefined;
1532
+ metrics?: Record<string, unknown> | undefined;
1533
+ };
1534
+ semantic: {
1535
+ passed: boolean;
1536
+ reason?: string | undefined;
1537
+ metrics?: Record<string, unknown> | undefined;
1538
+ };
1539
+ affect: {
1540
+ passed: boolean;
1541
+ reason?: string | undefined;
1542
+ metrics?: Record<string, unknown> | undefined;
1543
+ };
1544
+ multimodalConsistency?: {
1545
+ passed: boolean;
1546
+ reason?: string | undefined;
1547
+ metrics?: Record<string, unknown> | undefined;
1548
+ } | undefined;
1549
+ watermark?: {
1550
+ passed: boolean;
1551
+ reason?: string | undefined;
1552
+ metrics?: Record<string, unknown> | undefined;
1553
+ } | undefined;
1554
+ speakerConsistency?: {
1555
+ passed: boolean;
1556
+ reason?: string | undefined;
1557
+ metrics?: Record<string, unknown> | undefined;
1558
+ } | undefined;
1559
+ antiSpoof?: {
1560
+ passed: boolean;
1561
+ reason?: string | undefined;
1562
+ metrics?: Record<string, unknown> | undefined;
1563
+ } | undefined;
1564
+ mos?: {
1565
+ passed: boolean;
1566
+ reason?: string | undefined;
1567
+ metrics?: Record<string, unknown> | undefined;
1568
+ } | undefined;
1569
+ safetyText?: {
1570
+ passed: boolean;
1571
+ reason?: string | undefined;
1572
+ metrics?: Record<string, unknown> | undefined;
1573
+ } | undefined;
1574
+ safetyAudio?: {
1575
+ passed: boolean;
1576
+ reason?: string | undefined;
1577
+ metrics?: Record<string, unknown> | undefined;
1578
+ } | undefined;
1579
+ };
1580
+ notes?: string | undefined;
1581
+ }[] | undefined;
1582
+ evidence?: {
1583
+ type: "run" | "run_receipt" | "artifact" | "ui";
1584
+ path?: string | undefined;
1585
+ runId?: string | undefined;
1586
+ receiptHash?: string | undefined;
1587
+ digest?: string | undefined;
1588
+ componentId?: string | undefined;
1589
+ note?: string | undefined;
1590
+ }[] | undefined;
1591
+ };
1592
+ verdict: {
1593
+ passed: boolean;
1594
+ reason?: string | undefined;
1595
+ score?: number | undefined;
1596
+ };
1597
+ }>;
1598
+ type AudioProofInput = z.input<typeof AudioProofSchema>;
1599
+ type AudioProofOutput = z.output<typeof AudioProofSchema>;
1600
+ type AudioProofValidationResult = {
1601
+ success: true;
1602
+ data: AudioProofOutput;
1603
+ } | {
1604
+ success: false;
1605
+ errors: z.ZodError;
1606
+ };
1607
+ declare function validateAudioProof(audioProof: unknown): AudioProofValidationResult;
1608
+
1609
+ interface AudioPlannerSignals {
1610
+ mode?: AudioPlannerMode;
1611
+ personaDriftRisk?: number;
1612
+ confidence?: number;
1613
+ risk?: number;
1614
+ }
1615
+ interface AudioPlannerInput {
1616
+ text: string;
1617
+ language?: string;
1618
+ runId?: string;
1619
+ targetAffect?: AVO;
1620
+ policy: AudioPolicy;
1621
+ voices: VoiceCatalog;
1622
+ signals?: AudioPlannerSignals;
1623
+ defaults?: {
1624
+ voiceId?: string;
1625
+ groundedVoiceTag?: string;
1626
+ defaultVoiceTag?: string;
1627
+ temperature?: number;
1628
+ };
1629
+ }
1630
+ /**
1631
+ * Default planner for Architecture A (modular pipeline).
1632
+ *
1633
+ * Produces a `SpeechSynthesisRequest` that a self-hosted backend can execute.
1634
+ */
1635
+ declare function planSpeech(input: AudioPlannerInput): SpeechSynthesisRequest;
1636
+ interface AudioPlannerCognitionInput {
1637
+ text: string;
1638
+ language?: string;
1639
+ runId?: string;
1640
+ targetAffect?: AVO;
1641
+ cognition: CognitionState;
1642
+ policy: AudioPolicy;
1643
+ voices: VoiceCatalog;
1644
+ defaults?: {
1645
+ voiceId?: string;
1646
+ groundedVoiceTag?: string;
1647
+ defaultVoiceTag?: string;
1648
+ temperature?: number;
1649
+ };
1650
+ }
1651
+ /**
1652
+ * Plan speech from full CognitionState.
1653
+ * Extracts relevant signals and delegates to planSpeech.
1654
+ */
1655
+ declare function planSpeechFromCognition(input: AudioPlannerCognitionInput): SpeechSynthesisRequest;
1656
+
1657
+ type OverlayToken = 'ack' | 'hold' | 'done' | 'error' | 'warning';
1658
+ type OverlayPhraseLibrary = Record<OverlayToken, string[]>;
1659
+ declare const DEFAULT_OVERLAY_PHRASES: OverlayPhraseLibrary;
1660
+ declare function pickOverlayPhrase(args: {
1661
+ token: OverlayToken;
1662
+ library?: Partial<OverlayPhraseLibrary>;
1663
+ index?: number;
1664
+ }): string;
1665
+
1666
+ interface HttpSpeechSynthesisProviderOptions {
1667
+ baseUrl: string;
1668
+ headers?: Record<string, string>;
1669
+ /**
1670
+ * Endpoint path for synthesis.
1671
+ *
1672
+ * Expected behavior:
1673
+ * - Returns JSON containing:
1674
+ * - `audioBase64` (optional) OR `audioUrl` (optional)
1675
+ * - `artifact` (required): { id, format, sha256, durationMs, ... }
1676
+ * - `proof` (optional): AudioProof (validated if present)
1677
+ */
1678
+ synthPath?: string;
1679
+ }
1680
+ interface HttpSynthesisResponse {
1681
+ audioBase64?: string;
1682
+ audioUrl?: string;
1683
+ artifact: AudioArtifact;
1684
+ proof?: AudioProof;
1685
+ }
1686
+ declare class HttpSpeechSynthesisProvider implements SpeechSynthesisProvider {
1687
+ readonly providerId = "http";
1688
+ private readonly baseUrl;
1689
+ private readonly headers;
1690
+ private readonly synthPath;
1691
+ constructor(options: HttpSpeechSynthesisProviderOptions);
1692
+ synthesizeSpeech(request: SpeechSynthesisRequest, options?: {
1693
+ signal?: AbortSignal;
1694
+ }): Promise<SpeechSynthesisResult>;
1695
+ private resolveAudio;
1696
+ }
1697
+
1698
+ export { type AudioArtifact as A, planSpeechFromCognition as B, validateAudioProof as C, DEFAULT_OVERLAY_PHRASES as D, DEFAULT_TARGET_AVO as E, type EvidenceRef as F, clamp01 as G, HttpSpeechSynthesisProvider as H, createTraceId as I, type OverlayPhraseLibrary as O, type SpeechControls as S, type VoiceCatalog as V, type AudioFormat as a, AudioFormatSchema as b, type AudioGateResult as c, type AudioGates as d, type AudioPlannerCognitionInput as e, type AudioPlannerInput as f, type AudioPlannerMode as g, type AudioPlannerSignals as h, type AudioPolicy as i, type AudioProof as j, type AudioProofInput as k, type AudioProofOutput as l, AudioProofSchema as m, type AudioProofValidationResult as n, type AudioVerifier as o, type HttpSpeechSynthesisProviderOptions as p, type HttpSynthesisResponse as q, type OverlayToken as r, type SpeechSynthesisProvider as s, type SpeechSynthesisRequest as t, type SpeechSynthesisResult as u, type VoiceCatalogEntry as v, type VoiceLicenseCategory as w, VoiceLicenseCategorySchema as x, pickOverlayPhrase as y, planSpeech as z };