@bivy/bivy 0.20.6-staging.2 → 0.20.6

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 (105) hide show
  1. package/dist/apps/styles.css +52 -1
  2. package/package.json +1 -1
  3. package/web/assets/AutomationsView-BGyo1Y8Z.js +51 -0
  4. package/web/assets/{ChangesCard-BUsN1KyN.js → ChangesCard-DHh7Hu_R.js} +1 -1
  5. package/web/assets/LibraryView-DeIIGPK9.js +2 -0
  6. package/web/assets/{ProviderConnect-lRB2uWz3.js → ProviderConnect-CzwpCLba.js} +1 -1
  7. package/web/assets/Settings-Db3Ewu9J.js +10 -0
  8. package/web/assets/{Sheet-DGJGPXu8.js → Sheet-BFkF_9mM.js} +2 -2
  9. package/web/assets/{Terminal-B4oK2jfX.js → Terminal-d7csT0i9.js} +6 -6
  10. package/web/assets/{VoiceSettings-BJh5gqac.js → VoiceSettings-qih0xZVi.js} +1 -1
  11. package/web/assets/{abnfDiagram-VCTEODGH-BDff7NYp.js → abnfDiagram-VCTEODGH-DA6_VAiB.js} +1 -1
  12. package/web/assets/architecture-7GRP2DOG-DagNfFPW.js +1 -0
  13. package/web/assets/{architectureDiagram-5GKGNRK7-CINITpCQ.js → architectureDiagram-5GKGNRK7-Cg4co9fP.js} +1 -1
  14. package/web/assets/{blockDiagram-I7D4REHJ-BIPBkVkB.js → blockDiagram-I7D4REHJ-Tko5uT1Z.js} +1 -1
  15. package/web/assets/{c4Diagram-7LVT6UL2-B2IyN4Qx.js → c4Diagram-7LVT6UL2-Cyz3ruDJ.js} +1 -1
  16. package/web/assets/channel-DCu7z0oU.js +1 -0
  17. package/web/assets/{chunk-4HAMMTFA-DXh2Brk8.js → chunk-4HAMMTFA-C8wP0OCc.js} +1 -1
  18. package/web/assets/{chunk-75Z2AOVW-DXMf6c4r.js → chunk-75Z2AOVW-BHZyYfFz.js} +1 -1
  19. package/web/assets/{chunk-DU6HZSFF-pTnQhofF.js → chunk-DU6HZSFF-B17m3zRZ.js} +1 -1
  20. package/web/assets/{chunk-F27PBJKO-CRxII37Q.js → chunk-F27PBJKO-C6yeixpW.js} +1 -1
  21. package/web/assets/{chunk-GMAD6QVW-D_VGhSd4.js → chunk-GMAD6QVW-DCRiexAv.js} +1 -1
  22. package/web/assets/{chunk-GVQU2GXP-CM7Ozzrc.js → chunk-GVQU2GXP-4Ul_sic9.js} +1 -1
  23. package/web/assets/{chunk-IMKFNOWR-Ctmc8P7S.js → chunk-IMKFNOWR-4d449Bc-.js} +1 -1
  24. package/web/assets/{chunk-L3NEJ4N5-D_VUky2A.js → chunk-L3NEJ4N5-bvtuRKrR.js} +1 -1
  25. package/web/assets/{chunk-OSK3NFVY-DHbotLO-.js → chunk-OSK3NFVY-EUuHzjhH.js} +1 -1
  26. package/web/assets/{chunk-P2QGCYS3-ptZiXW-3.js → chunk-P2QGCYS3-D1XE0Tv4.js} +1 -1
  27. package/web/assets/{chunk-POPQ4Y6H-CMy3vCdk.js → chunk-POPQ4Y6H-BxmZqJ0l.js} +1 -1
  28. package/web/assets/{chunk-PWAF6VOD-Bkn3zpvS.js → chunk-PWAF6VOD-CzcBFiCy.js} +1 -1
  29. package/web/assets/{chunk-SHT3W25Y-Bojb9PQR.js → chunk-SHT3W25Y-xbs7R7R0.js} +1 -1
  30. package/web/assets/{chunk-SVP7TREG-Cq84qh1I.js → chunk-SVP7TREG-CSBzl1JD.js} +1 -1
  31. package/web/assets/{chunk-TICWLB2K-BtS-XVQX.js → chunk-TICWLB2K-DhY0lp2X.js} +1 -1
  32. package/web/assets/classDiagram-ZZMXUADV-0ONIEEkF.js +1 -0
  33. package/web/assets/classDiagram-v2-VYDZK3BY-0ONIEEkF.js +1 -0
  34. package/web/assets/{cynefin-OW5HDTMX-CA0l7vqZ.js → cynefin-OW5HDTMX-CHzmPLW0.js} +1 -1
  35. package/web/assets/{cynefinDiagram-5FMLGOSQ-B6IHzcuL.js → cynefinDiagram-5FMLGOSQ-D6eYIEgt.js} +1 -1
  36. package/web/assets/{dagre-GXQ25YYZ-KUnJOmGH.js → dagre-GXQ25YYZ-DOhb05Oy.js} +1 -1
  37. package/web/assets/{diagram-S7CK7UJ4-la18IJuA.js → diagram-S7CK7UJ4-CUDPNmqG.js} +1 -1
  38. package/web/assets/{diagram-UQ7AKVKN-XsDzhymn.js → diagram-UQ7AKVKN-3jRNlPs0.js} +1 -1
  39. package/web/assets/{diagram-VSXAHHWV-d58innP3.js → diagram-VSXAHHWV-B039HXqU.js} +1 -1
  40. package/web/assets/{diagram-VX7I27RA-DNEC59i7.js → diagram-VX7I27RA-BnID19ho.js} +1 -1
  41. package/web/assets/{diagram-Z3DM3KII-3jfCINNv.js → diagram-Z3DM3KII-CmVlnK8L.js} +1 -1
  42. package/web/assets/{ebnfDiagram-PWID7BFC-IdXqJ5MK.js → ebnfDiagram-PWID7BFC-Dj2hiz7k.js} +1 -1
  43. package/web/assets/{erDiagram-RLTQ6QDP-Bik5DnE5.js → erDiagram-RLTQ6QDP-CEqMG2uA.js} +1 -1
  44. package/web/assets/eventmodeling-NTZA5JFV-Ca3d8D6r.js +1 -0
  45. package/web/assets/flowDiagram-HODETNUW-19o5f6sT.js +1 -0
  46. package/web/assets/{ganttDiagram-EL5Y4UJY-D8YnDV90.js → ganttDiagram-EL5Y4UJY-CBavhT0I.js} +1 -1
  47. package/web/assets/{gitGraph-4MIJSDKK-e6PsX9d2.js → gitGraph-4MIJSDKK-c-6NcU5W.js} +1 -1
  48. package/web/assets/{gitGraphDiagram-WWUBYQGX-wvwXvhpv.js → gitGraphDiagram-WWUBYQGX-DmjTGUlR.js} +1 -1
  49. package/web/assets/{index-BgL73WGE.js → index-DGQdkTTV.js} +2 -2
  50. package/web/assets/index-Hl-z7c8G.css +1 -0
  51. package/web/assets/{info-A6RAGUB7-DKErje3T.js → info-A6RAGUB7-B0XFE9jm.js} +1 -1
  52. package/web/assets/{infoDiagram-27XIBGKW-BQVXSI5B.js → infoDiagram-27XIBGKW-Bj5MUDW-.js} +1 -1
  53. package/web/assets/{ishikawaDiagram-5VMMS53U-BsWevYDe.js → ishikawaDiagram-5VMMS53U-9pniPmb3.js} +1 -1
  54. package/web/assets/{journeyDiagram-3NMN7TZE-C73W9uFG.js → journeyDiagram-3NMN7TZE-P_d_HJYO.js} +1 -1
  55. package/web/assets/{kanban-definition-UXKFOSKX-C0OQkSa6.js → kanban-definition-UXKFOSKX-DQkAn475.js} +1 -1
  56. package/web/assets/{line-DwNs-IV0.js → line-DpNw9mix.js} +1 -1
  57. package/web/assets/{mermaid-parser.core-COt7BrXW.js → mermaid-parser.core-CgjITX9s.js} +3 -3
  58. package/web/assets/{mermaid.core-BTl4uN-m.js → mermaid.core-yZ8wbDxE.js} +4 -4
  59. package/web/assets/{mindmap-definition-YA3MSWOX-DjV_UQB9.js → mindmap-definition-YA3MSWOX-BEoXnxsm.js} +1 -1
  60. package/web/assets/mount-DPJrrsdN.js +27 -0
  61. package/web/assets/{packet-AYTQ26CC-Cu4pe4GR.js → packet-AYTQ26CC-D-2HBtCO.js} +1 -1
  62. package/web/assets/{pegDiagram-XKGWAZYB-BpNMu65o.js → pegDiagram-XKGWAZYB-RHTBMbl8.js} +1 -1
  63. package/web/assets/{pie-WAS4IAKB-s4XY7QPr.js → pie-WAS4IAKB-D7AR2vZ0.js} +1 -1
  64. package/web/assets/{pieDiagram-E7YTZNPT-Crc0hBZN.js → pieDiagram-E7YTZNPT-CeiPhKtB.js} +1 -1
  65. package/web/assets/{quadrantDiagram-AXDQQJYC-Zxlo-YmW.js → quadrantDiagram-AXDQQJYC-da8M7SJH.js} +1 -1
  66. package/web/assets/{radar-RG4KPBEZ-BZDn4T78.js → radar-RG4KPBEZ-B5Bj0xQu.js} +1 -1
  67. package/web/assets/{railroad-74A4TZTK-DurOWDtX.js → railroad-74A4TZTK-DdhG9y5U.js} +1 -1
  68. package/web/assets/railroad-abnf-HS5TGJTU-UvUY9Qmu.js +1 -0
  69. package/web/assets/railroad-ebnf-LZEXJU2U-CQ6rRrJ5.js +1 -0
  70. package/web/assets/railroad-peg-WCYAUIDC-DCp0udQ-.js +1 -0
  71. package/web/assets/{railroadDiagram-O6MQD6OU-DL1aGOv4.js → railroadDiagram-O6MQD6OU-B4Uc4Bbf.js} +1 -1
  72. package/web/assets/{requirementDiagram-BXWQKSXE-DMqiTHju.js → requirementDiagram-BXWQKSXE-rMMzY36M.js} +1 -1
  73. package/web/assets/{sankeyDiagram-P5KCCOFB-Bj3uTIWt.js → sankeyDiagram-P5KCCOFB-TjfVV6dw.js} +1 -1
  74. package/web/assets/{sequenceDiagram-WJ2MYXX4-Ckb6XMov.js → sequenceDiagram-WJ2MYXX4-B4bx_BCH.js} +1 -1
  75. package/web/assets/{settingsRoute-BKaOl2u7.js → settingsRoute-BQhPR4oX.js} +1 -1
  76. package/web/assets/{stateDiagram-D77RDMKH-B8csEyus.js → stateDiagram-D77RDMKH-BDa1LkM_.js} +1 -1
  77. package/web/assets/stateDiagram-v2-MP3YSRHH-DXeO0pi5.js +1 -0
  78. package/web/assets/{swimlanes-42K2YHIH-BYRRTmDt.js → swimlanes-42K2YHIH-MEQ-4HYZ.js} +1 -1
  79. package/web/assets/swimlanesDiagram-VR7AAH4N-hszYeSjM.js +8 -0
  80. package/web/assets/{timeline-definition-24CTP7MA-CfXLPEeB.js → timeline-definition-24CTP7MA-CjAWOEKd.js} +1 -1
  81. package/web/assets/{treeView-Q6P3EWNA-DN-gBqti.js → treeView-Q6P3EWNA-n-HqMPx4.js} +1 -1
  82. package/web/assets/{treemap-WGGIJYW6-Cm7vYUSB.js → treemap-WGGIJYW6-CFF6TkXC.js} +1 -1
  83. package/web/assets/{useStore-q_UrmUOq.js → useStore-Vx9uIFVn.js} +1 -1
  84. package/web/assets/{vennDiagram-4TSXK5OY-uzOBErCg.js → vennDiagram-4TSXK5OY-F1blSqjc.js} +1 -1
  85. package/web/assets/{wardley-WFR3VGLG-BsSHL7uk.js → wardley-WFR3VGLG-DpaKUzwH.js} +1 -1
  86. package/web/assets/{wardleyDiagram-VM6X3IG4-DC0V3SB1.js → wardleyDiagram-VM6X3IG4-CuTekA3y.js} +1 -1
  87. package/web/assets/{xychartDiagram-S5SC5T6Z-CdLx_YL8.js → xychartDiagram-S5SC5T6Z-CIXWCuVw.js} +1 -1
  88. package/web/index.html +2 -2
  89. package/web/sw.js +1 -1
  90. package/web/assets/AutomationsView-XAdyABrR.js +0 -51
  91. package/web/assets/LibraryView-D03MlNBO.js +0 -2
  92. package/web/assets/Settings-D_A5Opes.js +0 -10
  93. package/web/assets/architecture-7GRP2DOG-_B8GxD0q.js +0 -1
  94. package/web/assets/channel-BKbSZjXy.js +0 -1
  95. package/web/assets/classDiagram-ZZMXUADV-BCj9sBc-.js +0 -1
  96. package/web/assets/classDiagram-v2-VYDZK3BY-BCj9sBc-.js +0 -1
  97. package/web/assets/eventmodeling-NTZA5JFV-B28j6xGo.js +0 -1
  98. package/web/assets/flowDiagram-HODETNUW-dtXuCsLI.js +0 -1
  99. package/web/assets/index-H6ha8KrI.css +0 -1
  100. package/web/assets/mount-BUROfQVU.js +0 -27
  101. package/web/assets/railroad-abnf-HS5TGJTU-DtsLpInw.js +0 -1
  102. package/web/assets/railroad-ebnf-LZEXJU2U-CeBXYcal.js +0 -1
  103. package/web/assets/railroad-peg-WCYAUIDC-DQ83j4n3.js +0 -1
  104. package/web/assets/stateDiagram-v2-MP3YSRHH-DdMOu4tl.js +0 -1
  105. package/web/assets/swimlanesDiagram-VR7AAH4N-D9B4E8z8.js +0 -8
@@ -1 +1 @@
1
- import{Nt as e,i as t,n}from"./useStore-q_UrmUOq.js";import{t as r}from"./jsx-runtime-NZYk81nU.js";import{g as i,h as a,m as o,p as s}from"./mount-BUROfQVU.js";var c=e(),l=r();function u({state:e,onManageKey:r}){let[u,d]=(0,c.useState)(()=>a()),[f,p]=(0,c.useState)([]);(0,c.useEffect)(()=>{t.getSttConfig()},[]),(0,c.useEffect)(()=>{if(!(`speechSynthesis`in window))return;let e=()=>p(window.speechSynthesis.getVoices());return e(),window.speechSynthesis.addEventListener(`voiceschanged`,e),()=>window.speechSynthesis.removeEventListener(`voiceschanged`,e)},[]);let m=e=>{let t={...u,...e};d(t),i(t)},h=e.settings.sttConfig,g=h?.providers??[],_=g.some(e=>e.id===`openai`&&e.configured);return(0,l.jsxs)(`div`,{className:`settings-form`,children:[(0,l.jsxs)(`section`,{className:`settings-section`,children:[(0,l.jsx)(`h3`,{children:`Voice input`}),(0,l.jsx)(`p`,{className:`muted settings-intro`,children:`Dictate with the composer mic. Whisper converts speech to text using a Groq or OpenAI key. Add or manage each provider's key below. With no key, supported browsers use built-in dictation.`}),(0,l.jsx)(`label`,{className:`field-label`,children:`Preferred transcription provider`}),(0,l.jsxs)(`div`,{className:`seg-row`,children:[g.map(e=>(0,l.jsx)(`button`,{type:`button`,className:`selectable`,"aria-pressed":h?.provider===e.id,onClick:()=>t.setSttProvider(e.id),children:e.label},e.id)),g.length===0&&(0,l.jsx)(`span`,{className:`muted`,children:`Loading…`})]}),g.map(e=>(0,l.jsxs)(`div`,{className:`voice-provider`,children:[(0,l.jsxs)(`div`,{className:`voice-provider-head`,children:[(0,l.jsx)(`span`,{className:`field-label`,children:e.label}),e.configured?(0,l.jsx)(n,{tone:`ok`,children:`Available`}):(0,l.jsx)(n,{children:`No account key`})]}),(0,l.jsxs)(`div`,{className:`muted small`,children:[e.model,` ·`,` `,(0,l.jsxs)(`button`,{type:`button`,className:`btn link voice-key-link`,onClick:()=>r(e.id),children:[e.configured?`Manage`:`Add`,` `,e.label,` key`]})]})]},e.id))]}),(0,l.jsxs)(`section`,{className:`settings-section`,children:[(0,l.jsx)(`h3`,{children:`Read aloud`}),(0,l.jsx)(`p`,{className:`muted settings-intro`,children:`Choose the reader used by the speaker button on assistant replies. OpenAI speech is higher quality; browser speech is free and stays on this device.`}),(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`speech-reader`,children:`Reader`}),(0,l.jsxs)(`select`,{id:`speech-reader`,className:`picker-search`,value:u.reader,onChange:e=>m({reader:e.target.value}),children:[(0,l.jsx)(`option`,{value:`browser`,children:`Browser voice (free, on-device)`}),(0,l.jsxs)(`option`,{value:`openai`,disabled:!_,children:[`OpenAI neural voice`,_?``:` — add OpenAI key`]})]}),u.reader===`browser`?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`browser-reader-voice`,children:`Voice`}),(0,l.jsxs)(`select`,{id:`browser-reader-voice`,className:`picker-search`,value:u.browserVoice,onChange:e=>m({browserVoice:e.target.value}),children:[(0,l.jsx)(`option`,{value:``,children:`System default`}),f.map(e=>(0,l.jsxs)(`option`,{value:e.voiceURI,children:[e.name,` (`,e.lang,`)`]},e.voiceURI))]}),(0,l.jsxs)(`label`,{className:`field-label`,htmlFor:`reader-speed`,children:[`Speed · `,u.rate.toFixed(1),`×`]}),(0,l.jsx)(`input`,{id:`reader-speed`,type:`range`,min:`0.7`,max:`1.5`,step:`0.1`,value:u.rate,onChange:e=>m({rate:Number(e.target.value)})})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`openai-reader-voice`,children:`Voice`}),(0,l.jsx)(`select`,{id:`openai-reader-voice`,className:`picker-search`,value:u.openaiVoice,onChange:e=>m({openaiVoice:e.target.value}),children:s.map(e=>(0,l.jsx)(`option`,{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))}),(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`reader-tone`,children:`Tone`}),(0,l.jsx)(`select`,{id:`reader-tone`,className:`picker-search`,value:u.tone,onChange:e=>m({tone:e.target.value}),children:o.map(e=>(0,l.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,l.jsx)(`div`,{className:`muted small`,children:`Uses gpt-4o-mini-tts and your existing OpenAI API key. Audio text is sent to OpenAI and may incur usage charges.`})]})]})]})}export{u as VoiceSettings};
1
+ import{Nt as e,i as t,n}from"./useStore-Vx9uIFVn.js";import{t as r}from"./jsx-runtime-NZYk81nU.js";import{_ as i,g as a,h as o,m as s}from"./mount-DPJrrsdN.js";var c=e(),l=r();function u({state:e,onManageKey:r}){let[u,d]=(0,c.useState)(()=>a()),[f,p]=(0,c.useState)([]);(0,c.useEffect)(()=>{t.getSttConfig()},[]),(0,c.useEffect)(()=>{if(!(`speechSynthesis`in window))return;let e=()=>p(window.speechSynthesis.getVoices());return e(),window.speechSynthesis.addEventListener(`voiceschanged`,e),()=>window.speechSynthesis.removeEventListener(`voiceschanged`,e)},[]);let m=e=>{let t={...u,...e};d(t),i(t)},h=e.settings.sttConfig,g=h?.providers??[],_=g.some(e=>e.id===`openai`&&e.configured);return(0,l.jsxs)(`div`,{className:`settings-form`,children:[(0,l.jsxs)(`section`,{className:`settings-section`,children:[(0,l.jsx)(`h3`,{children:`Voice input`}),(0,l.jsx)(`p`,{className:`muted settings-intro`,children:`Dictate with the composer mic. Whisper converts speech to text using a Groq or OpenAI key. Add or manage each provider's key below. With no key, supported browsers use built-in dictation.`}),(0,l.jsx)(`label`,{className:`field-label`,children:`Preferred transcription provider`}),(0,l.jsxs)(`div`,{className:`seg-row`,children:[g.map(e=>(0,l.jsx)(`button`,{type:`button`,className:`selectable`,"aria-pressed":h?.provider===e.id,onClick:()=>t.setSttProvider(e.id),children:e.label},e.id)),g.length===0&&(0,l.jsx)(`span`,{className:`muted`,children:`Loading…`})]}),g.map(e=>(0,l.jsxs)(`div`,{className:`voice-provider`,children:[(0,l.jsxs)(`div`,{className:`voice-provider-head`,children:[(0,l.jsx)(`span`,{className:`field-label`,children:e.label}),e.configured?(0,l.jsx)(n,{tone:`ok`,children:`Available`}):(0,l.jsx)(n,{children:`No account key`})]}),(0,l.jsxs)(`div`,{className:`muted small`,children:[e.model,` ·`,` `,(0,l.jsxs)(`button`,{type:`button`,className:`btn link voice-key-link`,onClick:()=>r(e.id),children:[e.configured?`Manage`:`Add`,` `,e.label,` key`]})]})]},e.id))]}),(0,l.jsxs)(`section`,{className:`settings-section`,children:[(0,l.jsx)(`h3`,{children:`Read aloud`}),(0,l.jsx)(`p`,{className:`muted settings-intro`,children:`Choose the reader used by the speaker button on assistant replies. OpenAI speech is higher quality; browser speech is free and stays on this device.`}),(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`speech-reader`,children:`Reader`}),(0,l.jsxs)(`select`,{id:`speech-reader`,className:`picker-search`,value:u.reader,onChange:e=>m({reader:e.target.value}),children:[(0,l.jsx)(`option`,{value:`browser`,children:`Browser voice (free, on-device)`}),(0,l.jsxs)(`option`,{value:`openai`,disabled:!_,children:[`OpenAI neural voice`,_?``:` — add OpenAI key`]})]}),u.reader===`browser`?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`browser-reader-voice`,children:`Voice`}),(0,l.jsxs)(`select`,{id:`browser-reader-voice`,className:`picker-search`,value:u.browserVoice,onChange:e=>m({browserVoice:e.target.value}),children:[(0,l.jsx)(`option`,{value:``,children:`System default`}),f.map(e=>(0,l.jsxs)(`option`,{value:e.voiceURI,children:[e.name,` (`,e.lang,`)`]},e.voiceURI))]}),(0,l.jsxs)(`label`,{className:`field-label`,htmlFor:`reader-speed`,children:[`Speed · `,u.rate.toFixed(1),`×`]}),(0,l.jsx)(`input`,{id:`reader-speed`,type:`range`,min:`0.7`,max:`1.5`,step:`0.1`,value:u.rate,onChange:e=>m({rate:Number(e.target.value)})})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`openai-reader-voice`,children:`Voice`}),(0,l.jsx)(`select`,{id:`openai-reader-voice`,className:`picker-search`,value:u.openaiVoice,onChange:e=>m({openaiVoice:e.target.value}),children:s.map(e=>(0,l.jsx)(`option`,{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))}),(0,l.jsx)(`label`,{className:`field-label`,htmlFor:`reader-tone`,children:`Tone`}),(0,l.jsx)(`select`,{id:`reader-tone`,className:`picker-search`,value:u.tone,onChange:e=>m({tone:e.target.value}),children:o.map(e=>(0,l.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,l.jsx)(`div`,{className:`muted small`,children:`Uses gpt-4o-mini-tts and your existing OpenAI API key. Audio text is sent to OpenAI and may incur usage charges.`})]})]})]})}export{u as VoiceSettings};
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-COt7BrXW.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-DU6HZSFF-pTnQhofF.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-Cq84qh1I.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-BTl4uN-m.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{m as e,t}from"./mermaid-parser.core-CgjITX9s.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-DU6HZSFF-B17m3zRZ.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-CSBzl1JD.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-yZ8wbDxE.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
@@ -0,0 +1 @@
1
+ import"./chunk-FOHPRMQF-DzxwRta7.js";import{M as e}from"./mermaid-parser.core-CgjITX9s.js";export{e as createArchitectureServices};