@agentproto/model-catalog 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +37 -0
- package/dist/access/index.d.ts +30 -0
- package/dist/access/index.mjs +4 -0
- package/dist/access/index.mjs.map +1 -0
- package/dist/audio/index.d.ts +84 -0
- package/dist/audio/index.mjs +3 -0
- package/dist/audio/index.mjs.map +1 -0
- package/dist/audio-BzVF_wke.d.ts +92 -0
- package/dist/base-BNHcMifc.d.ts +109 -0
- package/dist/byok/index.d.ts +33 -0
- package/dist/byok/index.mjs +3 -0
- package/dist/byok/index.mjs.map +1 -0
- package/dist/catalog-aQHd559b.d.ts +594 -0
- package/dist/chunk-2LWYZOWB.mjs +643 -0
- package/dist/chunk-2LWYZOWB.mjs.map +1 -0
- package/dist/chunk-CINXNTU3.mjs +134 -0
- package/dist/chunk-CINXNTU3.mjs.map +1 -0
- package/dist/chunk-F7OEHYUI.mjs +187 -0
- package/dist/chunk-F7OEHYUI.mjs.map +1 -0
- package/dist/chunk-GH7PB5FB.mjs +183 -0
- package/dist/chunk-GH7PB5FB.mjs.map +1 -0
- package/dist/chunk-H6JUTF3U.mjs +33 -0
- package/dist/chunk-H6JUTF3U.mjs.map +1 -0
- package/dist/chunk-HEDDSOZF.mjs +47 -0
- package/dist/chunk-HEDDSOZF.mjs.map +1 -0
- package/dist/chunk-HRRG2RZO.mjs +116 -0
- package/dist/chunk-HRRG2RZO.mjs.map +1 -0
- package/dist/chunk-IJZ4XPO2.mjs +606 -0
- package/dist/chunk-IJZ4XPO2.mjs.map +1 -0
- package/dist/chunk-IORIAFK2.mjs +227 -0
- package/dist/chunk-IORIAFK2.mjs.map +1 -0
- package/dist/chunk-OHAMH3ZE.mjs +2629 -0
- package/dist/chunk-OHAMH3ZE.mjs.map +1 -0
- package/dist/chunk-QHELXPSL.mjs +85 -0
- package/dist/chunk-QHELXPSL.mjs.map +1 -0
- package/dist/chunk-SGJR6ZQH.mjs +1230 -0
- package/dist/chunk-SGJR6ZQH.mjs.map +1 -0
- package/dist/chunk-WRUWNKDB.mjs +521 -0
- package/dist/chunk-WRUWNKDB.mjs.map +1 -0
- package/dist/chunk-WTHHXXIK.mjs +366 -0
- package/dist/chunk-WTHHXXIK.mjs.map +1 -0
- package/dist/chunk-XFDXTFV3.mjs +28 -0
- package/dist/chunk-XFDXTFV3.mjs.map +1 -0
- package/dist/cost/index.d.ts +114 -0
- package/dist/cost/index.mjs +13 -0
- package/dist/cost/index.mjs.map +1 -0
- package/dist/curation/index.d.ts +98 -0
- package/dist/curation/index.mjs +13 -0
- package/dist/curation/index.mjs.map +1 -0
- package/dist/evaluate-DisH3H7u.d.ts +84 -0
- package/dist/image/index.d.ts +79 -0
- package/dist/image/index.mjs +3 -0
- package/dist/image/index.mjs.map +1 -0
- package/dist/index-BICjPG8H.d.ts +132 -0
- package/dist/index-D8nL3fPZ.d.ts +171 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.mjs +33 -0
- package/dist/index.mjs.map +1 -0
- package/dist/llm/index.d.ts +48 -0
- package/dist/llm/index.mjs +4 -0
- package/dist/llm/index.mjs.map +1 -0
- package/dist/overlay/index.d.ts +67 -0
- package/dist/overlay/index.mjs +3 -0
- package/dist/overlay/index.mjs.map +1 -0
- package/dist/picker/index.d.ts +11 -0
- package/dist/picker/index.mjs +26 -0
- package/dist/picker/index.mjs.map +1 -0
- package/dist/pricing/index.d.ts +106 -0
- package/dist/pricing/index.mjs +3 -0
- package/dist/pricing/index.mjs.map +1 -0
- package/dist/providers/index.d.ts +78 -0
- package/dist/providers/index.mjs +237 -0
- package/dist/providers/index.mjs.map +1 -0
- package/dist/schema/index.d.ts +627 -0
- package/dist/schema/index.mjs +4 -0
- package/dist/schema/index.mjs.map +1 -0
- package/dist/schema/voice.d.ts +66 -0
- package/dist/schema/voice.mjs +3 -0
- package/dist/schema/voice.mjs.map +1 -0
- package/dist/video/index.d.ts +78 -0
- package/dist/video/index.mjs +3 -0
- package/dist/video/index.mjs.map +1 -0
- package/dist/voice/index.d.ts +1300 -0
- package/dist/voice/index.mjs +4 -0
- package/dist/voice/index.mjs.map +1 -0
- package/package.json +137 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/voice/providers/minimax.ts","../src/voice/providers/elevenlabs.ts","../src/voice/providers/openai-realtime.ts","../src/voice/providers/gemini-live.ts","../src/voice/catalog.ts","../src/voice/curate.ts","../src/voice/preview-manifest.generated.ts"],"names":["LANGS"],"mappings":";;;;;;;AAaA,IAAM,KAAA,GAAQ;AAAA,EACZ,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,qBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,qDAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,kCAAA;AAAA,IACX,eAAA,EAAiB,wBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,2CAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,mCAAA;AAAA,IACX,eAAA,EAAiB,2BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,qBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,0CAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,gCAAA;AAAA,IACX,eAAA,EAAiB,wBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,oCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,2BAAA;AAAA,IACX,eAAA,EAAiB,kBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,mCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,gCAAA;AAAA,IACX,eAAA,EAAiB,wBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,8BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,4BAAA;AAAA,IACX,eAAA,EAAiB,mBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,yBAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,mCAAA;AAAA,IACX,eAAA,EAAiB,2BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,yBAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,+BAAA;AAAA,IACX,eAAA,EAAiB,uBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,WAAA;AAAA,IACP,WAAA,EAAa,6BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,qCAAA;AAAA,IACX,eAAA,EAAiB,0BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,uBAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,qBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,iCAAA;AAAA,IACX,eAAA,EAAiB,wBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,8BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,6BAAA;AAAA,IACX,eAAA,EAAiB,oBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,qCAAA;AAAA,IACX,eAAA,EAAiB,6BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,gCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,4BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,8BAAA;AAAA,IACX,eAAA,EAAiB,qBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,0BAAA;AAAA,IACX,eAAA,EAAiB,kBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,6BAAA;AAAA,IACX,eAAA,EAAiB,oBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,2BAAA;AAAA,IACX,eAAA,EAAiB,kBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,gCAAA;AAAA,IACX,eAAA,EAAiB,uBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,yBAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,4BAAA;AAAA,IACX,eAAA,EAAiB,mBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,yBAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,+BAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,uBAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,2BAAA;AAAA,IACX,eAAA,EAAiB,kBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,oCAAA;AAAA,IACX,eAAA,EAAiB,8BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,KAAA;AAAA,IACP,WAAA,EAAa,kBAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,qCAAA;AAAA,IACX,eAAA,EAAiB,+BAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,KAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,iCAAA;AAAA,IACX,eAAA,EAAiB,wBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,+BAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,0BAAA;AAAA,IACX,eAAA,EAAiB,kBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,SAAA,EAAW,+BAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoB,KAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA;AAEb;;;ACpZA,IAAMA,MAAAA,GAAQ;AAAA,EACZ,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,iBAAA,GAAoB;AAAA;AAAA,EAE/B;AAAA,IACE,SAAA,EAAW,qBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,UAAA;AAAA,IACP,WAAA,EAAa,8CAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,qBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,UAAA;AAAA,IACP,WAAA,EAAa,0CAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,oBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,4CAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA;AAAA,EAEA;AAAA,IACE,SAAA,EAAW,mBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,uCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,kBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,+BAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,mBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,4BAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,kBAAA;AAAA,IACX,eAAA,EAAiB,sBAAA;AAAA,IACjB,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,kCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA;AAEd;;;AClHA,IAAMA,MAAAA,GAAQ;AAAA,EACZ,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,sBAAA,GAAyB;AAAA,EACpC;AAAA,IACE,SAAA,EAAW,uBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,kEAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,uBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,4CAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA,MAAAA;AAAA,IACpB,QAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,SAAA,EAAW,uBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,0CAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,sBAAA;AAAA,IACX,eAAA,EAAiB,MAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,kCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,yBAAA;AAAA,IACX,eAAA,EAAiB,SAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,oCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,qBAAA;AAAA,IACX,eAAA,EAAiB,KAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,KAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,wBAAA;AAAA,IACX,eAAA,EAAiB,QAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,uBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,sBAAA;AAAA,IACX,eAAA,EAAiB,MAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,uCAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,uBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,0CAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA;AAExB;;;AC1HA,IAAMA,MAAAA,GAAQ;AAAA,EACZ,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC;AAAA,IACE,SAAA,EAAW,mBAAA;AAAA,IACX,eAAA,EAAiB,OAAA;AAAA,IACjB,QAAA,EAAU,aAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,oCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,oBAAA;AAAA,IACX,eAAA,EAAiB,QAAA;AAAA,IACjB,QAAA,EAAU,aAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,mCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,oBAAA;AAAA,IACX,eAAA,EAAiB,QAAA;AAAA,IACjB,QAAA,EAAU,aAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,sCAAA;AAAA,IACb,MAAA,EAAQ,MAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,kBAAA;AAAA,IACX,eAAA,EAAiB,MAAA;AAAA,IACjB,QAAA,EAAU,aAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,sCAAA;AAAA,IACb,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA,GACtB;AAAA,EACA;AAAA,IACE,SAAA,EAAW,kBAAA;AAAA,IACX,eAAA,EAAiB,MAAA;AAAA,IACjB,QAAA,EAAU,aAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,uCAAA;AAAA,IACb,MAAA,EAAQ,SAAA;AAAA,IACR,eAAA,EAAiB,IAAA;AAAA,IACjB,kBAAA,EAAoBA;AAAA;AAExB;;;ACtDO,IAAM,aAAA,GAAgB;AAAA,EAC3B,GAAG,iBAAA;AAAA,EACH,GAAG,cAAA;AAAA,EACH,GAAG,sBAAA;AAAA,EACH,GAAG;AACL;AAmBA,IAAM,sBAAsB,IAAI,GAAA;AAAA,EAC9B,cAAc,GAAA,CAAI,CAAA,CAAA,KAAK,CAAC,CAAA,CAAE,SAAA,EAAW,CAAC,CAAC;AACzC,CAAA;AACA,IAAM,uBAAuB,IAAI,GAAA;AAAA,EAC/B,cAAc,GAAA,CAAI,CAAA,CAAA,KAAK,CAAC,CAAA,CAAE,eAAA,EAAiB,CAAC,CAAC;AAC/C,CAAA;AACA,IAAM,iBAAiB,IAAI,GAAA;AAAA,EACzB,aAAA,CAAc,OAAA;AAAA,IAAQ,CAAC,CAAA,KAAA,CACpB,CAAA,CAAE,OAAA,IAAW,EAAC,EAAG,GAAA,CAAI,CAAA,CAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAU;AAAA;AAE9C,CAAA;AAGO,SAAS,gBAAgB,QAAA,EAA4C;AAC1E,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,aAAA,CAAc,MAAA,CAAO,CAAA,CAAA,KAAK,CAAA,CAAE,oBAAoB,QAAQ,CAAA;AAAA,EACjE;AACA,EAAA,OAAO,aAAA;AACT;AAGO,SAAS,oBACd,SAAA,EAC0B;AAC1B,EAAA,OAAO,mBAAA,CAAoB,IAAI,SAAS,CAAA;AAC1C;AAGO,SAAS,0BACd,eAAA,EAC0B;AAC1B,EAAA,OAAO,oBAAA,CAAqB,IAAI,eAAe,CAAA;AACjD;AAOO,SAAS,aAAa,GAAA,EAAyC;AACpE,EAAA,OACE,mBAAA,CAAoB,GAAA,CAAI,GAAG,CAAA,IAC3B,oBAAA,CAAqB,IAAI,GAAG,CAAA,IAC5B,cAAA,CAAe,GAAA,CAAI,GAAG,CAAA;AAE1B;AAGO,SAAS,aAAa,EAAA,EAAwC;AACnE,EAAA,OAAO,aAAa,EAAE,CAAA;AACxB;AAGO,SAAS,kBAAkB,QAAA,EAA4C;AAC5E,EAAA,OAAO,aAAA,CAAc,MAAA;AAAA,IACnB,CAAC,CAAA,KACC,CAAA,CAAE,aAAa,CAAC,QAAA,IAAY,EAAE,eAAA,KAAoB,QAAA;AAAA,GACtD;AACF;AAMO,SAAS,oBACd,GAAA,EACyE;AACzE,EAAA,MAAM,KAAA,GAAQ,aAAa,GAAG,CAAA;AAC9B,EAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AACnB,EAAA,OAAO,EAAE,QAAA,EAAU,KAAA,CAAM,QAAA,EAAU,eAAA,EAAiB,MAAM,eAAA,EAAgB;AAC5E;;;ACzEO,SAAS,cAAA,CACd,UACA,eAAA,EACQ;AACR,EAAA,MAAM,IAAA,GAAO,eAAA,CACV,OAAA,CAAQ,oBAAA,EAAsB,OAAO,CAAA,CACrC,WAAA,EAAY,CACZ,OAAA,CAAQ,aAAA,EAAe,GAAG,CAAA,CAC1B,OAAA,CAAQ,YAAY,EAAE,CAAA;AACzB,EAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA;AAC5B;AAGO,SAAS,WAAA,CACd,MAAA,EACA,SAAA,GAAoC,EAAC,EACvB;AACd,EAAA,OAAO;AAAA,IACL,WACE,SAAA,CAAU,SAAA,IACV,eAAe,MAAA,CAAO,QAAA,EAAU,OAAO,eAAe,CAAA;AAAA,IACxD,iBAAiB,MAAA,CAAO,eAAA;AAAA,IACxB,UAAU,MAAA,CAAO,QAAA;AAAA;AAAA,IAEjB,KAAA,EAAO,SAAA,CAAU,KAAA,IAAS,MAAA,CAAO,IAAA;AAAA,IACjC,WAAA,EAAa,MAAA,CAAO,WAAA,IAAe,CAAA,EAAG,OAAO,QAAQ,CAAA,MAAA,CAAA;AAAA,IACrD,QAAQ,MAAA,CAAO,MAAA;AAAA,IACf,iBAAiB,MAAA,CAAO,eAAA;AAAA,IACxB,oBAAoB,MAAA,CAAO,kBAAA;AAAA,IAC3B,YAAY,MAAA,CAAO,UAAA;AAAA,IACnB,SAAS,SAAA,CAAU,OAAA;AAAA,IACnB,KAAK,MAAA,CAAO,GAAA;AAAA,IACZ,SAAS,MAAA,CAAO,OAAA;AAAA,IAChB,UAAU,SAAA,CAAU;AAAA,GACtB;AACF;;;AC3EO,IAAM,kBAAA,GACX;AAEK,IAAM,wBAAwB,CAAC,IAAA,EAAK,MAAK,IAAA,EAAK,IAAA,EAAK,MAAK,IAAI;AAG5D,IAAM,oBAAA,GAA0D;AAAA,EACrE,kBAAA,EAAoB;AAAA,IAClB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,kBAAA,EAAoB;AAAA,IAClB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,oCAAA,EAAsC;AAAA,IACpC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qCAAA,EAAuC;AAAA,IACrC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,4BAAA,EAA8B;AAAA,IAC5B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,iCAAA,EAAmC;AAAA,IACjC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qCAAA,EAAuC;AAAA,IACrC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,mCAAA,EAAqC;AAAA,IACnC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,+BAAA,EAAiC;AAAA,IAC/B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qCAAA,EAAuC;AAAA,IACrC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,6BAAA,EAA+B;AAAA,IAC7B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,gCAAA,EAAkC;AAAA,IAChC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,2BAAA,EAA6B;AAAA,IAC3B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,mCAAA,EAAqC;AAAA,IACnC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,gCAAA,EAAkC;AAAA,IAChC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,kCAAA,EAAoC;AAAA,IAClC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,6BAAA,EAA+B;AAAA,IAC7B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,2BAAA,EAA6B;AAAA,IAC3B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,+BAAA,EAAiC;AAAA,IAC/B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,0BAAA,EAA4B;AAAA,IAC1B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,gCAAA,EAAkC;AAAA,IAChC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,4BAAA,EAA8B;AAAA,IAC5B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,+BAAA,EAAiC;AAAA,IAC/B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,2BAAA,EAA6B;AAAA,IAC3B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,iCAAA,EAAmC;AAAA,IACjC,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,+BAAA,EAAiC;AAAA,IAC/B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,0BAAA,EAA4B;AAAA,IAC1B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,8BAAA,EAAgC;AAAA,IAC9B,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,wBAAA,EAA0B;AAAA,IACxB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,sBAAA,EAAwB;AAAA,IACtB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,sBAAA,EAAwB;AAAA,IACtB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,yBAAA,EAA2B;AAAA,IACzB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA;AAEJ;AAOO,SAAS,eAAA,CACd,SAAA,EACA,MAAA,GAAS,IAAA,EACW;AACpB,EAAA,MAAM,OAAA,GAAU,qBAAqB,SAAS,CAAA;AAC9C,EAAA,IAAI,CAAC,OAAA,IAAW,OAAA,CAAQ,MAAA,KAAW,GAAG,OAAO,MAAA;AAC7C,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,QAAA,CAAS,MAAM,CAAA,GAClC,MAAA,GACA,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,GACnB,IAAA,GACA,OAAA,CAAQ,CAAC,CAAA;AACf,EAAA,OAAO,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,SAAS,IAAI,MAAM,CAAA,IAAA,CAAA;AACrD","file":"chunk-SGJR6ZQH.mjs","sourcesContent":["/**\n * MiniMax voices — provider-authored source for the unified voice\n * catalog. Each entry is a `CatalogVoice`: identity (`providerVoiceId`)\n * + selection metadata (label, description, gender, languages, featured).\n *\n * `catalogId`s are derived (`<provider>-<slug(providerVoiceId)>`) and\n * materialized as literals so the `CatalogVoiceId` union stays\n * autocomplete-able. App-specific alias slugs live in a consumer overlay, not here.\n * Authored per-provider; `VOICE_CATALOG` concatenates every provider.\n */\n\nimport type { CatalogVoice } from \"../../schema/voice.js\"\n\nconst LANGS = [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\",\n \"ja\",\n \"ko\",\n \"zh\",\n \"ar\",\n \"ru\",\n \"tr\",\n \"nl\",\n \"pl\",\n \"sv\",\n \"da\",\n \"no\",\n \"fi\",\n \"hi\",\n \"th\",\n \"vi\",\n \"id\",\n \"ms\",\n \"tl\",\n \"ro\",\n \"hu\",\n]\n\nexport const MINIMAX_VOICES = [\n {\n catalogId: \"minimax-french-female-anchor\",\n providerVoiceId: \"French_FemaleAnchor\",\n provider: \"minimax\",\n label: \"Camille\",\n description: \"Posée et professionnelle, style présentatrice\",\n gender: \"female\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"minimax-french-movie-lead-female\",\n providerVoiceId: \"French_MovieLeadFemale\",\n provider: \"minimax\",\n label: \"Sophie\",\n description: \"Chaleureuse et naturelle, style cinéma\",\n gender: \"female\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"minimax-french-female-news-anchor\",\n providerVoiceId: \"French_Female_News Anchor\",\n provider: \"minimax\",\n label: \"Marion\",\n description: \"Rapide et dynamique, style journaliste\",\n gender: \"female\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"minimax-french-male-narrator\",\n providerVoiceId: \"French_MaleNarrator\",\n provider: \"minimax\",\n label: \"Pierre\",\n description: \"Voix masculine posée, style narrateur\",\n gender: \"male\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-french-male-speech-new\",\n providerVoiceId: \"French_Male_Speech_New\",\n provider: \"minimax\",\n label: \"Antoine\",\n description: \"Voix masculine calme et mesurée\",\n gender: \"male\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-french-casual-man\",\n providerVoiceId: \"French_CasualMan\",\n provider: \"minimax\",\n label: \"Lucas\",\n description: \"Voix masculine décontractée\",\n gender: \"male\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-trustworth-man\",\n providerVoiceId: \"English_Trustworth_Man\",\n provider: \"minimax\",\n label: \"Aaron\",\n description: \"Trustworthy adult male voice\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-calm-woman\",\n providerVoiceId: \"English_CalmWoman\",\n provider: \"minimax\",\n label: \"Olivia\",\n description: \"Calm adult female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-gentle-voiced-man\",\n providerVoiceId: \"English_Gentle-voiced_man\",\n provider: \"minimax\",\n label: \"Mark\",\n description: \"Gentle adult male voice\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-graceful-lady\",\n providerVoiceId: \"English_Graceful_Lady\",\n provider: \"minimax\",\n label: \"Charlotte\",\n description: \"Graceful adult female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-upbeat-woman\",\n providerVoiceId: \"English_Upbeat_Woman\",\n provider: \"minimax\",\n label: \"Emma\",\n description: \"Upbeat young female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-man-with-deep-voice\",\n providerVoiceId: \"English_ManWithDeepVoice\",\n provider: \"minimax\",\n label: \"Henry\",\n description: \"Deep adult male voice\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-serene-woman\",\n providerVoiceId: \"English_SereneWoman\",\n provider: \"minimax\",\n label: \"Hannah\",\n description: \"Serene adult female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-confident-woman\",\n providerVoiceId: \"English_ConfidentWoman\",\n provider: \"minimax\",\n label: \"Grace\",\n description: \"Confident adult female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-patient-man\",\n providerVoiceId: \"English_PatientMan\",\n provider: \"minimax\",\n label: \"Patrick\",\n description: \"Patient adult male voice\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-expressive-narrator\",\n providerVoiceId: \"English_expressive_narrator\",\n provider: \"minimax\",\n label: \"Daniel\",\n description: \"Expressive adult male narrator\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-english-radiant-girl\",\n providerVoiceId: \"English_radiant_girl\",\n provider: \"minimax\",\n label: \"Ruby\",\n description: \"Radiant young female voice\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-spanish-serene-woman\",\n providerVoiceId: \"Spanish_SereneWoman\",\n provider: \"minimax\",\n label: \"Isabel\",\n description: \"Serene adult female voice\",\n gender: \"female\",\n primaryLanguage: \"es\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-spanish-narrator\",\n providerVoiceId: \"Spanish_Narrator\",\n provider: \"minimax\",\n label: \"Diego\",\n description: \"Adult male narrator voice\",\n gender: \"male\",\n primaryLanguage: \"es\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-german-friendly-man\",\n providerVoiceId: \"German_FriendlyMan\",\n provider: \"minimax\",\n label: \"Klaus\",\n description: \"Friendly adult male voice\",\n gender: \"male\",\n primaryLanguage: \"de\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-german-sweet-lady\",\n providerVoiceId: \"German_SweetLady\",\n provider: \"minimax\",\n label: \"Greta\",\n description: \"Sweet young female voice\",\n gender: \"female\",\n primaryLanguage: \"de\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-japanese-gentle-butler\",\n providerVoiceId: \"Japanese_GentleButler\",\n provider: \"minimax\",\n label: \"Haruto\",\n description: \"Gentle adult male voice\",\n gender: \"male\",\n primaryLanguage: \"ja\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-japanese-kind-lady\",\n providerVoiceId: \"Japanese_KindLady\",\n provider: \"minimax\",\n label: \"Yuki\",\n description: \"Kind adult female voice\",\n gender: \"female\",\n primaryLanguage: \"ja\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-korean-calm-gentleman\",\n providerVoiceId: \"Korean_CalmGentleman\",\n provider: \"minimax\",\n label: \"Minjun\",\n description: \"Calm adult male voice\",\n gender: \"male\",\n primaryLanguage: \"ko\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-korean-sweet-girl\",\n providerVoiceId: \"Korean_SweetGirl\",\n provider: \"minimax\",\n label: \"Yuna\",\n description: \"Sweet young female voice\",\n gender: \"female\",\n primaryLanguage: \"ko\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-chinese-mandarin-gentleman\",\n providerVoiceId: \"Chinese (Mandarin)_Gentleman\",\n provider: \"minimax\",\n label: \"Wei\",\n description: \"Adult male voice\",\n gender: \"male\",\n primaryLanguage: \"zh\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-chinese-mandarin-sweet-lady\",\n providerVoiceId: \"Chinese (Mandarin)_Sweet_Lady\",\n provider: \"minimax\",\n label: \"Mei\",\n description: \"Sweet young female voice\",\n gender: \"female\",\n primaryLanguage: \"zh\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-portuguese-reliable-man\",\n providerVoiceId: \"Portuguese_ReliableMan\",\n provider: \"minimax\",\n label: \"Rafael\",\n description: \"Reliable adult male voice\",\n gender: \"male\",\n primaryLanguage: \"pt\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-portuguese-sweet-girl\",\n providerVoiceId: \"Portuguese_SweetGirl\",\n provider: \"minimax\",\n label: \"Beatriz\",\n description: \"Sweet young female voice\",\n gender: \"female\",\n primaryLanguage: \"pt\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-italian-narrator\",\n providerVoiceId: \"Italian_Narrator\",\n provider: \"minimax\",\n label: \"Marco\",\n description: \"Adult male narrator voice\",\n gender: \"male\",\n primaryLanguage: \"it\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n {\n catalogId: \"minimax-italian-brave-heroine\",\n providerVoiceId: \"Italian_BraveHeroine\",\n provider: \"minimax\",\n label: \"Giulia\",\n description: \"Brave adult female voice\",\n gender: \"female\",\n primaryLanguage: \"it\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n },\n] as const satisfies readonly CatalogVoice[]\n","/**\n * ElevenLabs voices — provider-authored source for the unified voice\n * catalog. Each entry is a `CatalogVoice`: identity (`providerVoiceId`)\n * + selection metadata (label, description, gender, languages, featured).\n *\n * ElevenLabs is the one provider fetched LIVE at runtime (`/v1/voices`),\n * so we curate only a featured showcase here; the runtime merge appends\n * the rest of the account's voices on top (deduped on `providerVoiceId`).\n * Hash-style `providerVoiceId`s would slugify to noise, so these carry\n * explicit readable ids. ids are provider-native (e.g. elevenlabs-victoire, the FR default).\n */\n\nimport type { CatalogVoice } from \"../../schema/voice.js\"\n\nconst LANGS = [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\",\n \"ja\",\n \"ko\",\n \"zh\",\n \"ar\",\n \"ru\",\n \"tr\",\n \"nl\",\n \"pl\",\n \"sv\",\n \"hi\",\n]\n\nexport const ELEVENLABS_VOICES = [\n // ── French (featured) ──\n {\n catalogId: \"elevenlabs-victoire\",\n providerVoiceId: \"O31r762Gb3WFygrEOGh0\",\n provider: \"elevenlabs\",\n label: \"Victoire\",\n description: \"Haute fidélité, voix naturelle premium\",\n gender: \"female\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"elevenlabs-victoria\",\n providerVoiceId: \"WeAAwKYcS06VmXw086yZ\",\n provider: \"elevenlabs\",\n label: \"Victoria\",\n description: \"Chaleureuse et posée, style narration\",\n gender: \"female\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"elevenlabs-nicolas\",\n providerVoiceId: \"aQROLel5sQbj1vuIVi6B\",\n provider: \"elevenlabs\",\n label: \"Nicolas\",\n description: \"Voix masculine parisienne, style narrateur\",\n gender: \"male\",\n primaryLanguage: \"fr\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n // ── English (featured, premade — portable across accounts) ──\n {\n catalogId: \"elevenlabs-george\",\n providerVoiceId: \"JBFqnCBsd6RMkjVDRZzb\",\n provider: \"elevenlabs\",\n label: \"George\",\n description: \"Warm, captivating British storyteller\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"elevenlabs-sarah\",\n providerVoiceId: \"EXAVITQu4vr4xnSDxMaL\",\n provider: \"elevenlabs\",\n label: \"Sarah\",\n description: \"Mature, reassuring, confident\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"young\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"elevenlabs-daniel\",\n providerVoiceId: \"onwK4e9ZLuTAKqWW03F9\",\n provider: \"elevenlabs\",\n label: \"Daniel\",\n description: \"Steady British broadcaster\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n {\n catalogId: \"elevenlabs-alice\",\n providerVoiceId: \"Xb7hH8MSUJpSbSDYk0k2\",\n provider: \"elevenlabs\",\n label: \"Alice\",\n description: \"Clear, engaging British educator\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n age: \"adult\",\n quality: \"premium\",\n featured: true,\n },\n] as const satisfies readonly CatalogVoice[]\n","/**\n * OpenAI Realtime voices — provider-authored source for the unified voice\n * catalog. Each entry is a `CatalogVoice`: identity (`providerVoiceId`)\n * + selection metadata (label, description, gender, languages, featured).\n *\n * `catalogId`s are derived (`<provider>-<slug(providerVoiceId)>`) and\n * materialized as literals so the `CatalogVoiceId` union stays\n * autocomplete-able. App-specific alias slugs live in a consumer overlay, not here.\n * Authored per-provider; `VOICE_CATALOG` concatenates every provider.\n */\n\nimport type { CatalogVoice } from \"../../schema/voice.js\"\n\nconst LANGS = [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\",\n \"ja\",\n \"ko\",\n \"zh\",\n \"ar\",\n \"ru\",\n \"tr\",\n \"nl\",\n \"pl\",\n \"sv\",\n \"hi\",\n]\n\nexport const OPENAI_REALTIME_VOICES = [\n {\n catalogId: \"openai-realtime-marin\",\n providerVoiceId: \"marin\",\n provider: \"openai-realtime\",\n label: \"Marin\",\n description: \"OpenAI Realtime — newest premium voice, warm and expressive\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n featured: true,\n },\n {\n catalogId: \"openai-realtime-cedar\",\n providerVoiceId: \"cedar\",\n provider: \"openai-realtime\",\n label: \"Cedar\",\n description: \"OpenAI Realtime — grounded, confident\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n featured: true,\n },\n {\n catalogId: \"openai-realtime-alloy\",\n providerVoiceId: \"alloy\",\n provider: \"openai-realtime\",\n label: \"Alloy\",\n description: \"OpenAI Realtime — neutral, balanced\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-echo\",\n providerVoiceId: \"echo\",\n provider: \"openai-realtime\",\n label: \"Echo\",\n description: \"OpenAI Realtime — calm male\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-shimmer\",\n providerVoiceId: \"shimmer\",\n provider: \"openai-realtime\",\n label: \"Shimmer\",\n description: \"OpenAI Realtime — soft female\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-ash\",\n providerVoiceId: \"ash\",\n provider: \"openai-realtime\",\n label: \"Ash\",\n description: \"OpenAI Realtime — relaxed neutral\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-ballad\",\n providerVoiceId: \"ballad\",\n provider: \"openai-realtime\",\n label: \"Ballad\",\n description: \"OpenAI Realtime — melodic, smooth\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-coral\",\n providerVoiceId: \"coral\",\n provider: \"openai-realtime\",\n label: \"Coral\",\n description: \"OpenAI Realtime — friendly female\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-sage\",\n providerVoiceId: \"sage\",\n provider: \"openai-realtime\",\n label: \"Sage\",\n description: \"OpenAI Realtime — wise, measured\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"openai-realtime-verse\",\n providerVoiceId: \"verse\",\n provider: \"openai-realtime\",\n label: \"Verse\",\n description: \"OpenAI Realtime — lyrical, animated\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n] as const satisfies readonly CatalogVoice[]\n","/**\n * Gemini Live voices — provider-authored source for the unified voice\n * catalog. Each entry is a `CatalogVoice`: identity (`providerVoiceId`)\n * + selection metadata (label, description, gender, languages, featured).\n *\n * `catalogId`s are derived (`<provider>-<slug(providerVoiceId)>`) and\n * materialized as literals so the `CatalogVoiceId` union stays\n * autocomplete-able. App-specific alias slugs live in a consumer overlay, not here.\n * Authored per-provider; `VOICE_CATALOG` concatenates every provider.\n */\n\nimport type { CatalogVoice } from \"../../schema/voice.js\"\n\nconst LANGS = [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\",\n \"ja\",\n \"ko\",\n \"zh\",\n \"ar\",\n \"ru\",\n \"hi\",\n]\n\nexport const GEMINI_LIVE_VOICES = [\n {\n catalogId: \"gemini-live-aoede\",\n providerVoiceId: \"Aoede\",\n provider: \"gemini-live\",\n label: \"Aoede\",\n description: \"Gemini Live — bright, melodic\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"gemini-live-charon\",\n providerVoiceId: \"Charon\",\n provider: \"gemini-live\",\n label: \"Charon\",\n description: \"Gemini Live — deep, measured\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"gemini-live-fenrir\",\n providerVoiceId: \"Fenrir\",\n provider: \"gemini-live\",\n label: \"Fenrir\",\n description: \"Gemini Live — gravelly, intense\",\n gender: \"male\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"gemini-live-kore\",\n providerVoiceId: \"Kore\",\n provider: \"gemini-live\",\n label: \"Kore\",\n description: \"Gemini Live — clear, articulate\",\n gender: \"female\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n {\n catalogId: \"gemini-live-puck\",\n providerVoiceId: \"Puck\",\n provider: \"gemini-live\",\n label: \"Puck\",\n description: \"Gemini Live — playful, energetic\",\n gender: \"neutral\",\n primaryLanguage: \"en\",\n supportedLanguages: LANGS,\n },\n] as const satisfies readonly CatalogVoice[]\n","/**\n * Unified voice catalog — the single source of truth for every curated\n * TTS / realtime voice across providers. Per-provider sources under\n * `providers/` are concatenated here; the registry exposes them as\n * `kind: \"voice\"`, and the runtime merge layer (agent-framework) appends\n * live ElevenLabs voices on top.\n *\n * Users pick voices by natural label (\"Victoire\", \"Camille\", \"Pierre\"…);\n * provider details are internal — resolved by `resolveVoice()`.\n */\n\nimport type { CatalogVoice, CatalogVoiceProvider } from \"../schema/voice.js\"\nimport { MINIMAX_VOICES } from \"./providers/minimax.js\"\nimport { ELEVENLABS_VOICES } from \"./providers/elevenlabs.js\"\nimport { OPENAI_REALTIME_VOICES } from \"./providers/openai-realtime.js\"\nimport { GEMINI_LIVE_VOICES } from \"./providers/gemini-live.js\"\n\n/**\n * Every curated voice, ordered featured-FR first then by provider. Saved\n * `operator.voiceId` rows reference `catalogId`, so ordering is pure UX.\n *\n * Intentionally NOT annotated `: CatalogVoice[]` — the per-provider arrays\n * are `as const satisfies`, so leaving inference intact preserves the\n * literal `catalogId`s that `CatalogVoiceId` is derived from.\n */\nexport const VOICE_CATALOG = [\n ...ELEVENLABS_VOICES,\n ...MINIMAX_VOICES,\n ...OPENAI_REALTIME_VOICES,\n ...GEMINI_LIVE_VOICES,\n]\n\n/**\n * The union of every curated voice's `catalogId` — autocompleted +\n * typo-checked at every call site that names a voice. Auto-derived from\n * the catalog data; never hand-maintained. Aliases (app-side legacy slugs)\n * are NOT in the union — they resolve at runtime but aren't canonical.\n */\nexport type CatalogVoiceId = (typeof VOICE_CATALOG)[number][\"catalogId\"]\n\n/**\n * Any string that resolves to a voice — a canonical `CatalogVoiceId`\n * (autocompleted), or a `providerVoiceId` / legacy alias (free-form).\n * The `string & {}` keeps the literal-union autocomplete while still\n * accepting arbitrary ids.\n */\nexport type VoiceRef = CatalogVoiceId | (string & {})\n\n// Triple-index for O(1) lookups: canonical id, native provider id, alias.\nconst VOICE_BY_CATALOG_ID = new Map<string, CatalogVoice>(\n VOICE_CATALOG.map(v => [v.catalogId, v])\n)\nconst VOICE_BY_PROVIDER_ID = new Map<string, CatalogVoice>(\n VOICE_CATALOG.map(v => [v.providerVoiceId, v])\n)\nconst VOICE_BY_ALIAS = new Map<string, CatalogVoice>(\n VOICE_CATALOG.flatMap((v: CatalogVoice) =>\n (v.aliases ?? []).map(a => [a, v] as const)\n )\n)\n\n/** Get all voices, optionally filtered by primary language. */\nexport function getVoiceCatalog(language?: string): readonly CatalogVoice[] {\n if (language) {\n return VOICE_CATALOG.filter(v => v.primaryLanguage === language)\n }\n return VOICE_CATALOG\n}\n\n/** Look up a voice by its canonical catalogId (\"elevenlabs-victoire\"). */\nexport function getVoiceByCatalogId(\n catalogId: VoiceRef\n): CatalogVoice | undefined {\n return VOICE_BY_CATALOG_ID.get(catalogId)\n}\n\n/** Look up a voice by its native provider id (\"French_FemaleAnchor\"). */\nexport function getVoiceByProviderVoiceId(\n providerVoiceId: string\n): CatalogVoice | undefined {\n return VOICE_BY_PROVIDER_ID.get(providerVoiceId)\n}\n\n/**\n * Resolve a voice by canonical catalogId, then native providerVoiceId,\n * then legacy alias — works with new slugs, native ids, and the old\n * app-specific alias slugs (e.g. a consumer overlay).\n */\nexport function resolveVoice(ref: VoiceRef): CatalogVoice | undefined {\n return (\n VOICE_BY_CATALOG_ID.get(ref) ??\n VOICE_BY_PROVIDER_ID.get(ref) ??\n VOICE_BY_ALIAS.get(ref)\n )\n}\n\n/** @deprecated Use `resolveVoice()`. Kept for backward compat. */\nexport function getVoiceById(id: VoiceRef): CatalogVoice | undefined {\n return resolveVoice(id)\n}\n\n/** Featured voices (shown in the picker), optionally filtered by language. */\nexport function getFeaturedVoices(language?: string): readonly CatalogVoice[] {\n return VOICE_CATALOG.filter(\n (v: CatalogVoice) =>\n v.featured && (!language || v.primaryLanguage === language)\n )\n}\n\n/**\n * Resolve which provider owns a voice and the native provider voice id.\n * Accepts a canonical id, native id, or alias.\n */\nexport function getProviderForVoice(\n ref: VoiceRef\n): { provider: CatalogVoiceProvider; providerVoiceId: string } | undefined {\n const voice = resolveVoice(ref)\n if (!voice) return undefined\n return { provider: voice.provider, providerVoiceId: voice.providerVoiceId }\n}\n","/**\n * Curate a voice FROM provider-native data — the runtime analog of the\n * codegen that authors the static per-provider files.\n *\n * The point: a curated entry is DERIVED from the provider's own data, so\n * the display name defaults to the real provider name (rebrand becomes\n * opt-in, never accidental) and the `catalogId` is derived unless pinned.\n * Used by the live-voice merge (e.g. ElevenLabs `/v1/voices` rows) and\n * anywhere a provider row needs to become a `CatalogVoice`.\n *\n * Note: runtime-curated ids are `string`, not `CatalogVoiceId` — they\n * come from dynamic data and aren't part of the compile-time union. The\n * static catalog (authored as `as const`) is what powers autocomplete.\n */\n\nimport type { CatalogVoice, CatalogVoiceProvider } from \"../schema/voice.js\"\n\n/** Provider-native voice data — the shape any provider source/API row reduces to. */\nexport interface NativeVoice {\n provider: CatalogVoiceProvider\n providerVoiceId: string\n /** The provider's own name for the voice — the default display label. */\n name: string\n gender: \"female\" | \"male\" | \"neutral\"\n primaryLanguage: string\n supportedLanguages: readonly string[]\n description?: string\n samplePath?: string\n age?: \"child\" | \"young\" | \"adult\" | \"senior\"\n quality?: string\n}\n\nexport interface VoiceCurationOverrides {\n /** Pin the catalogId. Omit → derived `<provider>-<slug(providerVoiceId)>`. */\n catalogId?: string\n /** Override the display name. Omit → the provider's real `name` (no rebrand). */\n label?: string\n featured?: boolean\n aliases?: readonly string[]\n}\n\n/**\n * Derive a catalogId from a provider voice id: `<provider>-<slug>`, where\n * the slug splits camelCase and collapses non-alphanumerics. Same rule the\n * codegen uses to materialize the static ids — keep them in sync.\n */\nexport function slugifyVoiceId(\n provider: string,\n providerVoiceId: string\n): string {\n const slug = providerVoiceId\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\")\n return `${provider}-${slug}`\n}\n\n/** Build a `CatalogVoice` from provider-native data + curation overrides. */\nexport function curateVoice(\n native: NativeVoice,\n overrides: VoiceCurationOverrides = {}\n): CatalogVoice {\n return {\n catalogId:\n overrides.catalogId ??\n slugifyVoiceId(native.provider, native.providerVoiceId),\n providerVoiceId: native.providerVoiceId,\n provider: native.provider,\n // Default to the provider's REAL name — rebrand only when explicit.\n label: overrides.label ?? native.name,\n description: native.description ?? `${native.provider} voice`,\n gender: native.gender,\n primaryLanguage: native.primaryLanguage,\n supportedLanguages: native.supportedLanguages,\n samplePath: native.samplePath,\n aliases: overrides.aliases,\n age: native.age,\n quality: native.quality,\n featured: overrides.featured,\n }\n}\n","// GENERATED by @agentproto/catalog-sync (voice previews) — do not edit.\n// Pre-baked voice-preview samples on the org public bucket. Maps each\n// curated voice to the UI locales it has a sample for, so the catalog can\n// attach `samplePath` and the picker can play a static WAV instead of\n// synthesizing per request.\n\nexport const VOICE_PREVIEW_BASE =\n \"https://storage.googleapis.com/agentik-public-assets/voice-previews\"\n\nexport const VOICE_PREVIEW_LOCALES = [\"en\",\"fr\",\"es\",\"de\",\"it\",\"pt\"] as const\n\n/** catalogId → UI locales that have a baked sample. */\nexport const BAKED_VOICE_PREVIEWS: Record<string, readonly string[]> = {\n \"elevenlabs-alice\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-daniel\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-george\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-nicolas\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-sarah\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-victoria\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"gemini-live-aoede\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"gemini-live-charon\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"gemini-live-fenrir\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"gemini-live-kore\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"gemini-live-puck\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-chinese-mandarin-gentleman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-chinese-mandarin-sweet-lady\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-calm-woman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-confident-woman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-expressive-narrator\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-gentle-voiced-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-graceful-lady\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-man-with-deep-voice\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-patient-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-radiant-girl\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-serene-woman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-trustworth-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-english-upbeat-woman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-casual-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-female-anchor\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-female-news-anchor\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-male-narrator\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-male-speech-new\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-french-movie-lead-female\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-german-friendly-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-german-sweet-lady\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-italian-brave-heroine\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-italian-narrator\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-japanese-gentle-butler\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-japanese-kind-lady\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-korean-calm-gentleman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-korean-sweet-girl\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-portuguese-reliable-man\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-portuguese-sweet-girl\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-spanish-narrator\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"minimax-spanish-serene-woman\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-alloy\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-ash\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-ballad\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-cedar\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-coral\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-echo\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-marin\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-sage\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-shimmer\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"openai-realtime-verse\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ],\n \"elevenlabs-victoire\": [\n \"en\",\n \"fr\",\n \"es\",\n \"de\",\n \"it\",\n \"pt\"\n ]\n}\n\n/**\n * Public URL of a voice's baked sample in `locale` (falling back to en,\n * then any baked locale), or `undefined` if the voice has no sample —\n * in which case the caller should synthesize on demand.\n */\nexport function voicePreviewUrl(\n catalogId: string,\n locale = \"en\"\n): string | undefined {\n const locales = BAKED_VOICE_PREVIEWS[catalogId]\n if (!locales || locales.length === 0) return undefined\n const chosen = locales.includes(locale)\n ? locale\n : locales.includes(\"en\")\n ? \"en\"\n : locales[0]\n return `${VOICE_PREVIEW_BASE}/${catalogId}.${chosen}.wav`\n}\n"]}
|