@runtypelabs/persona 4.31.0 → 4.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/activity-ui.cjs +2 -2
  2. package/dist/activity-ui.d.cts +11 -3
  3. package/dist/activity-ui.d.ts +11 -3
  4. package/dist/activity-ui.js +1 -1
  5. package/dist/animations/glyph-cycle.d.cts +1 -1
  6. package/dist/animations/glyph-cycle.d.ts +1 -1
  7. package/dist/animations/wipe.d.cts +1 -1
  8. package/dist/animations/wipe.d.ts +1 -1
  9. package/dist/approval-ui.d.cts +2 -2
  10. package/dist/approval-ui.d.ts +2 -2
  11. package/dist/artifacts-ui.d.cts +3 -3
  12. package/dist/artifacts-ui.d.ts +3 -3
  13. package/dist/background-runtime.d.cts +1 -1
  14. package/dist/background-runtime.d.ts +1 -1
  15. package/dist/{chunk-BrptyKSq.js → chunk-B3l7TOOv.js} +1 -1
  16. package/dist/chunk-B4ecQzeK.js +2 -0
  17. package/dist/{chunk-BWCo3rCm.js → chunk-B_H0l3u2.js} +1 -1
  18. package/dist/{chunk-MdlQetfC.js → chunk-BbXc58OA.js} +1 -1
  19. package/dist/chunk-BkOYJ11B.js +1 -0
  20. package/dist/{chunk-DE0cSmku.js → chunk-BpjtKnGI.js} +1 -1
  21. package/dist/{chunk-Co4LmTFv.js → chunk-C9uOhfk5.js} +1 -1
  22. package/dist/{chunk-CHAwCqpk.js → chunk-CdpVP6LZ.js} +1 -1
  23. package/dist/{chunk-WA9UucGf.js → chunk-CumoXK3u.js} +1 -1
  24. package/dist/{chunk-BBtVdcKU.js → chunk-DM-OJt5q.js} +1 -1
  25. package/dist/{chunk-Cb7qy0c7.js → chunk-DNdeIFJ6.js} +1 -1
  26. package/dist/{chunk-VaT6xry9.js → chunk-DTGvDx8o.js} +1 -1
  27. package/dist/{chunk-ezlpsYGk.js → chunk-DVZ8ri1z.js} +1 -1
  28. package/dist/{chunk-DhedQnek.js → chunk-DgZZqy14.js} +1 -1
  29. package/dist/{chunk-C2IbR39s.js → chunk-UWMfWW2a.js} +1 -1
  30. package/dist/client-dispatch.js +1 -1
  31. package/dist/client-history.js +1 -1
  32. package/dist/codegen.cjs +1 -1
  33. package/dist/codegen.js +1 -1
  34. package/dist/composer-actions-runtime.d.cts +2 -2
  35. package/dist/composer-actions-runtime.d.ts +2 -2
  36. package/dist/{composer-input-C2_WizXV.d.cts → composer-input-dwg_o9Z-.d.cts} +1 -1
  37. package/dist/{composer-input-C2_WizXV.d.ts → composer-input-dwg_o9Z-.d.ts} +1 -1
  38. package/dist/{composer-store-BV6kTlKv.d.cts → composer-store-Dw7Zbqxr.d.cts} +1 -1
  39. package/dist/{composer-store-BV6kTlKv.d.ts → composer-store-Dw7Zbqxr.d.ts} +1 -1
  40. package/dist/{context-mention-manager-BfZzcydV.d.cts → context-mention-manager-D2p0-JH-.d.cts} +2 -2
  41. package/dist/{context-mention-manager-BfZzcydV.d.ts → context-mention-manager-D2p0-JH-.d.ts} +2 -2
  42. package/dist/context-mentions-inline.d.cts +2 -2
  43. package/dist/context-mentions-inline.d.ts +2 -2
  44. package/dist/context-mentions.d.cts +3 -3
  45. package/dist/context-mentions.d.ts +3 -3
  46. package/dist/{defaults-DiTeXyr3.d.cts → defaults-CjX0kKzb.d.cts} +1 -1
  47. package/dist/{defaults-DiTeXyr3.d.ts → defaults-CjX0kKzb.d.ts} +1 -1
  48. package/dist/dictation-runtime.d.cts +2 -2
  49. package/dist/dictation-runtime.d.ts +2 -2
  50. package/dist/event-stream-view.d.cts +1 -1
  51. package/dist/event-stream-view.d.ts +1 -1
  52. package/dist/{fallback-speech-engine-DZ6Of7VU.d.cts → fallback-speech-engine-DmF7MczI.d.cts} +1 -1
  53. package/dist/{fallback-speech-engine-DZ6Of7VU.d.ts → fallback-speech-engine-DmF7MczI.d.ts} +1 -1
  54. package/dist/{feature-preferences-BT549D_E.d.cts → feature-preferences-CVFDt9Xf.d.cts} +1 -1
  55. package/dist/{feature-preferences-BT549D_E.d.ts → feature-preferences-CVFDt9Xf.d.ts} +1 -1
  56. package/dist/forms-ui.d.cts +2 -2
  57. package/dist/forms-ui.d.ts +2 -2
  58. package/dist/{history-confirm-dialog-Cm4oK4am.d.cts → history-confirm-dialog-DJEXsTyE.d.cts} +1 -1
  59. package/dist/{history-confirm-dialog-Cm4oK4am.d.ts → history-confirm-dialog-DJEXsTyE.d.ts} +1 -1
  60. package/dist/history-shell.d.cts +6 -6
  61. package/dist/history-shell.d.ts +6 -6
  62. package/dist/history-view.d.cts +1 -1
  63. package/dist/history-view.d.ts +1 -1
  64. package/dist/index.cjs +11 -10
  65. package/dist/index.cjs.map +1 -1
  66. package/dist/index.d.cts +9 -9
  67. package/dist/index.d.ts +9 -9
  68. package/dist/index.global.js +1 -1
  69. package/dist/index.global.js.map +1 -1
  70. package/dist/index.js +23 -22
  71. package/dist/index.js.map +1 -1
  72. package/dist/launcher.global.js +1 -1
  73. package/dist/launcher.global.js.map +1 -1
  74. package/dist/{loading-label-runtime-loader-DmiPDkBu.d.cts → loading-label-runtime-loader-CPxnoaoi.d.cts} +1 -1
  75. package/dist/{loading-label-runtime-loader-DmiPDkBu.d.ts → loading-label-runtime-loader-CPxnoaoi.d.ts} +1 -1
  76. package/dist/loading-label-runtime.d.cts +1 -1
  77. package/dist/loading-label-runtime.d.ts +1 -1
  78. package/dist/{message-bubble-D0rosKuK.d.cts → message-bubble-CkZGlCLC.d.cts} +1 -1
  79. package/dist/{message-bubble-D0rosKuK.d.ts → message-bubble-CkZGlCLC.d.ts} +1 -1
  80. package/dist/preferences-runtime.d.cts +1 -1
  81. package/dist/preferences-runtime.d.ts +1 -1
  82. package/dist/{preview-DRU27q-X.d.cts → preview-DdUvoLb4.d.cts} +2 -2
  83. package/dist/{preview-DRU27q-X.d.ts → preview-DdUvoLb4.d.ts} +2 -2
  84. package/dist/{registry-DRk3VMFc.d.cts → registry-Dz4iHNST.d.cts} +1 -1
  85. package/dist/{registry-DRk3VMFc.d.ts → registry-Dz4iHNST.d.ts} +1 -1
  86. package/dist/{session-Dj4bOm5y.d.cts → session-Baxp9iRK.d.cts} +14 -8
  87. package/dist/{session-Dj4bOm5y.d.ts → session-Baxp9iRK.d.ts} +14 -8
  88. package/dist/session-reconnect.d.cts +2 -2
  89. package/dist/session-reconnect.d.ts +2 -2
  90. package/dist/smart-dom-reader.d.cts +1 -1
  91. package/dist/smart-dom-reader.d.ts +1 -1
  92. package/dist/theme-editor-preview.cjs +46 -45
  93. package/dist/theme-editor-preview.d.cts +1 -1
  94. package/dist/theme-editor-preview.d.ts +1 -1
  95. package/dist/theme-editor-preview.js +19 -18
  96. package/dist/theme-editor.cjs +1 -1
  97. package/dist/theme-editor.d.cts +2 -2
  98. package/dist/theme-editor.d.ts +2 -2
  99. package/dist/theme-editor.js +1 -1
  100. package/dist/theme-reference.cjs +1 -1
  101. package/dist/theme-reference.d.cts +2 -2
  102. package/dist/theme-reference.d.ts +2 -2
  103. package/dist/theme-reference.js +1 -1
  104. package/dist/{tool-loading-animation-D1MS5Ace.d.cts → tool-loading-animation-un3kA5Ur.d.cts} +1 -1
  105. package/dist/{tool-loading-animation-D1MS5Ace.d.ts → tool-loading-animation-un3kA5Ur.d.ts} +1 -1
  106. package/dist/{turn-activity-ui-CorwdlI0.d.cts → turn-activity-ui-BGNhtMcH.d.cts} +2 -2
  107. package/dist/{turn-activity-ui-CorwdlI0.d.ts → turn-activity-ui-BGNhtMcH.d.ts} +2 -2
  108. package/dist/turn-activity-ui.d.cts +1 -1
  109. package/dist/turn-activity-ui.d.ts +1 -1
  110. package/dist/{types-CSXHl5cN.d.cts → types-BOZHQIk0.d.cts} +8 -1
  111. package/dist/{types-CSXHl5cN.d.ts → types-BOZHQIk0.d.ts} +8 -1
  112. package/dist/voice-client-tools.d.cts +1 -1
  113. package/dist/voice-client-tools.d.ts +1 -1
  114. package/dist/voice-runtime.cjs +1 -1
  115. package/dist/voice-runtime.d.cts +2 -2
  116. package/dist/voice-runtime.d.ts +2 -2
  117. package/dist/voice-runtime.js +1 -1
  118. package/dist/voice-worklet-player.d.cts +2 -2
  119. package/dist/voice-worklet-player.d.ts +2 -2
  120. package/dist/{webmcp-runtime-entry-DpDN6k-6.d.cts → webmcp-runtime-entry-DuAG1_yF.d.cts} +1 -1
  121. package/dist/{webmcp-runtime-entry-DpDN6k-6.d.ts → webmcp-runtime-entry-DuAG1_yF.d.ts} +1 -1
  122. package/dist/webmcp-runtime.d.cts +1 -1
  123. package/dist/webmcp-runtime.d.ts +1 -1
  124. package/dist/widget.css +1 -1
  125. package/package.json +1 -1
  126. package/src/activity-ui.ts +23 -0
  127. package/src/components/disclosure-animation.ts +5 -0
  128. package/src/components/tool-bubble.ts +1 -0
  129. package/src/index-core.ts +1 -0
  130. package/src/styles/widget.css +18 -0
  131. package/src/types.ts +8 -0
  132. package/src/ui.footer-visibility.test.ts +54 -0
  133. package/src/ui.reveal-tool-call.test.ts +258 -0
  134. package/src/ui.ts +127 -5
  135. package/src/utils/brand.test.ts +50 -0
  136. package/src/utils/brand.ts +6 -2
  137. package/src/utils/tokens.ts +2 -1
  138. package/src/utils/tool-activity-summary.test.ts +8 -0
  139. package/src/utils/tool-activity-summary.ts +2 -1
  140. package/dist/chunk-B3OrH9Ng.js +0 -2
  141. package/dist/chunk-CjhA_5Jk.js +0 -1
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`},t={collapsedMode:`tool-call`,activePreview:!1,grouped:!1,groupedMode:`stack`,groupBoundary:`adjacent`,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},n={activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},r={layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,grouped:!0,groupedMode:`collapsible`,groupAppearance:`inset`,loadingAnimation:`shimmer`},i={appearance:`inset`,layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,loadingAnimation:`shimmer`},a=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function o(e,t){if(!e)return t;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=a(t)&&a(r)?o(t,r):r}return n}const s={resolvedDisplay:`row`,primaryAction:`allow-once`,keyboardShortcuts:`focused`},c=`min(440px, calc(100vw - 24px))`,l=`How can I help...`,u={apiUrl:`https://api.runtype.com/api/chat/dispatch`,clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:`light`,tooltip:{delayMs:400,skipDelayMs:300},launcher:{enabled:!0,mountMode:`floating`,dock:{side:`right`,width:`420px`},title:`Chat Assistant`,subtitle:`Here to help you get answers fast`,agentIconText:`💬`,agentIconName:`bot`,headerIconName:`bot`,position:`bottom-right`,width:c,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:`40px`,headerIconSize:`40px`,closeButtonPaddingX:`0px`,closeButtonPaddingY:`0px`,callToActionIconName:`arrow-up-right`,callToActionIconText:``,callToActionIconSize:`32px`,callToActionIconPadding:`5px`,callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:`transparent`,clearChat:{backgroundColor:`transparent`,borderColor:`transparent`,enabled:!0,placement:`inline`,iconName:`refresh-cw`,showTooltip:!0,tooltipText:`Clear chat`,paddingX:`0px`,paddingY:`0px`},headerIconHidden:!1,border:void 0,shadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`},copy:{inputPlaceholder:l,sendButtonLabel:`Send`},sendButton:{borderWidth:`0px`,paddingX:`12px`,paddingY:`10px`,borderColor:void 0,useIcon:!0,iconText:`↑`,showTooltip:!0,tooltipText:`Send message`,iconName:`send`},statusIndicator:{visible:!0,idleText:`Online`,connectingText:`Connecting…`,connectedText:`Streaming…`,errorText:`Offline`},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:`mic`,borderWidth:`0px`,iconColor:void 0,backgroundColor:`transparent`,borderColor:`transparent`,recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:`transparent`,showTooltip:!0,tooltipText:`Start voice recognition`},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:`arrow-down`,label:``,streamingIndicator:`arrow`,scrollBehavior:`instant`,scrollDurationMs:220,transition:`none`},scrollBehavior:{mode:`anchor-top`,anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:t,reasoningDisplay:n,streamAnimation:{type:`none`,placeholder:`none`,speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:`Other…`,freeTextPlaceholder:`Type your answer…`,submitLabel:`Send`},history:{enabled:!1,presentation:`panel`,showScopeStatus:!0,showDelete:!0,showDeleteAll:!0}},suggestionChips:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],suggestionChipsConfig:{fontFamily:`sans-serif`,fontWeight:`500`,paddingX:`12px`,paddingY:`6px`},layout:{header:{layout:`default`,showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:`bubble`,avatar:{show:!1,position:`left`},timestamp:{show:!1,position:`below`},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:`hover`,align:`right`,layout:`pill-inside`},debug:!1},d={},ee={colorScheme:`light`,errorDisplay:`block`,messageActions:{visibility:void 0},suggestionChipsConfig:{fontWeight:void 0},approval:s,loadingIndicator:{variant:`label`},launcher:{variant:`circle`,width:`min(400px, calc(100vw - 24px))`,headerIconSize:`20px`},features:{artifacts:{enabled:!0},scrollToBottom:{streamingIndicator:`dots`,transition:`fade`,scrollBehavior:`smooth`},toolCallDisplay:r,reasoningDisplay:i},composer:{layout:`single-row`,placement:`overlay`},sendButton:{iconName:`arrow-up`},statusIndicator:{mode:`transient`},layout:{contentMaxWidth:`768px`,topFade:!0,header:{showSubtitle:!1},messages:{assistant:{width:`full`}}}};function f(e){return e?.future?.v5Defaults===!0?`v5`:`v4`}function p(e){let t=f(e)===`v5`?ee:d;return o(u,t)}p();const te=`16px`,ne=`transparent`,m={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},h={colors:{primary:`palette.colors.primary.500`,secondary:`palette.colors.secondary.500`,accent:`palette.colors.primary.600`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.50`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.300`},feedback:{success:`palette.colors.success.500`,warning:`palette.colors.warning.500`,error:`palette.colors.error.500`,info:`palette.colors.info.500`}},spacing:{xs:`palette.spacing.1`,sm:`palette.spacing.2`,md:`palette.spacing.4`,lg:`palette.spacing.6`,xl:`palette.spacing.8`,"2xl":`palette.spacing.10`},typography:{fontFamily:`palette.typography.fontFamily.sans`,fontSize:`palette.typography.fontSize.base`,fontWeight:`palette.typography.fontWeight.normal`,lineHeight:`palette.typography.lineHeight.normal`}},g={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:c,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:te,canvasBackground:ne,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},re=m.colors.gray,ie={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},ae={...m,colors:{...m.colors,gray:re}},oe={...m,colors:{...m.colors,gray:ie},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},se=h,ce={...h,colors:{...h.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...h.typography,fontSize:`14px`,lineHeight:`1.5`}},le=g,ue={...g,scrollToBottom:{...g.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:e,activity:{rowHeight:`32px`,labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...g.input,borderRadius:`palette.radius.full`},introCard:{...g.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...g.suggestion.chip,fontWeight:`400`},card:{...g.suggestion.card,fontWeight:`400`},list:{...g.suggestion.list,fontWeight:`400`}},panel:{...g.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...g.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...g.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...g.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...g.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`}},artifact:{...g.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...g.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},de=e=>f({future:e}),fe=e=>de(e)===`v5`?{palette:oe,semantic:ce,components:ue}:{palette:ae,semantic:se,components:le};function pe(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function me(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?me(t,r):r}return n}function _(e,t={}){let n=fe(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?me(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;f(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=pe(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}function he(e,t){let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function v(e,t,n){let r=t.split(`.`);if(r.length===1)return{...e,[r[0]]:n};let[i,...a]=r,o=e;return{...o,[i]:v(o?.[i]??{},a.join(`.`),n)}}function y(e,t){let n=t.split(`.`);if(n.length===1){let t={...e};return delete t[n[0]],t}let[r,...i]=n,a=e,o=y(a?.[r]??{},i.join(`.`)),s={...a};return typeof o==`object`&&o&&!Array.isArray(o)&&Object.keys(o).length===0?delete s[r]:s[r]=o,s}function b(e){return Array.isArray(e)?e.map(b):e&&typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,b(t)])):e}function ge(e,t){if(Object.is(e,t))return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`||Array.isArray(e)!==Array.isArray(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.prototype.hasOwnProperty.call(t,n)&&ge(e[n],t[n]))}var _e=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e,t,n){this.#e=[],this.#t=[],this.#n=-1,this.#r=!1,this.#i={},this.#a={},this.#o=!0,this.origin=`authored`,this.#s=/* @__PURE__ */ new WeakMap;let r=n?.mergeDefaults??!0;this.#o=r,this.#i=b({...t}),delete this.#i.theme,this.#a=b(e??t?.theme??{});let i=p(t);this.config=r?{...i,...t}:t??i,this.theme=_(this.#a,{validate:!1,future:this.config.future}),this.#u(),this.#p(this.exportSnapshot(),!0)}get(e){return e.startsWith(`theme.`)?he(this.theme,e.replace(`theme.`,``)):e.startsWith(`darkTheme.`)?he(this.config.darkTheme??{},e.replace(`darkTheme.`,``)):he(this.config,e)}getTheme(){return this.theme}getConfig(){return this.config}set(e,t){let n=f(this.config);if(this.#c(e,t),e.startsWith(`theme.`)){let n=e.replace(`theme.`,``);this.theme=v(this.theme,n,t),this.#u()}else if(e.startsWith(`darkTheme.`)){let n=e.replace(`darkTheme.`,``),r=this.config.darkTheme??_(void 0,{future:this.config.future});this.config={...this.config,darkTheme:v(r,n,t)}}else this.config=v(this.config,e,t);this.#l(n),this.#f(),this.#d()}unset(e){let t=f(this.config);if(this.#c(e,void 0,!0),e.startsWith(`theme.`)){let t=e.replace(`theme.`,``);this.theme=y(this.theme,t),this.#u()}else if(e.startsWith(`darkTheme.`)){let t=e.replace(`darkTheme.`,``);this.config={...this.config,darkTheme:y(this.config.darkTheme??{},t)}}else this.config=y(this.config,e);this.#l(t),this.#f(),this.#d()}setBatch(e){let t=f(this.config),n=!1,r=!1,i=!1;for(let[t,a]of Object.entries(e))if(this.#c(t,a),t.startsWith(`theme.`)){let e=t.replace(`theme.`,``);this.theme=v(this.theme,e,a),n=!0}else if(t.startsWith(`darkTheme.`)){let e=t.replace(`darkTheme.`,``),n=this.config.darkTheme??_(void 0,{future:this.config.future});this.config={...this.config,darkTheme:v(n,e,a)},r=!0}else this.config=v(this.config,t,a),i=!0;n&&this.#u(),this.#l(t),(n||r||i)&&(this.#f(),this.#d())}setTheme(e){this.#a=b(e),this.theme=e,this.#u(),this.#f(),this.#d()}setFullConfig(e,t){this.origin=`imported`,this.#i=b({...e}),delete this.#i.theme,(t||e.theme)&&(this.#a=b(t??e.theme??{})),this.config={...e},(t||e.theme)&&(this.theme=_(t??e.theme,{validate:!1,future:e.future})),this.#u(),this.#f(),this.#d()}importSnapshot(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Snapshot must be a JSON object`);let t=e;if(this.origin=`imported`,`config`in t||`theme`in t||t.version===2){let e=t.config??this.config;this.#i=b({...e}),delete this.#i.theme,this.#a=b(t.theme??e.theme??this.#a),this.config={...e},this.theme=_(this.#a,{validate:!1,future:e.future})}else this.#a=b(t),this.theme=_(this.#a,{validate:!1,future:this.config.future});this.#u(),this.#f(),this.#d()}resetToDefaults(){let e=this.config.future;this.origin=`authored`,this.#i=e?{future:e}:{},this.#a={},this.config={...p({future:e}),...e?{future:e}:{}},this.theme=_(void 0,{future:this.config.future}),this.#u(),this.#t=[],this.#n=-1,this.#p(this.exportSnapshot()),this.#d()}canUndo(){return this.#n>0}canRedo(){return this.#n>=0&&this.#n<this.#t.length-1}getHistoryLength(){return this.#t.length}getHistoryIndex(){return this.#n}undo(){this.canUndo()&&(--this.#n,this.#m(this.#t[this.#n]))}redo(){this.canRedo()&&(this.#n+=1,this.#m(this.#t[this.#n]))}exportAuthoredConfig(){return{origin:this.origin,config:b({...this.#i,...Object.keys(this.#a).length?{theme:this.#a}:{}})}}exportSnapshot(){return{version:2,config:{...this.config,theme:void 0},theme:this.theme}}onChange(e){return this.#e.push(e),()=>{let t=this.#e.indexOf(e);t>=0&&this.#e.splice(t,1)}}#c(e,t,n=!1){let r=(e,r)=>n||t===void 0?y(e,r):v(e,r,b(t));e.startsWith(`theme.`)?this.#a=r(this.#a,e.slice(6)):e===`theme`?this.#a=b(t??{}):this.#i=r(this.#i,e)}#l(e){e!==f(this.config)&&(this.config=this.#o?o(p(this.#i),this.#i):{...this.#i},this.theme=_(this.#a,{validate:!1,future:this.config.future}),this.#u())}#u(){this.config={...this.config,theme:this.theme}}#d(){for(let e of this.#e)e(this.config,this.theme)}#f(){this.#p(this.exportSnapshot())}#p(e,t=!1){if(this.#r)return;this.#s.set(e,{config:this.#i,theme:this.#a,origin:this.origin});let n=JSON.stringify(e),r=this.#n>=0&&this.#t[this.#n]?JSON.stringify(this.#t[this.#n]):null;if(t&&this.#n>=0){this.#t[this.#n]=e;return}let i=this.#n>=0?this.#s.get(this.#t[this.#n]):void 0;n===r&&ge(this.#s.get(e),i)||(this.#t=this.#t.slice(0,this.#n+1),this.#t.push(e),this.#n=this.#t.length-1)}#m(e){this.#r=!0;let t=this.#s.get(e);this.origin=t?.origin??`imported`,this.#i=t?.config??e.config,this.#a=t?.theme??e.theme,this.config=e.config,this.theme=_(e.theme,{validate:!1,future:this.config.future}),this.#u(),this.#r=!1,this.#d()}};function ve(e){let t=e.trim();if(t===`9999px`)return{value:100,unit:`px`};let n=t.match(/^([\d.]+)(px|rem)$/);if(!n){let e=parseFloat(t);return{value:isNaN(e)?0:e,unit:`px`}}return{value:parseFloat(n[1]),unit:n[2]}}function ye(e,t){return t===`rem`?`${e}rem`:`${e}px`}function be(e,t){return t===`rem`?e*16:e}function xe(e,t){return t===`rem`?e/16:e}function x(e){if(!e)return`#000000`;let t=e.trim().toLowerCase();return t===`transparent`?`transparent`:t.startsWith(`rgba`)||t.startsWith(`rgb`)?t:t.startsWith(`#`)?t.length===4?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t:`#${t}`}function Se(e){return/^#[0-9A-Fa-f]{6}$/.test(e)}function Ce(e){let t=e.trim().toLowerCase().match(/^rgba?\(([^)]+)\)$/);if(!t)return null;let n=t[1].split(`,`).map(e=>e.trim());if(n.length<3)return null;let r=e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return Number.isFinite(n)?Math.max(0,Math.min(255,Math.round(t?n/100*255:n))):NaN},i=r(n[0]),a=r(n[1]),o=r(n[2]);if(!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return null;let s=e=>e.toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function S(e,t){let n=e=>{let t=x(e),n=t.startsWith(`rgb`)?Ce(t)??`#000000`:t,r=[1,3,5].map(e=>{let t=parseInt(n.slice(e,e+2),16)/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r[0]+.7152*r[1]+.0722*r[2]},r=n(e),i=n(t);return(Math.max(r,i)+.05)/(Math.min(r,i)+.05)}function we(e){let t=x(e),n=t.startsWith(`rgb`)?Ce(t)??`#000000`:t,r=parseInt(n.slice(1,3),16)/255,i=parseInt(n.slice(3,5),16)/255,a=parseInt(n.slice(5,7),16)/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=(o+s)/2;if(o===s)return{h:0,s:0,l:c};let l=o-s,u=c>.5?l/(2-o-s):l/(o+s),d;switch(o){case r:d=((i-a)/l+(i<a?6:0))/6;break;case i:d=((a-r)/l+2)/6;break;default:d=((r-i)/l+4)/6}return{h:d*360,s:u,l:c}}function Te(e,t,n){let r=(e%360+360)%360,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r/60%2-1)),o=n-i/2,s,c,l;r<60?[s,c,l]=[i,a,0]:r<120?[s,c,l]=[a,i,0]:r<180?[s,c,l]=[0,i,a]:r<240?[s,c,l]=[0,a,i]:r<300?[s,c,l]=[a,0,i]:[s,c,l]=[i,0,a];let u=e=>{let t=Math.round((e+o)*255).toString(16);return t.length===1?`0`+t:t};return`#${u(s)}${u(c)}${u(l)}`}function Ee(e){let{h:t,s:n,l:r}=we(e),i={50:.97,100:.94,200:.87,300:.77,400:.64,500:r,600:Math.max(.05,r-.1),700:Math.max(.05,r-.2),800:Math.max(.05,r-.28),900:Math.max(.05,r-.35),950:Math.max(.03,r-.42)},a={50:Math.min(1,n*.85),100:Math.min(1,n*.9),200:Math.min(1,n*.95),300:n,400:n,500:n,600:Math.min(1,n*1.05),700:Math.min(1,n*1.05),800:Math.min(1,n*1),900:Math.min(1,n*.95),950:Math.min(1,n*.9)},o={};for(let[e,n]of Object.entries(i)){let r=a[e];o[e]=Te(t,r,n)}return o}const C=[`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],De=[`primary`,`secondary`,`accent`,`gray`,`success`,`warning`,`error`,`info`];function Oe(e,t){return`palette.colors.${e}.${t}`}function ke(e,t,n=0){if(n>5)return`#cbd5e1`;let r=e(t);return typeof r==`string`?r.startsWith(`#`)||r.startsWith(`rgb`)||r===`transparent`?r:r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`)?ke(e,`theme.${r}`,n+1):`#cbd5e1`:`#cbd5e1`}function Ae(e){if(!e.startsWith(`palette.`)&&!e.startsWith(`semantic.`))return e;let t=e.split(`.`);if(t[0]===`palette`&&t[1]===`colors`){let e=t[2],n=t[3];return`${e.charAt(0).toUpperCase()+e.slice(1)} ${n}`}return t[0]===`semantic`?t.slice(1).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):t[t.length-1]}const w=[{id:`solid`,label:`Solid`},{id:`soft`,label:`Soft`}],je=[`primary`,`secondary`,`accent`,`gray`],Me={primary:`Primary`,secondary:`Secondary`,accent:`Accent`,gray:`Neutral`},Ne={roleId:`role-surfaces`,helper:`Page and panel backgrounds`,previewZone:`container`,intensities:w,targets:[{path:`semantic.colors.background`,kind:`background`},{path:`semantic.colors.surface`,kind:`background`},{path:`semantic.colors.container`,kind:`background`}]},Pe={roleId:`role-header`,helper:`Widget header bar`,previewZone:`header`,intensities:w,targets:[{path:`components.header.background`,kind:`background`},{path:`components.header.foreground`,kind:`foreground`},{path:`components.header.border`,kind:`border`},{path:`components.header.iconBackground`,kind:`accent`},{path:`components.header.iconForeground`,kind:`foreground`},{path:`components.header.titleForeground`,kind:`accent`},{path:`components.header.subtitleForeground`,kind:`foreground`},{path:`components.header.actionIconForeground`,kind:`foreground`}]},Fe={roleId:`role-user-messages`,helper:`User chat bubbles`,previewZone:`user-message`,intensities:w,targets:[{path:`components.message.user.background`,kind:`background`},{path:`components.message.user.text`,kind:`foreground`}]},Ie={roleId:`role-assistant-messages`,helper:`Assistant chat bubbles`,previewZone:`assistant-message`,intensities:w,targets:[{path:`components.message.assistant.background`,kind:`background`},{path:`components.message.assistant.text`,kind:`foreground`}]},Le={roleId:`role-primary-actions`,helper:`Send button and primary buttons`,intensities:w,targets:[{path:`components.button.primary.background`,kind:`background`},{path:`components.button.primary.foreground`,kind:`foreground`},{path:`semantic.colors.interactive.default`,kind:`accent`},{path:`semantic.colors.interactive.hover`,kind:`accent`}]},Re={roleId:`role-scroll-to-bottom`,helper:`Scroll-to-bottom affordances in transcript and event stream`,intensities:w,targets:[{path:`components.scrollToBottom.background`,kind:`background`},{path:`components.scrollToBottom.foreground`,kind:`foreground`},{path:`components.scrollToBottom.border`,kind:`border`}]},ze={roleId:`role-input`,helper:`Message input field`,previewZone:`composer`,intensities:w,targets:[{path:`components.input.background`,kind:`background`},{path:`components.input.placeholder`,kind:`foreground`},{path:`components.input.focus.border`,kind:`accent`},{path:`components.input.focus.ring`,kind:`accent`}]},Be={roleId:`role-links-focus`,helper:`Links, focus rings, and interactive highlights`,intensities:w,targets:[{path:`semantic.colors.accent`,kind:`accent`},{path:`semantic.colors.interactive.focus`,kind:`accent`},{path:`semantic.colors.interactive.active`,kind:`accent`},{path:`components.markdown.link.foreground`,kind:`accent`}]},Ve={roleId:`role-borders`,helper:`Borders, dividers, and separators`,intensities:w,targets:[{path:`semantic.colors.border`,kind:`border`},{path:`semantic.colors.divider`,kind:`border`}]},T=[Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve];function E(e,t,n){let r={},i=e===`neutral`?`gray`:e;for(let e of n.targets){let a=He(i,t,e,n.roleId);r[`theme.${e.path}`]=a,r[`darkTheme.${e.path}`]=a}if(n.roleId===`role-primary-actions`){let e=t===`solid`?`palette.colors.${i}.700`:`palette.colors.${i}.200`;r[`theme.semantic.colors.interactive.hover`]=e,r[`darkTheme.semantic.colors.interactive.hover`]=e}return r}function He(e,t,n,r){let i=t===`solid`;if(r===`role-header`)return Ue(e,i,n);if(r===`role-input`)return We(e,i,n);switch(n.kind){case`background`:return i?`palette.colors.${e}.500`:`palette.colors.${e}.${e===`gray`?`50`:`100`}`;case`foreground`:return i?`palette.colors.${e===`gray`?`gray`:e}.50`:`palette.colors.${e===`gray`?`gray`:e}.900`;case`border`:return i?`palette.colors.${e}.600`:`palette.colors.${e}.200`;case`accent`:return i?`palette.colors.${e}.600`:`palette.colors.${e}.400`}}function Ue(e,t,n){let r=n.path;return r.endsWith(`.background`)?t?`palette.colors.${e}.500`:`palette.colors.${e}.${e===`gray`?`50`:`100`}`:r.endsWith(`.border`)?t?`palette.colors.${e}.600`:`palette.colors.${e}.200`:r.endsWith(`.iconBackground`)?t?`palette.colors.${e}.${e===`gray`?`700`:`600`}`:`palette.colors.${e}.500`:r.endsWith(`.iconForeground`)?`palette.colors.${e}.50`:r.endsWith(`.foreground`)||r.endsWith(`.titleForeground`)?t?`palette.colors.${e}.50`:`palette.colors.${e}.${e===`gray`?`900`:`700`}`:(r.endsWith(`.subtitleForeground`)||r.endsWith(`.actionIconForeground`))&&t?`palette.colors.${e}.200`:`palette.colors.${e}.500`}function We(e,t,n){let r=n.path;return r.endsWith(`.background`)?t?`palette.colors.${e}.${e===`gray`?`100`:`50`}`:`palette.colors.${e}.50`:r.endsWith(`.placeholder`)?`palette.colors.${e}.400`:r.endsWith(`.border`)||r.endsWith(`.ring`)?t?`palette.colors.${e}.500`:`palette.colors.${e}.400`:`palette.colors.${e}.500`}const Ge=/^palette\.colors\.(\w+)\.(\d+)$/;function Ke(e,t){let n=t.targets.find(e=>e.kind===`background`)??t.targets[0];if(!n)return null;let r=String(e(n.path)??``).match(Ge);if(!r)return null;let i=r[1],a=je.includes(i)?i:null;if(!a)return null;for(let n of[`solid`,`soft`]){let r=E(a,n,t);if(t.targets.every(t=>String(e(t.path)??``)===r[`theme.${t.path}`]))return{family:a,intensity:n}}return null}const D=(e,t,n,r,i)=>({id:e,label:t,type:`token-ref`,path:n,defaultValue:r,tokenRef:{tokenType:`color`},...i===void 0?{}:{description:i}}),O=(e,t,n,r,i,a)=>({id:t,label:n,type:e,path:r,defaultValue:i,...a===void 0?{}:{description:a}}),k=(e,t,n,r,i,a)=>({id:e,label:t,type:`slider`,path:n,defaultValue:r,slider:i,...a===void 0?{}:{description:a}}),A=e=>String(e??``).trim()||void 0,qe=e=>typeof e==`number`?`${e}px`:String(e??``).trim(),Je=e=>String(e??``).trim(),j=[{id:`brand-colors`,title:`Brand Colors`,description:`Pick your brand colors. A full shade scale is generated automatically for both light and dark themes.`,collapsed:!1,fields:[O(`color`,`brand-primary`,`Primary`,`theme.palette.colors.primary.500`,`#171717`,`Main brand color for buttons, links, and accents`),O(`color`,`brand-secondary`,`Secondary`,`theme.palette.colors.secondary.500`,`#7c3aed`,`Supporting brand color`),O(`color`,`brand-accent`,`Accent`,`theme.palette.colors.accent.500`,`#06b6d4`,`Highlight and decorative color`)]},{id:`chat-colors`,title:`Chat Colors`,description:`Customize the main colors of the chat interface.`,collapsed:!0,fields:[D(`chat-header-bg`,`Header Background`,`theme.components.header.background`,`semantic.colors.surface`),D(`chat-header-fg`,`Header Foreground`,`theme.components.header.foreground`,``,`Anchors the header text. The title takes it, the subtitle and button icons take a 72% mix of it over the background`),D(`chat-header-icon-bg`,`Header Icon Background`,`theme.components.header.iconBackground`,`semantic.colors.primary`),D(`chat-header-icon-fg`,`Header Icon Color`,`theme.components.header.iconForeground`,`semantic.colors.textInverse`),D(`chat-header-title-fg`,`Header Title Color`,`theme.components.header.titleForeground`,``,`Blank follows the header foreground`),D(`chat-header-subtitle-fg`,`Header Subtitle Color`,`theme.components.header.subtitleForeground`,``,`Blank follows the 72% foreground mix`),D(`chat-header-action-icons-fg`,`Header Button Icons`,`theme.components.header.actionIconForeground`,``,`Blank follows the 72% foreground mix`),D(`chat-msg-user-bg`,`User Message Background`,`theme.components.message.user.background`,`semantic.colors.primary`),D(`chat-msg-user-text`,`User Message Text`,`theme.components.message.user.text`,`semantic.colors.textInverse`),D(`chat-msg-assistant-bg`,`Assistant Message Background`,`theme.components.message.assistant.background`,`semantic.colors.container`),D(`chat-msg-assistant-text`,`Assistant Message Text`,`theme.components.message.assistant.text`,`semantic.colors.text`)]},{id:`launcher-style`,title:`Launcher`,description:`Control launcher appearance.`,collapsed:!0,fields:[k(`style-launcher-size`,`Launcher Size`,`theme.components.launcher.size`,`60px`,{min:32,max:80,step:2}),{id:`style-launcher-shape`,label:`Launcher Shape`,type:`select`,path:`theme.components.launcher.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Rounded Square`},{value:`palette.radius.lg`,label:`Rounded`},{value:`palette.radius.xl`,label:`Very Rounded`},{value:`palette.radius.full`,label:`Circle`}]},{id:`style-launcher-shadow`,label:`Launcher Shadow`,type:`select`,path:`theme.components.launcher.shadow`,defaultValue:`palette.shadows.lg`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]}]},{id:`typography`,title:`Typography`,collapsed:!0,fields:[{id:`typo-font-family`,label:`Font Family`,type:`select`,path:`theme.semantic.typography.fontFamily`,defaultValue:`palette.typography.fontFamily.sans`,options:[{value:`palette.typography.fontFamily.sans`,label:`Sans Serif`},{value:`palette.typography.fontFamily.serif`,label:`Serif`},{value:`palette.typography.fontFamily.mono`,label:`Monospace`}]},{id:`typo-font-size`,label:`Base Font Size`,type:`select`,path:`theme.semantic.typography.fontSize`,defaultValue:`palette.typography.fontSize.base`,options:[{value:`palette.typography.fontSize.xs`,label:`Extra Small (0.75rem)`},{value:`palette.typography.fontSize.sm`,label:`Small (0.875rem)`},{value:`palette.typography.fontSize.base`,label:`Base (1rem)`},{value:`palette.typography.fontSize.lg`,label:`Large (1.125rem)`},{value:`palette.typography.fontSize.xl`,label:`Extra Large (1.25rem)`}]},{id:`typo-font-weight`,label:`Font Weight`,type:`select`,path:`theme.semantic.typography.fontWeight`,defaultValue:`palette.typography.fontWeight.normal`,options:[{value:`palette.typography.fontWeight.normal`,label:`Normal (400)`},{value:`palette.typography.fontWeight.medium`,label:`Medium (500)`},{value:`palette.typography.fontWeight.semibold`,label:`Semibold (600)`},{value:`palette.typography.fontWeight.bold`,label:`Bold (700)`}]},{id:`typo-line-height`,label:`Line Height`,type:`select`,path:`theme.semantic.typography.lineHeight`,defaultValue:`palette.typography.lineHeight.normal`,options:[{value:`palette.typography.lineHeight.tight`,label:`Tight (1.25)`},{value:`palette.typography.lineHeight.normal`,label:`Normal (1.5)`},{value:`palette.typography.lineHeight.relaxed`,label:`Relaxed (1.625)`}]}]},{id:`theme-mode`,title:`Runtime Theme`,description:`Controls how the shipped widget picks light or dark mode.`,collapsed:!1,fields:[{id:`theme-mode`,label:`Runtime Theme`,description:`Always Light, Always Dark, or follow the visitor system preference`,type:`select`,path:`colorScheme`,defaultValue:`auto`,options:[{value:`light`,label:`Light`},{value:`dark`,label:`Dark`},{value:`auto`,label:`Follow System`}]}]},{id:`shape`,title:`Shape`,description:`Control the corner roundness across the widget.`,collapsed:!0,fields:[k(`radius-sm`,`Small`,`theme.palette.radius.sm`,`0.125rem`,{min:0,max:16,step:1}),k(`radius-md`,`Medium`,`theme.palette.radius.md`,`0.375rem`,{min:0,max:24,step:1}),k(`radius-lg`,`Large`,`theme.palette.radius.lg`,`0.5rem`,{min:0,max:32,step:1}),k(`radius-xl`,`Extra Large`,`theme.palette.radius.xl`,`0.75rem`,{min:0,max:48,step:1}),k(`radius-full`,`Full`,`theme.palette.radius.full`,`9999px`,{min:0,max:100,step:1,isRadiusFull:!0})],presets:[{id:`radius-default`,label:`Default`,values:{"theme.palette.radius.sm":`0.125rem`,"theme.palette.radius.md":`0.375rem`,"theme.palette.radius.lg":`0.5rem`,"theme.palette.radius.xl":`0.75rem`,"theme.palette.radius.full":`9999px`}},{id:`radius-sharp`,label:`Sharp`,values:{"theme.palette.radius.sm":`1px`,"theme.palette.radius.md":`2px`,"theme.palette.radius.lg":`3px`,"theme.palette.radius.xl":`4px`,"theme.palette.radius.full":`4px`}},{id:`radius-rounded`,label:`Rounded`,values:{"theme.palette.radius.sm":`0.5rem`,"theme.palette.radius.md":`0.75rem`,"theme.palette.radius.lg":`1rem`,"theme.palette.radius.xl":`1.5rem`,"theme.palette.radius.full":`9999px`}}]},{id:`shadows`,title:`Shadows`,collapsed:!0,fields:[O(`text`,`shadow-sm`,`Small`,`theme.palette.shadows.sm`,`0 1px 2px 0 rgb(0 0 0 / 0.05)`),O(`text`,`shadow-md`,`Medium`,`theme.palette.shadows.md`,`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`),O(`text`,`shadow-lg`,`Large`,`theme.palette.shadows.lg`,`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`),O(`text`,`shadow-xl`,`Extra Large`,`theme.palette.shadows.xl`,`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`)]},{id:`widget-style`,title:`Widget Surface`,description:`Adjust the main panel and message bubble treatment.`,collapsed:!0,fields:[{id:`style-panel-radius`,label:`Panel Corner Radius`,type:`select`,path:`theme.components.panel.borderRadius`,defaultValue:`palette.radius.xl`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`style-panel-shadow`,label:`Panel Shadow`,type:`select`,path:`theme.components.panel.shadow`,defaultValue:`palette.shadows.xl`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},D(`style-panel-canvas-bg`,`Detached Canvas Background`,`theme.components.panel.canvasBackground`,ne,`Fills the region behind a detached panel; defaults to transparent`),{id:`style-msg-user-radius`,label:`User Message Radius`,type:`select`,path:`theme.components.message.user.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`style-msg-assistant-radius`,label:`Assistant Message Radius`,type:`select`,path:`theme.components.message.assistant.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]}];function Ye(){return{id:`brand-palette`,title:`Brand Palette`,description:`Define your color palette. Edit the base color (500) to auto-generate the full scale.`,collapsed:!1,fields:De.map(e=>({id:`palette-${e}`,label:`${e.charAt(0).toUpperCase()+e.slice(1)}`,description:`${e} color palette (edit shade 500, auto-generate scale)`,type:`color-scale`,path:`theme.palette.colors.${e}`,colorScale:{colorFamily:e}}))}}const Xe={id:`semantic-colors`,title:`Semantic Colors`,description:`Map intents to palette colors.`,collapsed:!0,fields:[D(`sem-primary`,`Primary`,`theme.semantic.colors.primary`,`palette.colors.primary.500`,`Main brand/action color`),D(`sem-secondary`,`Secondary`,`theme.semantic.colors.secondary`,`palette.colors.gray.500`,`Secondary actions`),D(`sem-accent`,`Accent`,`theme.semantic.colors.accent`,`palette.colors.primary.600`,`Accent/highlight color`),D(`sem-surface`,`Surface`,`theme.semantic.colors.surface`,`palette.colors.gray.50`,`Primary surface background`),D(`sem-background`,`Background`,`theme.semantic.colors.background`,`palette.colors.gray.50`,`Page/widget background`),D(`sem-container`,`Container`,`theme.semantic.colors.container`,`palette.colors.gray.100`,`Container/card background`),D(`sem-text`,`Text`,`theme.semantic.colors.text`,`palette.colors.gray.900`,`Primary text color`),D(`sem-text-muted`,`Text Muted`,`theme.semantic.colors.textMuted`,`palette.colors.gray.500`,`Secondary/muted text`),D(`sem-text-inverse`,`Text Inverse`,`theme.semantic.colors.textInverse`,`palette.colors.gray.50`,`Text on dark backgrounds`),D(`sem-border`,`Border`,`theme.semantic.colors.border`,`palette.colors.gray.200`,`Default border color`),D(`sem-divider`,`Divider`,`theme.semantic.colors.divider`,`palette.colors.gray.200`,`Divider/separator color`),D(`sem-interactive-default`,`Interactive Default`,`theme.semantic.colors.interactive.default`,`palette.colors.primary.500`),D(`sem-interactive-hover`,`Interactive Hover`,`theme.semantic.colors.interactive.hover`,`palette.colors.primary.600`),D(`sem-interactive-focus`,`Interactive Focus`,`theme.semantic.colors.interactive.focus`,`palette.colors.primary.700`),D(`sem-interactive-active`,`Interactive Active`,`theme.semantic.colors.interactive.active`,`palette.colors.primary.800`),D(`sem-interactive-disabled`,`Interactive Disabled`,`theme.semantic.colors.interactive.disabled`,`palette.colors.gray.300`),D(`sem-feedback-success`,`Success`,`theme.semantic.colors.feedback.success`,`palette.colors.success.500`),D(`sem-feedback-warning`,`Warning`,`theme.semantic.colors.feedback.warning`,`palette.colors.warning.500`),D(`sem-feedback-error`,`Error`,`theme.semantic.colors.feedback.error`,`palette.colors.error.500`),D(`sem-feedback-info`,`Info`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`)]},Ze=Ye(),Qe=Xe,$e=[Ye(),Xe],et={id:`comp-panel`,title:`Panel`,collapsed:!1,fields:[O(`text`,`panel-width`,`Width`,`theme.components.panel.width`,c),O(`text`,`panel-max-width`,`Max Width`,`theme.components.panel.maxWidth`,`440px`),O(`text`,`panel-height`,`Height`,`theme.components.panel.height`,`600px`),O(`text`,`panel-max-height`,`Max Height`,`theme.components.panel.maxHeight`,`calc(100vh - 80px)`),{id:`panel-border-radius`,label:`Border Radius`,type:`select`,path:`theme.components.panel.borderRadius`,defaultValue:`palette.radius.xl`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`panel-shadow`,label:`Shadow`,type:`select`,path:`theme.components.panel.shadow`,defaultValue:`palette.shadows.xl`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},O(`text`,`panel-inset`,`Detached Inset`,`theme.components.panel.inset`,te,`Gap around the card when launcher.detachedPanel is on`)]},tt={id:`comp-launcher`,title:`Launcher`,collapsed:!0,fields:[k(`launcher-size`,`Size`,`theme.components.launcher.size`,`60px`,{min:32,max:80,step:2}),k(`launcher-icon-size`,`Icon Size`,`theme.components.launcher.iconSize`,`28px`,{min:16,max:48,step:2}),{id:`launcher-icon-stroke-width`,label:`Icon Stroke Width`,description:`Unitless line weight for the agent glyph and the call-to-action arrow`,type:`slider`,path:`theme.components.launcher.iconStrokeWidth`,defaultValue:`1.5`,slider:{min:1,max:2.5,step:.25,unit:`none`},parseValue:Je},{id:`launcher-border-radius`,label:`Border Radius`,type:`select`,path:`theme.components.launcher.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`},{value:`palette.radius.full`,label:`Full (Circle)`}]},{id:`launcher-shadow`,label:`Shadow`,type:`select`,path:`theme.components.launcher.shadow`,defaultValue:`palette.shadows.lg`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]}]},nt={id:`comp-header-controls`,title:`Header Controls`,description:`One box, glyph, and stroke shared by every header icon button: close, clear chat, trailing actions, and Messages, plus the strip height.`,collapsed:!0,fields:[{id:`header-min-height`,label:`Header Min Height`,description:`CSS length, e.g. 65px. Blank stays at the natural height`,type:`text`,path:`theme.components.header.minHeight`,defaultValue:``,parseValue:A},{id:`header-control-size`,label:`Control Size`,description:`The button box. Coarse pointers still floor the hit area at 40px`,type:`slider`,path:`theme.components.header.controlSize`,defaultValue:`32px`,slider:{min:24,max:64,step:2},parseValue:qe},{id:`header-control-icon-size`,label:`Icon Size`,description:`The glyph inside the button`,type:`slider`,path:`theme.components.header.controlIconSize`,defaultValue:`16px`,slider:{min:12,max:40,step:1},parseValue:qe},{id:`header-control-stroke-width`,label:`Icon Stroke Width`,description:`Unitless line weight. The close X renders at 0.7 of it so its sparser glyph matches`,type:`slider`,path:`theme.components.header.controlStrokeWidth`,defaultValue:`1.5`,slider:{min:1,max:2.5,step:.25,unit:`none`},parseValue:Je}]},rt={id:`comp-history-rail-header`,title:`Messages Rail Header`,description:`The Messages rail top strip. Match its height to the header so both read as one band.`,collapsed:!0,fields:[{id:`rail-header-min-height`,label:`Min Height`,description:`CSS length. Blank follows the header min height`,type:`text`,path:`theme.components.history.railHeader.minHeight`,defaultValue:``,parseValue:A},{id:`rail-header-border`,label:`Bottom Border`,description:`Full border-bottom shorthand, e.g. 1px solid #333`,type:`text`,path:`theme.components.history.railHeader.border`,defaultValue:``,parseValue:A}]},it={id:`comp-history-rail-header-colors`,title:`Messages Rail Header Colors`,collapsed:!0,fields:[D(`rail-header-bg`,`Background`,`theme.components.history.railHeader.background`,`semantic.colors.container`)]},at={id:`comp-history-overlay`,title:`Messages Floating Rail`,description:`The Messages rail floating over the conversation, when a collapsed rail opens on hover.`,collapsed:!0,fields:[{id:`history-overlay-margin`,label:`Margin`,description:`Gap from the trigger, the docked edge and the bottom`,type:`text`,path:`theme.components.history.overlay.margin`,defaultValue:``,parseValue:A},{id:`history-overlay-radius`,label:`Corner Radius`,description:`CSS length on all four corners. Blank keeps 16px`,type:`text`,path:`theme.components.history.overlay.borderRadius`,defaultValue:``,parseValue:A},{id:`history-overlay-shadow`,label:`Shadow`,description:`Full box-shadow shorthand. Blank keeps the built-in elevation`,type:`text`,path:`theme.components.history.overlay.shadow`,defaultValue:``,parseValue:A}]},ot={id:`comp-history-overlay-colors`,title:`Messages Floating Rail Colors`,collapsed:!0,fields:[D(`history-overlay-bg`,`Background`,`theme.components.history.overlay.background`,`semantic.colors.container`)]},st={id:`comp-history-motion`,title:`Messages Motion`,description:`Enter and exit animation of the Messages body. The bar is persistent chrome and never animates; reduced-motion preferences always win.`,collapsed:!0,fields:[{id:`history-motion-enter-ms`,label:`Enter Duration`,description:`Milliseconds, e.g. 180. 0 disables the entrance. Blank keeps 180`,type:`text`,path:`theme.components.history.motion.enterDurationMs`,defaultValue:``,parseValue:A},{id:`history-motion-enter-easing`,label:`Enter Easing`,description:`CSS easing, e.g. ease-out or cubic-bezier(0, 0, 0.2, 1)`,type:`text`,path:`theme.components.history.motion.enterEasing`,defaultValue:``,parseValue:A},{id:`history-motion-exit-ms`,label:`Exit Duration`,description:`Milliseconds, e.g. 160. 0 disables the exit. Blank keeps 160`,type:`text`,path:`theme.components.history.motion.exitDurationMs`,defaultValue:``,parseValue:A},{id:`history-motion-exit-easing`,label:`Exit Easing`,description:`CSS easing, e.g. ease-in or cubic-bezier(0.4, 0, 1, 1)`,type:`text`,path:`theme.components.history.motion.exitEasing`,defaultValue:``,parseValue:A}]},ct={id:`comp-tooltip`,title:`Tooltip`,description:`The hover and focus tooltip on icon controls, including its shortcut hint chip.`,collapsed:!0,fields:[{id:`tooltip-radius`,label:`Corner Radius`,type:`select`,path:`theme.components.tooltip.borderRadius`,defaultValue:`palette.radius.sm`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`tooltip-font-size`,label:`Font Size`,description:`CSS length. Blank stays at 12px`,type:`text`,path:`theme.components.tooltip.fontSize`,defaultValue:``,parseValue:A},O(`toggle`,`tooltip-arrow`,`Show Arrow`,`theme.components.tooltip.arrow`,!0,`The caret pointing at the control`)]},lt={id:`comp-tooltip-colors`,title:`Tooltip Colors`,collapsed:!0,fields:[D(`tooltip-bg`,`Background`,`theme.components.tooltip.background`,`palette.colors.gray.900`),D(`tooltip-fg`,`Label`,`theme.components.tooltip.foreground`,`palette.colors.primary.50`),D(`tooltip-hint-fg`,`Shortcut Hint`,`theme.components.tooltip.hintForeground`,`palette.colors.gray.400`)]},ut={id:`comp-message-shape`,title:`Message Shape`,collapsed:!0,fields:[{id:`msg-user-radius`,label:`User Bubble Radius`,type:`select`,path:`theme.components.message.user.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`msg-assistant-radius`,label:`Assistant Bubble Radius`,type:`select`,path:`theme.components.message.assistant.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]},dt={id:`comp-input-shape`,title:`Input Shape`,collapsed:!0,fields:[{id:`input-radius`,label:`Border Radius`,type:`select`,path:`theme.components.input.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]},ft={id:`comp-composer-spacing`,title:`Composer Spacing`,collapsed:!0,fields:[O(`text`,`composer-padding`,`Padding`,`theme.components.composer.padding`,`0.75rem 1rem`),O(`text`,`composer-expanded-padding`,`Expanded Padding`,`theme.components.composer.expandedPadding`,`12px 16px`),O(`text`,`composer-expanded-radius`,`Expanded Corners`,`theme.components.composer.expandedBorderRadius`,`24px`),O(`text`,`composer-gap`,`Row Gap`,`theme.components.composer.gap`,`0.5rem`,`Space between the textarea row and the actions row`),O(`text`,`composer-control-gap`,`Control Gap`,`theme.components.composer.controlGap`,`0.5rem`),O(`text`,`composer-editor-min-height`,`Editor Minimum Height`,`theme.components.composer.editorMinHeight`,`24px`),O(`text`,`composer-editor-padding`,`Editor Padding`,`theme.components.composer.editorPadding`,`2px`),O(`text`,`composer-suggestions-gap`,`Below Composer Suggestions Gap`,`theme.components.composer.suggestionsGap`,`0.5rem`),O(`text`,`composer-segmented-gap`,`Segment Gap`,`theme.components.composer.segmented.gap`,`2px`),O(`text`,`composer-segmented-font-size`,`Segment Font Size`,`theme.components.composer.segmented.fontSize`,`0.875rem`),O(`text`,`composer-segmented-line-height`,`Segment Line Height`,`theme.components.composer.segmented.lineHeight`,`1.25rem`),O(`text`,`composer-segmented-height`,`Segment Minimum Height`,`theme.components.composer.segmented.minHeight`,`0px`),O(`text`,`composer-segmented-font-weight`,`Segment Font Weight`,`theme.components.composer.segmented.fontWeight`,`400`),O(`text`,`composer-mode-font-size`,`Mode Font Size`,`theme.components.composer.mode.fontSize`,`0.875rem`),O(`text`,`composer-mode-height`,`Mode Height`,`theme.components.composer.mode.height`,`40px`),O(`text`,`composer-mode-padding`,`Mode Horizontal Padding`,`theme.components.composer.mode.paddingInline`,`0.625rem`),O(`text`,`composer-mode-gap`,`Mode Label Gap`,`theme.components.composer.mode.gap`,`0.25rem`),O(`text`,`composer-model-font-size`,`Model Font Size`,`theme.components.composer.modelPicker.fontSize`,`0.8125rem`),O(`text`,`composer-model-font-weight`,`Model Font Weight`,`theme.components.composer.modelPicker.fontWeight`,`400`),O(`text`,`composer-model-height`,`Model Height`,`theme.components.composer.modelPicker.height`,`40px`),O(`text`,`composer-model-width`,`Model Minimum Width`,`theme.components.composer.modelPicker.minWidth`,`0px`),O(`text`,`composer-model-padding`,`Model Horizontal Padding`,`theme.components.composer.modelPicker.paddingInline`,`0.625rem 1.75rem`),O(`text`,`composer-font-size`,`Font Size`,`theme.components.composer.fontSize`,`0.875rem`),O(`text`,`composer-line-height`,`Line Height`,`theme.components.composer.lineHeight`,`1.25rem`),k(`composer-control-size`,`Control Size`,`theme.components.composer.controlSize`,`40px`,{min:24,max:64,step:2},`Edge of every icon control in the action row`),k(`composer-control-icon-size`,`Control Icon Size`,`theme.components.composer.controlIconSize`,`24px`,{min:12,max:40,step:1},`Glyph inside those controls`)]},pt={id:`comp-button-shape`,title:`Button Shape`,collapsed:!0,fields:[{id:`btn-primary-radius`,label:`Primary Radius`,type:`select`,path:`theme.components.button.primary.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.full`,label:`Full`}]}]},mt={id:`comp-header-colors`,title:`Header Colors`,collapsed:!0,fields:[D(`header-bg`,`Background`,`theme.components.header.background`,`semantic.colors.surface`),D(`header-fg`,`Foreground`,`theme.components.header.foreground`,``,`Anchors the header text. Background and foreground together derive every color left blank below`),D(`header-icon-bg`,`Icon background`,`theme.components.header.iconBackground`,`semantic.colors.primary`),D(`header-icon-fg`,`Icon color`,`theme.components.header.iconForeground`,`semantic.colors.textInverse`),D(`header-title-fg`,`Title color`,`theme.components.header.titleForeground`,``,`Blank follows the header foreground`),D(`header-subtitle-fg`,`Subtitle color`,`theme.components.header.subtitleForeground`,``,`Blank follows a 72% mix of the foreground over the background`),D(`header-action-icons-fg`,`Clear / close icons`,`theme.components.header.actionIconForeground`,``,`Blank follows the same 72% foreground mix as the subtitle`),D(`header-border`,`Border`,`theme.components.header.border`,``,`Border color or token reference; blank follows a 14% mix of foreground over background`)]},ht={id:`comp-message-colors`,title:`Message Colors`,collapsed:!0,fields:[D(`msg-user-bg`,`User Bubble Background`,`theme.components.message.user.background`,`semantic.colors.primary`),D(`msg-user-text`,`User Bubble Text`,`theme.components.message.user.text`,`semantic.colors.textInverse`),D(`msg-assistant-bg`,`Assistant Bubble Background`,`theme.components.message.assistant.background`,`semantic.colors.container`),D(`msg-assistant-text`,`Assistant Bubble Text`,`theme.components.message.assistant.text`,`semantic.colors.text`)]},gt={id:`comp-input-colors`,title:`Input Colors`,collapsed:!0,fields:[D(`input-bg`,`Background`,`theme.components.input.background`,`semantic.colors.surface`),D(`input-placeholder`,`Placeholder Color`,`theme.components.input.placeholder`,`semantic.colors.textMuted`),D(`input-focus-border`,`Focus Border`,`theme.components.input.focus.border`,`semantic.colors.interactive.focus`),D(`input-focus-ring`,`Focus Ring`,`theme.components.input.focus.ring`,`semantic.colors.interactive.focus`)]},_t={id:`comp-button-colors`,title:`Button Colors`,collapsed:!0,fields:[D(`btn-primary-bg`,`Primary Background`,`theme.components.button.primary.background`,`semantic.colors.primary`),D(`btn-primary-fg`,`Primary Foreground`,`theme.components.button.primary.foreground`,`semantic.colors.textInverse`),D(`btn-secondary-bg`,`Secondary Background`,`theme.components.button.secondary.background`,`semantic.colors.surface`),D(`btn-secondary-fg`,`Secondary Foreground`,`theme.components.button.secondary.foreground`,`semantic.colors.text`),O(`color`,`btn-ghost-bg`,`Ghost Background`,`theme.components.button.ghost.background`,`transparent`),D(`btn-ghost-fg`,`Ghost Foreground`,`theme.components.button.ghost.foreground`,`semantic.colors.text`)]},vt={id:`scroll-to-bottom-style`,title:`Scroll To Bottom`,description:`Style the floating jump-to-latest affordance.`,collapsed:!0,fields:[D(`scroll-bottom-bg`,`Background`,`theme.components.scrollToBottom.background`,`components.button.primary.background`),D(`scroll-bottom-fg`,`Foreground`,`theme.components.scrollToBottom.foreground`,`components.button.primary.foreground`),D(`scroll-bottom-border`,`Border`,`theme.components.scrollToBottom.border`,`semantic.colors.primary`),O(`text`,`scroll-bottom-size`,`Size`,`theme.components.scrollToBottom.size`,`40px`),{id:`scroll-bottom-radius`,label:`Border Radius`,type:`select`,path:`theme.components.scrollToBottom.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`},{value:`palette.radius.full`,label:`Full`}]},{id:`scroll-bottom-shadow`,label:`Shadow`,type:`select`,path:`theme.components.scrollToBottom.shadow`,defaultValue:`palette.shadows.sm`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},O(`text`,`scroll-bottom-padding`,`Padding`,`theme.components.scrollToBottom.padding`,`0.5rem 0.875rem`),O(`text`,`scroll-bottom-gap`,`Gap`,`theme.components.scrollToBottom.gap`,`0.5rem`),O(`text`,`scroll-bottom-font-size`,`Font Size`,`theme.components.scrollToBottom.fontSize`,`0.875rem`),O(`text`,`scroll-bottom-icon-size`,`Icon Size`,`theme.components.scrollToBottom.iconSize`,`14px`)]},yt={id:`comp-suggestions`,title:`Suggestions`,description:`Style starter cards, follow-up chips, and list rows.`,collapsed:!0,fields:[D(`suggestion-chip-bg`,`Chip Background`,`theme.components.suggestion.chip.background`,`semantic.colors.surface`),D(`suggestion-chip-fg`,`Chip Text`,`theme.components.suggestion.chip.foreground`,`semantic.colors.text`),D(`suggestion-chip-border`,`Chip Border`,`theme.components.suggestion.chip.border`,`semantic.colors.border`),D(`suggestion-chip-hover`,`Chip Hover`,`theme.components.suggestion.chip.hoverBackground`,`palette.colors.gray.100`),D(`suggestion-chip-focus`,`Chip Focus Ring`,`theme.components.suggestion.chip.focusRing`,`semantic.colors.interactive.focus`),D(`suggestion-card-bg`,`Card Background`,`theme.components.suggestion.card.background`,`semantic.colors.surface`),D(`suggestion-card-fg`,`Card Text`,`theme.components.suggestion.card.foreground`,`semantic.colors.text`),D(`suggestion-card-border`,`Card Border`,`theme.components.suggestion.card.border`,`semantic.colors.border`),D(`suggestion-card-hover`,`Card Hover`,`theme.components.suggestion.card.hoverBackground`,`palette.colors.gray.100`),{id:`suggestion-card-shadow`,label:`Card Shadow`,type:`select`,path:`theme.components.suggestion.card.shadow`,defaultValue:`palette.shadows.sm`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`}]},O(`color`,`suggestion-list-bg`,`List Background`,`theme.components.suggestion.list.background`,`transparent`),D(`suggestion-list-border`,`List Border`,`theme.components.suggestion.list.border`,`semantic.colors.border`),O(`text`,`suggestion-chip-item-gap`,`Chip Spacing`,`theme.components.suggestion.chip.itemGap`,`8px`,`Space between chips`),O(`text`,`suggestion-card-item-gap`,`Card Spacing`,`theme.components.suggestion.card.itemGap`,`8px`,`Space between cards`),O(`text`,`suggestion-list-item-gap`,`List Spacing`,`theme.components.suggestion.list.itemGap`,`8px`,`Space between list rows`)]},M=[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}],bt=`0 5px 15px rgba(15, 23, 42, 0.08)`,xt=[{value:bt,label:`Default`},...M],St={id:`comp-shadows`,title:`Component Shadows`,description:`Box-shadow for chat bubbles and surfaces.`,collapsed:!0,fields:[{id:`shadow-msg-user`,label:`User Message`,type:`select`,path:`theme.components.message.user.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-msg-assistant`,label:`Assistant Message`,type:`select`,path:`theme.components.message.assistant.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-tool-bubble`,label:`Tool Call Bubble`,type:`select`,path:`theme.components.toolBubble.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-reasoning-bubble`,label:`Reasoning Bubble`,type:`select`,path:`theme.components.reasoningBubble.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-approval`,label:`Approval Bubble`,type:`select`,path:`theme.components.approval.requested.shadow`,defaultValue:bt,options:xt},{id:`shadow-intro-card`,label:`Intro Card`,type:`select`,path:`theme.components.introCard.shadow`,defaultValue:`palette.shadows.none`,options:xt},{id:`shadow-composer`,label:`Composer`,type:`select`,path:`theme.components.composer.shadow`,defaultValue:`palette.shadows.none`,options:M}]},Ct=[{value:``,label:`Default`},{value:`400`,label:`Normal (400)`},{value:`500`,label:`Medium (500)`},{value:`600`,label:`Semibold (600)`},{value:`700`,label:`Bold (700)`}],wt={id:`comp-text-styles`,title:`Header & Welcome Text`,description:`Typography for the header title and the welcome greeting. Leave blank to keep the built-in defaults.`,collapsed:!0,fields:[{id:`header-title-font-family`,label:`Header Title Font`,description:`CSS font-family, e.g. Georgia, serif`,type:`text`,path:`theme.components.header.title.fontFamily`,defaultValue:``,parseValue:A},{id:`header-title-font-size`,label:`Header Title Size`,description:`CSS length, e.g. 1.125rem`,type:`text`,path:`theme.components.header.title.fontSize`,defaultValue:``,parseValue:A},{id:`header-title-font-weight`,label:`Header Title Weight`,type:`select`,path:`theme.components.header.title.fontWeight`,defaultValue:``,options:Ct,parseValue:A},{id:`welcome-title-font-family`,label:`Welcome Title Font`,description:`CSS font-family, e.g. Georgia, serif`,type:`text`,path:`theme.components.introCard.title.fontFamily`,defaultValue:``,parseValue:A},{id:`welcome-title-font-size`,label:`Welcome Title Size`,description:`CSS length, e.g. 1.5rem`,type:`text`,path:`theme.components.introCard.title.fontSize`,defaultValue:``,parseValue:A},{id:`welcome-title-font-weight`,label:`Welcome Title Weight`,type:`select`,path:`theme.components.introCard.title.fontWeight`,defaultValue:``,options:Ct,parseValue:A}]},N=(e,t,n=!1)=>t.split(` `).map(t=>({id:`component-${e.replace(/\./g,`-`)}-${t.replace(/\./g,`-`)}`,label:t.replace(/\./g,` / `).replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase()),path:`theme.components.${e}.${t}`,type:n?`token-ref`:`text`,...n?{tokenRef:{tokenType:`color`}}:{},defaultValue:``,parseValue:A,unsettable:!0,description:n?`Color or token reference (border fields here are colors). Unset restores the component fallback.`:`CSS value; use lengths for sizes/padding, unitless stroke width, and ms/s for duration. Unset restores the component fallback.`})),Tt=[[`header.close`,`Close Control`],[`header.clear`,`Clear Chat Control`],[`composer.send`,`Submit Control`],[`voice.control`,`Microphone Control`]],Et=Tt.map(([e,t])=>({id:`comp-${e.replace(`.`,`-`)}-shape`,title:t,collapsed:!0,description:e===`composer.send`?`Submit only. Size applies to icon mode; theme padding also supports text mode.`:e===`voice.control`?`Idle mic only. Set both box and glyph size to migrate legacy voiceRecognition.iconSize.`:`This header control only; Messages and trailing actions keep their own styling.`,fields:N(e,`size iconSize iconStrokeWidth borderWidth borderRadius padding`)})),Dt=[...Tt,[`button.stop`,`Stop Control`]].map(([e,t])=>({id:`comp-${e.replace(`.`,`-`)}-colors`,title:`${t} Colors`,collapsed:!0,fields:N(e,e===`button.stop`?`background foreground`:`background foreground borderColor`,!0)})),Ot=[{id:`comp-composer-menu-shape`,title:`More Menu Shape`,collapsed:!0,fields:N(`composer.overflowMenu`,`borderRadius padding rowGap rowPadding rowBorderRadius fontSize lineHeight iconSize iconGap descriptionFontSize dividerSpacing minWidth maxHeight shadow`)},{id:`comp-attachment-shape`,title:`Attachment Preview Shape`,collapsed:!0,fields:N(`attachment.composer`,`gap image.width image.height image.borderRadius image.chip.width image.chip.minHeight image.chip.borderRadius image.chip.padding image.chip.gap image.chip.fontSize file.width file.minHeight file.borderRadius file.padding file.gap file.iconSize file.fontSize remove.size remove.iconSize remove.borderRadius remove.inset remove.borderWidth image.remove.size image.remove.iconSize image.remove.borderRadius image.remove.inset image.remove.borderWidth file.remove.size file.remove.iconSize file.remove.borderRadius file.remove.inset file.remove.borderWidth`)},{id:`comp-tool-chrome`,title:`Tool Card & Row Chrome`,collapsed:!0,fields:N(`toolBubble`,`borderWidth borderRadius header.padding content.padding loading.duration`)},{id:`comp-question-chrome`,title:`Question Sheet Chrome`,collapsed:!0,fields:N(`askUserQuestion`,`sheet.shadow pill.borderRadius`)},{id:`comp-artifact-chrome`,title:`Artifact Chrome`,collapsed:!0,description:`pane.border and pane.borderLeft accept full CSS border shorthands; padding/radius/fadeSize are CSS lengths and shadows are CSS box-shadow values.`,fields:N(`artifact`,`pane.padding pane.borderRadius pane.shadow pane.border pane.borderLeft chat.shadow split.outerRadius tab.fadeSize`)},{id:`comp-suggestion-chip-type`,title:`Suggestion Chip Type & Padding`,collapsed:!0,fields:N(`suggestion.chip`,`fontWeight padding`)}],kt=[{id:`comp-composer-menu-colors`,title:`More Menu Colors`,collapsed:!0,fields:N(`composer.overflowMenu`,`background foreground borderColor hoverBackground focusBackground descriptionColor dividerColor`,!0)},{id:`comp-attachment-colors`,title:`Attachment Preview Colors`,collapsed:!0,fields:N(`attachment.composer`,`image.background image.borderColor image.chip.background image.chip.borderColor image.chip.foreground file.background file.borderColor file.foreground file.mutedForeground file.iconBackground file.iconForeground remove.background remove.foreground remove.hoverBackground remove.hoverForeground remove.borderColor image.remove.background image.remove.foreground image.remove.hoverBackground image.remove.hoverForeground image.remove.borderColor file.remove.background file.remove.foreground file.remove.hoverBackground file.remove.hoverForeground file.remove.borderColor`,!0)},{id:`comp-voice-states`,title:`Voice State Colors`,collapsed:!0,description:`Explicit values activate state colors. Unset preserves historical provider/browser defaults.`,fields:N(`voice`,`recording.indicator recording.background recording.border processing.icon processing.background processing.border speaking.icon speaking.background speaking.border`,!0)},{id:`comp-tool-colors`,title:`Tool Card & Row Colors`,collapsed:!0,fields:N(`toolBubble`,`background borderColor header.background header.foreground content.background content.foreground codeBlock.background codeBlock.foreground codeBlock.borderColor toggleForeground labelForeground loading.primary loading.secondary`,!0)},{id:`comp-approval-colors`,title:`Approval Colors`,collapsed:!0,fields:N(`approval`,`requested.background requested.border requested.text requested.titleColor requested.descriptionColor requested.reasonColor requested.parameters.background requested.parameters.foreground approve.background approve.foreground deny.background deny.foreground`,!0)},{id:`comp-question-colors`,title:`Question Sheet Colors`,collapsed:!0,fields:N(`askUserQuestion`,`sheet.background sheet.border pill.background pill.foreground pill.selectedBackground pill.selectedForeground customInput.background`,!0)},{id:`comp-artifact-colors`,title:`Artifact Chrome Colors`,collapsed:!0,fields:N(`artifact`,`pane.background toolbar.iconColor toolbar.toggleActiveBackground toolbar.toggleActiveBorderColor toolbar.toggleActiveColor`,!0)}],At=[...Et,...Ot,et,tt,nt,rt,at,st,ct,ut,dt,ft,pt,wt,St],jt=[...Dt,...kt,mt,it,ot,lt,ht,gt,_t,vt,yt],Mt=[...At,...jt],Nt=1048576,Pt=[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],P={images:[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`],"images-pdf":[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`],"images-text-pdf":[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`,`text/plain`,`text/markdown`,`text/csv`,`application/json`],all:[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`,`text/plain`,`text/markdown`,`text/csv`,`application/msword`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,`application/vnd.ms-excel`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,`application/json`]};function Ft(e){return Number(e)*Nt}function It(e){let t=Number(e);return Number.isFinite(t)?String(t>1024?Math.round(t/Nt):t):`10`}function Lt(e){return P[String(e)]??P.images}function Rt(e){let t=Array.isArray(e)?e:P.images,n=[...new Set(t)].sort();for(let[e,t]of Object.entries(P)){let r=[...t].sort();if(n.length===r.length&&n.every((e,t)=>e===r[t]))return e}return n.some(e=>e.startsWith(`application/vnd`)||e===`application/msword`)?`all`:n.some(e=>e===`text/plain`||e===`text/markdown`||e===`text/csv`)?`images-text-pdf`:n.includes(`application/pdf`)?`images-pdf`:`images`}const zt={id:`copy`,title:`Content & Copy`,collapsed:!1,fields:[{id:`copy-show-welcome-card`,label:`Welcome Surface`,description:`Choose a welcome layout, or hide it.`,type:`select`,path:`welcome.variant`,defaultValue:`card`,options:[{value:`card`,label:`Card`},{value:`hero`,label:`Hero`},{value:`none`,label:`Hidden`}]},O(`text`,`copy-welcome-title`,`Welcome Title`,`welcome.title`,`Hello 👋`),O(`text`,`copy-welcome-subtitle`,`Welcome Subtitle`,`welcome.subtitle`,`I can answer questions and help you get things done here.`),O(`text`,`copy-placeholder`,`Input Placeholder`,`copy.inputPlaceholder`,l),O(`text`,`copy-send-label`,`Send Button Label`,`copy.sendButtonLabel`,`Send`)]},Bt={id:`suggestions`,title:`Suggestions`,description:`Choose the suggested prompts, where they appear, and what happens when selected. Remove all prompts to hide them.`,collapsed:!0,fields:[{id:`suggestions-list`,label:`Starter Prompts`,description:`Add, edit, and remove starter prompts directly.`,type:`chip-list`,path:`suggestions.starters.items`,defaultValue:Pt},{id:`suggestions-starter-variant`,label:`Starter Style`,type:`select`,path:`suggestions.starters.variant`,defaultValue:`card`,options:[{value:`card`,label:`Cards`},{value:`chip`,label:`Chips`},{value:`list`,label:`List`}]},{id:`suggestions-starter-placement`,label:`Starter Placement`,type:`select`,path:`suggestions.starters.placement`,defaultValue:`auto`,options:[{value:`auto`,label:`Automatic`},{value:`welcome`,label:`Welcome Surface`},{value:`composer`,label:`Above Composer`},{value:`below-composer`,label:`Below Composer`}]},{id:`suggestions-starter-behavior`,label:`Starter Click`,type:`select`,path:`suggestions.starters.behavior`,defaultValue:`send`,options:[{value:`send`,label:`Send Immediately`},{value:`fill`,label:`Fill Composer`}]},{id:`suggestions-starter-overflow`,label:`Starter Overflow`,type:`select`,path:`suggestions.starters.overflow`,defaultValue:`wrap`,options:[{value:`wrap`,label:`Wrap Rows`},{value:`scroll`,label:`Horizontal Scroll`}]},{id:`suggestions-followup-variant`,label:`Follow-up Style`,type:`select`,path:`suggestions.followUps.variant`,defaultValue:`chip`,options:[{value:`chip`,label:`Chips`},{value:`card`,label:`Cards`},{value:`list`,label:`List`}]},{id:`suggestions-followup-placement`,label:`Follow-up Placement`,type:`select`,path:`suggestions.followUps.placement`,defaultValue:`auto`,options:[{value:`auto`,label:`Automatic`},{value:`after-message`,label:`After Messages`},{value:`composer`,label:`Above Composer`}]},{id:`suggestions-followup-behavior`,label:`Follow-up Click`,type:`select`,path:`suggestions.followUps.behavior`,defaultValue:`send`,options:[{value:`send`,label:`Send Immediately`},{value:`fill`,label:`Fill Composer`}]},{id:`suggestions-followup-overflow`,label:`Follow-up Overflow`,type:`select`,path:`suggestions.followUps.overflow`,defaultValue:`scroll`,options:[{value:`scroll`,label:`Horizontal Scroll`},{value:`wrap`,label:`Wrap Rows`}]}]},Vt={id:`general-layout`,title:`Layout Basics`,collapsed:!0,fields:[O(`toggle`,`layout-show-header`,`Show Header`,`layout.showHeader`,!0),O(`toggle`,`layout-show-footer`,`Show Footer`,`layout.showFooter`,!0),O(`text`,`layout-content-max-width`,`Content Max Width`,`layout.contentMaxWidth`,``,`Max width for messages + composer`)]},Ht={id:`header-layout`,title:`Header`,collapsed:!0,fields:[{id:`layout-header`,label:`Header Layout`,type:`select`,path:`layout.header.layout`,defaultValue:`default`,options:[{value:`default`,label:`Default`},{value:`minimal`,label:`Minimal`}]},O(`toggle`,`layout-show-icon`,`Show Header Icon`,`layout.header.showIcon`,!0),O(`toggle`,`layout-show-title`,`Show Header Title`,`layout.header.showTitle`,!0),O(`toggle`,`layout-show-subtitle`,`Show Header Subtitle`,`layout.header.showSubtitle`,!0),O(`toggle`,`layout-show-close`,`Show Close Button`,`layout.header.showCloseButton`,!0),O(`toggle`,`layout-show-clear`,`Show Clear Chat`,`layout.header.showClearChat`,!0)]},Ut={id:`messages-layout`,title:`Messages`,collapsed:!0,fields:[{id:`layout-messages`,label:`Message Style`,description:`Minimal uses a user bubble with an open assistant response`,type:`select`,path:`layout.messages.layout`,defaultValue:`bubble`,options:[{value:`bubble`,label:`Bubble — bubbles for both`},{value:`minimal`,label:`Minimal — user bubble, open assistant`},{value:`flat`,label:`Flat — open messages for both`}]},{id:`layout-message-user-width`,label:`User Width`,description:`Content hugs the message; Full fills the transcript track`,type:`select`,path:`layout.messages.user.width`,defaultValue:`content`,options:[{value:`content`,label:`Content`},{value:`full`,label:`Full`}]},{id:`layout-message-user-max-width`,label:`User Max Width`,description:`Optional CSS width such as 80%, 42rem, or 72ch; blank uses the width mode default`,type:`text`,path:`layout.messages.user.maxWidth`,defaultValue:``,parseValue:A},{id:`layout-message-assistant-width`,label:`Assistant Width`,description:`Content hugs the message; Full fills the transcript track`,type:`select`,path:`layout.messages.assistant.width`,defaultValue:`content`,options:[{value:`content`,label:`Content`},{value:`full`,label:`Full`}]},{id:`layout-message-assistant-max-width`,label:`Assistant Max Width`,description:`Optional CSS width such as 80%, 42rem, or 72ch; blank uses the width mode default`,type:`text`,path:`layout.messages.assistant.maxWidth`,defaultValue:``,parseValue:A},O(`toggle`,`layout-group`,`Group Consecutive`,`layout.messages.groupConsecutive`,!1),O(`toggle`,`layout-avatar-show`,`Show Avatars`,`layout.messages.avatar.show`,!1),{id:`layout-avatar-pos`,label:`Avatar Position`,type:`select`,path:`layout.messages.avatar.position`,defaultValue:`left`,options:[{value:`left`,label:`Left`},{value:`right`,label:`Right`}]},O(`text`,`layout-avatar-user`,`User Avatar URL`,`layout.messages.avatar.userAvatar`,``),O(`text`,`layout-avatar-assistant`,`Assistant Avatar URL`,`layout.messages.avatar.assistantAvatar`,``),O(`toggle`,`layout-timestamp-show`,`Show Timestamps`,`layout.messages.timestamp.show`,!1),{id:`layout-timestamp-pos`,label:`Timestamp Position`,type:`select`,path:`layout.messages.timestamp.position`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`below`,label:`Below`}]}]},Wt={id:`message-actions`,title:`Message Actions`,collapsed:!0,fields:[O(`toggle`,`msg-actions-enabled`,`Enabled`,`messageActions.enabled`,!0),O(`toggle`,`msg-actions-copy`,`Show Copy`,`messageActions.showCopy`,!0),O(`toggle`,`msg-actions-upvote`,`Show Upvote`,`messageActions.showUpvote`,!0),O(`toggle`,`msg-actions-downvote`,`Show Downvote`,`messageActions.showDownvote`,!0),O(`toggle`,`msg-actions-read-aloud`,`Show Read Aloud`,`messageActions.showReadAloud`,!1),{id:`msg-actions-visibility`,label:`Visibility`,type:`select`,path:`messageActions.visibility`,defaultValue:`hover`,options:[{value:`hover`,label:`On Hover`},{value:`always`,label:`Always Visible`}]},{id:`msg-actions-align`,label:`Alignment`,type:`select`,path:`messageActions.align`,defaultValue:`right`,options:[{value:`left`,label:`Left`},{value:`right`,label:`Right`}]},{id:`msg-actions-layout`,label:`Layout`,type:`select`,path:`messageActions.layout`,defaultValue:`pill-inside`,options:[{value:`pill-inside`,label:`Pill`},{value:`row-inside`,label:`Row`}]}]},Gt={id:`launcher-basics`,title:`Launcher`,collapsed:!0,fields:[O(`toggle`,`launch-enabled`,`Enabled`,`launcher.enabled`,!0),{id:`launch-mount-mode`,label:`Mount Mode`,type:`select`,path:`launcher.mountMode`,defaultValue:`floating`,options:[{value:`floating`,label:`Floating`},{value:`docked`,label:`Docked`}]},{id:`launch-position`,label:`Position`,type:`select`,path:`launcher.position`,defaultValue:`bottom-right`,options:[{value:`bottom-right`,label:`Bottom Right`},{value:`bottom-left`,label:`Bottom Left`},{value:`top-right`,label:`Top Right`},{value:`top-left`,label:`Top Left`}]},O(`text`,`launch-width`,`Width`,`launcher.width`,c),O(`toggle`,`launch-auto-expand`,`Auto Expand`,`launcher.autoExpand`,!1),O(`text`,`launch-title`,`Title`,`launcher.title`,`Chat Assistant`),O(`text`,`launch-subtitle`,`Subtitle`,`launcher.subtitle`,`Here to help you get answers fast`)]},Kt={id:`launcher-advanced`,title:`Launcher Advanced`,collapsed:!0,fields:[{id:`launch-dock-side`,label:`Dock Side`,type:`select`,path:`launcher.dock.side`,defaultValue:`right`,options:[{value:`right`,label:`Right`},{value:`left`,label:`Left`}]},O(`text`,`launch-dock-width`,`Dock Width`,`launcher.dock.width`,`420px`),O(`toggle`,`launch-dock-animate`,`Dock Animate`,`launcher.dock.animate`,!0),{id:`launch-dock-reveal`,label:`Dock Reveal`,type:`select`,path:`launcher.dock.reveal`,defaultValue:`resize`,options:[{value:`resize`,label:`Resize`},{value:`overlay`,label:`Overlay`},{value:`push`,label:`Push`},{value:`emerge`,label:`Emerge`}]},O(`toggle`,`launch-text-hidden`,`Hide Text`,`launcher.textHidden`,!1),O(`text`,`launch-icon-text`,`Agent Icon Text`,`launcher.agentIconText`,`💬`),O(`text`,`launch-icon-name`,`Agent Icon Name (Lucide)`,`launcher.agentIconName`,`bot`),O(`toggle`,`launch-icon-hidden`,`Hide Agent Icon`,`launcher.agentIconHidden`,!1),k(`launch-icon-size`,`Agent Icon Size`,`launcher.agentIconSize`,`40px`,{min:16,max:72,step:2}),O(`text`,`launch-icon-url`,`Icon Image URL`,`launcher.iconUrl`,``,`Custom image URL (overrides emoji/lucide)`),O(`text`,`launch-header-icon-name`,`Header Icon Name (Lucide)`,`launcher.headerIconName`,`bot`),k(`launch-header-icon-size`,`Header Icon Size`,`launcher.headerIconSize`,`48px`,{min:24,max:80,step:2}),O(`toggle`,`launch-header-icon-hidden`,`Hide Header Icon`,`launcher.headerIconHidden`,!1),O(`toggle`,`launch-full-height`,`Full Height`,`launcher.fullHeight`,!1),O(`toggle`,`launch-sidebar`,`Sidebar Mode`,`launcher.sidebarMode`,!1),O(`text`,`launch-sidebar-width`,`Sidebar Width`,`launcher.sidebarWidth`,`420px`),O(`toggle`,`launch-mobile-fullscreen`,`Mobile Fullscreen`,`launcher.mobileFullscreen`,!0,`Fullscreen on mobile devices`),{id:`launch-mobile-breakpoint`,label:`Mobile Breakpoint (px)`,type:`text`,path:`launcher.mobileBreakpoint`,defaultValue:640,formatValue:e=>String(e??640),parseValue:e=>Number(e)},{id:`launch-height-offset`,label:`Height Offset (px)`,type:`text`,path:`launcher.heightOffset`,defaultValue:0,formatValue:e=>String(e??0),parseValue:e=>Number(e)},O(`text`,`launch-collapsed-max-width`,`Collapsed Max Width`,`launcher.collapsedMaxWidth`,``,`Max width of launcher pill when closed`),O(`text`,`launch-cta-text`,`CTA Icon Text`,`launcher.callToActionIconText`,`↗`),O(`text`,`launch-cta-name`,`CTA Icon Name`,`launcher.callToActionIconName`,``),O(`toggle`,`launch-cta-hidden`,`Hide CTA Icon`,`launcher.callToActionIconHidden`,!1),k(`launch-cta-size`,`CTA Icon Size`,`launcher.callToActionIconSize`,`32px`,{min:16,max:64,step:2}),k(`launch-cta-padding`,`CTA Icon Padding`,`launcher.callToActionIconPadding`,`5px`,{min:0,max:24,step:1}),O(`color`,`launch-cta-bg`,`CTA Icon Background`,`launcher.callToActionIconBackgroundColor`,``)]},qt={id:`send-button`,title:`Send Button`,collapsed:!0,fields:[O(`toggle`,`send-use-icon`,`Use Icon`,`sendButton.useIcon`,!1),O(`text`,`send-icon-text`,`Icon Text`,`sendButton.iconText`,`↑`),O(`text`,`send-icon-name`,`Icon Name (Lucide)`,`sendButton.iconName`,``),O(`toggle`,`send-show-tooltip`,`Show Tooltip`,`sendButton.showTooltip`,!1),O(`text`,`send-tooltip-text`,`Tooltip Text`,`sendButton.tooltipText`,`Send message`)]},Jt={id:`close-button`,title:`Close Button`,collapsed:!0,fields:[{id:`close-placement`,label:`Placement`,type:`select`,path:`launcher.closeButtonPlacement`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`top-right`,label:`Top Right`}]},O(`text`,`close-icon-name`,`Icon Name`,`launcher.closeButtonIconName`,`x`),O(`text`,`close-icon-text`,`Icon Text`,`launcher.closeButtonIconText`,`×`),O(`toggle`,`close-show-tooltip`,`Show Tooltip`,`launcher.closeButtonShowTooltip`,!0),O(`text`,`close-tooltip-text`,`Tooltip Text`,`launcher.closeButtonTooltipText`,`Close chat`)]},Yt={id:`clear-chat`,title:`Clear Chat Button`,collapsed:!0,fields:[O(`toggle`,`clear-enabled`,`Enabled`,`launcher.clearChat.enabled`,!0),{id:`clear-placement`,label:`Placement`,type:`select`,path:`launcher.clearChat.placement`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`top-right`,label:`Top Right`}]},O(`text`,`clear-icon-name`,`Icon Name`,`launcher.clearChat.iconName`,`refresh-cw`),O(`toggle`,`clear-show-tooltip`,`Show Tooltip`,`launcher.clearChat.showTooltip`,!0),O(`text`,`clear-tooltip-text`,`Tooltip Text`,`launcher.clearChat.tooltipText`,`Clear chat`)]},Xt={id:`status-indicator`,title:`Status Indicator`,collapsed:!0,fields:[O(`toggle`,`status-visible`,`Visible`,`statusIndicator.visible`,!0),{id:`status-align`,label:`Alignment`,type:`select`,path:`statusIndicator.align`,defaultValue:`right`,options:[{value:`left`,label:`Left`},{value:`center`,label:`Center`},{value:`right`,label:`Right`}]},O(`text`,`status-idle-text`,`Idle Text`,`statusIndicator.idleText`,`Online`),O(`text`,`status-connecting-text`,`Connecting Text`,`statusIndicator.connectingText`,`Connecting…`),O(`text`,`status-connected-text`,`Connected Text`,`statusIndicator.connectedText`,`Streaming…`),O(`text`,`status-error-text`,`Error Text`,`statusIndicator.errorText`,`Offline`)]},Zt={id:`features`,title:`Features`,collapsed:!0,fields:[O(`toggle`,`feat-voice`,`Voice Recognition`,`voiceRecognition.enabled`,!1,`Enable voice input`),O(`toggle`,`feat-auto-focus`,`Auto Focus Input`,`autoFocusInput`,!1,`Focus input after panel opens`),O(`toggle`,`feat-scroll-bottom-enabled`,`Scroll To Bottom`,`features.scrollToBottom.enabled`,!0,`Show a button to return to the latest messages.`),O(`text`,`feat-scroll-bottom-icon`,`Scroll To Bottom Icon`,`features.scrollToBottom.iconName`,`arrow-down`),O(`text`,`feat-scroll-bottom-label`,`Scroll To Bottom Label`,`features.scrollToBottom.label`,``,`Leave empty for icon-only mode`),{id:`feat-scroll-bottom-streaming`,label:`Streaming Below`,type:`select`,path:`features.scrollToBottom.streamingIndicator`,defaultValue:`arrow`,options:[{value:`arrow`,label:`Arrow`},{value:`dots`,label:`Dots`}]},{id:`feat-scroll-bottom-behavior`,label:`Jump To Latest Motion`,description:`How the conversation scrolls when you click the jump button.`,type:`select`,path:`features.scrollToBottom.scrollBehavior`,defaultValue:`instant`,options:[{value:`instant`,label:`Instant`},{value:`smooth`,label:`Smooth`}]},{id:`feat-scroll-bottom-duration`,label:`Jump Duration (ms)`,description:`How long smooth scrolling takes. Set to 0 for an instant jump.`,type:`text`,path:`features.scrollToBottom.scrollDurationMs`,defaultValue:220,formatValue:e=>String(e??220),parseValue:e=>String(e).trim()===``?void 0:Number(e)},{id:`feat-scroll-bottom-transition`,label:`Scroll Button Transition`,type:`select`,path:`features.scrollToBottom.transition`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`fade`,label:`Fade`}]}]},Qt={id:`stream-animation`,title:`Stream Animation`,description:`Choose how text appears as the assistant responds.`,collapsed:!0,fields:[{id:`stream-anim-type`,label:`Animation`,description:`The visual effect used to reveal a reply.`,type:`select`,path:`features.streamAnimation.type`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`typewriter`,label:`Typewriter`},{value:`word-fade`,label:`Word fade`},{value:`letter-rise`,label:`Letter rise`},{value:`glyph-cycle`,label:`Glyph cycle`},{value:`wipe`,label:`Wipe`},{value:`pop-bubble`,label:`Pop bubble`}]},{id:`stream-anim-placeholder`,label:`Before the Reply Starts`,description:`What to show while waiting for a reply.`,type:`select`,path:`features.streamAnimation.placeholder`,defaultValue:`none`,options:[{value:`none`,label:`Typing indicator (default)`},{value:`skeleton`,label:`Skeleton shimmer`}]},{id:`stream-anim-buffer`,label:`Reveal Text By`,description:`Show text as it arrives, or wait for a complete word or line.`,type:`select`,path:`features.streamAnimation.buffer`,defaultValue:`none`,options:[{value:`none`,label:`Each character`},{value:`word`,label:`Complete words`},{value:`line`,label:`Complete lines`}]},{id:`stream-anim-speed`,label:`Text Animation Duration (ms)`,description:`Animation length for each character or word.`,type:`select`,path:`features.streamAnimation.speed`,defaultValue:120,options:[{value:`40`,label:`40ms: snappy`},{value:`80`,label:`80ms`},{value:`120`,label:`120ms (default)`},{value:`200`,label:`200ms`},{value:`320`,label:`320ms`},{value:`480`,label:`480ms: slow`}],formatValue:e=>String(e??120),parseValue:e=>Number(e)},{id:`stream-anim-duration`,label:`Bubble Animation Duration (ms)`,description:`How long effects on the whole reply bubble take.`,type:`select`,path:`features.streamAnimation.duration`,defaultValue:1800,options:[{value:`600`,label:`600ms`},{value:`1200`,label:`1200ms`},{value:`1800`,label:`1800ms (default)`},{value:`2400`,label:`2400ms`},{value:`3600`,label:`3600ms: slow`}],formatValue:e=>String(e??1800),parseValue:e=>Number(e)}]},$t={id:`composer-menu-config`,title:`More Menu`,collapsed:!0,fields:[O(`toggle`,`composer-menu-enabled`,`Show More Menu`,`composer.actionOverflow.enabled`,!1),{id:`composer-menu-width`,label:`Menu Width`,type:`select`,path:`composer.actionOverflow.menu.width`,defaultValue:`content`,options:[{value:`content`,label:`Fit contents`},{value:`composer`,label:`Match message box`},{value:`240px`,label:`Compact (240px)`},{value:`320px`,label:`Wide (320px)`}]},{id:`composer-menu-placement`,label:`Open Menu`,description:`Moves to fit the available space.`,type:`select`,path:`composer.actionOverflow.menu.placement`,defaultValue:`above`,options:[{value:`above`,label:`Above message box`},{value:`below`,label:`Below message box`}]},{id:`composer-menu-descriptions`,label:`Menu Descriptions`,type:`select`,path:`composer.actionOverflow.menu.descriptionLayout`,defaultValue:`stacked`,options:[{value:`stacked`,label:`Below labels`},{value:`inline`,label:`Beside labels`}]},O(`text`,`composer-menu-icon`,`Menu Icon`,`composer.actionOverflow.menu.triggerIconName`,`plus`),{id:`composer-menu-open-icon`,label:`Open Menu Icon`,type:`select`,path:`composer.actionOverflow.menu.openTriggerIconName`,defaultValue:`plus`,options:[{value:`plus`,label:`Plus`},{value:`x`,label:`Close`}]}]},en={id:`attachments-config`,title:`Attachments`,collapsed:!0,fields:[O(`toggle`,`attach-enabled`,`Enabled`,`attachments.enabled`,!1),{id:`attach-max-files`,label:`Max Files`,type:`select`,path:`attachments.maxFiles`,defaultValue:4,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`4`,label:`4`},{value:`6`,label:`6`},{value:`8`,label:`8`},{value:`10`,label:`10`}],formatValue:e=>String(e??4),parseValue:e=>Number(e)},{id:`attach-max-size`,label:`Max File Size (MB)`,type:`select`,path:`attachments.maxFileSize`,defaultValue:10*Nt,options:[{value:`1`,label:`1 MB`},{value:`5`,label:`5 MB`},{value:`10`,label:`10 MB`},{value:`25`,label:`25 MB`},{value:`50`,label:`50 MB`}],formatValue:It,parseValue:Ft},{id:`attach-types`,label:`Allowed File Types`,type:`select`,path:`attachments.allowedTypes`,defaultValue:P.images,options:[{value:`images`,label:`Images only`},{value:`images-pdf`,label:`Images + PDF`},{value:`images-text-pdf`,label:`Images + text + PDF`},{value:`all`,label:`All supported types`}],formatValue:Rt,parseValue:Lt},{id:`attach-file-layout`,label:`File Card Layout`,type:`select`,path:`attachments.preview.file.layout`,defaultValue:`tile`,options:[{value:`tile`,label:`Compact tile`},{value:`horizontal`,label:`Horizontal card`},{value:`vertical`,label:`Vertical card`}]},O(`toggle`,`attach-file-icon`,`Show File Icon`,`attachments.preview.file.icon`,!0),{id:`attach-file-icon-name`,label:`File Icon`,type:`text`,path:`attachments.preview.file.iconName`,defaultValue:``,unsettable:!0},{id:`attach-file-icon-placement`,label:`File Icon Position`,type:`select`,path:`attachments.preview.file.iconPlacement`,defaultValue:`start`,options:[{value:`start`,label:`At the start`},{value:`center`,label:`Centered`}]},{id:`attach-file-name`,label:`File Name`,type:`select`,path:`attachments.preview.file.name`,defaultValue:`hidden`,options:[{value:`hidden`,label:`Hidden`},{value:`full`,label:`Full name`},{value:`basename`,label:`Without extension`}]},{id:`attach-file-metadata`,label:`File Details`,description:`Line count is available for supported text files.`,type:`select`,path:`attachments.preview.file.metadata`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`size`,label:`File size`},{value:`line-count`,label:`Line count`}]},{id:`attach-file-badge`,label:`File Badge`,type:`select`,path:`attachments.preview.file.badge`,defaultValue:`type`,options:[{value:`none`,label:`None`},{value:`extension`,label:`Extension`},{value:`type`,label:`File type`}]},{id:`attach-image-layout`,label:`Image Preview`,type:`select`,path:`attachments.preview.image.layout`,defaultValue:`thumbnail`,options:[{value:`thumbnail`,label:`Thumbnail`},{value:`chip`,label:`Compact chip`}]},{id:`attach-image-name`,label:`Image File Name`,type:`select`,path:`attachments.preview.image.name`,defaultValue:`hidden`,options:[{value:`hidden`,label:`Hidden`},{value:`full`,label:`Full name`},{value:`basename`,label:`Without extension`}]},{id:`attach-image-fit`,label:`Image Fit`,type:`select`,path:`attachments.preview.image.fit`,defaultValue:`cover`,options:[{value:`cover`,label:`Fill thumbnail`},{value:`contain`,label:`Show whole image`}]},{id:`attach-file-remove-visibility`,label:`File Remove Button`,description:`Always visible on touch devices.`,type:`select`,path:`attachments.preview.file.remove.visibility`,defaultValue:`always`,options:[{value:`always`,label:`Always visible`},{value:`hover`,label:`On hover or focus`}]},{id:`attach-file-remove-placement`,label:`File Remove Position`,type:`select`,path:`attachments.preview.file.remove.placement`,defaultValue:`overlap`,options:[{value:`overlap`,label:`Overlapping corner`},{value:`inside`,label:`Inside corner`},{value:`inline`,label:`Beside content`}]},{id:`attach-image-remove-visibility`,label:`Image Remove Button`,description:`Always visible on touch devices.`,type:`select`,path:`attachments.preview.image.remove.visibility`,defaultValue:`always`,options:[{value:`always`,label:`Always visible`},{value:`hover`,label:`On hover or focus`}]},{id:`attach-image-remove-placement`,label:`Image Remove Position`,type:`select`,path:`attachments.preview.image.remove.placement`,defaultValue:`overlap`,options:[{value:`overlap`,label:`Overlapping corner`},{value:`inside`,label:`Inside corner`},{value:`inline`,label:`Beside content`}]},{id:`attach-composer-layout`,label:`Input Below Attachments`,description:`Uses separate rows when space is limited.`,type:`select`,path:`composer.attachmentLayout`,defaultValue:`stacked`,options:[{value:`stacked`,label:`Text above controls`},{value:`single-row`,label:`Text beside controls`}]}]},tn={id:`artifacts-config`,title:`Artifacts`,collapsed:!0,fields:[O(`toggle`,`art-enabled`,`Enabled`,`features.artifacts.enabled`,!1,`Show artifact sidebar for documents and components`),{id:`art-appearance`,label:`Pane Appearance`,type:`select`,path:`features.artifacts.layout.paneAppearance`,defaultValue:`panel`,options:[{value:`panel`,label:`Panel (bordered)`},{value:`seamless`,label:`Seamless`}]}]},nn={id:`artifacts-customization`,title:`Artifact Customization`,collapsed:!0,fields:[{id:`art-toolbar`,label:`Toolbar Preset`,type:`select`,path:`features.artifacts.layout.toolbarPreset`,defaultValue:`default`,options:[{value:`default`,label:`Default`},{value:`document`,label:`Document`}]},O(`text`,`art-toolbar-title`,`Toolbar Title`,`features.artifacts.layout.toolbarTitle`,`Artifacts`),O(`text`,`art-close-label`,`Close Button Label`,`features.artifacts.layout.closeButtonLabel`,`Close`),O(`text`,`art-pane-width`,`Pane Width`,`features.artifacts.layout.paneWidth`,`40%`,`CSS width (e.g. 40%, 28rem)`),O(`text`,`art-pane-max-width`,`Pane Max Width`,`features.artifacts.layout.paneMaxWidth`,`28rem`),O(`text`,`art-split-gap`,`Split Gap`,`features.artifacts.layout.splitGap`,`0`),O(`toggle`,`art-resizable`,`Resizable`,`features.artifacts.layout.resizable`,!1,`Allow dragging the pane divider`),O(`toggle`,`art-expand-panel`,`Expand Panel When Open`,`features.artifacts.layout.expandLauncherPanelWhenOpen`,!0,`Widen the launcher panel to fit artifacts`)]},rn={id:`api-integration`,title:`API & Integration`,description:`Runtime and integration options.`,collapsed:!0,fields:[O(`text`,`dev-api-url`,`API URL`,`apiUrl`,``),O(`text`,`dev-flow`,`Flow ID`,`flowId`,``),{id:`dev-parser`,label:`Stream Parser`,type:`select`,path:`parserType`,defaultValue:`plain`,options:[{value:`plain`,label:`Plain Text`},{value:`json`,label:`JSON`},{value:`regex-json`,label:`Regex JSON`},{value:`xml`,label:`XML`}]}]},an={type:`select`,defaultValue:`panel`,options:[{value:`collapsed`,label:`Collapsed card`},{value:`panel`,label:`Side panel`},{value:`inline`,label:`In conversation`}],unsettable:!0,unsetLabel:`Use default`,requiresCapability:`artifacts`},on={id:`artifact-display-preferences`,title:`Artifact display`,description:`Choose where generated files and other content appear.`,requiresCapability:`artifacts`,fields:[{...an,id:`artifact-display-files`,label:`Generated files`,description:`Default for HTML, CSV, documents, and code files.`,path:`features.artifacts.display.files`},{...an,id:`artifact-display-components`,label:`Interactive content`,description:`Charts, forms, cards, and other interactive content.`,path:`features.artifacts.display.byKind.component`},{...an,id:`artifact-display-default`,label:`Other artifacts`,description:`Plain documents and anything without a narrower rule.`,path:`features.artifacts.display.default`},{id:`artifact-file-preview`,label:`Render supported file previews`,type:`toggle`,path:`features.artifacts.filePreview.enabled`,defaultValue:!0,unsettable:!0,unsetLabel:`Use default`,requiresCapability:`artifacts`}]},sn={label:`Stream and artifacts`,sections:[{id:`stream-display-preferences`,title:`Tool calls and reasoning`,fields:[{id:`pref-show-tools`,label:`Show tool calls`,type:`toggle`,path:`features.showToolCalls`,defaultValue:!0,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-layout`,label:`Tool layout`,type:`select`,path:`features.toolCallDisplay.layout`,defaultValue:`card`,options:[{value:`row`,label:`Row`},{value:`card`,label:`Card`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-collapsed-mode`,label:`Tool call summary`,type:`select`,path:`features.toolCallDisplay.collapsedMode`,defaultValue:`tool-call`,options:[{value:`tool-call`,label:`Tool call`},{value:`tool-name`,label:`Tool name`},{value:`tool-preview`,label:`Tool preview`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-expandable`,label:`Expandable tools`,type:`toggle`,path:`features.toolCallDisplay.expandable`,defaultValue:!0,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-grouped`,label:`Group tool calls`,type:`toggle`,path:`features.toolCallDisplay.grouped`,defaultValue:!1,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-group-boundary`,label:`Group tools by`,type:`select`,path:`features.toolCallDisplay.groupBoundary`,defaultValue:`adjacent`,options:[{value:`adjacent`,label:`Adjacent tools`},{value:`iteration`,label:`Agent iteration`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-grouped-mode`,label:`Group details`,type:`select`,path:`features.toolCallDisplay.groupedMode`,defaultValue:`stack`,options:[{value:`stack`,label:`Show steps`},{value:`summary`,label:`Summary only`},{value:`collapsible`,label:`Expandable group`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-group-appearance`,label:`Appearance`,type:`select`,path:`features.toolCallDisplay.groupAppearance`,options:[{value:`plain`,label:`Plain`},{value:`inset`,label:`Inset`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-loading-animation`,label:`Tool animation`,type:`select`,path:`features.toolCallDisplay.loadingAnimation`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`pulse`,label:`Pulse`},{value:`shimmer`,label:`Shimmer`},{value:`shimmer-color`,label:`Color shimmer`},{value:`rainbow`,label:`Rainbow`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-show-reasoning`,label:`Show reasoning`,type:`toggle`,path:`features.showReasoning`,defaultValue:!0,unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-layout`,label:`Reasoning layout`,type:`select`,path:`features.reasoningDisplay.layout`,defaultValue:`card`,options:[{value:`row`,label:`Row`},{value:`card`,label:`Card`}],unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-appearance`,label:`Reasoning details`,type:`select`,path:`features.reasoningDisplay.appearance`,options:[{value:`plain`,label:`Plain`},{value:`inset`,label:`Inset`},{value:`panel`,label:`Panel`}],unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-expandable`,label:`Reasoning expandable`,type:`toggle`,path:`features.reasoningDisplay.expandable`,defaultValue:!0,unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-active-preview`,label:`Active reasoning preview`,type:`toggle`,path:`features.reasoningDisplay.activePreview`,defaultValue:!1,unsettable:!0,requiresCapability:`reasoning`}]},on]},cn={id:`debug-inspection`,title:`Debug & Inspection`,collapsed:!0,fields:[O(`toggle`,`dev-tool-active-preview`,`Tool Preview While Active`,`features.toolCallDisplay.activePreview`,!1,`Show a lightweight preview in collapsed active tool rows`),{id:`dev-tool-preview-lines`,label:`Tool Preview Lines`,type:`select`,path:`features.toolCallDisplay.previewMaxLines`,defaultValue:3,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`4`,label:`4`},{value:`5`,label:`5`}],formatValue:e=>String(e??3),parseValue:e=>Number(e)},O(`text`,`dev-tool-active-min-height`,`Tool Active Min Height`,`features.toolCallDisplay.activeMinHeight`,``,`CSS min-height for collapsed active tool rows (e.g. 5rem)`),{id:`dev-reasoning-preview-lines`,label:`Reasoning Preview Lines`,type:`select`,path:`features.reasoningDisplay.previewMaxLines`,defaultValue:3,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`4`,label:`4`},{value:`5`,label:`5`}],formatValue:e=>String(e??3),parseValue:e=>Number(e)},O(`text`,`dev-reasoning-active-min-height`,`Reasoning Active Min Height`,`features.reasoningDisplay.activeMinHeight`,``,`CSS min-height for collapsed active reasoning rows (e.g. 5rem)`),O(`toggle`,`dev-debug`,`Debug Mode`,`debug`,!1,`Show debug information`)]},ln={id:`markdown`,title:`Markdown Options`,collapsed:!0,fields:[O(`toggle`,`md-gfm`,`GitHub Flavored Markdown`,`markdown.options.gfm`,!0),O(`toggle`,`md-breaks`,`Line Breaks`,`markdown.options.breaks`,!0),O(`toggle`,`md-header-ids`,`Header IDs`,`markdown.options.headerIds`,!1),O(`toggle`,`md-pedantic`,`Pedantic Mode`,`markdown.options.pedantic`,!1),O(`toggle`,`md-silent`,`Silent`,`markdown.options.silent`,!1),O(`toggle`,`md-disable-styles`,`Disable Default Styles`,`markdown.disableDefaultStyles`,!1)]},F=[{label:`Content`,sections:[zt,Bt]},{label:`Layout`,sections:[Vt,Ht,Ut,Wt]},{label:`Widget`,sections:[Gt,Kt,qt,Jt,Yt,Xt]},{label:`Features`,sections:[Zt,Qt,$t,en,tn,nn]},sn,{label:`Developer`,collapsedByDefault:!0,sections:[rn,cn,ln]}],un=F.flatMap(e=>e.sections),dn={id:`theme-mode-v2`,title:`Theme`,description:`Choose how the interface adapts across light and dark mode.`,collapsed:!1,fields:[{id:`color-mode`,label:`Color Mode`,type:`select`,path:`colorScheme`,defaultValue:`auto`,options:[{value:`auto`,label:`Auto`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}]}]},fn={id:`brand-palette-v2`,title:`Brand Palette`,description:`Set your brand, accent, and neutral colors. These are used to generate the interface theme.`,collapsed:!1,fields:[O(`color`,`bp-primary`,`Primary`,`theme.palette.colors.primary.500`,`#171717`,`Main brand color`),O(`color`,`bp-secondary`,`Secondary`,`theme.palette.colors.secondary.500`,`#8b5cf6`,`Supporting brand color`),O(`color`,`bp-accent`,`Accent`,`theme.palette.colors.accent.500`,`#06b6d4`,`Highlight and decorative color`),O(`color`,`bp-neutral`,`Neutral`,`theme.palette.colors.gray.500`,`#6b7280`,`Backgrounds, text, and borders`)]},pn={id:`status-palette`,title:`Status Palette`,description:`Colors for system feedback states.`,collapsed:!0,fields:[O(`color`,`sp-success`,`Success`,`theme.palette.colors.success.500`,`#22c55e`),O(`color`,`sp-warning`,`Warning`,`theme.palette.colors.warning.500`,`#eab308`),O(`color`,`sp-error`,`Error`,`theme.palette.colors.error.500`,`#ef4444`),O(`color`,`sp-notice`,`Notice`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`,`Info and notice states`)]},mn={id:`interface-roles`,title:`Interface Roles`,description:`Control where brand and neutral colors appear across the interface.`,collapsed:!1,fields:[{id:`role-surfaces`,label:`Background Surfaces`,type:`role-assignment`,path:`theme.semantic.colors.background`,roleAssignment:Ne},{id:`role-header`,label:`Header`,type:`role-assignment`,path:`theme.components.header.background`,roleAssignment:Pe},{id:`role-user-messages`,label:`User Messages`,type:`role-assignment`,path:`theme.components.message.user.background`,roleAssignment:Fe},{id:`role-assistant-messages`,label:`Assistant Messages`,type:`role-assignment`,path:`theme.components.message.assistant.background`,roleAssignment:Ie},{id:`role-primary-actions`,label:`Primary Actions`,type:`role-assignment`,path:`theme.components.button.primary.background`,roleAssignment:Le},{id:`role-scroll-to-bottom`,label:`Scroll To Bottom`,type:`role-assignment`,path:`theme.components.scrollToBottom.background`,roleAssignment:Re},{id:`role-input`,label:`Input Field`,type:`role-assignment`,path:`theme.components.input.background`,roleAssignment:ze},{id:`role-links-focus`,label:`Links & Focus`,type:`role-assignment`,path:`theme.semantic.colors.accent`,roleAssignment:Be},{id:`role-borders`,label:`Borders & Dividers`,type:`role-assignment`,path:`theme.semantic.colors.border`,roleAssignment:Ve}]},hn={id:`status-colors`,title:`Status Colors`,description:`Used for system states like success, warning, notice, and error.`,collapsed:!0,fields:[D(`sc-notice`,`Notice`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`),D(`sc-success`,`Success`,`theme.semantic.colors.feedback.success`,`palette.colors.success.500`),D(`sc-warning`,`Warning`,`theme.semantic.colors.feedback.warning`,`palette.colors.warning.500`),D(`sc-error`,`Error`,`theme.semantic.colors.feedback.error`,`palette.colors.error.500`)]},gn={id:`advanced-tokens`,title:`Advanced Tokens`,description:`Override individual semantic and component values when you need precise control.`,collapsed:!0,fields:[]},_n=[dn,fn,pn,mn,hn,gn],vn=[{id:`style`,label:`Style`,sections:j},{id:`design-system`,label:`Design System`,sections:Mt},{id:`configure`,label:`Configure`,sections:un}],yn=(e,t)=>t.split(`.`).reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e);function bn(e,t){let n=p({future:t}),r=fe(t),i=e.path,a=i.startsWith(`theme.`)?i.slice(6):i.startsWith(`darkTheme.`)?i.slice(10):void 0,o=a?yn(r,a):yn(n,i);return o===void 0?e.defaultValue:o}function xn(e){return vn.map(t=>({...t,sections:t.sections.map(t=>({...t,fields:t.fields.map(t=>({...t,defaultValue:bn(t,e)}))}))}))}const Sn=xn();function Cn(e,t){return e.startsWith(`theme.`)?e.replace(/^theme\./,`${t}.`):e}function wn(e,t,n){return{...e,id:`${n}-${e.id}`,path:Cn(e.path,t)}}function Tn(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Section "${t}" not found in definitions`);return n}function En(e,t,n,r=e.collapsed){let i=n===`light`?`Light`:`Dark`,a=n===`light`?`Applies when the widget is in light mode.`:`Applies when the widget is in dark mode.`;return{...e,id:`${n}-${e.id}`,title:`${i} ${e.title}`,description:e.description?`${a} ${e.description}`:a,collapsed:r,fields:e.fields.map(e=>wn(e,t,n)),presets:e.presets?.map(e=>({...e,id:`${n}-${e.id}`,values:Object.fromEntries(Object.entries(e.values).map(([e,n])=>[Cn(e,t),n]))}))}}const I={id:`default-light`,name:`Default Light`,description:`Clean monochrome light theme`,theme:{components:{artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}}},preview:{primary:`#171717`,surface:`#ffffff`,accent:`#0f0f0f`},tags:[`light`]},L={id:`default-dark`,name:`Default Dark`,description:`Monochrome dark theme`,theme:{palette:{colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`}}},semantic:{colors:{primary:`palette.colors.primary.400`,secondary:`palette.colors.gray.400`,accent:`palette.colors.primary.500`,surface:`palette.colors.gray.800`,background:`palette.colors.gray.900`,container:`palette.colors.gray.800`,text:`palette.colors.gray.100`,textMuted:`palette.colors.gray.400`,textInverse:`palette.colors.gray.900`,border:`palette.colors.gray.700`,divider:`palette.colors.gray.700`,interactive:{default:`palette.colors.primary.400`,hover:`palette.colors.primary.300`,focus:`palette.colors.primary.500`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.600`},feedback:{success:`palette.colors.success.400`,warning:`palette.colors.warning.400`,error:`palette.colors.error.400`,info:`palette.colors.primary.400`}}},components:{markdown:{link:{foreground:`palette.colors.primary.300`}}}},preview:{primary:`#171717`,surface:`#1f2937`,accent:`#0f0f0f`},tags:[`dark`]},Dn=[{id:`persona-default`,name:`Persona Default`,description:`Adaptive Persona theme with light and dark modes`,theme:I.theme,darkTheme:L.theme,preview:I.preview,darkPreview:L.preview,tags:[`light`,`dark`,`adaptive`]},I,L,{id:`high-contrast`,name:`High Contrast`,description:`Maximum contrast for accessibility`,theme:{semantic:{colors:{primary:`palette.colors.primary.700`,secondary:`palette.colors.gray.700`,accent:`palette.colors.primary.800`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.200`,text:`palette.colors.gray.950`,textMuted:`palette.colors.gray.700`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.400`,divider:`palette.colors.gray.400`,interactive:{default:`palette.colors.primary.700`,hover:`palette.colors.primary.800`,focus:`palette.colors.primary.900`,active:`palette.colors.primary.950`,disabled:`palette.colors.gray.400`},feedback:{success:`palette.colors.success.700`,warning:`palette.colors.warning.700`,error:`palette.colors.error.700`,info:`palette.colors.primary.700`}}}},preview:{primary:`#0a0a0a`,surface:`#f9fafb`,accent:`#050505`},tags:[`light`,`high-contrast`,`accessibility`]}],R=[...Dn];function On(e){return R.find(t=>t.id===e)}const kn={desktop:{w:1280,h:800},mobile:{w:390,h:844}},z=`persona-preview-shell-theme`,An={load:()=>null,save:()=>{},clear:()=>{}},jn=[`How do I get started?`,`Pricing & plans`,`Talk to support`];function Mn(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Nn(e){return e===`dark`?{pageBg:`linear-gradient(180deg, #0f172a 0%, #020617 100%)`,chromeBg:`#111827`,chromeBorder:`#1f2937`,dot:`#475569`,skeleton:`#334155`,cardBg:`#1e293b`,cardBorder:`rgba(148, 163, 184, 0.16)`}:{pageBg:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,chromeBg:`#ffffff`,chromeBorder:`#e5e7eb`,dot:`#cbd5e1`,skeleton:`#e2e8f0`,cardBg:`#e2e8f0`,cardBorder:`rgba(148, 163, 184, 0.18)`}}function Pn(e){let t=Nn(e);return`* { box-sizing: border-box; }
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`},t={collapsedMode:`tool-call`,activePreview:!1,grouped:!1,groupedMode:`stack`,groupBoundary:`adjacent`,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},n={activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},r={layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,grouped:!0,groupedMode:`collapsible`,groupAppearance:`inset`,loadingAnimation:`shimmer`},i={appearance:`inset`,layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,loadingAnimation:`shimmer`},a=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function o(e,t){if(!e)return t;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=a(t)&&a(r)?o(t,r):r}return n}const s={resolvedDisplay:`row`,primaryAction:`allow-once`,keyboardShortcuts:`focused`},c=`min(440px, calc(100vw - 24px))`,l=`How can I help...`,u={apiUrl:`https://api.runtype.com/api/chat/dispatch`,clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:`light`,tooltip:{delayMs:400,skipDelayMs:300},launcher:{enabled:!0,mountMode:`floating`,dock:{side:`right`,width:`420px`},title:`Chat Assistant`,subtitle:`Here to help you get answers fast`,agentIconText:`💬`,agentIconName:`bot`,headerIconName:`bot`,position:`bottom-right`,width:c,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:`40px`,headerIconSize:`40px`,closeButtonPaddingX:`0px`,closeButtonPaddingY:`0px`,callToActionIconName:`arrow-up-right`,callToActionIconText:``,callToActionIconSize:`32px`,callToActionIconPadding:`5px`,callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:`transparent`,clearChat:{backgroundColor:`transparent`,borderColor:`transparent`,enabled:!0,placement:`inline`,iconName:`refresh-cw`,showTooltip:!0,tooltipText:`Clear chat`,paddingX:`0px`,paddingY:`0px`},headerIconHidden:!1,border:void 0,shadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`},copy:{inputPlaceholder:l,sendButtonLabel:`Send`},sendButton:{borderWidth:`0px`,paddingX:`12px`,paddingY:`10px`,borderColor:void 0,useIcon:!0,iconText:`↑`,showTooltip:!0,tooltipText:`Send message`,iconName:`send`},statusIndicator:{visible:!0,idleText:`Online`,connectingText:`Connecting…`,connectedText:`Streaming…`,errorText:`Offline`},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:`mic`,borderWidth:`0px`,iconColor:void 0,backgroundColor:`transparent`,borderColor:`transparent`,recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:`transparent`,showTooltip:!0,tooltipText:`Start voice recognition`},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:`arrow-down`,label:``,streamingIndicator:`arrow`,scrollBehavior:`instant`,scrollDurationMs:220,transition:`none`},scrollBehavior:{mode:`anchor-top`,anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:t,reasoningDisplay:n,streamAnimation:{type:`none`,placeholder:`none`,speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:`Other…`,freeTextPlaceholder:`Type your answer…`,submitLabel:`Send`},history:{enabled:!1,presentation:`panel`,showScopeStatus:!0,showDelete:!0,showDeleteAll:!0}},suggestionChips:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],suggestionChipsConfig:{fontFamily:`sans-serif`,fontWeight:`500`,paddingX:`12px`,paddingY:`6px`},layout:{header:{layout:`default`,showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:`bubble`,avatar:{show:!1,position:`left`},timestamp:{show:!1,position:`below`},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:`hover`,align:`right`,layout:`pill-inside`},debug:!1},d={},ee={colorScheme:`light`,errorDisplay:`block`,messageActions:{visibility:void 0},suggestionChipsConfig:{fontWeight:void 0},approval:s,loadingIndicator:{variant:`label`},launcher:{variant:`circle`,width:`min(400px, calc(100vw - 24px))`,headerIconSize:`20px`},features:{artifacts:{enabled:!0},scrollToBottom:{streamingIndicator:`dots`,transition:`fade`,scrollBehavior:`smooth`},toolCallDisplay:r,reasoningDisplay:i},composer:{layout:`single-row`,placement:`overlay`},sendButton:{iconName:`arrow-up`},statusIndicator:{mode:`transient`},layout:{contentMaxWidth:`768px`,topFade:!0,header:{showSubtitle:!1},messages:{assistant:{width:`full`}}}};function f(e){return e?.future?.v5Defaults===!0?`v5`:`v4`}function p(e){let t=f(e)===`v5`?ee:d;return o(u,t)}p();const te=`16px`,ne=`transparent`,m={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},h={colors:{primary:`palette.colors.primary.500`,secondary:`palette.colors.secondary.500`,accent:`palette.colors.primary.600`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.50`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.300`},feedback:{success:`palette.colors.success.500`,warning:`palette.colors.warning.500`,error:`palette.colors.error.500`,info:`palette.colors.info.500`}},spacing:{xs:`palette.spacing.1`,sm:`palette.spacing.2`,md:`palette.spacing.4`,lg:`palette.spacing.6`,xl:`palette.spacing.8`,"2xl":`palette.spacing.10`},typography:{fontFamily:`palette.typography.fontFamily.sans`,fontSize:`palette.typography.fontSize.base`,fontWeight:`palette.typography.fontWeight.normal`,lineHeight:`palette.typography.lineHeight.normal`}},g={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:c,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:te,canvasBackground:ne,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},re=m.colors.gray,ie={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},ae={...m,colors:{...m.colors,gray:re}},oe={...m,colors:{...m.colors,gray:ie},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},se=h,ce={...h,colors:{...h.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...h.typography,fontSize:`14px`,lineHeight:`1.5`}},le=g,ue={...g,scrollToBottom:{...g.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:e,activity:{labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...g.input,borderRadius:`palette.radius.full`},introCard:{...g.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...g.suggestion.chip,fontWeight:`400`},card:{...g.suggestion.card,fontWeight:`400`},list:{...g.suggestion.list,fontWeight:`400`}},panel:{...g.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...g.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...g.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...g.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...g.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`}},artifact:{...g.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...g.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},de=e=>f({future:e}),fe=e=>de(e)===`v5`?{palette:oe,semantic:ce,components:ue}:{palette:ae,semantic:se,components:le};function pe(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function me(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?me(t,r):r}return n}function _(e,t={}){let n=fe(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?me(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;f(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=pe(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}function he(e,t){let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function v(e,t,n){let r=t.split(`.`);if(r.length===1)return{...e,[r[0]]:n};let[i,...a]=r,o=e;return{...o,[i]:v(o?.[i]??{},a.join(`.`),n)}}function y(e,t){let n=t.split(`.`);if(n.length===1){let t={...e};return delete t[n[0]],t}let[r,...i]=n,a=e,o=y(a?.[r]??{},i.join(`.`)),s={...a};return typeof o==`object`&&o&&!Array.isArray(o)&&Object.keys(o).length===0?delete s[r]:s[r]=o,s}function b(e){return Array.isArray(e)?e.map(b):e&&typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,b(t)])):e}function ge(e,t){if(Object.is(e,t))return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`||Array.isArray(e)!==Array.isArray(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.prototype.hasOwnProperty.call(t,n)&&ge(e[n],t[n]))}var _e=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e,t,n){this.#e=[],this.#t=[],this.#n=-1,this.#r=!1,this.#i={},this.#a={},this.#o=!0,this.origin=`authored`,this.#s=/* @__PURE__ */ new WeakMap;let r=n?.mergeDefaults??!0;this.#o=r,this.#i=b({...t}),delete this.#i.theme,this.#a=b(e??t?.theme??{});let i=p(t);this.config=r?{...i,...t}:t??i,this.theme=_(this.#a,{validate:!1,future:this.config.future}),this.#u(),this.#p(this.exportSnapshot(),!0)}get(e){return e.startsWith(`theme.`)?he(this.theme,e.replace(`theme.`,``)):e.startsWith(`darkTheme.`)?he(this.config.darkTheme??{},e.replace(`darkTheme.`,``)):he(this.config,e)}getTheme(){return this.theme}getConfig(){return this.config}set(e,t){let n=f(this.config);if(this.#c(e,t),e.startsWith(`theme.`)){let n=e.replace(`theme.`,``);this.theme=v(this.theme,n,t),this.#u()}else if(e.startsWith(`darkTheme.`)){let n=e.replace(`darkTheme.`,``),r=this.config.darkTheme??_(void 0,{future:this.config.future});this.config={...this.config,darkTheme:v(r,n,t)}}else this.config=v(this.config,e,t);this.#l(n),this.#f(),this.#d()}unset(e){let t=f(this.config);if(this.#c(e,void 0,!0),e.startsWith(`theme.`)){let t=e.replace(`theme.`,``);this.theme=y(this.theme,t),this.#u()}else if(e.startsWith(`darkTheme.`)){let t=e.replace(`darkTheme.`,``);this.config={...this.config,darkTheme:y(this.config.darkTheme??{},t)}}else this.config=y(this.config,e);this.#l(t),this.#f(),this.#d()}setBatch(e){let t=f(this.config),n=!1,r=!1,i=!1;for(let[t,a]of Object.entries(e))if(this.#c(t,a),t.startsWith(`theme.`)){let e=t.replace(`theme.`,``);this.theme=v(this.theme,e,a),n=!0}else if(t.startsWith(`darkTheme.`)){let e=t.replace(`darkTheme.`,``),n=this.config.darkTheme??_(void 0,{future:this.config.future});this.config={...this.config,darkTheme:v(n,e,a)},r=!0}else this.config=v(this.config,t,a),i=!0;n&&this.#u(),this.#l(t),(n||r||i)&&(this.#f(),this.#d())}setTheme(e){this.#a=b(e),this.theme=e,this.#u(),this.#f(),this.#d()}setFullConfig(e,t){this.origin=`imported`,this.#i=b({...e}),delete this.#i.theme,(t||e.theme)&&(this.#a=b(t??e.theme??{})),this.config={...e},(t||e.theme)&&(this.theme=_(t??e.theme,{validate:!1,future:e.future})),this.#u(),this.#f(),this.#d()}importSnapshot(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Snapshot must be a JSON object`);let t=e;if(this.origin=`imported`,`config`in t||`theme`in t||t.version===2){let e=t.config??this.config;this.#i=b({...e}),delete this.#i.theme,this.#a=b(t.theme??e.theme??this.#a),this.config={...e},this.theme=_(this.#a,{validate:!1,future:e.future})}else this.#a=b(t),this.theme=_(this.#a,{validate:!1,future:this.config.future});this.#u(),this.#f(),this.#d()}resetToDefaults(){let e=this.config.future;this.origin=`authored`,this.#i=e?{future:e}:{},this.#a={},this.config={...p({future:e}),...e?{future:e}:{}},this.theme=_(void 0,{future:this.config.future}),this.#u(),this.#t=[],this.#n=-1,this.#p(this.exportSnapshot()),this.#d()}canUndo(){return this.#n>0}canRedo(){return this.#n>=0&&this.#n<this.#t.length-1}getHistoryLength(){return this.#t.length}getHistoryIndex(){return this.#n}undo(){this.canUndo()&&(--this.#n,this.#m(this.#t[this.#n]))}redo(){this.canRedo()&&(this.#n+=1,this.#m(this.#t[this.#n]))}exportAuthoredConfig(){return{origin:this.origin,config:b({...this.#i,...Object.keys(this.#a).length?{theme:this.#a}:{}})}}exportSnapshot(){return{version:2,config:{...this.config,theme:void 0},theme:this.theme}}onChange(e){return this.#e.push(e),()=>{let t=this.#e.indexOf(e);t>=0&&this.#e.splice(t,1)}}#c(e,t,n=!1){let r=(e,r)=>n||t===void 0?y(e,r):v(e,r,b(t));e.startsWith(`theme.`)?this.#a=r(this.#a,e.slice(6)):e===`theme`?this.#a=b(t??{}):this.#i=r(this.#i,e)}#l(e){e!==f(this.config)&&(this.config=this.#o?o(p(this.#i),this.#i):{...this.#i},this.theme=_(this.#a,{validate:!1,future:this.config.future}),this.#u())}#u(){this.config={...this.config,theme:this.theme}}#d(){for(let e of this.#e)e(this.config,this.theme)}#f(){this.#p(this.exportSnapshot())}#p(e,t=!1){if(this.#r)return;this.#s.set(e,{config:this.#i,theme:this.#a,origin:this.origin});let n=JSON.stringify(e),r=this.#n>=0&&this.#t[this.#n]?JSON.stringify(this.#t[this.#n]):null;if(t&&this.#n>=0){this.#t[this.#n]=e;return}let i=this.#n>=0?this.#s.get(this.#t[this.#n]):void 0;n===r&&ge(this.#s.get(e),i)||(this.#t=this.#t.slice(0,this.#n+1),this.#t.push(e),this.#n=this.#t.length-1)}#m(e){this.#r=!0;let t=this.#s.get(e);this.origin=t?.origin??`imported`,this.#i=t?.config??e.config,this.#a=t?.theme??e.theme,this.config=e.config,this.theme=_(e.theme,{validate:!1,future:this.config.future}),this.#u(),this.#r=!1,this.#d()}};function ve(e){let t=e.trim();if(t===`9999px`)return{value:100,unit:`px`};let n=t.match(/^([\d.]+)(px|rem)$/);if(!n){let e=parseFloat(t);return{value:isNaN(e)?0:e,unit:`px`}}return{value:parseFloat(n[1]),unit:n[2]}}function ye(e,t){return t===`rem`?`${e}rem`:`${e}px`}function be(e,t){return t===`rem`?e*16:e}function xe(e,t){return t===`rem`?e/16:e}function x(e){if(!e)return`#000000`;let t=e.trim().toLowerCase();return t===`transparent`?`transparent`:t.startsWith(`rgba`)||t.startsWith(`rgb`)?t:t.startsWith(`#`)?t.length===4?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t:`#${t}`}function Se(e){return/^#[0-9A-Fa-f]{6}$/.test(e)}function Ce(e){let t=e.trim().toLowerCase().match(/^rgba?\(([^)]+)\)$/);if(!t)return null;let n=t[1].split(`,`).map(e=>e.trim());if(n.length<3)return null;let r=e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return Number.isFinite(n)?Math.max(0,Math.min(255,Math.round(t?n/100*255:n))):NaN},i=r(n[0]),a=r(n[1]),o=r(n[2]);if(!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return null;let s=e=>e.toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function S(e,t){let n=e=>{let t=x(e),n=t.startsWith(`rgb`)?Ce(t)??`#000000`:t,r=[1,3,5].map(e=>{let t=parseInt(n.slice(e,e+2),16)/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r[0]+.7152*r[1]+.0722*r[2]},r=n(e),i=n(t);return(Math.max(r,i)+.05)/(Math.min(r,i)+.05)}function we(e){let t=x(e),n=t.startsWith(`rgb`)?Ce(t)??`#000000`:t,r=parseInt(n.slice(1,3),16)/255,i=parseInt(n.slice(3,5),16)/255,a=parseInt(n.slice(5,7),16)/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=(o+s)/2;if(o===s)return{h:0,s:0,l:c};let l=o-s,u=c>.5?l/(2-o-s):l/(o+s),d;switch(o){case r:d=((i-a)/l+(i<a?6:0))/6;break;case i:d=((a-r)/l+2)/6;break;default:d=((r-i)/l+4)/6}return{h:d*360,s:u,l:c}}function Te(e,t,n){let r=(e%360+360)%360,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r/60%2-1)),o=n-i/2,s,c,l;r<60?[s,c,l]=[i,a,0]:r<120?[s,c,l]=[a,i,0]:r<180?[s,c,l]=[0,i,a]:r<240?[s,c,l]=[0,a,i]:r<300?[s,c,l]=[a,0,i]:[s,c,l]=[i,0,a];let u=e=>{let t=Math.round((e+o)*255).toString(16);return t.length===1?`0`+t:t};return`#${u(s)}${u(c)}${u(l)}`}function Ee(e){let{h:t,s:n,l:r}=we(e),i={50:.97,100:.94,200:.87,300:.77,400:.64,500:r,600:Math.max(.05,r-.1),700:Math.max(.05,r-.2),800:Math.max(.05,r-.28),900:Math.max(.05,r-.35),950:Math.max(.03,r-.42)},a={50:Math.min(1,n*.85),100:Math.min(1,n*.9),200:Math.min(1,n*.95),300:n,400:n,500:n,600:Math.min(1,n*1.05),700:Math.min(1,n*1.05),800:Math.min(1,n*1),900:Math.min(1,n*.95),950:Math.min(1,n*.9)},o={};for(let[e,n]of Object.entries(i)){let r=a[e];o[e]=Te(t,r,n)}return o}const C=[`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],De=[`primary`,`secondary`,`accent`,`gray`,`success`,`warning`,`error`,`info`];function Oe(e,t){return`palette.colors.${e}.${t}`}function ke(e,t,n=0){if(n>5)return`#cbd5e1`;let r=e(t);return typeof r==`string`?r.startsWith(`#`)||r.startsWith(`rgb`)||r===`transparent`?r:r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`)?ke(e,`theme.${r}`,n+1):`#cbd5e1`:`#cbd5e1`}function Ae(e){if(!e.startsWith(`palette.`)&&!e.startsWith(`semantic.`))return e;let t=e.split(`.`);if(t[0]===`palette`&&t[1]===`colors`){let e=t[2],n=t[3];return`${e.charAt(0).toUpperCase()+e.slice(1)} ${n}`}return t[0]===`semantic`?t.slice(1).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):t[t.length-1]}const w=[{id:`solid`,label:`Solid`},{id:`soft`,label:`Soft`}],je=[`primary`,`secondary`,`accent`,`gray`],Me={primary:`Primary`,secondary:`Secondary`,accent:`Accent`,gray:`Neutral`},Ne={roleId:`role-surfaces`,helper:`Page and panel backgrounds`,previewZone:`container`,intensities:w,targets:[{path:`semantic.colors.background`,kind:`background`},{path:`semantic.colors.surface`,kind:`background`},{path:`semantic.colors.container`,kind:`background`}]},Pe={roleId:`role-header`,helper:`Widget header bar`,previewZone:`header`,intensities:w,targets:[{path:`components.header.background`,kind:`background`},{path:`components.header.foreground`,kind:`foreground`},{path:`components.header.border`,kind:`border`},{path:`components.header.iconBackground`,kind:`accent`},{path:`components.header.iconForeground`,kind:`foreground`},{path:`components.header.titleForeground`,kind:`accent`},{path:`components.header.subtitleForeground`,kind:`foreground`},{path:`components.header.actionIconForeground`,kind:`foreground`}]},Fe={roleId:`role-user-messages`,helper:`User chat bubbles`,previewZone:`user-message`,intensities:w,targets:[{path:`components.message.user.background`,kind:`background`},{path:`components.message.user.text`,kind:`foreground`}]},Ie={roleId:`role-assistant-messages`,helper:`Assistant chat bubbles`,previewZone:`assistant-message`,intensities:w,targets:[{path:`components.message.assistant.background`,kind:`background`},{path:`components.message.assistant.text`,kind:`foreground`}]},Le={roleId:`role-primary-actions`,helper:`Send button and primary buttons`,intensities:w,targets:[{path:`components.button.primary.background`,kind:`background`},{path:`components.button.primary.foreground`,kind:`foreground`},{path:`semantic.colors.interactive.default`,kind:`accent`},{path:`semantic.colors.interactive.hover`,kind:`accent`}]},Re={roleId:`role-scroll-to-bottom`,helper:`Scroll-to-bottom affordances in transcript and event stream`,intensities:w,targets:[{path:`components.scrollToBottom.background`,kind:`background`},{path:`components.scrollToBottom.foreground`,kind:`foreground`},{path:`components.scrollToBottom.border`,kind:`border`}]},ze={roleId:`role-input`,helper:`Message input field`,previewZone:`composer`,intensities:w,targets:[{path:`components.input.background`,kind:`background`},{path:`components.input.placeholder`,kind:`foreground`},{path:`components.input.focus.border`,kind:`accent`},{path:`components.input.focus.ring`,kind:`accent`}]},Be={roleId:`role-links-focus`,helper:`Links, focus rings, and interactive highlights`,intensities:w,targets:[{path:`semantic.colors.accent`,kind:`accent`},{path:`semantic.colors.interactive.focus`,kind:`accent`},{path:`semantic.colors.interactive.active`,kind:`accent`},{path:`components.markdown.link.foreground`,kind:`accent`}]},Ve={roleId:`role-borders`,helper:`Borders, dividers, and separators`,intensities:w,targets:[{path:`semantic.colors.border`,kind:`border`},{path:`semantic.colors.divider`,kind:`border`}]},T=[Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve];function E(e,t,n){let r={},i=e===`neutral`?`gray`:e;for(let e of n.targets){let a=He(i,t,e,n.roleId);r[`theme.${e.path}`]=a,r[`darkTheme.${e.path}`]=a}if(n.roleId===`role-primary-actions`){let e=t===`solid`?`palette.colors.${i}.700`:`palette.colors.${i}.200`;r[`theme.semantic.colors.interactive.hover`]=e,r[`darkTheme.semantic.colors.interactive.hover`]=e}return r}function He(e,t,n,r){let i=t===`solid`;if(r===`role-header`)return Ue(e,i,n);if(r===`role-input`)return We(e,i,n);switch(n.kind){case`background`:return i?`palette.colors.${e}.500`:`palette.colors.${e}.${e===`gray`?`50`:`100`}`;case`foreground`:return i?`palette.colors.${e===`gray`?`gray`:e}.50`:`palette.colors.${e===`gray`?`gray`:e}.900`;case`border`:return i?`palette.colors.${e}.600`:`palette.colors.${e}.200`;case`accent`:return i?`palette.colors.${e}.600`:`palette.colors.${e}.400`}}function Ue(e,t,n){let r=n.path;return r.endsWith(`.background`)?t?`palette.colors.${e}.500`:`palette.colors.${e}.${e===`gray`?`50`:`100`}`:r.endsWith(`.border`)?t?`palette.colors.${e}.600`:`palette.colors.${e}.200`:r.endsWith(`.iconBackground`)?t?`palette.colors.${e}.${e===`gray`?`700`:`600`}`:`palette.colors.${e}.500`:r.endsWith(`.iconForeground`)?`palette.colors.${e}.50`:r.endsWith(`.foreground`)||r.endsWith(`.titleForeground`)?t?`palette.colors.${e}.50`:`palette.colors.${e}.${e===`gray`?`900`:`700`}`:(r.endsWith(`.subtitleForeground`)||r.endsWith(`.actionIconForeground`))&&t?`palette.colors.${e}.200`:`palette.colors.${e}.500`}function We(e,t,n){let r=n.path;return r.endsWith(`.background`)?t?`palette.colors.${e}.${e===`gray`?`100`:`50`}`:`palette.colors.${e}.50`:r.endsWith(`.placeholder`)?`palette.colors.${e}.400`:r.endsWith(`.border`)||r.endsWith(`.ring`)?t?`palette.colors.${e}.500`:`palette.colors.${e}.400`:`palette.colors.${e}.500`}const Ge=/^palette\.colors\.(\w+)\.(\d+)$/;function Ke(e,t){let n=t.targets.find(e=>e.kind===`background`)??t.targets[0];if(!n)return null;let r=String(e(n.path)??``).match(Ge);if(!r)return null;let i=r[1],a=je.includes(i)?i:null;if(!a)return null;for(let n of[`solid`,`soft`]){let r=E(a,n,t);if(t.targets.every(t=>String(e(t.path)??``)===r[`theme.${t.path}`]))return{family:a,intensity:n}}return null}const D=(e,t,n,r,i)=>({id:e,label:t,type:`token-ref`,path:n,defaultValue:r,tokenRef:{tokenType:`color`},...i===void 0?{}:{description:i}}),O=(e,t,n,r,i,a)=>({id:t,label:n,type:e,path:r,defaultValue:i,...a===void 0?{}:{description:a}}),k=(e,t,n,r,i,a)=>({id:e,label:t,type:`slider`,path:n,defaultValue:r,slider:i,...a===void 0?{}:{description:a}}),A=e=>String(e??``).trim()||void 0,qe=e=>typeof e==`number`?`${e}px`:String(e??``).trim(),Je=e=>String(e??``).trim(),j=[{id:`brand-colors`,title:`Brand Colors`,description:`Pick your brand colors. A full shade scale is generated automatically for both light and dark themes.`,collapsed:!1,fields:[O(`color`,`brand-primary`,`Primary`,`theme.palette.colors.primary.500`,`#171717`,`Main brand color for buttons, links, and accents`),O(`color`,`brand-secondary`,`Secondary`,`theme.palette.colors.secondary.500`,`#7c3aed`,`Supporting brand color`),O(`color`,`brand-accent`,`Accent`,`theme.palette.colors.accent.500`,`#06b6d4`,`Highlight and decorative color`)]},{id:`chat-colors`,title:`Chat Colors`,description:`Customize the main colors of the chat interface.`,collapsed:!0,fields:[D(`chat-header-bg`,`Header Background`,`theme.components.header.background`,`semantic.colors.surface`),D(`chat-header-fg`,`Header Foreground`,`theme.components.header.foreground`,``,`Anchors the header text. The title takes it, the subtitle and button icons take a 72% mix of it over the background`),D(`chat-header-icon-bg`,`Header Icon Background`,`theme.components.header.iconBackground`,`semantic.colors.primary`),D(`chat-header-icon-fg`,`Header Icon Color`,`theme.components.header.iconForeground`,`semantic.colors.textInverse`),D(`chat-header-title-fg`,`Header Title Color`,`theme.components.header.titleForeground`,``,`Blank follows the header foreground`),D(`chat-header-subtitle-fg`,`Header Subtitle Color`,`theme.components.header.subtitleForeground`,``,`Blank follows the 72% foreground mix`),D(`chat-header-action-icons-fg`,`Header Button Icons`,`theme.components.header.actionIconForeground`,``,`Blank follows the 72% foreground mix`),D(`chat-msg-user-bg`,`User Message Background`,`theme.components.message.user.background`,`semantic.colors.primary`),D(`chat-msg-user-text`,`User Message Text`,`theme.components.message.user.text`,`semantic.colors.textInverse`),D(`chat-msg-assistant-bg`,`Assistant Message Background`,`theme.components.message.assistant.background`,`semantic.colors.container`),D(`chat-msg-assistant-text`,`Assistant Message Text`,`theme.components.message.assistant.text`,`semantic.colors.text`)]},{id:`launcher-style`,title:`Launcher`,description:`Control launcher appearance.`,collapsed:!0,fields:[k(`style-launcher-size`,`Launcher Size`,`theme.components.launcher.size`,`60px`,{min:32,max:80,step:2}),{id:`style-launcher-shape`,label:`Launcher Shape`,type:`select`,path:`theme.components.launcher.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Rounded Square`},{value:`palette.radius.lg`,label:`Rounded`},{value:`palette.radius.xl`,label:`Very Rounded`},{value:`palette.radius.full`,label:`Circle`}]},{id:`style-launcher-shadow`,label:`Launcher Shadow`,type:`select`,path:`theme.components.launcher.shadow`,defaultValue:`palette.shadows.lg`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]}]},{id:`typography`,title:`Typography`,collapsed:!0,fields:[{id:`typo-font-family`,label:`Font Family`,type:`select`,path:`theme.semantic.typography.fontFamily`,defaultValue:`palette.typography.fontFamily.sans`,options:[{value:`palette.typography.fontFamily.sans`,label:`Sans Serif`},{value:`palette.typography.fontFamily.serif`,label:`Serif`},{value:`palette.typography.fontFamily.mono`,label:`Monospace`}]},{id:`typo-font-size`,label:`Base Font Size`,type:`select`,path:`theme.semantic.typography.fontSize`,defaultValue:`palette.typography.fontSize.base`,options:[{value:`palette.typography.fontSize.xs`,label:`Extra Small (0.75rem)`},{value:`palette.typography.fontSize.sm`,label:`Small (0.875rem)`},{value:`palette.typography.fontSize.base`,label:`Base (1rem)`},{value:`palette.typography.fontSize.lg`,label:`Large (1.125rem)`},{value:`palette.typography.fontSize.xl`,label:`Extra Large (1.25rem)`}]},{id:`typo-font-weight`,label:`Font Weight`,type:`select`,path:`theme.semantic.typography.fontWeight`,defaultValue:`palette.typography.fontWeight.normal`,options:[{value:`palette.typography.fontWeight.normal`,label:`Normal (400)`},{value:`palette.typography.fontWeight.medium`,label:`Medium (500)`},{value:`palette.typography.fontWeight.semibold`,label:`Semibold (600)`},{value:`palette.typography.fontWeight.bold`,label:`Bold (700)`}]},{id:`typo-line-height`,label:`Line Height`,type:`select`,path:`theme.semantic.typography.lineHeight`,defaultValue:`palette.typography.lineHeight.normal`,options:[{value:`palette.typography.lineHeight.tight`,label:`Tight (1.25)`},{value:`palette.typography.lineHeight.normal`,label:`Normal (1.5)`},{value:`palette.typography.lineHeight.relaxed`,label:`Relaxed (1.625)`}]}]},{id:`theme-mode`,title:`Runtime Theme`,description:`Controls how the shipped widget picks light or dark mode.`,collapsed:!1,fields:[{id:`theme-mode`,label:`Runtime Theme`,description:`Always Light, Always Dark, or follow the visitor system preference`,type:`select`,path:`colorScheme`,defaultValue:`auto`,options:[{value:`light`,label:`Light`},{value:`dark`,label:`Dark`},{value:`auto`,label:`Follow System`}]}]},{id:`shape`,title:`Shape`,description:`Control the corner roundness across the widget.`,collapsed:!0,fields:[k(`radius-sm`,`Small`,`theme.palette.radius.sm`,`0.125rem`,{min:0,max:16,step:1}),k(`radius-md`,`Medium`,`theme.palette.radius.md`,`0.375rem`,{min:0,max:24,step:1}),k(`radius-lg`,`Large`,`theme.palette.radius.lg`,`0.5rem`,{min:0,max:32,step:1}),k(`radius-xl`,`Extra Large`,`theme.palette.radius.xl`,`0.75rem`,{min:0,max:48,step:1}),k(`radius-full`,`Full`,`theme.palette.radius.full`,`9999px`,{min:0,max:100,step:1,isRadiusFull:!0})],presets:[{id:`radius-default`,label:`Default`,values:{"theme.palette.radius.sm":`0.125rem`,"theme.palette.radius.md":`0.375rem`,"theme.palette.radius.lg":`0.5rem`,"theme.palette.radius.xl":`0.75rem`,"theme.palette.radius.full":`9999px`}},{id:`radius-sharp`,label:`Sharp`,values:{"theme.palette.radius.sm":`1px`,"theme.palette.radius.md":`2px`,"theme.palette.radius.lg":`3px`,"theme.palette.radius.xl":`4px`,"theme.palette.radius.full":`4px`}},{id:`radius-rounded`,label:`Rounded`,values:{"theme.palette.radius.sm":`0.5rem`,"theme.palette.radius.md":`0.75rem`,"theme.palette.radius.lg":`1rem`,"theme.palette.radius.xl":`1.5rem`,"theme.palette.radius.full":`9999px`}}]},{id:`shadows`,title:`Shadows`,collapsed:!0,fields:[O(`text`,`shadow-sm`,`Small`,`theme.palette.shadows.sm`,`0 1px 2px 0 rgb(0 0 0 / 0.05)`),O(`text`,`shadow-md`,`Medium`,`theme.palette.shadows.md`,`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`),O(`text`,`shadow-lg`,`Large`,`theme.palette.shadows.lg`,`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`),O(`text`,`shadow-xl`,`Extra Large`,`theme.palette.shadows.xl`,`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`)]},{id:`widget-style`,title:`Widget Surface`,description:`Adjust the main panel and message bubble treatment.`,collapsed:!0,fields:[{id:`style-panel-radius`,label:`Panel Corner Radius`,type:`select`,path:`theme.components.panel.borderRadius`,defaultValue:`palette.radius.xl`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`style-panel-shadow`,label:`Panel Shadow`,type:`select`,path:`theme.components.panel.shadow`,defaultValue:`palette.shadows.xl`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},D(`style-panel-canvas-bg`,`Detached Canvas Background`,`theme.components.panel.canvasBackground`,ne,`Fills the region behind a detached panel; defaults to transparent`),{id:`style-msg-user-radius`,label:`User Message Radius`,type:`select`,path:`theme.components.message.user.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`style-msg-assistant-radius`,label:`Assistant Message Radius`,type:`select`,path:`theme.components.message.assistant.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]}];function Ye(){return{id:`brand-palette`,title:`Brand Palette`,description:`Define your color palette. Edit the base color (500) to auto-generate the full scale.`,collapsed:!1,fields:De.map(e=>({id:`palette-${e}`,label:`${e.charAt(0).toUpperCase()+e.slice(1)}`,description:`${e} color palette (edit shade 500, auto-generate scale)`,type:`color-scale`,path:`theme.palette.colors.${e}`,colorScale:{colorFamily:e}}))}}const Xe={id:`semantic-colors`,title:`Semantic Colors`,description:`Map intents to palette colors.`,collapsed:!0,fields:[D(`sem-primary`,`Primary`,`theme.semantic.colors.primary`,`palette.colors.primary.500`,`Main brand/action color`),D(`sem-secondary`,`Secondary`,`theme.semantic.colors.secondary`,`palette.colors.gray.500`,`Secondary actions`),D(`sem-accent`,`Accent`,`theme.semantic.colors.accent`,`palette.colors.primary.600`,`Accent/highlight color`),D(`sem-surface`,`Surface`,`theme.semantic.colors.surface`,`palette.colors.gray.50`,`Primary surface background`),D(`sem-background`,`Background`,`theme.semantic.colors.background`,`palette.colors.gray.50`,`Page/widget background`),D(`sem-container`,`Container`,`theme.semantic.colors.container`,`palette.colors.gray.100`,`Container/card background`),D(`sem-text`,`Text`,`theme.semantic.colors.text`,`palette.colors.gray.900`,`Primary text color`),D(`sem-text-muted`,`Text Muted`,`theme.semantic.colors.textMuted`,`palette.colors.gray.500`,`Secondary/muted text`),D(`sem-text-inverse`,`Text Inverse`,`theme.semantic.colors.textInverse`,`palette.colors.gray.50`,`Text on dark backgrounds`),D(`sem-border`,`Border`,`theme.semantic.colors.border`,`palette.colors.gray.200`,`Default border color`),D(`sem-divider`,`Divider`,`theme.semantic.colors.divider`,`palette.colors.gray.200`,`Divider/separator color`),D(`sem-interactive-default`,`Interactive Default`,`theme.semantic.colors.interactive.default`,`palette.colors.primary.500`),D(`sem-interactive-hover`,`Interactive Hover`,`theme.semantic.colors.interactive.hover`,`palette.colors.primary.600`),D(`sem-interactive-focus`,`Interactive Focus`,`theme.semantic.colors.interactive.focus`,`palette.colors.primary.700`),D(`sem-interactive-active`,`Interactive Active`,`theme.semantic.colors.interactive.active`,`palette.colors.primary.800`),D(`sem-interactive-disabled`,`Interactive Disabled`,`theme.semantic.colors.interactive.disabled`,`palette.colors.gray.300`),D(`sem-feedback-success`,`Success`,`theme.semantic.colors.feedback.success`,`palette.colors.success.500`),D(`sem-feedback-warning`,`Warning`,`theme.semantic.colors.feedback.warning`,`palette.colors.warning.500`),D(`sem-feedback-error`,`Error`,`theme.semantic.colors.feedback.error`,`palette.colors.error.500`),D(`sem-feedback-info`,`Info`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`)]},Ze=Ye(),Qe=Xe,$e=[Ye(),Xe],et={id:`comp-panel`,title:`Panel`,collapsed:!1,fields:[O(`text`,`panel-width`,`Width`,`theme.components.panel.width`,c),O(`text`,`panel-max-width`,`Max Width`,`theme.components.panel.maxWidth`,`440px`),O(`text`,`panel-height`,`Height`,`theme.components.panel.height`,`600px`),O(`text`,`panel-max-height`,`Max Height`,`theme.components.panel.maxHeight`,`calc(100vh - 80px)`),{id:`panel-border-radius`,label:`Border Radius`,type:`select`,path:`theme.components.panel.borderRadius`,defaultValue:`palette.radius.xl`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`panel-shadow`,label:`Shadow`,type:`select`,path:`theme.components.panel.shadow`,defaultValue:`palette.shadows.xl`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},O(`text`,`panel-inset`,`Detached Inset`,`theme.components.panel.inset`,te,`Gap around the card when launcher.detachedPanel is on`)]},tt={id:`comp-launcher`,title:`Launcher`,collapsed:!0,fields:[k(`launcher-size`,`Size`,`theme.components.launcher.size`,`60px`,{min:32,max:80,step:2}),k(`launcher-icon-size`,`Icon Size`,`theme.components.launcher.iconSize`,`28px`,{min:16,max:48,step:2}),{id:`launcher-icon-stroke-width`,label:`Icon Stroke Width`,description:`Unitless line weight for the agent glyph and the call-to-action arrow`,type:`slider`,path:`theme.components.launcher.iconStrokeWidth`,defaultValue:`1.5`,slider:{min:1,max:2.5,step:.25,unit:`none`},parseValue:Je},{id:`launcher-border-radius`,label:`Border Radius`,type:`select`,path:`theme.components.launcher.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`},{value:`palette.radius.full`,label:`Full (Circle)`}]},{id:`launcher-shadow`,label:`Shadow`,type:`select`,path:`theme.components.launcher.shadow`,defaultValue:`palette.shadows.lg`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]}]},nt={id:`comp-header-controls`,title:`Header Controls`,description:`One box, glyph, and stroke shared by every header icon button: close, clear chat, trailing actions, and Messages, plus the strip height.`,collapsed:!0,fields:[{id:`header-min-height`,label:`Header Min Height`,description:`CSS length, e.g. 65px. Blank stays at the natural height`,type:`text`,path:`theme.components.header.minHeight`,defaultValue:``,parseValue:A},{id:`header-control-size`,label:`Control Size`,description:`The button box. Coarse pointers still floor the hit area at 40px`,type:`slider`,path:`theme.components.header.controlSize`,defaultValue:`32px`,slider:{min:24,max:64,step:2},parseValue:qe},{id:`header-control-icon-size`,label:`Icon Size`,description:`The glyph inside the button`,type:`slider`,path:`theme.components.header.controlIconSize`,defaultValue:`16px`,slider:{min:12,max:40,step:1},parseValue:qe},{id:`header-control-stroke-width`,label:`Icon Stroke Width`,description:`Unitless line weight. The close X renders at 0.7 of it so its sparser glyph matches`,type:`slider`,path:`theme.components.header.controlStrokeWidth`,defaultValue:`1.5`,slider:{min:1,max:2.5,step:.25,unit:`none`},parseValue:Je}]},rt={id:`comp-history-rail-header`,title:`Messages Rail Header`,description:`The Messages rail top strip. Match its height to the header so both read as one band.`,collapsed:!0,fields:[{id:`rail-header-min-height`,label:`Min Height`,description:`CSS length. Blank follows the header min height`,type:`text`,path:`theme.components.history.railHeader.minHeight`,defaultValue:``,parseValue:A},{id:`rail-header-border`,label:`Bottom Border`,description:`Full border-bottom shorthand, e.g. 1px solid #333`,type:`text`,path:`theme.components.history.railHeader.border`,defaultValue:``,parseValue:A}]},it={id:`comp-history-rail-header-colors`,title:`Messages Rail Header Colors`,collapsed:!0,fields:[D(`rail-header-bg`,`Background`,`theme.components.history.railHeader.background`,`semantic.colors.container`)]},at={id:`comp-history-overlay`,title:`Messages Floating Rail`,description:`The Messages rail floating over the conversation, when a collapsed rail opens on hover.`,collapsed:!0,fields:[{id:`history-overlay-margin`,label:`Margin`,description:`Gap from the trigger, the docked edge and the bottom`,type:`text`,path:`theme.components.history.overlay.margin`,defaultValue:``,parseValue:A},{id:`history-overlay-radius`,label:`Corner Radius`,description:`CSS length on all four corners. Blank keeps 16px`,type:`text`,path:`theme.components.history.overlay.borderRadius`,defaultValue:``,parseValue:A},{id:`history-overlay-shadow`,label:`Shadow`,description:`Full box-shadow shorthand. Blank keeps the built-in elevation`,type:`text`,path:`theme.components.history.overlay.shadow`,defaultValue:``,parseValue:A}]},ot={id:`comp-history-overlay-colors`,title:`Messages Floating Rail Colors`,collapsed:!0,fields:[D(`history-overlay-bg`,`Background`,`theme.components.history.overlay.background`,`semantic.colors.container`)]},st={id:`comp-history-motion`,title:`Messages Motion`,description:`Enter and exit animation of the Messages body. The bar is persistent chrome and never animates; reduced-motion preferences always win.`,collapsed:!0,fields:[{id:`history-motion-enter-ms`,label:`Enter Duration`,description:`Milliseconds, e.g. 180. 0 disables the entrance. Blank keeps 180`,type:`text`,path:`theme.components.history.motion.enterDurationMs`,defaultValue:``,parseValue:A},{id:`history-motion-enter-easing`,label:`Enter Easing`,description:`CSS easing, e.g. ease-out or cubic-bezier(0, 0, 0.2, 1)`,type:`text`,path:`theme.components.history.motion.enterEasing`,defaultValue:``,parseValue:A},{id:`history-motion-exit-ms`,label:`Exit Duration`,description:`Milliseconds, e.g. 160. 0 disables the exit. Blank keeps 160`,type:`text`,path:`theme.components.history.motion.exitDurationMs`,defaultValue:``,parseValue:A},{id:`history-motion-exit-easing`,label:`Exit Easing`,description:`CSS easing, e.g. ease-in or cubic-bezier(0.4, 0, 1, 1)`,type:`text`,path:`theme.components.history.motion.exitEasing`,defaultValue:``,parseValue:A}]},ct={id:`comp-tooltip`,title:`Tooltip`,description:`The hover and focus tooltip on icon controls, including its shortcut hint chip.`,collapsed:!0,fields:[{id:`tooltip-radius`,label:`Corner Radius`,type:`select`,path:`theme.components.tooltip.borderRadius`,defaultValue:`palette.radius.sm`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`tooltip-font-size`,label:`Font Size`,description:`CSS length. Blank stays at 12px`,type:`text`,path:`theme.components.tooltip.fontSize`,defaultValue:``,parseValue:A},O(`toggle`,`tooltip-arrow`,`Show Arrow`,`theme.components.tooltip.arrow`,!0,`The caret pointing at the control`)]},lt={id:`comp-tooltip-colors`,title:`Tooltip Colors`,collapsed:!0,fields:[D(`tooltip-bg`,`Background`,`theme.components.tooltip.background`,`palette.colors.gray.900`),D(`tooltip-fg`,`Label`,`theme.components.tooltip.foreground`,`palette.colors.primary.50`),D(`tooltip-hint-fg`,`Shortcut Hint`,`theme.components.tooltip.hintForeground`,`palette.colors.gray.400`)]},ut={id:`comp-message-shape`,title:`Message Shape`,collapsed:!0,fields:[{id:`msg-user-radius`,label:`User Bubble Radius`,type:`select`,path:`theme.components.message.user.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]},{id:`msg-assistant-radius`,label:`Assistant Bubble Radius`,type:`select`,path:`theme.components.message.assistant.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]},dt={id:`comp-input-shape`,title:`Input Shape`,collapsed:!0,fields:[{id:`input-radius`,label:`Border Radius`,type:`select`,path:`theme.components.input.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.none`,label:`None`},{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`}]}]},ft={id:`comp-composer-spacing`,title:`Composer Spacing`,collapsed:!0,fields:[O(`text`,`composer-padding`,`Padding`,`theme.components.composer.padding`,`0.75rem 1rem`),O(`text`,`composer-expanded-padding`,`Expanded Padding`,`theme.components.composer.expandedPadding`,`12px 16px`),O(`text`,`composer-expanded-radius`,`Expanded Corners`,`theme.components.composer.expandedBorderRadius`,`24px`),O(`text`,`composer-gap`,`Row Gap`,`theme.components.composer.gap`,`0.5rem`,`Space between the textarea row and the actions row`),O(`text`,`composer-control-gap`,`Control Gap`,`theme.components.composer.controlGap`,`0.5rem`),O(`text`,`composer-editor-min-height`,`Editor Minimum Height`,`theme.components.composer.editorMinHeight`,`24px`),O(`text`,`composer-editor-padding`,`Editor Padding`,`theme.components.composer.editorPadding`,`2px`),O(`text`,`composer-suggestions-gap`,`Below Composer Suggestions Gap`,`theme.components.composer.suggestionsGap`,`0.5rem`),O(`text`,`composer-segmented-gap`,`Segment Gap`,`theme.components.composer.segmented.gap`,`2px`),O(`text`,`composer-segmented-font-size`,`Segment Font Size`,`theme.components.composer.segmented.fontSize`,`0.875rem`),O(`text`,`composer-segmented-line-height`,`Segment Line Height`,`theme.components.composer.segmented.lineHeight`,`1.25rem`),O(`text`,`composer-segmented-height`,`Segment Minimum Height`,`theme.components.composer.segmented.minHeight`,`0px`),O(`text`,`composer-segmented-font-weight`,`Segment Font Weight`,`theme.components.composer.segmented.fontWeight`,`400`),O(`text`,`composer-mode-font-size`,`Mode Font Size`,`theme.components.composer.mode.fontSize`,`0.875rem`),O(`text`,`composer-mode-height`,`Mode Height`,`theme.components.composer.mode.height`,`40px`),O(`text`,`composer-mode-padding`,`Mode Horizontal Padding`,`theme.components.composer.mode.paddingInline`,`0.625rem`),O(`text`,`composer-mode-gap`,`Mode Label Gap`,`theme.components.composer.mode.gap`,`0.25rem`),O(`text`,`composer-model-font-size`,`Model Font Size`,`theme.components.composer.modelPicker.fontSize`,`0.8125rem`),O(`text`,`composer-model-font-weight`,`Model Font Weight`,`theme.components.composer.modelPicker.fontWeight`,`400`),O(`text`,`composer-model-height`,`Model Height`,`theme.components.composer.modelPicker.height`,`40px`),O(`text`,`composer-model-width`,`Model Minimum Width`,`theme.components.composer.modelPicker.minWidth`,`0px`),O(`text`,`composer-model-padding`,`Model Horizontal Padding`,`theme.components.composer.modelPicker.paddingInline`,`0.625rem 1.75rem`),O(`text`,`composer-font-size`,`Font Size`,`theme.components.composer.fontSize`,`0.875rem`),O(`text`,`composer-line-height`,`Line Height`,`theme.components.composer.lineHeight`,`1.25rem`),k(`composer-control-size`,`Control Size`,`theme.components.composer.controlSize`,`40px`,{min:24,max:64,step:2},`Edge of every icon control in the action row`),k(`composer-control-icon-size`,`Control Icon Size`,`theme.components.composer.controlIconSize`,`24px`,{min:12,max:40,step:1},`Glyph inside those controls`)]},pt={id:`comp-button-shape`,title:`Button Shape`,collapsed:!0,fields:[{id:`btn-primary-radius`,label:`Primary Radius`,type:`select`,path:`theme.components.button.primary.borderRadius`,defaultValue:`palette.radius.lg`,options:[{value:`palette.radius.sm`,label:`Small`},{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.full`,label:`Full`}]}]},mt={id:`comp-header-colors`,title:`Header Colors`,collapsed:!0,fields:[D(`header-bg`,`Background`,`theme.components.header.background`,`semantic.colors.surface`),D(`header-fg`,`Foreground`,`theme.components.header.foreground`,``,`Anchors the header text. Background and foreground together derive every color left blank below`),D(`header-icon-bg`,`Icon background`,`theme.components.header.iconBackground`,`semantic.colors.primary`),D(`header-icon-fg`,`Icon color`,`theme.components.header.iconForeground`,`semantic.colors.textInverse`),D(`header-title-fg`,`Title color`,`theme.components.header.titleForeground`,``,`Blank follows the header foreground`),D(`header-subtitle-fg`,`Subtitle color`,`theme.components.header.subtitleForeground`,``,`Blank follows a 72% mix of the foreground over the background`),D(`header-action-icons-fg`,`Clear / close icons`,`theme.components.header.actionIconForeground`,``,`Blank follows the same 72% foreground mix as the subtitle`),D(`header-border`,`Border`,`theme.components.header.border`,``,`Border color or token reference; blank follows a 14% mix of foreground over background`)]},ht={id:`comp-message-colors`,title:`Message Colors`,collapsed:!0,fields:[D(`msg-user-bg`,`User Bubble Background`,`theme.components.message.user.background`,`semantic.colors.primary`),D(`msg-user-text`,`User Bubble Text`,`theme.components.message.user.text`,`semantic.colors.textInverse`),D(`msg-assistant-bg`,`Assistant Bubble Background`,`theme.components.message.assistant.background`,`semantic.colors.container`),D(`msg-assistant-text`,`Assistant Bubble Text`,`theme.components.message.assistant.text`,`semantic.colors.text`)]},gt={id:`comp-input-colors`,title:`Input Colors`,collapsed:!0,fields:[D(`input-bg`,`Background`,`theme.components.input.background`,`semantic.colors.surface`),D(`input-placeholder`,`Placeholder Color`,`theme.components.input.placeholder`,`semantic.colors.textMuted`),D(`input-focus-border`,`Focus Border`,`theme.components.input.focus.border`,`semantic.colors.interactive.focus`),D(`input-focus-ring`,`Focus Ring`,`theme.components.input.focus.ring`,`semantic.colors.interactive.focus`)]},_t={id:`comp-button-colors`,title:`Button Colors`,collapsed:!0,fields:[D(`btn-primary-bg`,`Primary Background`,`theme.components.button.primary.background`,`semantic.colors.primary`),D(`btn-primary-fg`,`Primary Foreground`,`theme.components.button.primary.foreground`,`semantic.colors.textInverse`),D(`btn-secondary-bg`,`Secondary Background`,`theme.components.button.secondary.background`,`semantic.colors.surface`),D(`btn-secondary-fg`,`Secondary Foreground`,`theme.components.button.secondary.foreground`,`semantic.colors.text`),O(`color`,`btn-ghost-bg`,`Ghost Background`,`theme.components.button.ghost.background`,`transparent`),D(`btn-ghost-fg`,`Ghost Foreground`,`theme.components.button.ghost.foreground`,`semantic.colors.text`)]},vt={id:`scroll-to-bottom-style`,title:`Scroll To Bottom`,description:`Style the floating jump-to-latest affordance.`,collapsed:!0,fields:[D(`scroll-bottom-bg`,`Background`,`theme.components.scrollToBottom.background`,`components.button.primary.background`),D(`scroll-bottom-fg`,`Foreground`,`theme.components.scrollToBottom.foreground`,`components.button.primary.foreground`),D(`scroll-bottom-border`,`Border`,`theme.components.scrollToBottom.border`,`semantic.colors.primary`),O(`text`,`scroll-bottom-size`,`Size`,`theme.components.scrollToBottom.size`,`40px`),{id:`scroll-bottom-radius`,label:`Border Radius`,type:`select`,path:`theme.components.scrollToBottom.borderRadius`,defaultValue:`palette.radius.full`,options:[{value:`palette.radius.md`,label:`Medium`},{value:`palette.radius.lg`,label:`Large`},{value:`palette.radius.xl`,label:`Extra Large`},{value:`palette.radius.full`,label:`Full`}]},{id:`scroll-bottom-shadow`,label:`Shadow`,type:`select`,path:`theme.components.scrollToBottom.shadow`,defaultValue:`palette.shadows.sm`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}]},O(`text`,`scroll-bottom-padding`,`Padding`,`theme.components.scrollToBottom.padding`,`0.5rem 0.875rem`),O(`text`,`scroll-bottom-gap`,`Gap`,`theme.components.scrollToBottom.gap`,`0.5rem`),O(`text`,`scroll-bottom-font-size`,`Font Size`,`theme.components.scrollToBottom.fontSize`,`0.875rem`),O(`text`,`scroll-bottom-icon-size`,`Icon Size`,`theme.components.scrollToBottom.iconSize`,`14px`)]},yt={id:`comp-suggestions`,title:`Suggestions`,description:`Style starter cards, follow-up chips, and list rows.`,collapsed:!0,fields:[D(`suggestion-chip-bg`,`Chip Background`,`theme.components.suggestion.chip.background`,`semantic.colors.surface`),D(`suggestion-chip-fg`,`Chip Text`,`theme.components.suggestion.chip.foreground`,`semantic.colors.text`),D(`suggestion-chip-border`,`Chip Border`,`theme.components.suggestion.chip.border`,`semantic.colors.border`),D(`suggestion-chip-hover`,`Chip Hover`,`theme.components.suggestion.chip.hoverBackground`,`palette.colors.gray.100`),D(`suggestion-chip-focus`,`Chip Focus Ring`,`theme.components.suggestion.chip.focusRing`,`semantic.colors.interactive.focus`),D(`suggestion-card-bg`,`Card Background`,`theme.components.suggestion.card.background`,`semantic.colors.surface`),D(`suggestion-card-fg`,`Card Text`,`theme.components.suggestion.card.foreground`,`semantic.colors.text`),D(`suggestion-card-border`,`Card Border`,`theme.components.suggestion.card.border`,`semantic.colors.border`),D(`suggestion-card-hover`,`Card Hover`,`theme.components.suggestion.card.hoverBackground`,`palette.colors.gray.100`),{id:`suggestion-card-shadow`,label:`Card Shadow`,type:`select`,path:`theme.components.suggestion.card.shadow`,defaultValue:`palette.shadows.sm`,options:[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`}]},O(`color`,`suggestion-list-bg`,`List Background`,`theme.components.suggestion.list.background`,`transparent`),D(`suggestion-list-border`,`List Border`,`theme.components.suggestion.list.border`,`semantic.colors.border`),O(`text`,`suggestion-chip-item-gap`,`Chip Spacing`,`theme.components.suggestion.chip.itemGap`,`8px`,`Space between chips`),O(`text`,`suggestion-card-item-gap`,`Card Spacing`,`theme.components.suggestion.card.itemGap`,`8px`,`Space between cards`),O(`text`,`suggestion-list-item-gap`,`List Spacing`,`theme.components.suggestion.list.itemGap`,`8px`,`Space between list rows`)]},M=[{value:`palette.shadows.none`,label:`None`},{value:`palette.shadows.sm`,label:`Small`},{value:`palette.shadows.md`,label:`Medium`},{value:`palette.shadows.lg`,label:`Large`},{value:`palette.shadows.xl`,label:`Extra Large`}],bt=`0 5px 15px rgba(15, 23, 42, 0.08)`,xt=[{value:bt,label:`Default`},...M],St={id:`comp-shadows`,title:`Component Shadows`,description:`Box-shadow for chat bubbles and surfaces.`,collapsed:!0,fields:[{id:`shadow-msg-user`,label:`User Message`,type:`select`,path:`theme.components.message.user.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-msg-assistant`,label:`Assistant Message`,type:`select`,path:`theme.components.message.assistant.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-tool-bubble`,label:`Tool Call Bubble`,type:`select`,path:`theme.components.toolBubble.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-reasoning-bubble`,label:`Reasoning Bubble`,type:`select`,path:`theme.components.reasoningBubble.shadow`,defaultValue:`palette.shadows.sm`,options:M},{id:`shadow-approval`,label:`Approval Bubble`,type:`select`,path:`theme.components.approval.requested.shadow`,defaultValue:bt,options:xt},{id:`shadow-intro-card`,label:`Intro Card`,type:`select`,path:`theme.components.introCard.shadow`,defaultValue:`palette.shadows.none`,options:xt},{id:`shadow-composer`,label:`Composer`,type:`select`,path:`theme.components.composer.shadow`,defaultValue:`palette.shadows.none`,options:M}]},Ct=[{value:``,label:`Default`},{value:`400`,label:`Normal (400)`},{value:`500`,label:`Medium (500)`},{value:`600`,label:`Semibold (600)`},{value:`700`,label:`Bold (700)`}],wt={id:`comp-text-styles`,title:`Header & Welcome Text`,description:`Typography for the header title and the welcome greeting. Leave blank to keep the built-in defaults.`,collapsed:!0,fields:[{id:`header-title-font-family`,label:`Header Title Font`,description:`CSS font-family, e.g. Georgia, serif`,type:`text`,path:`theme.components.header.title.fontFamily`,defaultValue:``,parseValue:A},{id:`header-title-font-size`,label:`Header Title Size`,description:`CSS length, e.g. 1.125rem`,type:`text`,path:`theme.components.header.title.fontSize`,defaultValue:``,parseValue:A},{id:`header-title-font-weight`,label:`Header Title Weight`,type:`select`,path:`theme.components.header.title.fontWeight`,defaultValue:``,options:Ct,parseValue:A},{id:`welcome-title-font-family`,label:`Welcome Title Font`,description:`CSS font-family, e.g. Georgia, serif`,type:`text`,path:`theme.components.introCard.title.fontFamily`,defaultValue:``,parseValue:A},{id:`welcome-title-font-size`,label:`Welcome Title Size`,description:`CSS length, e.g. 1.5rem`,type:`text`,path:`theme.components.introCard.title.fontSize`,defaultValue:``,parseValue:A},{id:`welcome-title-font-weight`,label:`Welcome Title Weight`,type:`select`,path:`theme.components.introCard.title.fontWeight`,defaultValue:``,options:Ct,parseValue:A}]},N=(e,t,n=!1)=>t.split(` `).map(t=>({id:`component-${e.replace(/\./g,`-`)}-${t.replace(/\./g,`-`)}`,label:t.replace(/\./g,` / `).replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase()),path:`theme.components.${e}.${t}`,type:n?`token-ref`:`text`,...n?{tokenRef:{tokenType:`color`}}:{},defaultValue:``,parseValue:A,unsettable:!0,description:n?`Color or token reference (border fields here are colors). Unset restores the component fallback.`:`CSS value; use lengths for sizes/padding, unitless stroke width, and ms/s for duration. Unset restores the component fallback.`})),Tt=[[`header.close`,`Close Control`],[`header.clear`,`Clear Chat Control`],[`composer.send`,`Submit Control`],[`voice.control`,`Microphone Control`]],Et=Tt.map(([e,t])=>({id:`comp-${e.replace(`.`,`-`)}-shape`,title:t,collapsed:!0,description:e===`composer.send`?`Submit only. Size applies to icon mode; theme padding also supports text mode.`:e===`voice.control`?`Idle mic only. Set both box and glyph size to migrate legacy voiceRecognition.iconSize.`:`This header control only; Messages and trailing actions keep their own styling.`,fields:N(e,`size iconSize iconStrokeWidth borderWidth borderRadius padding`)})),Dt=[...Tt,[`button.stop`,`Stop Control`]].map(([e,t])=>({id:`comp-${e.replace(`.`,`-`)}-colors`,title:`${t} Colors`,collapsed:!0,fields:N(e,e===`button.stop`?`background foreground`:`background foreground borderColor`,!0)})),Ot=[{id:`comp-composer-menu-shape`,title:`More Menu Shape`,collapsed:!0,fields:N(`composer.overflowMenu`,`borderRadius padding rowGap rowPadding rowBorderRadius fontSize lineHeight iconSize iconGap descriptionFontSize dividerSpacing minWidth maxHeight shadow`)},{id:`comp-attachment-shape`,title:`Attachment Preview Shape`,collapsed:!0,fields:N(`attachment.composer`,`gap image.width image.height image.borderRadius image.chip.width image.chip.minHeight image.chip.borderRadius image.chip.padding image.chip.gap image.chip.fontSize file.width file.minHeight file.borderRadius file.padding file.gap file.iconSize file.fontSize remove.size remove.iconSize remove.borderRadius remove.inset remove.borderWidth image.remove.size image.remove.iconSize image.remove.borderRadius image.remove.inset image.remove.borderWidth file.remove.size file.remove.iconSize file.remove.borderRadius file.remove.inset file.remove.borderWidth`)},{id:`comp-tool-chrome`,title:`Tool Card & Row Chrome`,collapsed:!0,fields:N(`toolBubble`,`borderWidth borderRadius header.padding content.padding loading.duration`)},{id:`comp-question-chrome`,title:`Question Sheet Chrome`,collapsed:!0,fields:N(`askUserQuestion`,`sheet.shadow pill.borderRadius`)},{id:`comp-artifact-chrome`,title:`Artifact Chrome`,collapsed:!0,description:`pane.border and pane.borderLeft accept full CSS border shorthands; padding/radius/fadeSize are CSS lengths and shadows are CSS box-shadow values.`,fields:N(`artifact`,`pane.padding pane.borderRadius pane.shadow pane.border pane.borderLeft chat.shadow split.outerRadius tab.fadeSize`)},{id:`comp-suggestion-chip-type`,title:`Suggestion Chip Type & Padding`,collapsed:!0,fields:N(`suggestion.chip`,`fontWeight padding`)}],kt=[{id:`comp-composer-menu-colors`,title:`More Menu Colors`,collapsed:!0,fields:N(`composer.overflowMenu`,`background foreground borderColor hoverBackground focusBackground descriptionColor dividerColor`,!0)},{id:`comp-attachment-colors`,title:`Attachment Preview Colors`,collapsed:!0,fields:N(`attachment.composer`,`image.background image.borderColor image.chip.background image.chip.borderColor image.chip.foreground file.background file.borderColor file.foreground file.mutedForeground file.iconBackground file.iconForeground remove.background remove.foreground remove.hoverBackground remove.hoverForeground remove.borderColor image.remove.background image.remove.foreground image.remove.hoverBackground image.remove.hoverForeground image.remove.borderColor file.remove.background file.remove.foreground file.remove.hoverBackground file.remove.hoverForeground file.remove.borderColor`,!0)},{id:`comp-voice-states`,title:`Voice State Colors`,collapsed:!0,description:`Explicit values activate state colors. Unset preserves historical provider/browser defaults.`,fields:N(`voice`,`recording.indicator recording.background recording.border processing.icon processing.background processing.border speaking.icon speaking.background speaking.border`,!0)},{id:`comp-tool-colors`,title:`Tool Card & Row Colors`,collapsed:!0,fields:N(`toolBubble`,`background borderColor header.background header.foreground content.background content.foreground codeBlock.background codeBlock.foreground codeBlock.borderColor toggleForeground labelForeground loading.primary loading.secondary`,!0)},{id:`comp-approval-colors`,title:`Approval Colors`,collapsed:!0,fields:N(`approval`,`requested.background requested.border requested.text requested.titleColor requested.descriptionColor requested.reasonColor requested.parameters.background requested.parameters.foreground approve.background approve.foreground deny.background deny.foreground`,!0)},{id:`comp-question-colors`,title:`Question Sheet Colors`,collapsed:!0,fields:N(`askUserQuestion`,`sheet.background sheet.border pill.background pill.foreground pill.selectedBackground pill.selectedForeground customInput.background`,!0)},{id:`comp-artifact-colors`,title:`Artifact Chrome Colors`,collapsed:!0,fields:N(`artifact`,`pane.background toolbar.iconColor toolbar.toggleActiveBackground toolbar.toggleActiveBorderColor toolbar.toggleActiveColor`,!0)}],At=[...Et,...Ot,et,tt,nt,rt,at,st,ct,ut,dt,ft,pt,wt,St],jt=[...Dt,...kt,mt,it,ot,lt,ht,gt,_t,vt,yt],Mt=[...At,...jt],Nt=1048576,Pt=[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],P={images:[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`],"images-pdf":[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`],"images-text-pdf":[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`,`text/plain`,`text/markdown`,`text/csv`,`application/json`],all:[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`,`application/pdf`,`text/plain`,`text/markdown`,`text/csv`,`application/msword`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,`application/vnd.ms-excel`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,`application/json`]};function Ft(e){return Number(e)*Nt}function It(e){let t=Number(e);return Number.isFinite(t)?String(t>1024?Math.round(t/Nt):t):`10`}function Lt(e){return P[String(e)]??P.images}function Rt(e){let t=Array.isArray(e)?e:P.images,n=[...new Set(t)].sort();for(let[e,t]of Object.entries(P)){let r=[...t].sort();if(n.length===r.length&&n.every((e,t)=>e===r[t]))return e}return n.some(e=>e.startsWith(`application/vnd`)||e===`application/msword`)?`all`:n.some(e=>e===`text/plain`||e===`text/markdown`||e===`text/csv`)?`images-text-pdf`:n.includes(`application/pdf`)?`images-pdf`:`images`}const zt={id:`copy`,title:`Content & Copy`,collapsed:!1,fields:[{id:`copy-show-welcome-card`,label:`Welcome Surface`,description:`Choose a welcome layout, or hide it.`,type:`select`,path:`welcome.variant`,defaultValue:`card`,options:[{value:`card`,label:`Card`},{value:`hero`,label:`Hero`},{value:`none`,label:`Hidden`}]},O(`text`,`copy-welcome-title`,`Welcome Title`,`welcome.title`,`Hello 👋`),O(`text`,`copy-welcome-subtitle`,`Welcome Subtitle`,`welcome.subtitle`,`I can answer questions and help you get things done here.`),O(`text`,`copy-placeholder`,`Input Placeholder`,`copy.inputPlaceholder`,l),O(`text`,`copy-send-label`,`Send Button Label`,`copy.sendButtonLabel`,`Send`)]},Bt={id:`suggestions`,title:`Suggestions`,description:`Choose the suggested prompts, where they appear, and what happens when selected. Remove all prompts to hide them.`,collapsed:!0,fields:[{id:`suggestions-list`,label:`Starter Prompts`,description:`Add, edit, and remove starter prompts directly.`,type:`chip-list`,path:`suggestions.starters.items`,defaultValue:Pt},{id:`suggestions-starter-variant`,label:`Starter Style`,type:`select`,path:`suggestions.starters.variant`,defaultValue:`card`,options:[{value:`card`,label:`Cards`},{value:`chip`,label:`Chips`},{value:`list`,label:`List`}]},{id:`suggestions-starter-placement`,label:`Starter Placement`,type:`select`,path:`suggestions.starters.placement`,defaultValue:`auto`,options:[{value:`auto`,label:`Automatic`},{value:`welcome`,label:`Welcome Surface`},{value:`composer`,label:`Above Composer`},{value:`below-composer`,label:`Below Composer`}]},{id:`suggestions-starter-behavior`,label:`Starter Click`,type:`select`,path:`suggestions.starters.behavior`,defaultValue:`send`,options:[{value:`send`,label:`Send Immediately`},{value:`fill`,label:`Fill Composer`}]},{id:`suggestions-starter-overflow`,label:`Starter Overflow`,type:`select`,path:`suggestions.starters.overflow`,defaultValue:`wrap`,options:[{value:`wrap`,label:`Wrap Rows`},{value:`scroll`,label:`Horizontal Scroll`}]},{id:`suggestions-followup-variant`,label:`Follow-up Style`,type:`select`,path:`suggestions.followUps.variant`,defaultValue:`chip`,options:[{value:`chip`,label:`Chips`},{value:`card`,label:`Cards`},{value:`list`,label:`List`}]},{id:`suggestions-followup-placement`,label:`Follow-up Placement`,type:`select`,path:`suggestions.followUps.placement`,defaultValue:`auto`,options:[{value:`auto`,label:`Automatic`},{value:`after-message`,label:`After Messages`},{value:`composer`,label:`Above Composer`}]},{id:`suggestions-followup-behavior`,label:`Follow-up Click`,type:`select`,path:`suggestions.followUps.behavior`,defaultValue:`send`,options:[{value:`send`,label:`Send Immediately`},{value:`fill`,label:`Fill Composer`}]},{id:`suggestions-followup-overflow`,label:`Follow-up Overflow`,type:`select`,path:`suggestions.followUps.overflow`,defaultValue:`scroll`,options:[{value:`scroll`,label:`Horizontal Scroll`},{value:`wrap`,label:`Wrap Rows`}]}]},Vt={id:`general-layout`,title:`Layout Basics`,collapsed:!0,fields:[O(`toggle`,`layout-show-header`,`Show Header`,`layout.showHeader`,!0),O(`toggle`,`layout-show-footer`,`Show Footer`,`layout.showFooter`,!0),O(`text`,`layout-content-max-width`,`Content Max Width`,`layout.contentMaxWidth`,``,`Max width for messages + composer`)]},Ht={id:`header-layout`,title:`Header`,collapsed:!0,fields:[{id:`layout-header`,label:`Header Layout`,type:`select`,path:`layout.header.layout`,defaultValue:`default`,options:[{value:`default`,label:`Default`},{value:`minimal`,label:`Minimal`}]},O(`toggle`,`layout-show-icon`,`Show Header Icon`,`layout.header.showIcon`,!0),O(`toggle`,`layout-show-title`,`Show Header Title`,`layout.header.showTitle`,!0),O(`toggle`,`layout-show-subtitle`,`Show Header Subtitle`,`layout.header.showSubtitle`,!0),O(`toggle`,`layout-show-close`,`Show Close Button`,`layout.header.showCloseButton`,!0),O(`toggle`,`layout-show-clear`,`Show Clear Chat`,`layout.header.showClearChat`,!0)]},Ut={id:`messages-layout`,title:`Messages`,collapsed:!0,fields:[{id:`layout-messages`,label:`Message Style`,description:`Minimal uses a user bubble with an open assistant response`,type:`select`,path:`layout.messages.layout`,defaultValue:`bubble`,options:[{value:`bubble`,label:`Bubble — bubbles for both`},{value:`minimal`,label:`Minimal — user bubble, open assistant`},{value:`flat`,label:`Flat — open messages for both`}]},{id:`layout-message-user-width`,label:`User Width`,description:`Content hugs the message; Full fills the transcript track`,type:`select`,path:`layout.messages.user.width`,defaultValue:`content`,options:[{value:`content`,label:`Content`},{value:`full`,label:`Full`}]},{id:`layout-message-user-max-width`,label:`User Max Width`,description:`Optional CSS width such as 80%, 42rem, or 72ch; blank uses the width mode default`,type:`text`,path:`layout.messages.user.maxWidth`,defaultValue:``,parseValue:A},{id:`layout-message-assistant-width`,label:`Assistant Width`,description:`Content hugs the message; Full fills the transcript track`,type:`select`,path:`layout.messages.assistant.width`,defaultValue:`content`,options:[{value:`content`,label:`Content`},{value:`full`,label:`Full`}]},{id:`layout-message-assistant-max-width`,label:`Assistant Max Width`,description:`Optional CSS width such as 80%, 42rem, or 72ch; blank uses the width mode default`,type:`text`,path:`layout.messages.assistant.maxWidth`,defaultValue:``,parseValue:A},O(`toggle`,`layout-group`,`Group Consecutive`,`layout.messages.groupConsecutive`,!1),O(`toggle`,`layout-avatar-show`,`Show Avatars`,`layout.messages.avatar.show`,!1),{id:`layout-avatar-pos`,label:`Avatar Position`,type:`select`,path:`layout.messages.avatar.position`,defaultValue:`left`,options:[{value:`left`,label:`Left`},{value:`right`,label:`Right`}]},O(`text`,`layout-avatar-user`,`User Avatar URL`,`layout.messages.avatar.userAvatar`,``),O(`text`,`layout-avatar-assistant`,`Assistant Avatar URL`,`layout.messages.avatar.assistantAvatar`,``),O(`toggle`,`layout-timestamp-show`,`Show Timestamps`,`layout.messages.timestamp.show`,!1),{id:`layout-timestamp-pos`,label:`Timestamp Position`,type:`select`,path:`layout.messages.timestamp.position`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`below`,label:`Below`}]}]},Wt={id:`message-actions`,title:`Message Actions`,collapsed:!0,fields:[O(`toggle`,`msg-actions-enabled`,`Enabled`,`messageActions.enabled`,!0),O(`toggle`,`msg-actions-copy`,`Show Copy`,`messageActions.showCopy`,!0),O(`toggle`,`msg-actions-upvote`,`Show Upvote`,`messageActions.showUpvote`,!0),O(`toggle`,`msg-actions-downvote`,`Show Downvote`,`messageActions.showDownvote`,!0),O(`toggle`,`msg-actions-read-aloud`,`Show Read Aloud`,`messageActions.showReadAloud`,!1),{id:`msg-actions-visibility`,label:`Visibility`,type:`select`,path:`messageActions.visibility`,defaultValue:`hover`,options:[{value:`hover`,label:`On Hover`},{value:`always`,label:`Always Visible`}]},{id:`msg-actions-align`,label:`Alignment`,type:`select`,path:`messageActions.align`,defaultValue:`right`,options:[{value:`left`,label:`Left`},{value:`right`,label:`Right`}]},{id:`msg-actions-layout`,label:`Layout`,type:`select`,path:`messageActions.layout`,defaultValue:`pill-inside`,options:[{value:`pill-inside`,label:`Pill`},{value:`row-inside`,label:`Row`}]}]},Gt={id:`launcher-basics`,title:`Launcher`,collapsed:!0,fields:[O(`toggle`,`launch-enabled`,`Enabled`,`launcher.enabled`,!0),{id:`launch-mount-mode`,label:`Mount Mode`,type:`select`,path:`launcher.mountMode`,defaultValue:`floating`,options:[{value:`floating`,label:`Floating`},{value:`docked`,label:`Docked`}]},{id:`launch-position`,label:`Position`,type:`select`,path:`launcher.position`,defaultValue:`bottom-right`,options:[{value:`bottom-right`,label:`Bottom Right`},{value:`bottom-left`,label:`Bottom Left`},{value:`top-right`,label:`Top Right`},{value:`top-left`,label:`Top Left`}]},O(`text`,`launch-width`,`Width`,`launcher.width`,c),O(`toggle`,`launch-auto-expand`,`Auto Expand`,`launcher.autoExpand`,!1),O(`text`,`launch-title`,`Title`,`launcher.title`,`Chat Assistant`),O(`text`,`launch-subtitle`,`Subtitle`,`launcher.subtitle`,`Here to help you get answers fast`)]},Kt={id:`launcher-advanced`,title:`Launcher Advanced`,collapsed:!0,fields:[{id:`launch-dock-side`,label:`Dock Side`,type:`select`,path:`launcher.dock.side`,defaultValue:`right`,options:[{value:`right`,label:`Right`},{value:`left`,label:`Left`}]},O(`text`,`launch-dock-width`,`Dock Width`,`launcher.dock.width`,`420px`),O(`toggle`,`launch-dock-animate`,`Dock Animate`,`launcher.dock.animate`,!0),{id:`launch-dock-reveal`,label:`Dock Reveal`,type:`select`,path:`launcher.dock.reveal`,defaultValue:`resize`,options:[{value:`resize`,label:`Resize`},{value:`overlay`,label:`Overlay`},{value:`push`,label:`Push`},{value:`emerge`,label:`Emerge`}]},O(`toggle`,`launch-text-hidden`,`Hide Text`,`launcher.textHidden`,!1),O(`text`,`launch-icon-text`,`Agent Icon Text`,`launcher.agentIconText`,`💬`),O(`text`,`launch-icon-name`,`Agent Icon Name (Lucide)`,`launcher.agentIconName`,`bot`),O(`toggle`,`launch-icon-hidden`,`Hide Agent Icon`,`launcher.agentIconHidden`,!1),k(`launch-icon-size`,`Agent Icon Size`,`launcher.agentIconSize`,`40px`,{min:16,max:72,step:2}),O(`text`,`launch-icon-url`,`Icon Image URL`,`launcher.iconUrl`,``,`Custom image URL (overrides emoji/lucide)`),O(`text`,`launch-header-icon-name`,`Header Icon Name (Lucide)`,`launcher.headerIconName`,`bot`),k(`launch-header-icon-size`,`Header Icon Size`,`launcher.headerIconSize`,`48px`,{min:24,max:80,step:2}),O(`toggle`,`launch-header-icon-hidden`,`Hide Header Icon`,`launcher.headerIconHidden`,!1),O(`toggle`,`launch-full-height`,`Full Height`,`launcher.fullHeight`,!1),O(`toggle`,`launch-sidebar`,`Sidebar Mode`,`launcher.sidebarMode`,!1),O(`text`,`launch-sidebar-width`,`Sidebar Width`,`launcher.sidebarWidth`,`420px`),O(`toggle`,`launch-mobile-fullscreen`,`Mobile Fullscreen`,`launcher.mobileFullscreen`,!0,`Fullscreen on mobile devices`),{id:`launch-mobile-breakpoint`,label:`Mobile Breakpoint (px)`,type:`text`,path:`launcher.mobileBreakpoint`,defaultValue:640,formatValue:e=>String(e??640),parseValue:e=>Number(e)},{id:`launch-height-offset`,label:`Height Offset (px)`,type:`text`,path:`launcher.heightOffset`,defaultValue:0,formatValue:e=>String(e??0),parseValue:e=>Number(e)},O(`text`,`launch-collapsed-max-width`,`Collapsed Max Width`,`launcher.collapsedMaxWidth`,``,`Max width of launcher pill when closed`),O(`text`,`launch-cta-text`,`CTA Icon Text`,`launcher.callToActionIconText`,`↗`),O(`text`,`launch-cta-name`,`CTA Icon Name`,`launcher.callToActionIconName`,``),O(`toggle`,`launch-cta-hidden`,`Hide CTA Icon`,`launcher.callToActionIconHidden`,!1),k(`launch-cta-size`,`CTA Icon Size`,`launcher.callToActionIconSize`,`32px`,{min:16,max:64,step:2}),k(`launch-cta-padding`,`CTA Icon Padding`,`launcher.callToActionIconPadding`,`5px`,{min:0,max:24,step:1}),O(`color`,`launch-cta-bg`,`CTA Icon Background`,`launcher.callToActionIconBackgroundColor`,``)]},qt={id:`send-button`,title:`Send Button`,collapsed:!0,fields:[O(`toggle`,`send-use-icon`,`Use Icon`,`sendButton.useIcon`,!1),O(`text`,`send-icon-text`,`Icon Text`,`sendButton.iconText`,`↑`),O(`text`,`send-icon-name`,`Icon Name (Lucide)`,`sendButton.iconName`,``),O(`toggle`,`send-show-tooltip`,`Show Tooltip`,`sendButton.showTooltip`,!1),O(`text`,`send-tooltip-text`,`Tooltip Text`,`sendButton.tooltipText`,`Send message`)]},Jt={id:`close-button`,title:`Close Button`,collapsed:!0,fields:[{id:`close-placement`,label:`Placement`,type:`select`,path:`launcher.closeButtonPlacement`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`top-right`,label:`Top Right`}]},O(`text`,`close-icon-name`,`Icon Name`,`launcher.closeButtonIconName`,`x`),O(`text`,`close-icon-text`,`Icon Text`,`launcher.closeButtonIconText`,`×`),O(`toggle`,`close-show-tooltip`,`Show Tooltip`,`launcher.closeButtonShowTooltip`,!0),O(`text`,`close-tooltip-text`,`Tooltip Text`,`launcher.closeButtonTooltipText`,`Close chat`)]},Yt={id:`clear-chat`,title:`Clear Chat Button`,collapsed:!0,fields:[O(`toggle`,`clear-enabled`,`Enabled`,`launcher.clearChat.enabled`,!0),{id:`clear-placement`,label:`Placement`,type:`select`,path:`launcher.clearChat.placement`,defaultValue:`inline`,options:[{value:`inline`,label:`Inline`},{value:`top-right`,label:`Top Right`}]},O(`text`,`clear-icon-name`,`Icon Name`,`launcher.clearChat.iconName`,`refresh-cw`),O(`toggle`,`clear-show-tooltip`,`Show Tooltip`,`launcher.clearChat.showTooltip`,!0),O(`text`,`clear-tooltip-text`,`Tooltip Text`,`launcher.clearChat.tooltipText`,`Clear chat`)]},Xt={id:`status-indicator`,title:`Status Indicator`,collapsed:!0,fields:[O(`toggle`,`status-visible`,`Visible`,`statusIndicator.visible`,!0),{id:`status-align`,label:`Alignment`,type:`select`,path:`statusIndicator.align`,defaultValue:`right`,options:[{value:`left`,label:`Left`},{value:`center`,label:`Center`},{value:`right`,label:`Right`}]},O(`text`,`status-idle-text`,`Idle Text`,`statusIndicator.idleText`,`Online`),O(`text`,`status-connecting-text`,`Connecting Text`,`statusIndicator.connectingText`,`Connecting…`),O(`text`,`status-connected-text`,`Connected Text`,`statusIndicator.connectedText`,`Streaming…`),O(`text`,`status-error-text`,`Error Text`,`statusIndicator.errorText`,`Offline`)]},Zt={id:`features`,title:`Features`,collapsed:!0,fields:[O(`toggle`,`feat-voice`,`Voice Recognition`,`voiceRecognition.enabled`,!1,`Enable voice input`),O(`toggle`,`feat-auto-focus`,`Auto Focus Input`,`autoFocusInput`,!1,`Focus input after panel opens`),O(`toggle`,`feat-scroll-bottom-enabled`,`Scroll To Bottom`,`features.scrollToBottom.enabled`,!0,`Show a button to return to the latest messages.`),O(`text`,`feat-scroll-bottom-icon`,`Scroll To Bottom Icon`,`features.scrollToBottom.iconName`,`arrow-down`),O(`text`,`feat-scroll-bottom-label`,`Scroll To Bottom Label`,`features.scrollToBottom.label`,``,`Leave empty for icon-only mode`),{id:`feat-scroll-bottom-streaming`,label:`Streaming Below`,type:`select`,path:`features.scrollToBottom.streamingIndicator`,defaultValue:`arrow`,options:[{value:`arrow`,label:`Arrow`},{value:`dots`,label:`Dots`}]},{id:`feat-scroll-bottom-behavior`,label:`Jump To Latest Motion`,description:`How the conversation scrolls when you click the jump button.`,type:`select`,path:`features.scrollToBottom.scrollBehavior`,defaultValue:`instant`,options:[{value:`instant`,label:`Instant`},{value:`smooth`,label:`Smooth`}]},{id:`feat-scroll-bottom-duration`,label:`Jump Duration (ms)`,description:`How long smooth scrolling takes. Set to 0 for an instant jump.`,type:`text`,path:`features.scrollToBottom.scrollDurationMs`,defaultValue:220,formatValue:e=>String(e??220),parseValue:e=>String(e).trim()===``?void 0:Number(e)},{id:`feat-scroll-bottom-transition`,label:`Scroll Button Transition`,type:`select`,path:`features.scrollToBottom.transition`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`fade`,label:`Fade`}]}]},Qt={id:`stream-animation`,title:`Stream Animation`,description:`Choose how text appears as the assistant responds.`,collapsed:!0,fields:[{id:`stream-anim-type`,label:`Animation`,description:`The visual effect used to reveal a reply.`,type:`select`,path:`features.streamAnimation.type`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`typewriter`,label:`Typewriter`},{value:`word-fade`,label:`Word fade`},{value:`letter-rise`,label:`Letter rise`},{value:`glyph-cycle`,label:`Glyph cycle`},{value:`wipe`,label:`Wipe`},{value:`pop-bubble`,label:`Pop bubble`}]},{id:`stream-anim-placeholder`,label:`Before the Reply Starts`,description:`What to show while waiting for a reply.`,type:`select`,path:`features.streamAnimation.placeholder`,defaultValue:`none`,options:[{value:`none`,label:`Typing indicator (default)`},{value:`skeleton`,label:`Skeleton shimmer`}]},{id:`stream-anim-buffer`,label:`Reveal Text By`,description:`Show text as it arrives, or wait for a complete word or line.`,type:`select`,path:`features.streamAnimation.buffer`,defaultValue:`none`,options:[{value:`none`,label:`Each character`},{value:`word`,label:`Complete words`},{value:`line`,label:`Complete lines`}]},{id:`stream-anim-speed`,label:`Text Animation Duration (ms)`,description:`Animation length for each character or word.`,type:`select`,path:`features.streamAnimation.speed`,defaultValue:120,options:[{value:`40`,label:`40ms: snappy`},{value:`80`,label:`80ms`},{value:`120`,label:`120ms (default)`},{value:`200`,label:`200ms`},{value:`320`,label:`320ms`},{value:`480`,label:`480ms: slow`}],formatValue:e=>String(e??120),parseValue:e=>Number(e)},{id:`stream-anim-duration`,label:`Bubble Animation Duration (ms)`,description:`How long effects on the whole reply bubble take.`,type:`select`,path:`features.streamAnimation.duration`,defaultValue:1800,options:[{value:`600`,label:`600ms`},{value:`1200`,label:`1200ms`},{value:`1800`,label:`1800ms (default)`},{value:`2400`,label:`2400ms`},{value:`3600`,label:`3600ms: slow`}],formatValue:e=>String(e??1800),parseValue:e=>Number(e)}]},$t={id:`composer-menu-config`,title:`More Menu`,collapsed:!0,fields:[O(`toggle`,`composer-menu-enabled`,`Show More Menu`,`composer.actionOverflow.enabled`,!1),{id:`composer-menu-width`,label:`Menu Width`,type:`select`,path:`composer.actionOverflow.menu.width`,defaultValue:`content`,options:[{value:`content`,label:`Fit contents`},{value:`composer`,label:`Match message box`},{value:`240px`,label:`Compact (240px)`},{value:`320px`,label:`Wide (320px)`}]},{id:`composer-menu-placement`,label:`Open Menu`,description:`Moves to fit the available space.`,type:`select`,path:`composer.actionOverflow.menu.placement`,defaultValue:`above`,options:[{value:`above`,label:`Above message box`},{value:`below`,label:`Below message box`}]},{id:`composer-menu-descriptions`,label:`Menu Descriptions`,type:`select`,path:`composer.actionOverflow.menu.descriptionLayout`,defaultValue:`stacked`,options:[{value:`stacked`,label:`Below labels`},{value:`inline`,label:`Beside labels`}]},O(`text`,`composer-menu-icon`,`Menu Icon`,`composer.actionOverflow.menu.triggerIconName`,`plus`),{id:`composer-menu-open-icon`,label:`Open Menu Icon`,type:`select`,path:`composer.actionOverflow.menu.openTriggerIconName`,defaultValue:`plus`,options:[{value:`plus`,label:`Plus`},{value:`x`,label:`Close`}]}]},en={id:`attachments-config`,title:`Attachments`,collapsed:!0,fields:[O(`toggle`,`attach-enabled`,`Enabled`,`attachments.enabled`,!1),{id:`attach-max-files`,label:`Max Files`,type:`select`,path:`attachments.maxFiles`,defaultValue:4,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`4`,label:`4`},{value:`6`,label:`6`},{value:`8`,label:`8`},{value:`10`,label:`10`}],formatValue:e=>String(e??4),parseValue:e=>Number(e)},{id:`attach-max-size`,label:`Max File Size (MB)`,type:`select`,path:`attachments.maxFileSize`,defaultValue:10*Nt,options:[{value:`1`,label:`1 MB`},{value:`5`,label:`5 MB`},{value:`10`,label:`10 MB`},{value:`25`,label:`25 MB`},{value:`50`,label:`50 MB`}],formatValue:It,parseValue:Ft},{id:`attach-types`,label:`Allowed File Types`,type:`select`,path:`attachments.allowedTypes`,defaultValue:P.images,options:[{value:`images`,label:`Images only`},{value:`images-pdf`,label:`Images + PDF`},{value:`images-text-pdf`,label:`Images + text + PDF`},{value:`all`,label:`All supported types`}],formatValue:Rt,parseValue:Lt},{id:`attach-file-layout`,label:`File Card Layout`,type:`select`,path:`attachments.preview.file.layout`,defaultValue:`tile`,options:[{value:`tile`,label:`Compact tile`},{value:`horizontal`,label:`Horizontal card`},{value:`vertical`,label:`Vertical card`}]},O(`toggle`,`attach-file-icon`,`Show File Icon`,`attachments.preview.file.icon`,!0),{id:`attach-file-icon-name`,label:`File Icon`,type:`text`,path:`attachments.preview.file.iconName`,defaultValue:``,unsettable:!0},{id:`attach-file-icon-placement`,label:`File Icon Position`,type:`select`,path:`attachments.preview.file.iconPlacement`,defaultValue:`start`,options:[{value:`start`,label:`At the start`},{value:`center`,label:`Centered`}]},{id:`attach-file-name`,label:`File Name`,type:`select`,path:`attachments.preview.file.name`,defaultValue:`hidden`,options:[{value:`hidden`,label:`Hidden`},{value:`full`,label:`Full name`},{value:`basename`,label:`Without extension`}]},{id:`attach-file-metadata`,label:`File Details`,description:`Line count is available for supported text files.`,type:`select`,path:`attachments.preview.file.metadata`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`size`,label:`File size`},{value:`line-count`,label:`Line count`}]},{id:`attach-file-badge`,label:`File Badge`,type:`select`,path:`attachments.preview.file.badge`,defaultValue:`type`,options:[{value:`none`,label:`None`},{value:`extension`,label:`Extension`},{value:`type`,label:`File type`}]},{id:`attach-image-layout`,label:`Image Preview`,type:`select`,path:`attachments.preview.image.layout`,defaultValue:`thumbnail`,options:[{value:`thumbnail`,label:`Thumbnail`},{value:`chip`,label:`Compact chip`}]},{id:`attach-image-name`,label:`Image File Name`,type:`select`,path:`attachments.preview.image.name`,defaultValue:`hidden`,options:[{value:`hidden`,label:`Hidden`},{value:`full`,label:`Full name`},{value:`basename`,label:`Without extension`}]},{id:`attach-image-fit`,label:`Image Fit`,type:`select`,path:`attachments.preview.image.fit`,defaultValue:`cover`,options:[{value:`cover`,label:`Fill thumbnail`},{value:`contain`,label:`Show whole image`}]},{id:`attach-file-remove-visibility`,label:`File Remove Button`,description:`Always visible on touch devices.`,type:`select`,path:`attachments.preview.file.remove.visibility`,defaultValue:`always`,options:[{value:`always`,label:`Always visible`},{value:`hover`,label:`On hover or focus`}]},{id:`attach-file-remove-placement`,label:`File Remove Position`,type:`select`,path:`attachments.preview.file.remove.placement`,defaultValue:`overlap`,options:[{value:`overlap`,label:`Overlapping corner`},{value:`inside`,label:`Inside corner`},{value:`inline`,label:`Beside content`}]},{id:`attach-image-remove-visibility`,label:`Image Remove Button`,description:`Always visible on touch devices.`,type:`select`,path:`attachments.preview.image.remove.visibility`,defaultValue:`always`,options:[{value:`always`,label:`Always visible`},{value:`hover`,label:`On hover or focus`}]},{id:`attach-image-remove-placement`,label:`Image Remove Position`,type:`select`,path:`attachments.preview.image.remove.placement`,defaultValue:`overlap`,options:[{value:`overlap`,label:`Overlapping corner`},{value:`inside`,label:`Inside corner`},{value:`inline`,label:`Beside content`}]},{id:`attach-composer-layout`,label:`Input Below Attachments`,description:`Uses separate rows when space is limited.`,type:`select`,path:`composer.attachmentLayout`,defaultValue:`stacked`,options:[{value:`stacked`,label:`Text above controls`},{value:`single-row`,label:`Text beside controls`}]}]},tn={id:`artifacts-config`,title:`Artifacts`,collapsed:!0,fields:[O(`toggle`,`art-enabled`,`Enabled`,`features.artifacts.enabled`,!1,`Show artifact sidebar for documents and components`),{id:`art-appearance`,label:`Pane Appearance`,type:`select`,path:`features.artifacts.layout.paneAppearance`,defaultValue:`panel`,options:[{value:`panel`,label:`Panel (bordered)`},{value:`seamless`,label:`Seamless`}]}]},nn={id:`artifacts-customization`,title:`Artifact Customization`,collapsed:!0,fields:[{id:`art-toolbar`,label:`Toolbar Preset`,type:`select`,path:`features.artifacts.layout.toolbarPreset`,defaultValue:`default`,options:[{value:`default`,label:`Default`},{value:`document`,label:`Document`}]},O(`text`,`art-toolbar-title`,`Toolbar Title`,`features.artifacts.layout.toolbarTitle`,`Artifacts`),O(`text`,`art-close-label`,`Close Button Label`,`features.artifacts.layout.closeButtonLabel`,`Close`),O(`text`,`art-pane-width`,`Pane Width`,`features.artifacts.layout.paneWidth`,`40%`,`CSS width (e.g. 40%, 28rem)`),O(`text`,`art-pane-max-width`,`Pane Max Width`,`features.artifacts.layout.paneMaxWidth`,`28rem`),O(`text`,`art-split-gap`,`Split Gap`,`features.artifacts.layout.splitGap`,`0`),O(`toggle`,`art-resizable`,`Resizable`,`features.artifacts.layout.resizable`,!1,`Allow dragging the pane divider`),O(`toggle`,`art-expand-panel`,`Expand Panel When Open`,`features.artifacts.layout.expandLauncherPanelWhenOpen`,!0,`Widen the launcher panel to fit artifacts`)]},rn={id:`api-integration`,title:`API & Integration`,description:`Runtime and integration options.`,collapsed:!0,fields:[O(`text`,`dev-api-url`,`API URL`,`apiUrl`,``),O(`text`,`dev-flow`,`Flow ID`,`flowId`,``),{id:`dev-parser`,label:`Stream Parser`,type:`select`,path:`parserType`,defaultValue:`plain`,options:[{value:`plain`,label:`Plain Text`},{value:`json`,label:`JSON`},{value:`regex-json`,label:`Regex JSON`},{value:`xml`,label:`XML`}]}]},an={type:`select`,defaultValue:`panel`,options:[{value:`collapsed`,label:`Collapsed card`},{value:`panel`,label:`Side panel`},{value:`inline`,label:`In conversation`}],unsettable:!0,unsetLabel:`Use default`,requiresCapability:`artifacts`},on={id:`artifact-display-preferences`,title:`Artifact display`,description:`Choose where generated files and other content appear.`,requiresCapability:`artifacts`,fields:[{...an,id:`artifact-display-files`,label:`Generated files`,description:`Default for HTML, CSV, documents, and code files.`,path:`features.artifacts.display.files`},{...an,id:`artifact-display-components`,label:`Interactive content`,description:`Charts, forms, cards, and other interactive content.`,path:`features.artifacts.display.byKind.component`},{...an,id:`artifact-display-default`,label:`Other artifacts`,description:`Plain documents and anything without a narrower rule.`,path:`features.artifacts.display.default`},{id:`artifact-file-preview`,label:`Render supported file previews`,type:`toggle`,path:`features.artifacts.filePreview.enabled`,defaultValue:!0,unsettable:!0,unsetLabel:`Use default`,requiresCapability:`artifacts`}]},sn={label:`Stream and artifacts`,sections:[{id:`stream-display-preferences`,title:`Tool calls and reasoning`,fields:[{id:`pref-show-tools`,label:`Show tool calls`,type:`toggle`,path:`features.showToolCalls`,defaultValue:!0,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-layout`,label:`Tool layout`,type:`select`,path:`features.toolCallDisplay.layout`,defaultValue:`card`,options:[{value:`row`,label:`Row`},{value:`card`,label:`Card`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-collapsed-mode`,label:`Tool call summary`,type:`select`,path:`features.toolCallDisplay.collapsedMode`,defaultValue:`tool-call`,options:[{value:`tool-call`,label:`Tool call`},{value:`tool-name`,label:`Tool name`},{value:`tool-preview`,label:`Tool preview`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-expandable`,label:`Expandable tools`,type:`toggle`,path:`features.toolCallDisplay.expandable`,defaultValue:!0,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-grouped`,label:`Group tool calls`,type:`toggle`,path:`features.toolCallDisplay.grouped`,defaultValue:!1,unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-group-boundary`,label:`Group tools by`,type:`select`,path:`features.toolCallDisplay.groupBoundary`,defaultValue:`adjacent`,options:[{value:`adjacent`,label:`Adjacent tools`},{value:`iteration`,label:`Agent iteration`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-grouped-mode`,label:`Group details`,type:`select`,path:`features.toolCallDisplay.groupedMode`,defaultValue:`stack`,options:[{value:`stack`,label:`Show steps`},{value:`summary`,label:`Summary only`},{value:`collapsible`,label:`Expandable group`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-group-appearance`,label:`Appearance`,type:`select`,path:`features.toolCallDisplay.groupAppearance`,options:[{value:`plain`,label:`Plain`},{value:`inset`,label:`Inset`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-tool-loading-animation`,label:`Tool animation`,type:`select`,path:`features.toolCallDisplay.loadingAnimation`,defaultValue:`none`,options:[{value:`none`,label:`None`},{value:`pulse`,label:`Pulse`},{value:`shimmer`,label:`Shimmer`},{value:`shimmer-color`,label:`Color shimmer`},{value:`rainbow`,label:`Rainbow`}],unsettable:!0,requiresCapability:`tools`},{id:`pref-show-reasoning`,label:`Show reasoning`,type:`toggle`,path:`features.showReasoning`,defaultValue:!0,unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-layout`,label:`Reasoning layout`,type:`select`,path:`features.reasoningDisplay.layout`,defaultValue:`card`,options:[{value:`row`,label:`Row`},{value:`card`,label:`Card`}],unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-appearance`,label:`Reasoning details`,type:`select`,path:`features.reasoningDisplay.appearance`,options:[{value:`plain`,label:`Plain`},{value:`inset`,label:`Inset`},{value:`panel`,label:`Panel`}],unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-expandable`,label:`Reasoning expandable`,type:`toggle`,path:`features.reasoningDisplay.expandable`,defaultValue:!0,unsettable:!0,requiresCapability:`reasoning`},{id:`pref-reasoning-active-preview`,label:`Active reasoning preview`,type:`toggle`,path:`features.reasoningDisplay.activePreview`,defaultValue:!1,unsettable:!0,requiresCapability:`reasoning`}]},on]},cn={id:`debug-inspection`,title:`Debug & Inspection`,collapsed:!0,fields:[O(`toggle`,`dev-tool-active-preview`,`Tool Preview While Active`,`features.toolCallDisplay.activePreview`,!1,`Show a lightweight preview in collapsed active tool rows`),{id:`dev-tool-preview-lines`,label:`Tool Preview Lines`,type:`select`,path:`features.toolCallDisplay.previewMaxLines`,defaultValue:3,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`4`,label:`4`},{value:`5`,label:`5`}],formatValue:e=>String(e??3),parseValue:e=>Number(e)},O(`text`,`dev-tool-active-min-height`,`Tool Active Min Height`,`features.toolCallDisplay.activeMinHeight`,``,`CSS min-height for collapsed active tool rows (e.g. 5rem)`),{id:`dev-reasoning-preview-lines`,label:`Reasoning Preview Lines`,type:`select`,path:`features.reasoningDisplay.previewMaxLines`,defaultValue:3,options:[{value:`1`,label:`1`},{value:`2`,label:`2`},{value:`3`,label:`3`},{value:`4`,label:`4`},{value:`5`,label:`5`}],formatValue:e=>String(e??3),parseValue:e=>Number(e)},O(`text`,`dev-reasoning-active-min-height`,`Reasoning Active Min Height`,`features.reasoningDisplay.activeMinHeight`,``,`CSS min-height for collapsed active reasoning rows (e.g. 5rem)`),O(`toggle`,`dev-debug`,`Debug Mode`,`debug`,!1,`Show debug information`)]},ln={id:`markdown`,title:`Markdown Options`,collapsed:!0,fields:[O(`toggle`,`md-gfm`,`GitHub Flavored Markdown`,`markdown.options.gfm`,!0),O(`toggle`,`md-breaks`,`Line Breaks`,`markdown.options.breaks`,!0),O(`toggle`,`md-header-ids`,`Header IDs`,`markdown.options.headerIds`,!1),O(`toggle`,`md-pedantic`,`Pedantic Mode`,`markdown.options.pedantic`,!1),O(`toggle`,`md-silent`,`Silent`,`markdown.options.silent`,!1),O(`toggle`,`md-disable-styles`,`Disable Default Styles`,`markdown.disableDefaultStyles`,!1)]},F=[{label:`Content`,sections:[zt,Bt]},{label:`Layout`,sections:[Vt,Ht,Ut,Wt]},{label:`Widget`,sections:[Gt,Kt,qt,Jt,Yt,Xt]},{label:`Features`,sections:[Zt,Qt,$t,en,tn,nn]},sn,{label:`Developer`,collapsedByDefault:!0,sections:[rn,cn,ln]}],un=F.flatMap(e=>e.sections),dn={id:`theme-mode-v2`,title:`Theme`,description:`Choose how the interface adapts across light and dark mode.`,collapsed:!1,fields:[{id:`color-mode`,label:`Color Mode`,type:`select`,path:`colorScheme`,defaultValue:`auto`,options:[{value:`auto`,label:`Auto`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}]}]},fn={id:`brand-palette-v2`,title:`Brand Palette`,description:`Set your brand, accent, and neutral colors. These are used to generate the interface theme.`,collapsed:!1,fields:[O(`color`,`bp-primary`,`Primary`,`theme.palette.colors.primary.500`,`#171717`,`Main brand color`),O(`color`,`bp-secondary`,`Secondary`,`theme.palette.colors.secondary.500`,`#8b5cf6`,`Supporting brand color`),O(`color`,`bp-accent`,`Accent`,`theme.palette.colors.accent.500`,`#06b6d4`,`Highlight and decorative color`),O(`color`,`bp-neutral`,`Neutral`,`theme.palette.colors.gray.500`,`#6b7280`,`Backgrounds, text, and borders`)]},pn={id:`status-palette`,title:`Status Palette`,description:`Colors for system feedback states.`,collapsed:!0,fields:[O(`color`,`sp-success`,`Success`,`theme.palette.colors.success.500`,`#22c55e`),O(`color`,`sp-warning`,`Warning`,`theme.palette.colors.warning.500`,`#eab308`),O(`color`,`sp-error`,`Error`,`theme.palette.colors.error.500`,`#ef4444`),O(`color`,`sp-notice`,`Notice`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`,`Info and notice states`)]},mn={id:`interface-roles`,title:`Interface Roles`,description:`Control where brand and neutral colors appear across the interface.`,collapsed:!1,fields:[{id:`role-surfaces`,label:`Background Surfaces`,type:`role-assignment`,path:`theme.semantic.colors.background`,roleAssignment:Ne},{id:`role-header`,label:`Header`,type:`role-assignment`,path:`theme.components.header.background`,roleAssignment:Pe},{id:`role-user-messages`,label:`User Messages`,type:`role-assignment`,path:`theme.components.message.user.background`,roleAssignment:Fe},{id:`role-assistant-messages`,label:`Assistant Messages`,type:`role-assignment`,path:`theme.components.message.assistant.background`,roleAssignment:Ie},{id:`role-primary-actions`,label:`Primary Actions`,type:`role-assignment`,path:`theme.components.button.primary.background`,roleAssignment:Le},{id:`role-scroll-to-bottom`,label:`Scroll To Bottom`,type:`role-assignment`,path:`theme.components.scrollToBottom.background`,roleAssignment:Re},{id:`role-input`,label:`Input Field`,type:`role-assignment`,path:`theme.components.input.background`,roleAssignment:ze},{id:`role-links-focus`,label:`Links & Focus`,type:`role-assignment`,path:`theme.semantic.colors.accent`,roleAssignment:Be},{id:`role-borders`,label:`Borders & Dividers`,type:`role-assignment`,path:`theme.semantic.colors.border`,roleAssignment:Ve}]},hn={id:`status-colors`,title:`Status Colors`,description:`Used for system states like success, warning, notice, and error.`,collapsed:!0,fields:[D(`sc-notice`,`Notice`,`theme.semantic.colors.feedback.info`,`palette.colors.primary.500`),D(`sc-success`,`Success`,`theme.semantic.colors.feedback.success`,`palette.colors.success.500`),D(`sc-warning`,`Warning`,`theme.semantic.colors.feedback.warning`,`palette.colors.warning.500`),D(`sc-error`,`Error`,`theme.semantic.colors.feedback.error`,`palette.colors.error.500`)]},gn={id:`advanced-tokens`,title:`Advanced Tokens`,description:`Override individual semantic and component values when you need precise control.`,collapsed:!0,fields:[]},_n=[dn,fn,pn,mn,hn,gn],vn=[{id:`style`,label:`Style`,sections:j},{id:`design-system`,label:`Design System`,sections:Mt},{id:`configure`,label:`Configure`,sections:un}],yn=(e,t)=>t.split(`.`).reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e);function bn(e,t){let n=p({future:t}),r=fe(t),i=e.path,a=i.startsWith(`theme.`)?i.slice(6):i.startsWith(`darkTheme.`)?i.slice(10):void 0,o=a?yn(r,a):yn(n,i);return o===void 0?e.defaultValue:o}function xn(e){return vn.map(t=>({...t,sections:t.sections.map(t=>({...t,fields:t.fields.map(t=>({...t,defaultValue:bn(t,e)}))}))}))}const Sn=xn();function Cn(e,t){return e.startsWith(`theme.`)?e.replace(/^theme\./,`${t}.`):e}function wn(e,t,n){return{...e,id:`${n}-${e.id}`,path:Cn(e.path,t)}}function Tn(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Section "${t}" not found in definitions`);return n}function En(e,t,n,r=e.collapsed){let i=n===`light`?`Light`:`Dark`,a=n===`light`?`Applies when the widget is in light mode.`:`Applies when the widget is in dark mode.`;return{...e,id:`${n}-${e.id}`,title:`${i} ${e.title}`,description:e.description?`${a} ${e.description}`:a,collapsed:r,fields:e.fields.map(e=>wn(e,t,n)),presets:e.presets?.map(e=>({...e,id:`${n}-${e.id}`,values:Object.fromEntries(Object.entries(e.values).map(([e,n])=>[Cn(e,t),n]))}))}}const I={id:`default-light`,name:`Default Light`,description:`Clean monochrome light theme`,theme:{components:{artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}}},preview:{primary:`#171717`,surface:`#ffffff`,accent:`#0f0f0f`},tags:[`light`]},L={id:`default-dark`,name:`Default Dark`,description:`Monochrome dark theme`,theme:{palette:{colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`}}},semantic:{colors:{primary:`palette.colors.primary.400`,secondary:`palette.colors.gray.400`,accent:`palette.colors.primary.500`,surface:`palette.colors.gray.800`,background:`palette.colors.gray.900`,container:`palette.colors.gray.800`,text:`palette.colors.gray.100`,textMuted:`palette.colors.gray.400`,textInverse:`palette.colors.gray.900`,border:`palette.colors.gray.700`,divider:`palette.colors.gray.700`,interactive:{default:`palette.colors.primary.400`,hover:`palette.colors.primary.300`,focus:`palette.colors.primary.500`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.600`},feedback:{success:`palette.colors.success.400`,warning:`palette.colors.warning.400`,error:`palette.colors.error.400`,info:`palette.colors.primary.400`}}},components:{markdown:{link:{foreground:`palette.colors.primary.300`}}}},preview:{primary:`#171717`,surface:`#1f2937`,accent:`#0f0f0f`},tags:[`dark`]},Dn=[{id:`persona-default`,name:`Persona Default`,description:`Adaptive Persona theme with light and dark modes`,theme:I.theme,darkTheme:L.theme,preview:I.preview,darkPreview:L.preview,tags:[`light`,`dark`,`adaptive`]},I,L,{id:`high-contrast`,name:`High Contrast`,description:`Maximum contrast for accessibility`,theme:{semantic:{colors:{primary:`palette.colors.primary.700`,secondary:`palette.colors.gray.700`,accent:`palette.colors.primary.800`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.200`,text:`palette.colors.gray.950`,textMuted:`palette.colors.gray.700`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.400`,divider:`palette.colors.gray.400`,interactive:{default:`palette.colors.primary.700`,hover:`palette.colors.primary.800`,focus:`palette.colors.primary.900`,active:`palette.colors.primary.950`,disabled:`palette.colors.gray.400`},feedback:{success:`palette.colors.success.700`,warning:`palette.colors.warning.700`,error:`palette.colors.error.700`,info:`palette.colors.primary.700`}}}},preview:{primary:`#0a0a0a`,surface:`#f9fafb`,accent:`#050505`},tags:[`light`,`high-contrast`,`accessibility`]}],R=[...Dn];function On(e){return R.find(t=>t.id===e)}const kn={desktop:{w:1280,h:800},mobile:{w:390,h:844}},z=`persona-preview-shell-theme`,An={load:()=>null,save:()=>{},clear:()=>{}},jn=[`How do I get started?`,`Pricing & plans`,`Talk to support`];function Mn(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Nn(e){return e===`dark`?{pageBg:`linear-gradient(180deg, #0f172a 0%, #020617 100%)`,chromeBg:`#111827`,chromeBorder:`#1f2937`,dot:`#475569`,skeleton:`#334155`,cardBg:`#1e293b`,cardBorder:`rgba(148, 163, 184, 0.16)`}:{pageBg:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,chromeBg:`#ffffff`,chromeBorder:`#e5e7eb`,dot:`#cbd5e1`,skeleton:`#e2e8f0`,cardBg:`#e2e8f0`,cardBorder:`rgba(148, 163, 184, 0.18)`}}function Pn(e){let t=Nn(e);return`* { box-sizing: border-box; }
2
2
  html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
3
3
  html { color-scheme: ${e}; }
4
4
  body { font-family: system-ui, sans-serif; background: ${t.pageBg}; }
@@ -1,5 +1,5 @@
1
- import { Sa as WidgetPreferenceSlice, do as DeepPartial, ho as PersonaTheme, k as AgentWidgetConfig, so as ColorShade, xa as WidgetPreferenceCapabilities } from "./types-CSXHl5cN.cjs";
2
- import { A as createPreviewMessages, C as applySceneConfig, D as buildShellCss, E as buildPreviewConfigWithMessages, F as presetStreamsText, M as escapeHtml, N as getPreviewTranscriptPresetLabel, O as buildSrcdoc, P as getShellPalette, S as appendPreviewTranscriptEntry, T as buildPreviewConfig, _ as PreviewTranscriptEntryPreset, b as ZOOM_MAX, c as BuildTranscriptStreamFramesOptions, d as MOCK_BROWSER_CONTENT, f as MOCK_WORKSPACE_CONTENT, g as PreviewShellPalette, h as PreviewScene, i as PreviewShellMode, j as createPreviewTranscriptEntry, k as buildTranscriptStreamFrames, l as DEVICE_DIMENSIONS, m as PreviewConfigOptions, p as PREVIEW_STORAGE_ADAPTER, t as CompareMode, u as HOME_SUGGESTION_CHIPS, v as SHELL_STYLE_ID, w as applyShellTheme, x as ZOOM_MIN, y as TranscriptStreamFrame } from "./preview-DRU27q-X.cjs";
1
+ import { Ca as WidgetPreferenceSlice, Sa as WidgetPreferenceCapabilities, co as ColorShade, fo as DeepPartial, go as PersonaTheme, k as AgentWidgetConfig } from "./types-BOZHQIk0.cjs";
2
+ import { A as createPreviewMessages, C as applySceneConfig, D as buildShellCss, E as buildPreviewConfigWithMessages, F as presetStreamsText, M as escapeHtml, N as getPreviewTranscriptPresetLabel, O as buildSrcdoc, P as getShellPalette, S as appendPreviewTranscriptEntry, T as buildPreviewConfig, _ as PreviewTranscriptEntryPreset, b as ZOOM_MAX, c as BuildTranscriptStreamFramesOptions, d as MOCK_BROWSER_CONTENT, f as MOCK_WORKSPACE_CONTENT, g as PreviewShellPalette, h as PreviewScene, i as PreviewShellMode, j as createPreviewTranscriptEntry, k as buildTranscriptStreamFrames, l as DEVICE_DIMENSIONS, m as PreviewConfigOptions, p as PREVIEW_STORAGE_ADAPTER, t as CompareMode, u as HOME_SUGGESTION_CHIPS, v as SHELL_STYLE_ID, w as applyShellTheme, x as ZOOM_MIN, y as TranscriptStreamFrame } from "./preview-DdUvoLb4.cjs";
3
3
  //#region src/theme-editor/types.d.ts
4
4
  type FieldType = 'color' | 'slider' | 'toggle' | 'select' | 'text' | 'chip-list' | 'color-scale' | 'token-ref' | 'role-assignment';
5
5
  interface SliderOptions {
@@ -1,5 +1,5 @@
1
- import { Sa as WidgetPreferenceSlice, do as DeepPartial, ho as PersonaTheme, k as AgentWidgetConfig, so as ColorShade, xa as WidgetPreferenceCapabilities } from "./types-CSXHl5cN.js";
2
- import { A as createPreviewMessages, C as applySceneConfig, D as buildShellCss, E as buildPreviewConfigWithMessages, F as presetStreamsText, M as escapeHtml, N as getPreviewTranscriptPresetLabel, O as buildSrcdoc, P as getShellPalette, S as appendPreviewTranscriptEntry, T as buildPreviewConfig, _ as PreviewTranscriptEntryPreset, b as ZOOM_MAX, c as BuildTranscriptStreamFramesOptions, d as MOCK_BROWSER_CONTENT, f as MOCK_WORKSPACE_CONTENT, g as PreviewShellPalette, h as PreviewScene, i as PreviewShellMode, j as createPreviewTranscriptEntry, k as buildTranscriptStreamFrames, l as DEVICE_DIMENSIONS, m as PreviewConfigOptions, p as PREVIEW_STORAGE_ADAPTER, t as CompareMode, u as HOME_SUGGESTION_CHIPS, v as SHELL_STYLE_ID, w as applyShellTheme, x as ZOOM_MIN, y as TranscriptStreamFrame } from "./preview-DRU27q-X.js";
1
+ import { Ca as WidgetPreferenceSlice, Sa as WidgetPreferenceCapabilities, co as ColorShade, fo as DeepPartial, go as PersonaTheme, k as AgentWidgetConfig } from "./types-BOZHQIk0.js";
2
+ import { A as createPreviewMessages, C as applySceneConfig, D as buildShellCss, E as buildPreviewConfigWithMessages, F as presetStreamsText, M as escapeHtml, N as getPreviewTranscriptPresetLabel, O as buildSrcdoc, P as getShellPalette, S as appendPreviewTranscriptEntry, T as buildPreviewConfig, _ as PreviewTranscriptEntryPreset, b as ZOOM_MAX, c as BuildTranscriptStreamFramesOptions, d as MOCK_BROWSER_CONTENT, f as MOCK_WORKSPACE_CONTENT, g as PreviewShellPalette, h as PreviewScene, i as PreviewShellMode, j as createPreviewTranscriptEntry, k as buildTranscriptStreamFrames, l as DEVICE_DIMENSIONS, m as PreviewConfigOptions, p as PREVIEW_STORAGE_ADAPTER, t as CompareMode, u as HOME_SUGGESTION_CHIPS, v as SHELL_STYLE_ID, w as applyShellTheme, x as ZOOM_MIN, y as TranscriptStreamFrame } from "./preview-DdUvoLb4.js";
3
3
  //#region src/theme-editor/types.d.ts
4
4
  type FieldType = 'color' | 'slider' | 'toggle' | 'select' | 'text' | 'chip-list' | 'color-scale' | 'token-ref' | 'role-assignment';
5
5
  interface SliderOptions {