@simonpeacocks/peacockery-voice-client 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/schema.d.ts +492 -2
  2. package/package.json +1 -1
package/dist/schema.d.ts CHANGED
@@ -738,6 +738,157 @@ export interface paths {
738
738
  patch?: never;
739
739
  trace?: never;
740
740
  };
741
+ "/v1/analyses": {
742
+ parameters: {
743
+ query?: never;
744
+ header?: never;
745
+ path?: never;
746
+ cookie?: never;
747
+ };
748
+ get?: never;
749
+ put?: never;
750
+ /** Transcribe, align with MFA, and attribute speakers to an owned recording */
751
+ post: {
752
+ parameters: {
753
+ query?: never;
754
+ header?: {
755
+ "idempotency-key"?: string;
756
+ };
757
+ path?: never;
758
+ cookie?: never;
759
+ };
760
+ requestBody: {
761
+ content: {
762
+ "application/json": components["schemas"]["AnalysisRequest"];
763
+ };
764
+ };
765
+ responses: {
766
+ /** @description Existing idempotent analysis */
767
+ 200: {
768
+ headers: {
769
+ [name: string]: unknown;
770
+ };
771
+ content: {
772
+ "application/json": components["schemas"]["JobView"];
773
+ };
774
+ };
775
+ /** @description Queued analysis; poll GET /v1/jobs/{job_id} */
776
+ 202: {
777
+ headers: {
778
+ [name: string]: unknown;
779
+ };
780
+ content: {
781
+ "application/json": components["schemas"]["JobView"];
782
+ };
783
+ };
784
+ /** @description Invalid input or unsupported language */
785
+ 400: {
786
+ headers: {
787
+ [name: string]: unknown;
788
+ };
789
+ content: {
790
+ "application/json": components["schemas"]["ErrorResponse"];
791
+ };
792
+ };
793
+ /** @description Unauthorized */
794
+ 401: {
795
+ headers: {
796
+ [name: string]: unknown;
797
+ };
798
+ content: {
799
+ "application/json": components["schemas"]["ErrorResponse"];
800
+ };
801
+ };
802
+ /** @description Owned upload or session unavailable */
803
+ 404: {
804
+ headers: {
805
+ [name: string]: unknown;
806
+ };
807
+ content: {
808
+ "application/json": components["schemas"]["ErrorResponse"];
809
+ };
810
+ };
811
+ /** @description Idempotency conflict */
812
+ 409: {
813
+ headers: {
814
+ [name: string]: unknown;
815
+ };
816
+ content: {
817
+ "application/json": components["schemas"]["ErrorResponse"];
818
+ };
819
+ };
820
+ };
821
+ };
822
+ delete?: never;
823
+ options?: never;
824
+ head?: never;
825
+ patch?: never;
826
+ trace?: never;
827
+ };
828
+ "/v1/analyses/capabilities": {
829
+ parameters: {
830
+ query?: never;
831
+ header?: never;
832
+ path?: never;
833
+ cookie?: never;
834
+ };
835
+ /** Discover supported analysis inputs and stages */
836
+ get: {
837
+ parameters: {
838
+ query?: never;
839
+ header?: never;
840
+ path?: never;
841
+ cookie?: never;
842
+ };
843
+ requestBody?: never;
844
+ responses: {
845
+ /** @description Deployed analysis contract */
846
+ 200: {
847
+ headers: {
848
+ [name: string]: unknown;
849
+ };
850
+ content: {
851
+ "application/json": {
852
+ /** @enum {string} */
853
+ alignment: "mfa";
854
+ automatic_transcription_languages: "en"[];
855
+ /** @enum {string} */
856
+ diarization: "nemotron-3";
857
+ languages: ("en" | "zh")[];
858
+ max_duration_seconds: null;
859
+ /** @enum {number} */
860
+ max_speakers: 8;
861
+ max_upload_bytes: null;
862
+ /** @enum {number} */
863
+ result_retention_seconds: 86400;
864
+ /** @enum {string} */
865
+ speaker_identity: "anonymous_recording_local";
866
+ /** @enum {boolean} */
867
+ supplied_transcript: true;
868
+ /** @enum {string} */
869
+ transcription: "cohere-transcribe";
870
+ };
871
+ };
872
+ };
873
+ /** @description Unauthorized */
874
+ 401: {
875
+ headers: {
876
+ [name: string]: unknown;
877
+ };
878
+ content: {
879
+ "application/json": components["schemas"]["ErrorResponse"];
880
+ };
881
+ };
882
+ };
883
+ };
884
+ put?: never;
885
+ post?: never;
886
+ delete?: never;
887
+ options?: never;
888
+ head?: never;
889
+ patch?: never;
890
+ trace?: never;
891
+ };
741
892
  "/v1/app-installations/attestations": {
742
893
  parameters: {
743
894
  query?: never;
@@ -1431,6 +1582,124 @@ export interface paths {
1431
1582
  patch?: never;
1432
1583
  trace?: never;
1433
1584
  };
1585
+ "/v1/jobs/{job_id}/speaker-labels": {
1586
+ parameters: {
1587
+ query?: never;
1588
+ header?: never;
1589
+ path?: never;
1590
+ cookie?: never;
1591
+ };
1592
+ /** Read the editable speaker-name overlay */
1593
+ get: {
1594
+ parameters: {
1595
+ query?: never;
1596
+ header?: never;
1597
+ path: {
1598
+ job_id: string;
1599
+ };
1600
+ cookie?: never;
1601
+ };
1602
+ requestBody?: never;
1603
+ responses: {
1604
+ /** @description User-supplied labels, keyed by recording-local speaker ID */
1605
+ 200: {
1606
+ headers: {
1607
+ [name: string]: unknown;
1608
+ };
1609
+ content: {
1610
+ "application/json": components["schemas"]["SpeakerLabels"];
1611
+ };
1612
+ };
1613
+ /** @description Unknown speaker or incomplete analysis */
1614
+ 400: {
1615
+ headers: {
1616
+ [name: string]: unknown;
1617
+ };
1618
+ content: {
1619
+ "application/json": components["schemas"]["ErrorResponse"];
1620
+ };
1621
+ };
1622
+ /** @description Unauthorized */
1623
+ 401: {
1624
+ headers: {
1625
+ [name: string]: unknown;
1626
+ };
1627
+ content: {
1628
+ "application/json": components["schemas"]["ErrorResponse"];
1629
+ };
1630
+ };
1631
+ /** @description Owned analysis unavailable */
1632
+ 404: {
1633
+ headers: {
1634
+ [name: string]: unknown;
1635
+ };
1636
+ content: {
1637
+ "application/json": components["schemas"]["ErrorResponse"];
1638
+ };
1639
+ };
1640
+ };
1641
+ };
1642
+ /** Replace confirmed speaker names; preserve the immutable analysis */
1643
+ put: {
1644
+ parameters: {
1645
+ query?: never;
1646
+ header?: never;
1647
+ path: {
1648
+ job_id: string;
1649
+ };
1650
+ cookie?: never;
1651
+ };
1652
+ requestBody: {
1653
+ content: {
1654
+ "application/json": components["schemas"]["SpeakerLabels"];
1655
+ };
1656
+ };
1657
+ responses: {
1658
+ /** @description User-supplied labels, keyed by recording-local speaker ID */
1659
+ 200: {
1660
+ headers: {
1661
+ [name: string]: unknown;
1662
+ };
1663
+ content: {
1664
+ "application/json": components["schemas"]["SpeakerLabels"];
1665
+ };
1666
+ };
1667
+ /** @description Unknown speaker or incomplete analysis */
1668
+ 400: {
1669
+ headers: {
1670
+ [name: string]: unknown;
1671
+ };
1672
+ content: {
1673
+ "application/json": components["schemas"]["ErrorResponse"];
1674
+ };
1675
+ };
1676
+ /** @description Unauthorized */
1677
+ 401: {
1678
+ headers: {
1679
+ [name: string]: unknown;
1680
+ };
1681
+ content: {
1682
+ "application/json": components["schemas"]["ErrorResponse"];
1683
+ };
1684
+ };
1685
+ /** @description Owned analysis unavailable */
1686
+ 404: {
1687
+ headers: {
1688
+ [name: string]: unknown;
1689
+ };
1690
+ content: {
1691
+ "application/json": components["schemas"]["ErrorResponse"];
1692
+ };
1693
+ };
1694
+ };
1695
+ };
1696
+ post?: never;
1697
+ delete?: never;
1698
+ options?: never;
1699
+ head?: never;
1700
+ patch?: never;
1701
+ trace?: never;
1702
+ };
1434
1703
  "/v1/models": {
1435
1704
  parameters: {
1436
1705
  query?: never;
@@ -1636,6 +1905,64 @@ export interface paths {
1636
1905
  patch?: never;
1637
1906
  trace?: never;
1638
1907
  };
1908
+ "/v1/realtime/sessions/{session_id}/analyses": {
1909
+ parameters: {
1910
+ query?: never;
1911
+ header?: never;
1912
+ path?: never;
1913
+ cookie?: never;
1914
+ };
1915
+ /** List post-session analyses of uploaded recordings */
1916
+ get: {
1917
+ parameters: {
1918
+ query?: never;
1919
+ header?: never;
1920
+ path: {
1921
+ session_id: string;
1922
+ };
1923
+ cookie?: never;
1924
+ };
1925
+ requestBody?: never;
1926
+ responses: {
1927
+ /** @description Latest 100 linked analyses */
1928
+ 200: {
1929
+ headers: {
1930
+ [name: string]: unknown;
1931
+ };
1932
+ content: {
1933
+ "application/json": {
1934
+ jobs: components["schemas"]["JobView"][];
1935
+ };
1936
+ };
1937
+ };
1938
+ /** @description Unauthorized */
1939
+ 401: {
1940
+ headers: {
1941
+ [name: string]: unknown;
1942
+ };
1943
+ content: {
1944
+ "application/json": components["schemas"]["ErrorResponse"];
1945
+ };
1946
+ };
1947
+ /** @description Owned session unavailable */
1948
+ 404: {
1949
+ headers: {
1950
+ [name: string]: unknown;
1951
+ };
1952
+ content: {
1953
+ "application/json": components["schemas"]["ErrorResponse"];
1954
+ };
1955
+ };
1956
+ };
1957
+ };
1958
+ put?: never;
1959
+ post?: never;
1960
+ delete?: never;
1961
+ options?: never;
1962
+ head?: never;
1963
+ patch?: never;
1964
+ trace?: never;
1965
+ };
1639
1966
  "/v1/realtime/sessions/{session_id}/diarizations": {
1640
1967
  parameters: {
1641
1968
  query?: never;
@@ -2033,6 +2360,84 @@ export interface paths {
2033
2360
  patch?: never;
2034
2361
  trace?: never;
2035
2362
  };
2363
+ "/v1/uploads/{upload_id}/transfer": {
2364
+ parameters: {
2365
+ query?: never;
2366
+ header?: never;
2367
+ path?: never;
2368
+ cookie?: never;
2369
+ };
2370
+ get?: never;
2371
+ put?: never;
2372
+ /** Renew an upload transfer URL */
2373
+ post: {
2374
+ parameters: {
2375
+ query?: never;
2376
+ header?: never;
2377
+ path: {
2378
+ upload_id: string;
2379
+ };
2380
+ cookie?: never;
2381
+ };
2382
+ requestBody: {
2383
+ content: {
2384
+ "application/json": components["schemas"]["UploadTransferRefreshRequest"];
2385
+ };
2386
+ };
2387
+ responses: {
2388
+ /** @description Renewed transfer URL for the owned pending upload. Multipart requests renew one selected part. */
2389
+ 200: {
2390
+ headers: {
2391
+ [name: string]: unknown;
2392
+ };
2393
+ content: {
2394
+ "application/json": components["schemas"]["UploadReservationResponse"];
2395
+ };
2396
+ };
2397
+ /** @description Invalid part selection. */
2398
+ 400: {
2399
+ headers: {
2400
+ [name: string]: unknown;
2401
+ };
2402
+ content: {
2403
+ "application/json": components["schemas"]["ErrorResponse"];
2404
+ };
2405
+ };
2406
+ /** @description Unauthorized. */
2407
+ 401: {
2408
+ headers: {
2409
+ [name: string]: unknown;
2410
+ };
2411
+ content: {
2412
+ "application/json": components["schemas"]["ErrorResponse"];
2413
+ };
2414
+ };
2415
+ /** @description Upload unavailable. */
2416
+ 404: {
2417
+ headers: {
2418
+ [name: string]: unknown;
2419
+ };
2420
+ content: {
2421
+ "application/json": components["schemas"]["ErrorResponse"];
2422
+ };
2423
+ };
2424
+ /** @description Upload already completed. */
2425
+ 409: {
2426
+ headers: {
2427
+ [name: string]: unknown;
2428
+ };
2429
+ content: {
2430
+ "application/json": components["schemas"]["ErrorResponse"];
2431
+ };
2432
+ };
2433
+ };
2434
+ };
2435
+ delete?: never;
2436
+ options?: never;
2437
+ head?: never;
2438
+ patch?: never;
2439
+ trace?: never;
2440
+ };
2036
2441
  "/v1/usage/daily": {
2037
2442
  parameters: {
2038
2443
  query?: never;
@@ -2142,6 +2547,9 @@ export interface components {
2142
2547
  };
2143
2548
  upload_id: string;
2144
2549
  };
2550
+ UploadTransferRefreshRequest: {
2551
+ part_number?: number;
2552
+ };
2145
2553
  UploadReservationRequest: {
2146
2554
  content_type: string;
2147
2555
  filename?: string;
@@ -2225,10 +2633,10 @@ export interface components {
2225
2633
  error_details: components["schemas"]["ProviderFailureDiagnostic"];
2226
2634
  job_id: string;
2227
2635
  /** @enum {string} */
2228
- kind: "transcription" | "diarization";
2636
+ kind: "transcription" | "diarization" | "analysis";
2229
2637
  progress: number;
2230
2638
  queued_at: string | null;
2231
- result: components["schemas"]["TranscriptionArtifact"] | components["schemas"]["DiarizationArtifact"] | null;
2639
+ result: components["schemas"]["TranscriptionArtifact"] | components["schemas"]["DiarizationArtifact"] | components["schemas"]["AnalysisArtifact"] | null;
2232
2640
  started_at: string | null;
2233
2641
  /** @enum {string} */
2234
2642
  status: "pending" | "queued" | "running" | "succeeded" | "failed";
@@ -2444,6 +2852,71 @@ export interface components {
2444
2852
  start_seconds: number;
2445
2853
  }[];
2446
2854
  };
2855
+ AnalysisArtifact: {
2856
+ alignment: {
2857
+ audio_sha256: string;
2858
+ duration_seconds: number;
2859
+ /** @enum {string} */
2860
+ model: "english_mfa" | "mandarin_mfa";
2861
+ model_revision: string;
2862
+ processing_seconds: number;
2863
+ rejected_intervals: number;
2864
+ runtime: string;
2865
+ segmentation?: {
2866
+ boundary_context_seconds: number;
2867
+ chunk_count: number;
2868
+ /** @enum {string} */
2869
+ method: "mfa_transcript_vad" | "cohere_vad_windows";
2870
+ vad_revision: string;
2871
+ };
2872
+ /** @enum {boolean} */
2873
+ speaker_adaptation: false;
2874
+ transcript_sha256: string;
2875
+ unknown_tokens: number;
2876
+ };
2877
+ /** @enum {string} */
2878
+ artifact_type: "aligned_transcript";
2879
+ diarization: components["schemas"]["DiarizationArtifact"];
2880
+ /** @enum {string} */
2881
+ language: "en" | "zh";
2882
+ /** @enum {number} */
2883
+ schema_version: 1;
2884
+ speakers: {
2885
+ default_label: string;
2886
+ id: string;
2887
+ }[];
2888
+ text: string;
2889
+ /** @enum {string} */
2890
+ text_source: "cohere" | "provided";
2891
+ transcription_job_id: string | null;
2892
+ turns: {
2893
+ end_seconds: number;
2894
+ speaker: string | null;
2895
+ /** @enum {string} */
2896
+ speaker_status: "assigned" | "ambiguous" | "uncovered";
2897
+ start_seconds: number;
2898
+ text: string;
2899
+ word_end_index: number;
2900
+ word_start_index: number;
2901
+ }[];
2902
+ warnings: string[];
2903
+ /** @enum {string} */
2904
+ word_text_semantics: "normalized_tokens_original_text_preserved";
2905
+ words: {
2906
+ end_seconds: number;
2907
+ start_seconds: number;
2908
+ text: string;
2909
+ speaker: string | null;
2910
+ speaker_candidates: {
2911
+ coverage: number;
2912
+ speaker: string;
2913
+ }[];
2914
+ /** @enum {string} */
2915
+ speaker_status: "assigned" | "ambiguous" | "uncovered";
2916
+ /** @enum {string} */
2917
+ timing_source: "mfa";
2918
+ }[];
2919
+ };
2447
2920
  TranscriptionRequest: {
2448
2921
  asr_model: string;
2449
2922
  diarize?: boolean;
@@ -2465,6 +2938,23 @@ export interface components {
2465
2938
  session_id?: string;
2466
2939
  transcription_job_id?: string;
2467
2940
  };
2941
+ AnalysisRequest: {
2942
+ /** @description Completed owned upload; long recordings are processed in chunks */
2943
+ input_key: string;
2944
+ /**
2945
+ * @description Language-specific MFA bundle; use homogeneous-language recordings
2946
+ * @enum {string}
2947
+ */
2948
+ language: "en" | "zh";
2949
+ session_id?: string;
2950
+ /** @description Original transcript; required for Mandarin, optional for English */
2951
+ transcript?: string;
2952
+ };
2953
+ SpeakerLabels: {
2954
+ labels: {
2955
+ [key: string]: string;
2956
+ };
2957
+ };
2468
2958
  TextResponse: {
2469
2959
  cache: components["schemas"]["TextCacheStatuses"];
2470
2960
  context: components["schemas"]["TextExecutionContext"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonpeacocks/peacockery-voice-client",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Generated TypeScript client for the Peacockery Voice API",
5
5
  "repository": {
6
6
  "type": "git",