@runtypelabs/persona 4.15.0 → 4.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen.cjs +1 -1
- package/dist/codegen.js +1 -1
- package/dist/context-mentions.d.cts +283 -9
- package/dist/context-mentions.d.ts +283 -9
- package/dist/index.cjs +68 -68
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +299 -10
- package/dist/index.d.ts +299 -10
- package/dist/index.global.js +57 -57
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +69 -69
- package/dist/index.js.map +1 -1
- package/dist/install.global.js +1 -1
- package/dist/install.global.js.map +1 -1
- package/dist/launcher.global.js +2 -2
- package/dist/launcher.global.js.map +1 -1
- package/dist/markdown-parsers.js +36 -36
- package/dist/smart-dom-reader.d.cts +283 -9
- package/dist/smart-dom-reader.d.ts +283 -9
- package/dist/testing.cjs +3 -3
- package/dist/testing.d.cts +7 -0
- package/dist/testing.d.ts +7 -0
- package/dist/testing.js +3 -3
- package/dist/theme-editor-preview.cjs +64 -64
- package/dist/theme-editor-preview.d.cts +283 -9
- package/dist/theme-editor-preview.d.ts +283 -9
- package/dist/theme-editor-preview.js +56 -56
- package/dist/theme-editor.cjs +10 -10
- package/dist/theme-editor.d.cts +283 -10
- package/dist/theme-editor.d.ts +283 -10
- package/dist/theme-editor.js +10 -10
- package/dist/theme-reference.cjs +1 -1
- package/dist/theme-reference.d.cts +66 -3
- package/dist/theme-reference.d.ts +66 -3
- package/dist/theme-reference.js +1 -1
- package/dist/widget.css +1 -1
- package/package.json +2 -2
- package/src/components/artifact-pane.test.ts +27 -0
- package/src/components/artifact-pane.ts +7 -3
- package/src/components/header-builder.ts +27 -2
- package/src/components/header-layouts.test.ts +56 -0
- package/src/components/header-layouts.ts +29 -9
- package/src/components/launcher-surface.test.ts +403 -0
- package/src/components/launcher.ts +297 -2
- package/src/components/panel.ts +69 -74
- package/src/components/suggestions.test.ts +40 -0
- package/src/components/suggestions.ts +213 -153
- package/src/components/welcome.test.ts +121 -0
- package/src/components/welcome.ts +305 -0
- package/src/components/widget-view.test.ts +5 -3
- package/src/components/widget-view.ts +14 -7
- package/src/defaults.ts +2 -2
- package/src/index-core.ts +12 -1
- package/src/install.test.ts +35 -1
- package/src/install.ts +47 -11
- package/src/launcher-global.ts +10 -7
- package/src/plugins/types.ts +66 -1
- package/src/styles/widget-styles.test.ts +220 -0
- package/src/styles/widget.css +353 -9
- package/src/testing/mock-stream.test.ts +19 -0
- package/src/testing/mock-stream.ts +20 -0
- package/src/theme-editor/sections.ts +30 -1
- package/src/theme-reference.ts +26 -4
- package/src/types/theme.ts +40 -3
- package/src/types.ts +164 -6
- package/src/ui.body-top-slot.test.ts +95 -0
- package/src/ui.content-width.test.ts +91 -0
- package/src/ui.docked.test.ts +7 -4
- package/src/ui.launcher-teaser.test.ts +162 -0
- package/src/ui.rebuild-composer.test.ts +491 -0
- package/src/ui.render-welcome.test.ts +505 -0
- package/src/ui.scroll-additive.test.ts +91 -21
- package/src/ui.scroll.test.ts +302 -14
- package/src/ui.suggest-replies.test.ts +46 -0
- package/src/ui.ts +747 -136
- package/src/ui.welcome.test.ts +504 -0
- package/src/utils/artifact-gate.test.ts +27 -0
- package/src/utils/artifact-gate.ts +9 -0
- package/src/utils/attachment-manager.test.ts +37 -0
- package/src/utils/attachment-manager.ts +15 -0
- package/src/utils/auto-follow.test.ts +23 -0
- package/src/utils/auto-follow.ts +11 -1
- package/src/utils/config-merge.ts +2 -0
- package/src/utils/content-width.test.ts +37 -0
- package/src/utils/content-width.ts +17 -0
- package/src/utils/plugin-storage.test.ts +94 -0
- package/src/utils/plugin-storage.ts +98 -0
- package/src/utils/theme.test.ts +137 -0
- package/src/utils/tokens.ts +49 -3
- package/src/welcome.test.ts +213 -0
- package/src/welcome.ts +130 -0
package/dist/theme-editor.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ge=Object.defineProperty;var So=Object.getOwnPropertyDescriptor;var To=Object.getOwnPropertyNames;var Co=Object.prototype.hasOwnProperty;var Ro=(e,t)=>{for(var o in t)Ge(e,o,{get:t[o],enumerable:!0})},Ao=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of To(t))!Co.call(e,r)&&r!==o&&Ge(e,r,{get:()=>t[r],enumerable:!(a=So(t,r))||a.enumerable});return e};var Eo=e=>Ao(Ge({},"__esModule",{value:!0}),e);var cr={};Ro(cr,{ADVANCED_TOKENS_SECTION:()=>ut,ALL_ROLES:()=>I,ALL_TABS:()=>De,ARTIFACT_DISPLAY_PREFERENCE_SECTION:()=>rt,BRAND_PALETTE_SECTION:()=>lt,BUILT_IN_PRESETS:()=>ft,COLORS_SECTIONS:()=>$t,COLOR_FAMILIES:()=>Pe,COMPONENTS_SECTIONS:()=>ot,COMPONENT_COLOR_SECTIONS:()=>tt,COMPONENT_SHAPE_SECTIONS:()=>et,CONFIGURE_SECTIONS:()=>st,CONFIGURE_SUB_GROUPS:()=>pe,CONTRAST_PAIRS:()=>q,CSS_NAMED_COLORS:()=>fe,DEVICE_DIMENSIONS:()=>Yt,HOME_SUGGESTION_CHIPS:()=>bt,INTERFACE_ROLES_SECTION:()=>dt,MOCK_BROWSER_CONTENT:()=>wt,MOCK_WORKSPACE_CONTENT:()=>vt,PALETTE_SECTION:()=>Nt,PREVIEW_STORAGE_ADAPTER:()=>ht,RADIUS_PRESETS:()=>Y,ROLE_ASSISTANT_MESSAGES:()=>ae,ROLE_BORDERS:()=>le,ROLE_FAMILIES:()=>Q,ROLE_FAMILY_LABELS:()=>_t,ROLE_HEADER:()=>te,ROLE_INPUT:()=>se,ROLE_INTENSITIES:()=>T,ROLE_LINKS_FOCUS:()=>ie,ROLE_PRIMARY_ACTIONS:()=>re,ROLE_SCROLL_TO_BOTTOM:()=>ne,ROLE_SURFACES:()=>ee,ROLE_USER_MESSAGES:()=>oe,SEMANTIC_COLORS_SECTION:()=>Ht,SHADE_KEYS:()=>B,SHELL_STYLE_ID:()=>ue,STATUS_COLORS_SECTION:()=>pt,STATUS_PALETTE_SECTION:()=>ct,STREAM_AND_ARTIFACTS_SUB_GROUP:()=>nt,STYLE_SECTIONS:()=>O,STYLE_SECTIONS_V2:()=>Ut,THEME_EDITOR_PRESETS:()=>z,THEME_SECTION:()=>it,ThemeEditorState:()=>Se,ZOOM_MAX:()=>Zt,ZOOM_MIN:()=>Kt,appendPreviewTranscriptEntry:()=>eo,applySceneConfig:()=>_e,applyShellTheme:()=>Xt,buildPreviewConfig:()=>ao,buildPreviewConfigWithMessages:()=>ro,buildShellCss:()=>Be,buildSrcdoc:()=>Jt,buildSummary:()=>D,buildTranscriptStreamFrames:()=>to,coerceColor:()=>L,coerceFamily:()=>he,coerceIntensity:()=>be,coerceRadius:()=>we,coerceRoundnessStyle:()=>ke,coerceScheme:()=>ye,convertFromPx:()=>Vt,convertToPx:()=>Dt,createPreviewMessages:()=>St,createPreviewTranscriptEntry:()=>Oe,createThemeEditorTools:()=>Et,detectRoleAssignment:()=>Ie,escapeHtml:()=>yt,findSection:()=>Gt,formatCssValue:()=>Ce,generateColorScale:()=>Ee,getPreviewTranscriptPresetLabel:()=>Qt,getShellPalette:()=>kt,getThemeEditorPreset:()=>Ve,hexToHsl:()=>Ze,hslToHex:()=>Xe,isValidHex:()=>Re,normalizeColorValue:()=>H,paletteColorPath:()=>Bt,parseCssValue:()=>Te,presetStreamsText:()=>xt,quickContrastWarnings:()=>M,resolveRoleAssignment:()=>ce,resolveThemeColorPath:()=>Je,rgbToHex:()=>Ae,runContrastChecks:()=>Z,scopeSection:()=>qt,tokenRefDisplayName:()=>Ot,toolResult:()=>R,wcagContrastRatio:()=>J});module.exports=Eo(cr);var F="min(440px, calc(100vw - 24px))",ve="440px",Io={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:F,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",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",size:"32px",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)"},N={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",launcher:Io,copy:{welcomeTitle:"Hello \u{1F44B}",welcomeSubtitle:"Ask anything about your account or products.",inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",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:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},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};var qe="16px",Ye="transparent",Do={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"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},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"}},Vo={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"}},Bo={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:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:F,maxWidth:ve,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:qe,canvasBackground:Ye},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{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",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",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",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"},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"},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"}},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"}}};function Oo(e){let t=[],o=[];return e.palette||t.push({path:"palette",message:"Theme must include a palette",severity:"error"}),e.semantic||o.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),e.components||o.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:t.length===0,errors:t,warnings:o}}function It(e,t){let o={...e};for(let[a,r]of Object.entries(t)){let n=o[a];n&&typeof n=="object"&&!Array.isArray(n)&&r&&typeof r=="object"&&!Array.isArray(r)?o[a]=It(n,r):o[a]=r}return o}function _o(e,t){return t?It(e,t):e}function v(e,t={}){let o={palette:Do,semantic:Vo,components:Bo},a={palette:{...o.palette,...e?.palette,colors:{...o.palette.colors,...e?.palette?.colors},spacing:{...o.palette.spacing,...e?.palette?.spacing},typography:{...o.palette.typography,...e?.palette?.typography},shadows:{...o.palette.shadows,...e?.palette?.shadows},borders:{...o.palette.borders,...e?.palette?.borders},radius:{...o.palette.radius,...e?.palette?.radius}},semantic:{...o.semantic,...e?.semantic,colors:{...o.semantic.colors,...e?.semantic?.colors,interactive:{...o.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...o.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...o.semantic.spacing,...e?.semantic?.spacing},typography:{...o.semantic.typography,...e?.semantic?.typography}},components:_o(o.components,e?.components)};if(t.validate!==!1){let r=Oo(a);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(n=>n.message).join(", ")}`)}if(t.plugins)for(let r of t.plugins)a=r.transform(a);return a}function Ke(e,t){let o=t.split("."),a=e;for(let r of o){if(a==null)return;a=a[r]}return a}function V(e,t,o){let a=t.split(".");if(a.length===1)return{...e,[a[0]]:o};let[r,...n]=a,s=e;return{...s,[r]:V(s?.[r]??{},n.join("."),o)}}function xe(e,t){let o=t.split(".");if(o.length===1){let c={...e};return delete c[o[0]],c}let[a,...r]=o,n=e,s=xe(n?.[a]??{},r.join(".")),l={...n};return typeof s=="object"&&s!==null&&!Array.isArray(s)&&Object.keys(s).length===0?delete l[a]:l[a]=s,l}var Se=class{constructor(t,o,a){this.listeners=[];this.history=[];this.historyIndex=-1;this.suppressHistory=!1;let r=a?.mergeDefaults??!0;this.config=r?{...N,...o}:o??N,this.theme=v(t,{validate:!1}),this.syncThemeIntoConfig(),this.pushHistorySnapshot(this.exportSnapshot(),!0)}get(t){return t.startsWith("theme.")?Ke(this.theme,t.replace("theme.","")):t.startsWith("darkTheme.")?Ke(this.config.darkTheme??{},t.replace("darkTheme.","")):Ke(this.config,t)}getTheme(){return this.theme}getConfig(){return this.config}set(t,o){if(t.startsWith("theme.")){let a=t.replace("theme.","");this.theme=V(this.theme,a,o),this.syncThemeIntoConfig()}else if(t.startsWith("darkTheme.")){let a=t.replace("darkTheme.",""),r=this.config.darkTheme??v();this.config={...this.config,darkTheme:V(r,a,o)}}else this.config=V(this.config,t,o);this.recordHistory(),this.notifyListeners()}unset(t){if(t.startsWith("theme.")){let o=t.replace("theme.","");this.theme=xe(this.theme,o),this.syncThemeIntoConfig()}else if(t.startsWith("darkTheme.")){let o=t.replace("darkTheme.","");this.config={...this.config,darkTheme:xe(this.config.darkTheme??{},o)}}else this.config=xe(this.config,t);this.recordHistory(),this.notifyListeners()}setBatch(t){let o=!1,a=!1,r=!1;for(let[n,s]of Object.entries(t))if(n.startsWith("theme.")){let l=n.replace("theme.","");this.theme=V(this.theme,l,s),o=!0}else if(n.startsWith("darkTheme.")){let l=n.replace("darkTheme.",""),c=this.config.darkTheme??v();this.config={...this.config,darkTheme:V(c,l,s)},a=!0}else this.config=V(this.config,n,s),r=!0;o&&this.syncThemeIntoConfig(),(o||a||r)&&(this.recordHistory(),this.notifyListeners())}setTheme(t){this.theme=t,this.syncThemeIntoConfig(),this.recordHistory(),this.notifyListeners()}setFullConfig(t,o){this.config={...t},o&&(this.theme=o),this.syncThemeIntoConfig(),this.recordHistory(),this.notifyListeners()}importSnapshot(t){if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Snapshot must be a JSON object");let o=t;if("config"in o||"theme"in o||o.version===2){let r=o.config??this.config,n=v(o.theme??this.theme,{validate:!1});this.setFullConfig(r,n);return}let a=v(o,{validate:!1});this.setTheme(a)}resetToDefaults(){this.config={...N},this.theme=v(),this.syncThemeIntoConfig(),this.history=[],this.historyIndex=-1,this.pushHistorySnapshot(this.exportSnapshot()),this.notifyListeners()}canUndo(){return this.historyIndex>0}canRedo(){return this.historyIndex>=0&&this.historyIndex<this.history.length-1}getHistoryLength(){return this.history.length}getHistoryIndex(){return this.historyIndex}undo(){this.canUndo()&&(this.historyIndex-=1,this.restoreSnapshot(this.history[this.historyIndex]))}redo(){this.canRedo()&&(this.historyIndex+=1,this.restoreSnapshot(this.history[this.historyIndex]))}exportSnapshot(){return{version:2,config:{...this.config,theme:void 0},theme:this.theme}}onChange(t){return this.listeners.push(t),()=>{let o=this.listeners.indexOf(t);o>=0&&this.listeners.splice(o,1)}}syncThemeIntoConfig(){this.config={...this.config,theme:this.theme}}notifyListeners(){for(let t of this.listeners)t(this.config,this.theme)}recordHistory(){this.pushHistorySnapshot(this.exportSnapshot())}pushHistorySnapshot(t,o=!1){if(this.suppressHistory)return;let a=JSON.stringify(t),r=this.historyIndex>=0&&this.history[this.historyIndex]?JSON.stringify(this.history[this.historyIndex]):null;if(o&&this.historyIndex>=0){this.history[this.historyIndex]=t;return}a!==r&&(this.history=this.history.slice(0,this.historyIndex+1),this.history.push(t),this.historyIndex=this.history.length-1)}restoreSnapshot(t){this.suppressHistory=!0,this.config=t.config,this.theme=v(t.theme,{validate:!1}),this.syncThemeIntoConfig(),this.suppressHistory=!1,this.notifyListeners()}};function Te(e){let t=e.trim();if(t==="9999px")return{value:100,unit:"px"};let o=t.match(/^([\d.]+)(px|rem)$/);if(!o){let a=parseFloat(t);return{value:isNaN(a)?0:a,unit:"px"}}return{value:parseFloat(o[1]),unit:o[2]}}function Ce(e,t){return t==="rem"?`${e}rem`:`${e}px`}function Dt(e,t){return t==="rem"?e*16:e}function Vt(e,t){return t==="rem"?e/16:e}function H(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 Re(e){return/^#[0-9A-Fa-f]{6}$/.test(e)}function Ae(e){let t=e.trim().toLowerCase().match(/^rgba?\(([^)]+)\)$/);if(!t)return null;let o=t[1].split(",").map(c=>c.trim());if(o.length<3)return null;let a=c=>{let g=c.endsWith("%"),b=parseFloat(g?c.slice(0,-1):c);return Number.isFinite(b)?Math.max(0,Math.min(255,Math.round(g?b/100*255:b))):NaN},r=a(o[0]),n=a(o[1]),s=a(o[2]);if(!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s))return null;let l=c=>c.toString(16).padStart(2,"0");return`#${l(r)}${l(n)}${l(s)}`}function J(e,t){let o=n=>{let s=H(n),l=s.startsWith("rgb")?Ae(s)??"#000000":s,c=[1,3,5].map(g=>{let b=parseInt(l.slice(g,g+2),16)/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)});return .2126*c[0]+.7152*c[1]+.0722*c[2]},a=o(e),r=o(t);return(Math.max(a,r)+.05)/(Math.min(a,r)+.05)}function Ze(e){let t=H(e),o=t.startsWith("rgb")?Ae(t)??"#000000":t,a=parseInt(o.slice(1,3),16)/255,r=parseInt(o.slice(3,5),16)/255,n=parseInt(o.slice(5,7),16)/255,s=Math.max(a,r,n),l=Math.min(a,r,n),c=(s+l)/2;if(s===l)return{h:0,s:0,l:c};let g=s-l,b=c>.5?g/(2-s-l):g/(s+l),w;switch(s){case a:w=((r-n)/g+(r<n?6:0))/6;break;case r:w=((n-a)/g+2)/6;break;default:w=((a-r)/g+4)/6;break}return{h:w*360,s:b,l:c}}function Xe(e,t,o){let a=(e%360+360)%360,r=(1-Math.abs(2*o-1))*t,n=r*(1-Math.abs(a/60%2-1)),s=o-r/2,l,c,g;a<60?[l,c,g]=[r,n,0]:a<120?[l,c,g]=[n,r,0]:a<180?[l,c,g]=[0,r,n]:a<240?[l,c,g]=[0,n,r]:a<300?[l,c,g]=[n,0,r]:[l,c,g]=[r,0,n];let b=w=>{let S=Math.round((w+s)*255).toString(16);return S.length===1?"0"+S:S};return`#${b(l)}${b(c)}${b(g)}`}function Ee(e){let{h:t,s:o,l:a}=Ze(e),r={50:.97,100:.94,200:.87,300:.77,400:.64,500:a,600:Math.max(.05,a-.1),700:Math.max(.05,a-.2),800:Math.max(.05,a-.28),900:Math.max(.05,a-.35),950:Math.max(.03,a-.42)},n={50:Math.min(1,o*.85),100:Math.min(1,o*.9),200:Math.min(1,o*.95),300:o,400:o,500:o,600:Math.min(1,o*1.05),700:Math.min(1,o*1.05),800:Math.min(1,o*1),900:Math.min(1,o*.95),950:Math.min(1,o*.9)},s={};for(let[l,c]of Object.entries(r)){let g=n[l];s[l]=Xe(t,g,c)}return s}var B=["50","100","200","300","400","500","600","700","800","900","950"],Pe=["primary","secondary","accent","gray","success","warning","error","info"];function Bt(e,t){return`palette.colors.${e}.${t}`}function Je(e,t,o=0){if(o>5)return"#cbd5e1";let a=e(t);return typeof a!="string"?"#cbd5e1":a.startsWith("#")||a.startsWith("rgb")||a==="transparent"?a:a.startsWith("palette.")||a.startsWith("semantic.")||a.startsWith("components.")?Je(e,`theme.${a}`,o+1):"#cbd5e1"}function Ot(e){if(!e.startsWith("palette.")&&!e.startsWith("semantic."))return e;let t=e.split(".");if(t[0]==="palette"&&t[1]==="colors"){let o=t[2],a=t[3];return`${o.charAt(0).toUpperCase()+o.slice(1)} ${a}`}return t[0]==="semantic"?t.slice(1).map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join(" "):t[t.length-1]}var T=[{id:"solid",label:"Solid"},{id:"soft",label:"Soft"}],Q=["primary","secondary","accent","gray"],_t={primary:"Primary",secondary:"Secondary",accent:"Accent",gray:"Neutral"},ee={roleId:"role-surfaces",helper:"Page and panel backgrounds",previewZone:"container",intensities:T,targets:[{path:"semantic.colors.background",kind:"background"},{path:"semantic.colors.surface",kind:"background"},{path:"semantic.colors.container",kind:"background"}]},te={roleId:"role-header",helper:"Widget header bar",previewZone:"header",intensities:T,targets:[{path:"components.header.background",kind:"background"},{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"}]},oe={roleId:"role-user-messages",helper:"User chat bubbles",previewZone:"user-message",intensities:T,targets:[{path:"components.message.user.background",kind:"background"},{path:"components.message.user.text",kind:"foreground"}]},ae={roleId:"role-assistant-messages",helper:"Assistant chat bubbles",previewZone:"assistant-message",intensities:T,targets:[{path:"components.message.assistant.background",kind:"background"},{path:"components.message.assistant.text",kind:"foreground"}]},re={roleId:"role-primary-actions",helper:"Send button and primary buttons",intensities:T,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"}]},ne={roleId:"role-scroll-to-bottom",helper:"Scroll-to-bottom affordances in transcript and event stream",intensities:T,targets:[{path:"components.scrollToBottom.background",kind:"background"},{path:"components.scrollToBottom.foreground",kind:"foreground"},{path:"components.scrollToBottom.border",kind:"border"}]},se={roleId:"role-input",helper:"Message input field",previewZone:"composer",intensities:T,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"}]},ie={roleId:"role-links-focus",helper:"Links, focus rings, and interactive highlights",intensities:T,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"}]},le={roleId:"role-borders",helper:"Borders, dividers, and separators",intensities:T,targets:[{path:"semantic.colors.border",kind:"border"},{path:"semantic.colors.divider",kind:"border"}]},I=[ee,te,oe,ae,re,ne,se,ie,le];function ce(e,t,o){let a={},r=e==="neutral"?"gray":e;for(let n of o.targets){let s=Lo(r,t,n,o.roleId);a[`theme.${n.path}`]=s,a[`darkTheme.${n.path}`]=s}if(o.roleId==="role-primary-actions"){let n=t==="solid"?`palette.colors.${r}.700`:`palette.colors.${r}.200`;a["theme.semantic.colors.interactive.hover"]=n,a["darkTheme.semantic.colors.interactive.hover"]=n}return a}function Lo(e,t,o,a){let r=t==="solid";if(a==="role-header")return Mo(e,r,o);if(a==="role-input")return Wo(e,r,o);switch(o.kind){case"background":return r?`palette.colors.${e}.500`:`palette.colors.${e}.${e==="gray"?"50":"100"}`;case"foreground":return r?`palette.colors.${e==="gray"?"gray":e}.50`:`palette.colors.${e==="gray"?"gray":e}.900`;case"border":return r?`palette.colors.${e}.600`:`palette.colors.${e}.200`;case"accent":return r?`palette.colors.${e}.600`:`palette.colors.${e}.400`}}function Mo(e,t,o){let a=o.path;return a.endsWith(".background")?t?`palette.colors.${e}.500`:`palette.colors.${e}.${e==="gray"?"50":"100"}`:a.endsWith(".border")?t?`palette.colors.${e}.600`:`palette.colors.${e}.200`:a.endsWith(".iconBackground")?t?`palette.colors.${e}.${e==="gray"?"700":"600"}`:`palette.colors.${e}.500`:a.endsWith(".iconForeground")?t?`palette.colors.${e}.50`:`palette.colors.${e}.50`:a.endsWith(".titleForeground")?t?`palette.colors.${e}.50`:`palette.colors.${e}.${e==="gray"?"900":"700"}`:a.endsWith(".subtitleForeground")?t?`palette.colors.${e}.200`:`palette.colors.${e}.500`:a.endsWith(".actionIconForeground")?t?`palette.colors.${e}.200`:`palette.colors.${e}.500`:`palette.colors.${e}.500`}function Wo(e,t,o){let a=o.path;return a.endsWith(".background")?t?`palette.colors.${e}.${e==="gray"?"100":"50"}`:`palette.colors.${e}.50`:a.endsWith(".placeholder")?`palette.colors.${e}.400`:a.endsWith(".border")||a.endsWith(".ring")?t?`palette.colors.${e}.500`:`palette.colors.${e}.400`:`palette.colors.${e}.500`}var Fo=/^palette\.colors\.(\w+)\.(\d+)$/;function Ie(e,t){let o=t.targets.find(l=>l.kind==="background")??t.targets[0];if(!o)return null;let r=String(e(o.path)??"").match(Fo);if(!r)return null;let n=r[1],s=Q.includes(n)?n:null;if(!s)return null;for(let l of["solid","soft"]){let c=ce(s,l,t);if(t.targets.every(b=>String(e(b.path)??"")===c[`theme.${b.path}`]))return{family:s,intensity:l}}return null}var Lt=e=>String(e??"").trim()||void 0,No={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"}]}]},Ho={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:[{id:"brand-primary",label:"Primary",description:"Main brand color for buttons, links, and accents",type:"color",path:"theme.palette.colors.primary.500",defaultValue:"#171717"},{id:"brand-secondary",label:"Secondary",description:"Supporting brand color",type:"color",path:"theme.palette.colors.secondary.500",defaultValue:"#7c3aed"},{id:"brand-accent",label:"Accent",description:"Highlight and decorative color",type:"color",path:"theme.palette.colors.accent.500",defaultValue:"#06b6d4"}]},$o={id:"chat-colors",title:"Chat Colors",description:"Customize the main colors of the chat interface.",collapsed:!0,fields:[{id:"chat-header-bg",label:"Header Background",type:"token-ref",path:"theme.components.header.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"chat-header-icon-bg",label:"Header Icon Background",type:"token-ref",path:"theme.components.header.iconBackground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-header-icon-fg",label:"Header Icon Color",type:"token-ref",path:"theme.components.header.iconForeground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"chat-header-title-fg",label:"Header Title Color",type:"token-ref",path:"theme.components.header.titleForeground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-header-subtitle-fg",label:"Header Subtitle Color",type:"token-ref",path:"theme.components.header.subtitleForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"chat-header-action-icons-fg",label:"Header Button Icons",type:"token-ref",path:"theme.components.header.actionIconForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"chat-msg-user-bg",label:"User Message Background",type:"token-ref",path:"theme.components.message.user.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-msg-user-text",label:"User Message Text",type:"token-ref",path:"theme.components.message.user.text",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"chat-msg-assistant-bg",label:"Assistant Message Background",type:"token-ref",path:"theme.components.message.assistant.background",defaultValue:"semantic.colors.container",tokenRef:{tokenType:"color"}},{id:"chat-msg-assistant-text",label:"Assistant Message Text",type:"token-ref",path:"theme.components.message.assistant.text",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},zo={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)"}]}]},Uo={id:"launcher-style",title:"Launcher",description:"Control launcher appearance.",collapsed:!0,fields:[{id:"style-launcher-size",label:"Launcher Size",type:"slider",path:"theme.components.launcher.size",defaultValue:"60px",slider:{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"}]}]},jo={id:"shape",title:"Shape",description:"Control the corner roundness across the widget.",collapsed:!0,fields:[{id:"radius-sm",label:"Small",type:"slider",path:"theme.palette.radius.sm",defaultValue:"0.125rem",slider:{min:0,max:16,step:1}},{id:"radius-md",label:"Medium",type:"slider",path:"theme.palette.radius.md",defaultValue:"0.375rem",slider:{min:0,max:24,step:1}},{id:"radius-lg",label:"Large",type:"slider",path:"theme.palette.radius.lg",defaultValue:"0.5rem",slider:{min:0,max:32,step:1}},{id:"radius-xl",label:"Extra Large",type:"slider",path:"theme.palette.radius.xl",defaultValue:"0.75rem",slider:{min:0,max:48,step:1}},{id:"radius-full",label:"Full",type:"slider",path:"theme.palette.radius.full",defaultValue:"9999px",slider:{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"}}]},Go={id:"shadows",title:"Shadows",collapsed:!0,fields:[{id:"shadow-sm",label:"Small",type:"text",path:"theme.palette.shadows.sm",defaultValue:"0 1px 2px 0 rgb(0 0 0 / 0.05)"},{id:"shadow-md",label:"Medium",type:"text",path:"theme.palette.shadows.md",defaultValue:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},{id:"shadow-lg",label:"Large",type:"text",path:"theme.palette.shadows.lg",defaultValue:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"},{id:"shadow-xl",label:"Extra Large",type:"text",path:"theme.palette.shadows.xl",defaultValue:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"}]},qo={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"}]},{id:"style-panel-canvas-bg",label:"Detached Canvas Background",description:"Fills the region behind a detached panel; defaults to transparent",type:"token-ref",path:"theme.components.panel.canvasBackground",defaultValue:Ye,tokenRef:{tokenType:"color"}},{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"}]}]},O=[Ho,$o,Uo,zo,No,jo,Go,qo];function Wt(){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:Pe.map(t=>({id:`palette-${t}`,label:`${t.charAt(0).toUpperCase()+t.slice(1)}`,description:`${t} color palette (edit shade 500, auto-generate scale)`,type:"color-scale",path:`theme.palette.colors.${t}`,colorScale:{colorFamily:t}}))}}var Ft={id:"semantic-colors",title:"Semantic Colors",description:"Map intents to palette colors.",collapsed:!0,fields:[{id:"sem-primary",label:"Primary",description:"Main brand/action color",type:"token-ref",path:"theme.semantic.colors.primary",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sem-secondary",label:"Secondary",description:"Secondary actions",type:"token-ref",path:"theme.semantic.colors.secondary",defaultValue:"palette.colors.gray.500",tokenRef:{tokenType:"color"}},{id:"sem-accent",label:"Accent",description:"Accent/highlight color",type:"token-ref",path:"theme.semantic.colors.accent",defaultValue:"palette.colors.primary.600",tokenRef:{tokenType:"color"}},{id:"sem-surface",label:"Surface",description:"Primary surface background",type:"token-ref",path:"theme.semantic.colors.surface",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-background",label:"Background",description:"Page/widget background",type:"token-ref",path:"theme.semantic.colors.background",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-container",label:"Container",description:"Container/card background",type:"token-ref",path:"theme.semantic.colors.container",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{id:"sem-text",label:"Text",description:"Primary text color",type:"token-ref",path:"theme.semantic.colors.text",defaultValue:"palette.colors.gray.900",tokenRef:{tokenType:"color"}},{id:"sem-text-muted",label:"Text Muted",description:"Secondary/muted text",type:"token-ref",path:"theme.semantic.colors.textMuted",defaultValue:"palette.colors.gray.500",tokenRef:{tokenType:"color"}},{id:"sem-text-inverse",label:"Text Inverse",description:"Text on dark backgrounds",type:"token-ref",path:"theme.semantic.colors.textInverse",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-border",label:"Border",description:"Default border color",type:"token-ref",path:"theme.semantic.colors.border",defaultValue:"palette.colors.gray.200",tokenRef:{tokenType:"color"}},{id:"sem-divider",label:"Divider",description:"Divider/separator color",type:"token-ref",path:"theme.semantic.colors.divider",defaultValue:"palette.colors.gray.200",tokenRef:{tokenType:"color"}},{id:"sem-interactive-default",label:"Interactive Default",type:"token-ref",path:"theme.semantic.colors.interactive.default",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sem-interactive-hover",label:"Interactive Hover",type:"token-ref",path:"theme.semantic.colors.interactive.hover",defaultValue:"palette.colors.primary.600",tokenRef:{tokenType:"color"}},{id:"sem-interactive-focus",label:"Interactive Focus",type:"token-ref",path:"theme.semantic.colors.interactive.focus",defaultValue:"palette.colors.primary.700",tokenRef:{tokenType:"color"}},{id:"sem-interactive-active",label:"Interactive Active",type:"token-ref",path:"theme.semantic.colors.interactive.active",defaultValue:"palette.colors.primary.800",tokenRef:{tokenType:"color"}},{id:"sem-interactive-disabled",label:"Interactive Disabled",type:"token-ref",path:"theme.semantic.colors.interactive.disabled",defaultValue:"palette.colors.gray.300",tokenRef:{tokenType:"color"}},{id:"sem-feedback-success",label:"Success",type:"token-ref",path:"theme.semantic.colors.feedback.success",defaultValue:"palette.colors.success.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-warning",label:"Warning",type:"token-ref",path:"theme.semantic.colors.feedback.warning",defaultValue:"palette.colors.warning.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-error",label:"Error",type:"token-ref",path:"theme.semantic.colors.feedback.error",defaultValue:"palette.colors.error.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-info",label:"Info",type:"token-ref",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}}]},Nt=Wt(),Ht=Ft,$t=[Wt(),Ft],Yo={id:"comp-panel",title:"Panel",collapsed:!1,fields:[{id:"panel-width",label:"Width",type:"text",path:"theme.components.panel.width",defaultValue:F},{id:"panel-max-width",label:"Max Width",type:"text",path:"theme.components.panel.maxWidth",defaultValue:ve},{id:"panel-height",label:"Height",type:"text",path:"theme.components.panel.height",defaultValue:"600px"},{id:"panel-max-height",label:"Max Height",type:"text",path:"theme.components.panel.maxHeight",defaultValue:"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"}]},{id:"panel-inset",label:"Detached Inset",description:"Gap around the card when launcher.detachedPanel is on",type:"text",path:"theme.components.panel.inset",defaultValue:qe}]},Ko={id:"comp-launcher",title:"Launcher",collapsed:!0,fields:[{id:"launcher-size",label:"Size",type:"slider",path:"theme.components.launcher.size",defaultValue:"60px",slider:{min:32,max:80,step:2}},{id:"launcher-icon-size",label:"Icon Size",type:"slider",path:"theme.components.launcher.iconSize",defaultValue:"28px",slider:{min:16,max:48,step:2}},{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"}]}]},Zo={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"}]}]},Xo={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"}]}]},Jo={id:"comp-composer-spacing",title:"Composer Spacing",collapsed:!0,fields:[{id:"composer-padding",label:"Padding",type:"text",path:"theme.components.composer.padding",defaultValue:"0.75rem 1rem"},{id:"composer-gap",label:"Row Gap",description:"Space between the textarea row and the actions row",type:"text",path:"theme.components.composer.gap",defaultValue:"0.5rem"},{id:"composer-font-size",label:"Font Size",type:"text",path:"theme.components.composer.fontSize",defaultValue:"0.875rem"},{id:"composer-line-height",label:"Line Height",type:"text",path:"theme.components.composer.lineHeight",defaultValue:"1.25rem"}]},Qo={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"}]}]},ea={id:"comp-header-colors",title:"Header Colors",collapsed:!0,fields:[{id:"header-bg",label:"Background",type:"token-ref",path:"theme.components.header.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"header-icon-bg",label:"Icon background",type:"token-ref",path:"theme.components.header.iconBackground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"header-icon-fg",label:"Icon color",type:"token-ref",path:"theme.components.header.iconForeground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"header-title-fg",label:"Title color",type:"token-ref",path:"theme.components.header.titleForeground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"header-subtitle-fg",label:"Subtitle color",type:"token-ref",path:"theme.components.header.subtitleForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"header-action-icons-fg",label:"Clear / close icons",type:"token-ref",path:"theme.components.header.actionIconForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"header-border",label:"Border",type:"token-ref",path:"theme.components.header.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}}]},ta={id:"comp-message-colors",title:"Message Colors",collapsed:!0,fields:[{id:"msg-user-bg",label:"User Bubble Background",type:"token-ref",path:"theme.components.message.user.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"msg-user-text",label:"User Bubble Text",type:"token-ref",path:"theme.components.message.user.text",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"msg-assistant-bg",label:"Assistant Bubble Background",type:"token-ref",path:"theme.components.message.assistant.background",defaultValue:"semantic.colors.container",tokenRef:{tokenType:"color"}},{id:"msg-assistant-text",label:"Assistant Bubble Text",type:"token-ref",path:"theme.components.message.assistant.text",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},oa={id:"comp-input-colors",title:"Input Colors",collapsed:!0,fields:[{id:"input-bg",label:"Background",type:"token-ref",path:"theme.components.input.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"input-placeholder",label:"Placeholder Color",type:"token-ref",path:"theme.components.input.placeholder",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"input-focus-border",label:"Focus Border",type:"token-ref",path:"theme.components.input.focus.border",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}},{id:"input-focus-ring",label:"Focus Ring",type:"token-ref",path:"theme.components.input.focus.ring",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}}]},aa={id:"comp-button-colors",title:"Button Colors",collapsed:!0,fields:[{id:"btn-primary-bg",label:"Primary Background",type:"token-ref",path:"theme.components.button.primary.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"btn-primary-fg",label:"Primary Foreground",type:"token-ref",path:"theme.components.button.primary.foreground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"btn-secondary-bg",label:"Secondary Background",type:"token-ref",path:"theme.components.button.secondary.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"btn-secondary-fg",label:"Secondary Foreground",type:"token-ref",path:"theme.components.button.secondary.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"btn-ghost-bg",label:"Ghost Background",type:"color",path:"theme.components.button.ghost.background",defaultValue:"transparent"},{id:"btn-ghost-fg",label:"Ghost Foreground",type:"token-ref",path:"theme.components.button.ghost.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},ra={id:"scroll-to-bottom-style",title:"Scroll To Bottom",description:"Style the floating jump-to-latest affordance.",collapsed:!0,fields:[{id:"scroll-bottom-bg",label:"Background",type:"token-ref",path:"theme.components.scrollToBottom.background",defaultValue:"components.button.primary.background",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-fg",label:"Foreground",type:"token-ref",path:"theme.components.scrollToBottom.foreground",defaultValue:"components.button.primary.foreground",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-border",label:"Border",type:"token-ref",path:"theme.components.scrollToBottom.border",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-size",label:"Size",type:"text",path:"theme.components.scrollToBottom.size",defaultValue:"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"}]},{id:"scroll-bottom-padding",label:"Padding",type:"text",path:"theme.components.scrollToBottom.padding",defaultValue:"0.5rem 0.875rem"},{id:"scroll-bottom-gap",label:"Gap",type:"text",path:"theme.components.scrollToBottom.gap",defaultValue:"0.5rem"},{id:"scroll-bottom-font-size",label:"Font Size",type:"text",path:"theme.components.scrollToBottom.fontSize",defaultValue:"0.875rem"},{id:"scroll-bottom-icon-size",label:"Icon Size",type:"text",path:"theme.components.scrollToBottom.iconSize",defaultValue:"14px"}]},na={id:"comp-suggestions",title:"Suggestions",description:"Style starter cards, follow-up chips, and list rows.",collapsed:!0,fields:[{id:"suggestion-chip-bg",label:"Chip Background",type:"token-ref",path:"theme.components.suggestion.chip.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-fg",label:"Chip Text",type:"token-ref",path:"theme.components.suggestion.chip.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-border",label:"Chip Border",type:"token-ref",path:"theme.components.suggestion.chip.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-hover",label:"Chip Hover",type:"token-ref",path:"theme.components.suggestion.chip.hoverBackground",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-focus",label:"Chip Focus Ring",type:"token-ref",path:"theme.components.suggestion.chip.focusRing",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}},{id:"suggestion-card-bg",label:"Card Background",type:"token-ref",path:"theme.components.suggestion.card.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"suggestion-card-fg",label:"Card Text",type:"token-ref",path:"theme.components.suggestion.card.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"suggestion-card-border",label:"Card Border",type:"token-ref",path:"theme.components.suggestion.card.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}},{id:"suggestion-card-hover",label:"Card Hover",type:"token-ref",path:"theme.components.suggestion.card.hoverBackground",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{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"}]},{id:"suggestion-list-bg",label:"List Background",type:"color",path:"theme.components.suggestion.list.background",defaultValue:"transparent"},{id:"suggestion-list-border",label:"List Border",type:"token-ref",path:"theme.components.suggestion.list.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}}]},$=[{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"}],zt="0 5px 15px rgba(15, 23, 42, 0.08)",Mt=[{value:zt,label:"Default"},...$],sa={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:$},{id:"shadow-msg-assistant",label:"Assistant Message",type:"select",path:"theme.components.message.assistant.shadow",defaultValue:"palette.shadows.sm",options:$},{id:"shadow-tool-bubble",label:"Tool Call Bubble",type:"select",path:"theme.components.toolBubble.shadow",defaultValue:"palette.shadows.sm",options:$},{id:"shadow-reasoning-bubble",label:"Reasoning Bubble",type:"select",path:"theme.components.reasoningBubble.shadow",defaultValue:"palette.shadows.sm",options:$},{id:"shadow-approval",label:"Approval Bubble",type:"select",path:"theme.components.approval.requested.shadow",defaultValue:zt,options:Mt},{id:"shadow-intro-card",label:"Intro Card",type:"select",path:"theme.components.introCard.shadow",defaultValue:"palette.shadows.none",options:Mt},{id:"shadow-composer",label:"Composer",type:"select",path:"theme.components.composer.shadow",defaultValue:"palette.shadows.none",options:$}]},et=[Yo,Ko,Zo,Xo,Jo,Qo,sa],tt=[ea,ta,oa,aa,ra,na],ot=[...et,...tt],at=1024*1024,ia=["Show me what you can help with","Walk me through getting started","Answer a question about this page"],de={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 la(e){return Number(e)*at}function ca(e){let t=Number(e);return Number.isFinite(t)?t>1024?String(Math.round(t/at)):String(t):"10"}function da(e){return de[String(e)]??de.images}function pa(e){let t=Array.isArray(e)?e:de.images,o=[...new Set(t)].sort();for(let[a,r]of Object.entries(de)){let n=[...r].sort();if(o.length===n.length&&o.every((s,l)=>s===n[l]))return a}return o.some(a=>a.startsWith("application/vnd")||a==="application/msword")?"all":o.some(a=>a==="text/plain"||a==="text/markdown"||a==="text/csv")?"images-text-pdf":o.includes("application/pdf")?"images-pdf":"images"}var ua={id:"copy",title:"Content & Copy",collapsed:!1,fields:[{id:"copy-show-welcome-card",label:"Show Welcome Card",type:"toggle",path:"copy.showWelcomeCard",defaultValue:!0},{id:"copy-welcome-title",label:"Welcome Title",type:"text",path:"copy.welcomeTitle",defaultValue:"Hello \u{1F44B}"},{id:"copy-welcome-subtitle",label:"Welcome Subtitle",type:"text",path:"copy.welcomeSubtitle",defaultValue:"Ask anything about your account or products."},{id:"copy-placeholder",label:"Input Placeholder",type:"text",path:"copy.inputPlaceholder",defaultValue:"Type your message\u2026"},{id:"copy-send-label",label:"Send Button Label",type:"text",path:"copy.sendButtonLabel",defaultValue:"Send"}]},ma={id:"suggestions",title:"Suggestions",description:"Configure starter prompts and agent follow-ups.",collapsed:!0,fields:[{id:"suggestions-list",label:"Starter Prompts",description:"Add, edit, and remove starter prompts directly.",type:"chip-list",path:"suggestionChips",defaultValue:ia},{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"}]},{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"}]}]},ga={id:"general-layout",title:"Layout Basics",collapsed:!0,fields:[{id:"layout-show-header",label:"Show Header",type:"toggle",path:"layout.showHeader",defaultValue:!0},{id:"layout-show-footer",label:"Show Footer",type:"toggle",path:"layout.showFooter",defaultValue:!0},{id:"layout-content-max-width",label:"Content Max Width",description:"Max width for messages + composer",type:"text",path:"layout.contentMaxWidth",defaultValue:""}]},fa={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"}]},{id:"layout-show-icon",label:"Show Header Icon",type:"toggle",path:"layout.header.showIcon",defaultValue:!0},{id:"layout-show-title",label:"Show Header Title",type:"toggle",path:"layout.header.showTitle",defaultValue:!0},{id:"layout-show-subtitle",label:"Show Header Subtitle",type:"toggle",path:"layout.header.showSubtitle",defaultValue:!0},{id:"layout-show-close",label:"Show Close Button",type:"toggle",path:"layout.header.showCloseButton",defaultValue:!0},{id:"layout-show-clear",label:"Show Clear Chat",type:"toggle",path:"layout.header.showClearChat",defaultValue:!0}]},ha={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 \u2014 bubbles for both"},{value:"minimal",label:"Minimal \u2014 user bubble, open assistant"},{value:"flat",label:"Flat \u2014 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:Lt},{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:Lt},{id:"layout-group",label:"Group Consecutive",type:"toggle",path:"layout.messages.groupConsecutive",defaultValue:!1},{id:"layout-avatar-show",label:"Show Avatars",type:"toggle",path:"layout.messages.avatar.show",defaultValue:!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"}]},{id:"layout-avatar-user",label:"User Avatar URL",type:"text",path:"layout.messages.avatar.userAvatar",defaultValue:""},{id:"layout-avatar-assistant",label:"Assistant Avatar URL",type:"text",path:"layout.messages.avatar.assistantAvatar",defaultValue:""},{id:"layout-timestamp-show",label:"Show Timestamps",type:"toggle",path:"layout.messages.timestamp.show",defaultValue:!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"}]}]},ba={id:"message-actions",title:"Message Actions",collapsed:!0,fields:[{id:"msg-actions-enabled",label:"Enabled",type:"toggle",path:"messageActions.enabled",defaultValue:!0},{id:"msg-actions-copy",label:"Show Copy",type:"toggle",path:"messageActions.showCopy",defaultValue:!0},{id:"msg-actions-upvote",label:"Show Upvote",type:"toggle",path:"messageActions.showUpvote",defaultValue:!0},{id:"msg-actions-downvote",label:"Show Downvote",type:"toggle",path:"messageActions.showDownvote",defaultValue:!0},{id:"msg-actions-read-aloud",label:"Show Read Aloud",type:"toggle",path:"messageActions.showReadAloud",defaultValue:!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"}]}]},ya={id:"launcher-basics",title:"Launcher",collapsed:!0,fields:[{id:"launch-enabled",label:"Enabled",type:"toggle",path:"launcher.enabled",defaultValue:!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"}]},{id:"launch-width",label:"Width",type:"text",path:"launcher.width",defaultValue:F},{id:"launch-auto-expand",label:"Auto Expand",type:"toggle",path:"launcher.autoExpand",defaultValue:!1},{id:"launch-title",label:"Title",type:"text",path:"launcher.title",defaultValue:"Chat Assistant"},{id:"launch-subtitle",label:"Subtitle",type:"text",path:"launcher.subtitle",defaultValue:"Here to help you get answers fast"}]},ka={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"}]},{id:"launch-dock-width",label:"Dock Width",type:"text",path:"launcher.dock.width",defaultValue:"420px"},{id:"launch-dock-animate",label:"Dock Animate",type:"toggle",path:"launcher.dock.animate",defaultValue:!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"}]},{id:"launch-text-hidden",label:"Hide Text",type:"toggle",path:"launcher.textHidden",defaultValue:!1},{id:"launch-icon-text",label:"Agent Icon Text",type:"text",path:"launcher.agentIconText",defaultValue:"\u{1F4AC}"},{id:"launch-icon-name",label:"Agent Icon Name (Lucide)",type:"text",path:"launcher.agentIconName",defaultValue:"bot"},{id:"launch-icon-hidden",label:"Hide Agent Icon",type:"toggle",path:"launcher.agentIconHidden",defaultValue:!1},{id:"launch-icon-size",label:"Agent Icon Size",type:"slider",path:"launcher.agentIconSize",defaultValue:"40px",slider:{min:16,max:72,step:2}},{id:"launch-icon-url",label:"Icon Image URL",description:"Custom image URL (overrides emoji/lucide)",type:"text",path:"launcher.iconUrl",defaultValue:""},{id:"launch-header-icon-name",label:"Header Icon Name (Lucide)",type:"text",path:"launcher.headerIconName",defaultValue:"bot"},{id:"launch-header-icon-size",label:"Header Icon Size",type:"slider",path:"launcher.headerIconSize",defaultValue:"48px",slider:{min:24,max:80,step:2}},{id:"launch-header-icon-hidden",label:"Hide Header Icon",type:"toggle",path:"launcher.headerIconHidden",defaultValue:!1},{id:"launch-full-height",label:"Full Height",type:"toggle",path:"launcher.fullHeight",defaultValue:!1},{id:"launch-sidebar",label:"Sidebar Mode",type:"toggle",path:"launcher.sidebarMode",defaultValue:!1},{id:"launch-sidebar-width",label:"Sidebar Width",type:"text",path:"launcher.sidebarWidth",defaultValue:"420px"},{id:"launch-mobile-fullscreen",label:"Mobile Fullscreen",description:"Fullscreen on mobile devices",type:"toggle",path:"launcher.mobileFullscreen",defaultValue:!0},{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)},{id:"launch-collapsed-max-width",label:"Collapsed Max Width",description:"Max width of launcher pill when closed",type:"text",path:"launcher.collapsedMaxWidth",defaultValue:""},{id:"launch-cta-text",label:"CTA Icon Text",type:"text",path:"launcher.callToActionIconText",defaultValue:"\u2197"},{id:"launch-cta-name",label:"CTA Icon Name",type:"text",path:"launcher.callToActionIconName",defaultValue:""},{id:"launch-cta-hidden",label:"Hide CTA Icon",type:"toggle",path:"launcher.callToActionIconHidden",defaultValue:!1},{id:"launch-cta-size",label:"CTA Icon Size",type:"slider",path:"launcher.callToActionIconSize",defaultValue:"32px",slider:{min:16,max:64,step:2}},{id:"launch-cta-padding",label:"CTA Icon Padding",type:"slider",path:"launcher.callToActionIconPadding",defaultValue:"5px",slider:{min:0,max:24,step:1}},{id:"launch-cta-bg",label:"CTA Icon Background",type:"color",path:"launcher.callToActionIconBackgroundColor",defaultValue:""}]},wa={id:"send-button",title:"Send Button",collapsed:!0,fields:[{id:"send-use-icon",label:"Use Icon",type:"toggle",path:"sendButton.useIcon",defaultValue:!1},{id:"send-icon-text",label:"Icon Text",type:"text",path:"sendButton.iconText",defaultValue:"\u2191"},{id:"send-icon-name",label:"Icon Name (Lucide)",type:"text",path:"sendButton.iconName",defaultValue:""},{id:"send-size",label:"Size",type:"slider",path:"sendButton.size",defaultValue:"40px",slider:{min:24,max:64,step:2}},{id:"send-border-width",label:"Border Width",type:"slider",path:"sendButton.borderWidth",defaultValue:"0px",slider:{min:0,max:10,step:1}},{id:"send-padding-x",label:"Padding X",type:"slider",path:"sendButton.paddingX",defaultValue:"10px",slider:{min:0,max:32,step:1}},{id:"send-padding-y",label:"Padding Y",type:"slider",path:"sendButton.paddingY",defaultValue:"6px",slider:{min:0,max:32,step:1}},{id:"send-show-tooltip",label:"Show Tooltip",type:"toggle",path:"sendButton.showTooltip",defaultValue:!1},{id:"send-tooltip-text",label:"Tooltip Text",type:"text",path:"sendButton.tooltipText",defaultValue:"Send message"}]},va={id:"close-button",title:"Close Button",collapsed:!0,fields:[{id:"close-size",label:"Size",type:"slider",path:"launcher.closeButtonSize",defaultValue:"32px",slider:{min:16,max:64,step:1}},{id:"close-placement",label:"Placement",type:"select",path:"launcher.closeButtonPlacement",defaultValue:"inline",options:[{value:"inline",label:"Inline"},{value:"top-right",label:"Top Right"}]},{id:"close-border-width",label:"Border Width",type:"slider",path:"launcher.closeButtonBorderWidth",defaultValue:"0px",slider:{min:0,max:8,step:1}},{id:"close-border-radius",label:"Border Radius",type:"slider",path:"launcher.closeButtonBorderRadius",defaultValue:"50%",slider:{min:0,max:100,step:1,isRadiusFull:!0}},{id:"close-icon-name",label:"Icon Name",type:"text",path:"launcher.closeButtonIconName",defaultValue:"x"},{id:"close-icon-text",label:"Icon Text",type:"text",path:"launcher.closeButtonIconText",defaultValue:"\xD7"},{id:"close-show-tooltip",label:"Show Tooltip",type:"toggle",path:"launcher.closeButtonShowTooltip",defaultValue:!0},{id:"close-tooltip-text",label:"Tooltip Text",type:"text",path:"launcher.closeButtonTooltipText",defaultValue:"Close chat"}]},xa={id:"clear-chat",title:"Clear Chat Button",collapsed:!0,fields:[{id:"clear-enabled",label:"Enabled",type:"toggle",path:"launcher.clearChat.enabled",defaultValue:!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"}]},{id:"clear-icon-name",label:"Icon Name",type:"text",path:"launcher.clearChat.iconName",defaultValue:"refresh-cw"},{id:"clear-size",label:"Size",type:"slider",path:"launcher.clearChat.size",defaultValue:"32px",slider:{min:16,max:64,step:1}},{id:"clear-show-tooltip",label:"Show Tooltip",type:"toggle",path:"launcher.clearChat.showTooltip",defaultValue:!0},{id:"clear-tooltip-text",label:"Tooltip Text",type:"text",path:"launcher.clearChat.tooltipText",defaultValue:"Clear chat"}]},Sa={id:"status-indicator",title:"Status Indicator",collapsed:!0,fields:[{id:"status-visible",label:"Visible",type:"toggle",path:"statusIndicator.visible",defaultValue:!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"}]},{id:"status-idle-text",label:"Idle Text",type:"text",path:"statusIndicator.idleText",defaultValue:"Online"},{id:"status-connecting-text",label:"Connecting Text",type:"text",path:"statusIndicator.connectingText",defaultValue:"Connecting\u2026"},{id:"status-connected-text",label:"Connected Text",type:"text",path:"statusIndicator.connectedText",defaultValue:"Streaming\u2026"},{id:"status-error-text",label:"Error Text",type:"text",path:"statusIndicator.errorText",defaultValue:"Offline"}]},Ta={id:"features",title:"Features",collapsed:!0,fields:[{id:"feat-voice",label:"Voice Recognition",description:"Enable voice input",type:"toggle",path:"voiceRecognition.enabled",defaultValue:!1},{id:"feat-auto-focus",label:"Auto Focus Input",description:"Focus input after panel opens",type:"toggle",path:"autoFocusInput",defaultValue:!1},{id:"feat-scroll-bottom-enabled",label:"Scroll To Bottom",description:"Show a jump-to-latest affordance when the user scrolls away from new content",type:"toggle",path:"features.scrollToBottom.enabled",defaultValue:!0},{id:"feat-scroll-bottom-icon",label:"Scroll To Bottom Icon",type:"text",path:"features.scrollToBottom.iconName",defaultValue:"arrow-down"},{id:"feat-scroll-bottom-label",label:"Scroll To Bottom Label",description:"Leave empty for icon-only mode",type:"text",path:"features.scrollToBottom.label",defaultValue:""}]},Ca={id:"stream-animation",title:"Stream Animation",description:"Control how assistant text appears while streaming.",collapsed:!0,fields:[{id:"stream-anim-type",label:"Animation",description:"Reveal effect applied to each assistant reply as it streams.",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:"Pre-first-token Placeholder",description:"What to show before the first token arrives.",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:"Content Buffering",description:"Trim in-progress units so only complete words/lines reveal.",type:"select",path:"features.streamAnimation.buffer",defaultValue:"none",options:[{value:"none",label:"None: stream every character"},{value:"word",label:"Word: hold until whitespace"},{value:"line",label:"Line: hold until newline"}]},{id:"stream-anim-speed",label:"Per-unit 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:"Container Duration (ms)",description:"Length of container-level effects (pop-bubble, custom plugins).",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)}]},Ra={id:"attachments-config",title:"Attachments",collapsed:!0,fields:[{id:"attach-enabled",label:"Enabled",type:"toggle",path:"attachments.enabled",defaultValue:!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*at,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:ca,parseValue:la},{id:"attach-types",label:"Allowed File Types",type:"select",path:"attachments.allowedTypes",defaultValue:de.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:pa,parseValue:da}]},Aa={id:"artifacts-config",title:"Artifacts",collapsed:!0,fields:[{id:"art-enabled",label:"Enabled",description:"Show artifact sidebar for documents and components",type:"toggle",path:"features.artifacts.enabled",defaultValue:!1},{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"}]}]},Ea={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"}]},{id:"art-toolbar-title",label:"Toolbar Title",type:"text",path:"features.artifacts.layout.toolbarTitle",defaultValue:"Artifacts"},{id:"art-close-label",label:"Close Button Label",type:"text",path:"features.artifacts.layout.closeButtonLabel",defaultValue:"Close"},{id:"art-pane-width",label:"Pane Width",description:"CSS width (e.g. 40%, 28rem)",type:"text",path:"features.artifacts.layout.paneWidth",defaultValue:"40%"},{id:"art-pane-max-width",label:"Pane Max Width",type:"text",path:"features.artifacts.layout.paneMaxWidth",defaultValue:"28rem"},{id:"art-split-gap",label:"Split Gap",type:"text",path:"features.artifacts.layout.splitGap",defaultValue:"0"},{id:"art-pane-bg",label:"Pane Background",type:"color",path:"features.artifacts.layout.paneBackground",defaultValue:""},{id:"art-resizable",label:"Resizable",description:"Allow dragging the pane divider",type:"toggle",path:"features.artifacts.layout.resizable",defaultValue:!1},{id:"art-expand-panel",label:"Expand Panel When Open",description:"Widen the launcher panel to fit artifacts",type:"toggle",path:"features.artifacts.layout.expandLauncherPanelWhenOpen",defaultValue:!0}]},Pa={id:"api-integration",title:"API & Integration",description:"Runtime and integration options.",collapsed:!0,fields:[{id:"dev-api-url",label:"API URL",type:"text",path:"apiUrl",defaultValue:""},{id:"dev-flow",label:"Flow ID",type:"text",path:"flowId",defaultValue:""},{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"}]}]},Ia=[{value:"collapsed",label:"Collapsed card"},{value:"panel",label:"Side panel"},{value:"inline",label:"In conversation"}],Qe={type:"select",defaultValue:"panel",options:Ia,unsettable:!0,unsetLabel:"Use default",requiresCapability:"artifacts"},rt={id:"artifact-display-preferences",title:"Artifact display",description:"Choose where recognizable artifact groups appear.",requiresCapability:"artifacts",fields:[{...Qe,id:"artifact-display-files",label:"Generated files",description:"Default for HTML, CSV, documents, and code files.",path:"features.artifacts.display.files"},{...Qe,id:"artifact-display-components",label:"Registered UI components",description:"Charts, forms, cards, and custom UI rendered by the host.",path:"features.artifacts.display.byKind.component"},{...Qe,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"}]},Da={id:"stream-display-preferences",title:"Tool calls and reasoning",description:"Control how agent activity appears in the conversation.",fields:[{id:"pref-show-tools",label:"Show tool calls",type:"toggle",path:"features.showToolCalls",defaultValue:!0,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:"Tool calls expandable",type:"toggle",path:"features.toolCallDisplay.expandable",defaultValue:!0,unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-grouped",label:"Group sequential tool calls",type:"toggle",path:"features.toolCallDisplay.grouped",defaultValue:!1,unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-grouped-mode",label:"Grouped tool detail",type:"select",path:"features.toolCallDisplay.groupedMode",defaultValue:"stack",options:[{value:"stack",label:"Show steps"},{value:"summary",label:"Summary only"}],unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-loading-animation",label:"Tool loading 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-expandable",label:"Reasoning expandable",type:"toggle",path:"features.reasoningDisplay.expandable",defaultValue:!0,unsettable:!0,requiresCapability:"reasoning"},{id:"pref-reasoning-active-preview",label:"Reasoning preview while active",type:"toggle",path:"features.reasoningDisplay.activePreview",defaultValue:!1,unsettable:!0,requiresCapability:"reasoning"}]},nt={label:"Stream and artifacts",sections:[Da,rt]},Va={id:"debug-inspection",title:"Debug & Inspection",collapsed:!0,fields:[{id:"dev-tool-active-preview",label:"Tool Preview While Active",description:"Show a lightweight preview in collapsed active tool rows",type:"toggle",path:"features.toolCallDisplay.activePreview",defaultValue:!1},{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)},{id:"dev-tool-active-min-height",label:"Tool Active Min Height",description:"CSS min-height for collapsed active tool rows (e.g. 5rem)",type:"text",path:"features.toolCallDisplay.activeMinHeight",defaultValue:""},{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)},{id:"dev-reasoning-active-min-height",label:"Reasoning Active Min Height",description:"CSS min-height for collapsed active reasoning rows (e.g. 5rem)",type:"text",path:"features.reasoningDisplay.activeMinHeight",defaultValue:""},{id:"dev-debug",label:"Debug Mode",description:"Show debug information",type:"toggle",path:"debug",defaultValue:!1}]},Ba={id:"markdown",title:"Markdown Options",collapsed:!0,fields:[{id:"md-gfm",label:"GitHub Flavored Markdown",type:"toggle",path:"markdown.options.gfm",defaultValue:!0},{id:"md-breaks",label:"Line Breaks",type:"toggle",path:"markdown.options.breaks",defaultValue:!0},{id:"md-header-ids",label:"Header IDs",type:"toggle",path:"markdown.options.headerIds",defaultValue:!1},{id:"md-pedantic",label:"Pedantic Mode",type:"toggle",path:"markdown.options.pedantic",defaultValue:!1},{id:"md-silent",label:"Silent",type:"toggle",path:"markdown.options.silent",defaultValue:!1},{id:"md-disable-styles",label:"Disable Default Styles",type:"toggle",path:"markdown.disableDefaultStyles",defaultValue:!1}]},pe=[{label:"Content",sections:[ua,ma]},{label:"Layout",sections:[ga,fa,ha,ba]},{label:"Widget",sections:[ya,ka,wa,va,xa,Sa]},{label:"Features",sections:[Ta,Ca,Ra,Aa,Ea]},nt,{label:"Developer",collapsedByDefault:!0,sections:[Pa,Va,Ba]}],st=pe.flatMap(e=>e.sections),it={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"}]}]},lt={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:[{id:"bp-primary",label:"Primary",description:"Main brand color",type:"color",path:"theme.palette.colors.primary.500",defaultValue:"#171717"},{id:"bp-secondary",label:"Secondary",description:"Supporting brand color",type:"color",path:"theme.palette.colors.secondary.500",defaultValue:"#8b5cf6"},{id:"bp-accent",label:"Accent",description:"Highlight and decorative color",type:"color",path:"theme.palette.colors.accent.500",defaultValue:"#06b6d4"},{id:"bp-neutral",label:"Neutral",description:"Backgrounds, text, and borders",type:"color",path:"theme.palette.colors.gray.500",defaultValue:"#6b7280"}]},ct={id:"status-palette",title:"Status Palette",description:"Colors for system feedback states.",collapsed:!0,fields:[{id:"sp-success",label:"Success",type:"color",path:"theme.palette.colors.success.500",defaultValue:"#22c55e"},{id:"sp-warning",label:"Warning",type:"color",path:"theme.palette.colors.warning.500",defaultValue:"#eab308"},{id:"sp-error",label:"Error",type:"color",path:"theme.palette.colors.error.500",defaultValue:"#ef4444"},{id:"sp-notice",label:"Notice",description:"Info and notice states",type:"color",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500"}]},dt={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:ee},{id:"role-header",label:"Header",type:"role-assignment",path:"theme.components.header.background",roleAssignment:te},{id:"role-user-messages",label:"User Messages",type:"role-assignment",path:"theme.components.message.user.background",roleAssignment:oe},{id:"role-assistant-messages",label:"Assistant Messages",type:"role-assignment",path:"theme.components.message.assistant.background",roleAssignment:ae},{id:"role-primary-actions",label:"Primary Actions",type:"role-assignment",path:"theme.components.button.primary.background",roleAssignment:re},{id:"role-scroll-to-bottom",label:"Scroll To Bottom",type:"role-assignment",path:"theme.components.scrollToBottom.background",roleAssignment:ne},{id:"role-input",label:"Input Field",type:"role-assignment",path:"theme.components.input.background",roleAssignment:se},{id:"role-links-focus",label:"Links & Focus",type:"role-assignment",path:"theme.semantic.colors.accent",roleAssignment:ie},{id:"role-borders",label:"Borders & Dividers",type:"role-assignment",path:"theme.semantic.colors.border",roleAssignment:le}]},pt={id:"status-colors",title:"Status Colors",description:"Used for system states like success, warning, notice, and error.",collapsed:!0,fields:[{id:"sc-notice",label:"Notice",type:"token-ref",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sc-success",label:"Success",type:"token-ref",path:"theme.semantic.colors.feedback.success",defaultValue:"palette.colors.success.500",tokenRef:{tokenType:"color"}},{id:"sc-warning",label:"Warning",type:"token-ref",path:"theme.semantic.colors.feedback.warning",defaultValue:"palette.colors.warning.500",tokenRef:{tokenType:"color"}},{id:"sc-error",label:"Error",type:"token-ref",path:"theme.semantic.colors.feedback.error",defaultValue:"palette.colors.error.500",tokenRef:{tokenType:"color"}}]},ut={id:"advanced-tokens",title:"Advanced Tokens",description:"Override individual semantic and component values when you need precise control.",collapsed:!0,fields:[]},Ut=[it,lt,ct,dt,pt,ut],De=[{id:"style",label:"Style",sections:O},{id:"design-system",label:"Design System",sections:ot},{id:"configure",label:"Configure",sections:st}];function jt(e,t){return e.startsWith("theme.")?e.replace(/^theme\./,`${t}.`):e}function Oa(e,t,o){return{...e,id:`${o}-${e.id}`,path:jt(e.path,t)}}function Gt(e,t){let o=e.find(a=>a.id===t);if(!o)throw new Error(`Section "${t}" not found in definitions`);return o}function qt(e,t,o,a=e.collapsed){let r=o==="light"?"Light":"Dark",n=o==="light"?"Applies when the widget is in light mode.":"Applies when the widget is in dark mode.";return{...e,id:`${o}-${e.id}`,title:`${r} ${e.title}`,description:e.description?`${n} ${e.description}`:n,collapsed:a,fields:e.fields.map(s=>Oa(s,t,o)),presets:e.presets?.map(s=>({...s,id:`${o}-${s.id}`,values:Object.fromEntries(Object.entries(s.values).map(([l,c])=>[jt(l,t),c]))}))}}var mt={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"]},gt={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"}}}},preview:{primary:"#171717",surface:"#1f2937",accent:"#0f0f0f"},tags:["dark"]},ft=[{id:"persona-default",name:"Persona Default",description:"Adaptive Persona theme with light and dark modes",theme:mt.theme,darkTheme:gt.theme,preview:mt.preview,darkPreview:gt.preview,tags:["light","dark","adaptive"]},mt,gt,{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"]}],z=[...ft];function Ve(e){return z.find(t=>t.id===e)}var Yt={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Kt=.15,Zt=1.5,ue="persona-preview-shell-theme",ht={load:()=>null,save:()=>{},clear:()=>{}},bt=["How do I get started?","Pricing & plans","Talk to support"];function yt(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function kt(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 Be(e){let t=kt(e);return`* { box-sizing: border-box; }
|
|
1
|
+
"use strict";var qe=Object.defineProperty;var To=Object.getOwnPropertyDescriptor;var Co=Object.getOwnPropertyNames;var Ro=Object.prototype.hasOwnProperty;var Ao=(e,t)=>{for(var o in t)qe(e,o,{get:t[o],enumerable:!0})},Eo=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Co(t))!Ro.call(e,r)&&r!==o&&qe(e,r,{get:()=>t[r],enumerable:!(a=To(t,r))||a.enumerable});return e};var Po=e=>Eo(qe({},"__esModule",{value:!0}),e);var pr={};Ao(pr,{ADVANCED_TOKENS_SECTION:()=>mt,ALL_ROLES:()=>I,ALL_TABS:()=>Ve,ARTIFACT_DISPLAY_PREFERENCE_SECTION:()=>nt,BRAND_PALETTE_SECTION:()=>ct,BUILT_IN_PRESETS:()=>ht,COLORS_SECTIONS:()=>zt,COLOR_FAMILIES:()=>Ie,COMPONENTS_SECTIONS:()=>at,COMPONENT_COLOR_SECTIONS:()=>ot,COMPONENT_SHAPE_SECTIONS:()=>tt,CONFIGURE_SECTIONS:()=>it,CONFIGURE_SUB_GROUPS:()=>ue,CONTRAST_PAIRS:()=>Y,CSS_NAMED_COLORS:()=>he,DEVICE_DIMENSIONS:()=>Kt,HOME_SUGGESTION_CHIPS:()=>yt,INTERFACE_ROLES_SECTION:()=>pt,MOCK_BROWSER_CONTENT:()=>vt,MOCK_WORKSPACE_CONTENT:()=>xt,PALETTE_SECTION:()=>Ht,PREVIEW_STORAGE_ADAPTER:()=>bt,RADIUS_PRESETS:()=>K,ROLE_ASSISTANT_MESSAGES:()=>re,ROLE_BORDERS:()=>ce,ROLE_FAMILIES:()=>ee,ROLE_FAMILY_LABELS:()=>Lt,ROLE_HEADER:()=>oe,ROLE_INPUT:()=>ie,ROLE_INTENSITIES:()=>T,ROLE_LINKS_FOCUS:()=>le,ROLE_PRIMARY_ACTIONS:()=>ne,ROLE_SCROLL_TO_BOTTOM:()=>se,ROLE_SURFACES:()=>te,ROLE_USER_MESSAGES:()=>ae,SEMANTIC_COLORS_SECTION:()=>$t,SHADE_KEYS:()=>O,SHELL_STYLE_ID:()=>me,STATUS_COLORS_SECTION:()=>ut,STATUS_PALETTE_SECTION:()=>dt,STREAM_AND_ARTIFACTS_SUB_GROUP:()=>st,STYLE_SECTIONS:()=>_,STYLE_SECTIONS_V2:()=>jt,THEME_EDITOR_PRESETS:()=>U,THEME_SECTION:()=>lt,ThemeEditorState:()=>Te,ZOOM_MAX:()=>Zt,ZOOM_MIN:()=>Xt,appendPreviewTranscriptEntry:()=>to,applySceneConfig:()=>Le,applyShellTheme:()=>Jt,buildPreviewConfig:()=>ro,buildPreviewConfigWithMessages:()=>no,buildShellCss:()=>Oe,buildSrcdoc:()=>Qt,buildSummary:()=>V,buildTranscriptStreamFrames:()=>oo,coerceColor:()=>M,coerceFamily:()=>be,coerceIntensity:()=>ye,coerceRadius:()=>ve,coerceRoundnessStyle:()=>we,coerceScheme:()=>ke,convertFromPx:()=>Bt,convertToPx:()=>Vt,createPreviewMessages:()=>Tt,createPreviewTranscriptEntry:()=>_e,createThemeEditorTools:()=>Pt,detectRoleAssignment:()=>De,escapeHtml:()=>kt,findSection:()=>qt,formatCssValue:()=>Re,generateColorScale:()=>Pe,getPreviewTranscriptPresetLabel:()=>eo,getShellPalette:()=>wt,getThemeEditorPreset:()=>Be,hexToHsl:()=>Ze,hslToHex:()=>Je,isValidHex:()=>Ae,normalizeColorValue:()=>$,paletteColorPath:()=>Ot,parseCssValue:()=>Ce,presetStreamsText:()=>St,quickContrastWarnings:()=>W,resolveRoleAssignment:()=>de,resolveThemeColorPath:()=>Qe,rgbToHex:()=>Ee,runContrastChecks:()=>Z,scopeSection:()=>Yt,tokenRefDisplayName:()=>_t,toolResult:()=>R,wcagContrastRatio:()=>Q});module.exports=Po(pr);var N="min(440px, calc(100vw - 24px))",xe="440px",Do={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:N,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",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",size:"32px",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)"},H={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",launcher:Do,copy:{inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",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:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},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};var Ye="16px",Ke="transparent",Vo={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"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},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"}},Bo={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"}},Oo={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:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:N,maxWidth:xe,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:Ye,canvasBackground:Ke},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{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"}},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"}}};function _o(e){let t=[],o=[];return e.palette||t.push({path:"palette",message:"Theme must include a palette",severity:"error"}),e.semantic||o.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),e.components||o.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:t.length===0,errors:t,warnings:o}}function Dt(e,t){let o={...e};for(let[a,r]of Object.entries(t)){let n=o[a];n&&typeof n=="object"&&!Array.isArray(n)&&r&&typeof r=="object"&&!Array.isArray(r)?o[a]=Dt(n,r):o[a]=r}return o}function Lo(e,t){return t?Dt(e,t):e}function v(e,t={}){let o={palette:Vo,semantic:Bo,components:Oo},a={palette:{...o.palette,...e?.palette,colors:{...o.palette.colors,...e?.palette?.colors},spacing:{...o.palette.spacing,...e?.palette?.spacing},typography:{...o.palette.typography,...e?.palette?.typography},shadows:{...o.palette.shadows,...e?.palette?.shadows},borders:{...o.palette.borders,...e?.palette?.borders},radius:{...o.palette.radius,...e?.palette?.radius}},semantic:{...o.semantic,...e?.semantic,colors:{...o.semantic.colors,...e?.semantic?.colors,interactive:{...o.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...o.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...o.semantic.spacing,...e?.semantic?.spacing},typography:{...o.semantic.typography,...e?.semantic?.typography}},components:Lo(o.components,e?.components)};if(t.validate!==!1){let r=_o(a);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(n=>n.message).join(", ")}`)}if(t.plugins)for(let r of t.plugins)a=r.transform(a);return a}function Xe(e,t){let o=t.split("."),a=e;for(let r of o){if(a==null)return;a=a[r]}return a}function B(e,t,o){let a=t.split(".");if(a.length===1)return{...e,[a[0]]:o};let[r,...n]=a,s=e;return{...s,[r]:B(s?.[r]??{},n.join("."),o)}}function Se(e,t){let o=t.split(".");if(o.length===1){let c={...e};return delete c[o[0]],c}let[a,...r]=o,n=e,s=Se(n?.[a]??{},r.join(".")),l={...n};return typeof s=="object"&&s!==null&&!Array.isArray(s)&&Object.keys(s).length===0?delete l[a]:l[a]=s,l}var Te=class{constructor(t,o,a){this.listeners=[];this.history=[];this.historyIndex=-1;this.suppressHistory=!1;let r=a?.mergeDefaults??!0;this.config=r?{...H,...o}:o??H,this.theme=v(t,{validate:!1}),this.syncThemeIntoConfig(),this.pushHistorySnapshot(this.exportSnapshot(),!0)}get(t){return t.startsWith("theme.")?Xe(this.theme,t.replace("theme.","")):t.startsWith("darkTheme.")?Xe(this.config.darkTheme??{},t.replace("darkTheme.","")):Xe(this.config,t)}getTheme(){return this.theme}getConfig(){return this.config}set(t,o){if(t.startsWith("theme.")){let a=t.replace("theme.","");this.theme=B(this.theme,a,o),this.syncThemeIntoConfig()}else if(t.startsWith("darkTheme.")){let a=t.replace("darkTheme.",""),r=this.config.darkTheme??v();this.config={...this.config,darkTheme:B(r,a,o)}}else this.config=B(this.config,t,o);this.recordHistory(),this.notifyListeners()}unset(t){if(t.startsWith("theme.")){let o=t.replace("theme.","");this.theme=Se(this.theme,o),this.syncThemeIntoConfig()}else if(t.startsWith("darkTheme.")){let o=t.replace("darkTheme.","");this.config={...this.config,darkTheme:Se(this.config.darkTheme??{},o)}}else this.config=Se(this.config,t);this.recordHistory(),this.notifyListeners()}setBatch(t){let o=!1,a=!1,r=!1;for(let[n,s]of Object.entries(t))if(n.startsWith("theme.")){let l=n.replace("theme.","");this.theme=B(this.theme,l,s),o=!0}else if(n.startsWith("darkTheme.")){let l=n.replace("darkTheme.",""),c=this.config.darkTheme??v();this.config={...this.config,darkTheme:B(c,l,s)},a=!0}else this.config=B(this.config,n,s),r=!0;o&&this.syncThemeIntoConfig(),(o||a||r)&&(this.recordHistory(),this.notifyListeners())}setTheme(t){this.theme=t,this.syncThemeIntoConfig(),this.recordHistory(),this.notifyListeners()}setFullConfig(t,o){this.config={...t},o&&(this.theme=o),this.syncThemeIntoConfig(),this.recordHistory(),this.notifyListeners()}importSnapshot(t){if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Snapshot must be a JSON object");let o=t;if("config"in o||"theme"in o||o.version===2){let r=o.config??this.config,n=v(o.theme??this.theme,{validate:!1});this.setFullConfig(r,n);return}let a=v(o,{validate:!1});this.setTheme(a)}resetToDefaults(){this.config={...H},this.theme=v(),this.syncThemeIntoConfig(),this.history=[],this.historyIndex=-1,this.pushHistorySnapshot(this.exportSnapshot()),this.notifyListeners()}canUndo(){return this.historyIndex>0}canRedo(){return this.historyIndex>=0&&this.historyIndex<this.history.length-1}getHistoryLength(){return this.history.length}getHistoryIndex(){return this.historyIndex}undo(){this.canUndo()&&(this.historyIndex-=1,this.restoreSnapshot(this.history[this.historyIndex]))}redo(){this.canRedo()&&(this.historyIndex+=1,this.restoreSnapshot(this.history[this.historyIndex]))}exportSnapshot(){return{version:2,config:{...this.config,theme:void 0},theme:this.theme}}onChange(t){return this.listeners.push(t),()=>{let o=this.listeners.indexOf(t);o>=0&&this.listeners.splice(o,1)}}syncThemeIntoConfig(){this.config={...this.config,theme:this.theme}}notifyListeners(){for(let t of this.listeners)t(this.config,this.theme)}recordHistory(){this.pushHistorySnapshot(this.exportSnapshot())}pushHistorySnapshot(t,o=!1){if(this.suppressHistory)return;let a=JSON.stringify(t),r=this.historyIndex>=0&&this.history[this.historyIndex]?JSON.stringify(this.history[this.historyIndex]):null;if(o&&this.historyIndex>=0){this.history[this.historyIndex]=t;return}a!==r&&(this.history=this.history.slice(0,this.historyIndex+1),this.history.push(t),this.historyIndex=this.history.length-1)}restoreSnapshot(t){this.suppressHistory=!0,this.config=t.config,this.theme=v(t.theme,{validate:!1}),this.syncThemeIntoConfig(),this.suppressHistory=!1,this.notifyListeners()}};function Ce(e){let t=e.trim();if(t==="9999px")return{value:100,unit:"px"};let o=t.match(/^([\d.]+)(px|rem)$/);if(!o){let a=parseFloat(t);return{value:isNaN(a)?0:a,unit:"px"}}return{value:parseFloat(o[1]),unit:o[2]}}function Re(e,t){return t==="rem"?`${e}rem`:`${e}px`}function Vt(e,t){return t==="rem"?e*16:e}function Bt(e,t){return t==="rem"?e/16:e}function $(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 Ae(e){return/^#[0-9A-Fa-f]{6}$/.test(e)}function Ee(e){let t=e.trim().toLowerCase().match(/^rgba?\(([^)]+)\)$/);if(!t)return null;let o=t[1].split(",").map(c=>c.trim());if(o.length<3)return null;let a=c=>{let g=c.endsWith("%"),b=parseFloat(g?c.slice(0,-1):c);return Number.isFinite(b)?Math.max(0,Math.min(255,Math.round(g?b/100*255:b))):NaN},r=a(o[0]),n=a(o[1]),s=a(o[2]);if(!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s))return null;let l=c=>c.toString(16).padStart(2,"0");return`#${l(r)}${l(n)}${l(s)}`}function Q(e,t){let o=n=>{let s=$(n),l=s.startsWith("rgb")?Ee(s)??"#000000":s,c=[1,3,5].map(g=>{let b=parseInt(l.slice(g,g+2),16)/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)});return .2126*c[0]+.7152*c[1]+.0722*c[2]},a=o(e),r=o(t);return(Math.max(a,r)+.05)/(Math.min(a,r)+.05)}function Ze(e){let t=$(e),o=t.startsWith("rgb")?Ee(t)??"#000000":t,a=parseInt(o.slice(1,3),16)/255,r=parseInt(o.slice(3,5),16)/255,n=parseInt(o.slice(5,7),16)/255,s=Math.max(a,r,n),l=Math.min(a,r,n),c=(s+l)/2;if(s===l)return{h:0,s:0,l:c};let g=s-l,b=c>.5?g/(2-s-l):g/(s+l),w;switch(s){case a:w=((r-n)/g+(r<n?6:0))/6;break;case r:w=((n-a)/g+2)/6;break;default:w=((a-r)/g+4)/6;break}return{h:w*360,s:b,l:c}}function Je(e,t,o){let a=(e%360+360)%360,r=(1-Math.abs(2*o-1))*t,n=r*(1-Math.abs(a/60%2-1)),s=o-r/2,l,c,g;a<60?[l,c,g]=[r,n,0]:a<120?[l,c,g]=[n,r,0]:a<180?[l,c,g]=[0,r,n]:a<240?[l,c,g]=[0,n,r]:a<300?[l,c,g]=[n,0,r]:[l,c,g]=[r,0,n];let b=w=>{let S=Math.round((w+s)*255).toString(16);return S.length===1?"0"+S:S};return`#${b(l)}${b(c)}${b(g)}`}function Pe(e){let{h:t,s:o,l:a}=Ze(e),r={50:.97,100:.94,200:.87,300:.77,400:.64,500:a,600:Math.max(.05,a-.1),700:Math.max(.05,a-.2),800:Math.max(.05,a-.28),900:Math.max(.05,a-.35),950:Math.max(.03,a-.42)},n={50:Math.min(1,o*.85),100:Math.min(1,o*.9),200:Math.min(1,o*.95),300:o,400:o,500:o,600:Math.min(1,o*1.05),700:Math.min(1,o*1.05),800:Math.min(1,o*1),900:Math.min(1,o*.95),950:Math.min(1,o*.9)},s={};for(let[l,c]of Object.entries(r)){let g=n[l];s[l]=Je(t,g,c)}return s}var O=["50","100","200","300","400","500","600","700","800","900","950"],Ie=["primary","secondary","accent","gray","success","warning","error","info"];function Ot(e,t){return`palette.colors.${e}.${t}`}function Qe(e,t,o=0){if(o>5)return"#cbd5e1";let a=e(t);return typeof a!="string"?"#cbd5e1":a.startsWith("#")||a.startsWith("rgb")||a==="transparent"?a:a.startsWith("palette.")||a.startsWith("semantic.")||a.startsWith("components.")?Qe(e,`theme.${a}`,o+1):"#cbd5e1"}function _t(e){if(!e.startsWith("palette.")&&!e.startsWith("semantic."))return e;let t=e.split(".");if(t[0]==="palette"&&t[1]==="colors"){let o=t[2],a=t[3];return`${o.charAt(0).toUpperCase()+o.slice(1)} ${a}`}return t[0]==="semantic"?t.slice(1).map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join(" "):t[t.length-1]}var T=[{id:"solid",label:"Solid"},{id:"soft",label:"Soft"}],ee=["primary","secondary","accent","gray"],Lt={primary:"Primary",secondary:"Secondary",accent:"Accent",gray:"Neutral"},te={roleId:"role-surfaces",helper:"Page and panel backgrounds",previewZone:"container",intensities:T,targets:[{path:"semantic.colors.background",kind:"background"},{path:"semantic.colors.surface",kind:"background"},{path:"semantic.colors.container",kind:"background"}]},oe={roleId:"role-header",helper:"Widget header bar",previewZone:"header",intensities:T,targets:[{path:"components.header.background",kind:"background"},{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"}]},ae={roleId:"role-user-messages",helper:"User chat bubbles",previewZone:"user-message",intensities:T,targets:[{path:"components.message.user.background",kind:"background"},{path:"components.message.user.text",kind:"foreground"}]},re={roleId:"role-assistant-messages",helper:"Assistant chat bubbles",previewZone:"assistant-message",intensities:T,targets:[{path:"components.message.assistant.background",kind:"background"},{path:"components.message.assistant.text",kind:"foreground"}]},ne={roleId:"role-primary-actions",helper:"Send button and primary buttons",intensities:T,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"}]},se={roleId:"role-scroll-to-bottom",helper:"Scroll-to-bottom affordances in transcript and event stream",intensities:T,targets:[{path:"components.scrollToBottom.background",kind:"background"},{path:"components.scrollToBottom.foreground",kind:"foreground"},{path:"components.scrollToBottom.border",kind:"border"}]},ie={roleId:"role-input",helper:"Message input field",previewZone:"composer",intensities:T,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"}]},le={roleId:"role-links-focus",helper:"Links, focus rings, and interactive highlights",intensities:T,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"}]},ce={roleId:"role-borders",helper:"Borders, dividers, and separators",intensities:T,targets:[{path:"semantic.colors.border",kind:"border"},{path:"semantic.colors.divider",kind:"border"}]},I=[te,oe,ae,re,ne,se,ie,le,ce];function de(e,t,o){let a={},r=e==="neutral"?"gray":e;for(let n of o.targets){let s=Mo(r,t,n,o.roleId);a[`theme.${n.path}`]=s,a[`darkTheme.${n.path}`]=s}if(o.roleId==="role-primary-actions"){let n=t==="solid"?`palette.colors.${r}.700`:`palette.colors.${r}.200`;a["theme.semantic.colors.interactive.hover"]=n,a["darkTheme.semantic.colors.interactive.hover"]=n}return a}function Mo(e,t,o,a){let r=t==="solid";if(a==="role-header")return Wo(e,r,o);if(a==="role-input")return Fo(e,r,o);switch(o.kind){case"background":return r?`palette.colors.${e}.500`:`palette.colors.${e}.${e==="gray"?"50":"100"}`;case"foreground":return r?`palette.colors.${e==="gray"?"gray":e}.50`:`palette.colors.${e==="gray"?"gray":e}.900`;case"border":return r?`palette.colors.${e}.600`:`palette.colors.${e}.200`;case"accent":return r?`palette.colors.${e}.600`:`palette.colors.${e}.400`}}function Wo(e,t,o){let a=o.path;return a.endsWith(".background")?t?`palette.colors.${e}.500`:`palette.colors.${e}.${e==="gray"?"50":"100"}`:a.endsWith(".border")?t?`palette.colors.${e}.600`:`palette.colors.${e}.200`:a.endsWith(".iconBackground")?t?`palette.colors.${e}.${e==="gray"?"700":"600"}`:`palette.colors.${e}.500`:a.endsWith(".iconForeground")?t?`palette.colors.${e}.50`:`palette.colors.${e}.50`:a.endsWith(".titleForeground")?t?`palette.colors.${e}.50`:`palette.colors.${e}.${e==="gray"?"900":"700"}`:a.endsWith(".subtitleForeground")?t?`palette.colors.${e}.200`:`palette.colors.${e}.500`:a.endsWith(".actionIconForeground")?t?`palette.colors.${e}.200`:`palette.colors.${e}.500`:`palette.colors.${e}.500`}function Fo(e,t,o){let a=o.path;return a.endsWith(".background")?t?`palette.colors.${e}.${e==="gray"?"100":"50"}`:`palette.colors.${e}.50`:a.endsWith(".placeholder")?`palette.colors.${e}.400`:a.endsWith(".border")||a.endsWith(".ring")?t?`palette.colors.${e}.500`:`palette.colors.${e}.400`:`palette.colors.${e}.500`}var No=/^palette\.colors\.(\w+)\.(\d+)$/;function De(e,t){let o=t.targets.find(l=>l.kind==="background")??t.targets[0];if(!o)return null;let r=String(e(o.path)??"").match(No);if(!r)return null;let n=r[1],s=ee.includes(n)?n:null;if(!s)return null;for(let l of["solid","soft"]){let c=de(s,l,t);if(t.targets.every(b=>String(e(b.path)??"")===c[`theme.${b.path}`]))return{family:s,intensity:l}}return null}var D=e=>String(e??"").trim()||void 0,Ho={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"}]}]},$o={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:[{id:"brand-primary",label:"Primary",description:"Main brand color for buttons, links, and accents",type:"color",path:"theme.palette.colors.primary.500",defaultValue:"#171717"},{id:"brand-secondary",label:"Secondary",description:"Supporting brand color",type:"color",path:"theme.palette.colors.secondary.500",defaultValue:"#7c3aed"},{id:"brand-accent",label:"Accent",description:"Highlight and decorative color",type:"color",path:"theme.palette.colors.accent.500",defaultValue:"#06b6d4"}]},zo={id:"chat-colors",title:"Chat Colors",description:"Customize the main colors of the chat interface.",collapsed:!0,fields:[{id:"chat-header-bg",label:"Header Background",type:"token-ref",path:"theme.components.header.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"chat-header-icon-bg",label:"Header Icon Background",type:"token-ref",path:"theme.components.header.iconBackground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-header-icon-fg",label:"Header Icon Color",type:"token-ref",path:"theme.components.header.iconForeground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"chat-header-title-fg",label:"Header Title Color",type:"token-ref",path:"theme.components.header.titleForeground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-header-subtitle-fg",label:"Header Subtitle Color",type:"token-ref",path:"theme.components.header.subtitleForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"chat-header-action-icons-fg",label:"Header Button Icons",type:"token-ref",path:"theme.components.header.actionIconForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"chat-msg-user-bg",label:"User Message Background",type:"token-ref",path:"theme.components.message.user.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"chat-msg-user-text",label:"User Message Text",type:"token-ref",path:"theme.components.message.user.text",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"chat-msg-assistant-bg",label:"Assistant Message Background",type:"token-ref",path:"theme.components.message.assistant.background",defaultValue:"semantic.colors.container",tokenRef:{tokenType:"color"}},{id:"chat-msg-assistant-text",label:"Assistant Message Text",type:"token-ref",path:"theme.components.message.assistant.text",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},Uo={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)"}]}]},jo={id:"launcher-style",title:"Launcher",description:"Control launcher appearance.",collapsed:!0,fields:[{id:"style-launcher-size",label:"Launcher Size",type:"slider",path:"theme.components.launcher.size",defaultValue:"60px",slider:{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"}]}]},Go={id:"shape",title:"Shape",description:"Control the corner roundness across the widget.",collapsed:!0,fields:[{id:"radius-sm",label:"Small",type:"slider",path:"theme.palette.radius.sm",defaultValue:"0.125rem",slider:{min:0,max:16,step:1}},{id:"radius-md",label:"Medium",type:"slider",path:"theme.palette.radius.md",defaultValue:"0.375rem",slider:{min:0,max:24,step:1}},{id:"radius-lg",label:"Large",type:"slider",path:"theme.palette.radius.lg",defaultValue:"0.5rem",slider:{min:0,max:32,step:1}},{id:"radius-xl",label:"Extra Large",type:"slider",path:"theme.palette.radius.xl",defaultValue:"0.75rem",slider:{min:0,max:48,step:1}},{id:"radius-full",label:"Full",type:"slider",path:"theme.palette.radius.full",defaultValue:"9999px",slider:{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"}}]},qo={id:"shadows",title:"Shadows",collapsed:!0,fields:[{id:"shadow-sm",label:"Small",type:"text",path:"theme.palette.shadows.sm",defaultValue:"0 1px 2px 0 rgb(0 0 0 / 0.05)"},{id:"shadow-md",label:"Medium",type:"text",path:"theme.palette.shadows.md",defaultValue:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},{id:"shadow-lg",label:"Large",type:"text",path:"theme.palette.shadows.lg",defaultValue:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"},{id:"shadow-xl",label:"Extra Large",type:"text",path:"theme.palette.shadows.xl",defaultValue:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"}]},Yo={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"}]},{id:"style-panel-canvas-bg",label:"Detached Canvas Background",description:"Fills the region behind a detached panel; defaults to transparent",type:"token-ref",path:"theme.components.panel.canvasBackground",defaultValue:Ke,tokenRef:{tokenType:"color"}},{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"}]}]},_=[$o,zo,jo,Uo,Ho,Go,qo,Yo];function Ft(){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:Ie.map(t=>({id:`palette-${t}`,label:`${t.charAt(0).toUpperCase()+t.slice(1)}`,description:`${t} color palette (edit shade 500, auto-generate scale)`,type:"color-scale",path:`theme.palette.colors.${t}`,colorScale:{colorFamily:t}}))}}var Nt={id:"semantic-colors",title:"Semantic Colors",description:"Map intents to palette colors.",collapsed:!0,fields:[{id:"sem-primary",label:"Primary",description:"Main brand/action color",type:"token-ref",path:"theme.semantic.colors.primary",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sem-secondary",label:"Secondary",description:"Secondary actions",type:"token-ref",path:"theme.semantic.colors.secondary",defaultValue:"palette.colors.gray.500",tokenRef:{tokenType:"color"}},{id:"sem-accent",label:"Accent",description:"Accent/highlight color",type:"token-ref",path:"theme.semantic.colors.accent",defaultValue:"palette.colors.primary.600",tokenRef:{tokenType:"color"}},{id:"sem-surface",label:"Surface",description:"Primary surface background",type:"token-ref",path:"theme.semantic.colors.surface",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-background",label:"Background",description:"Page/widget background",type:"token-ref",path:"theme.semantic.colors.background",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-container",label:"Container",description:"Container/card background",type:"token-ref",path:"theme.semantic.colors.container",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{id:"sem-text",label:"Text",description:"Primary text color",type:"token-ref",path:"theme.semantic.colors.text",defaultValue:"palette.colors.gray.900",tokenRef:{tokenType:"color"}},{id:"sem-text-muted",label:"Text Muted",description:"Secondary/muted text",type:"token-ref",path:"theme.semantic.colors.textMuted",defaultValue:"palette.colors.gray.500",tokenRef:{tokenType:"color"}},{id:"sem-text-inverse",label:"Text Inverse",description:"Text on dark backgrounds",type:"token-ref",path:"theme.semantic.colors.textInverse",defaultValue:"palette.colors.gray.50",tokenRef:{tokenType:"color"}},{id:"sem-border",label:"Border",description:"Default border color",type:"token-ref",path:"theme.semantic.colors.border",defaultValue:"palette.colors.gray.200",tokenRef:{tokenType:"color"}},{id:"sem-divider",label:"Divider",description:"Divider/separator color",type:"token-ref",path:"theme.semantic.colors.divider",defaultValue:"palette.colors.gray.200",tokenRef:{tokenType:"color"}},{id:"sem-interactive-default",label:"Interactive Default",type:"token-ref",path:"theme.semantic.colors.interactive.default",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sem-interactive-hover",label:"Interactive Hover",type:"token-ref",path:"theme.semantic.colors.interactive.hover",defaultValue:"palette.colors.primary.600",tokenRef:{tokenType:"color"}},{id:"sem-interactive-focus",label:"Interactive Focus",type:"token-ref",path:"theme.semantic.colors.interactive.focus",defaultValue:"palette.colors.primary.700",tokenRef:{tokenType:"color"}},{id:"sem-interactive-active",label:"Interactive Active",type:"token-ref",path:"theme.semantic.colors.interactive.active",defaultValue:"palette.colors.primary.800",tokenRef:{tokenType:"color"}},{id:"sem-interactive-disabled",label:"Interactive Disabled",type:"token-ref",path:"theme.semantic.colors.interactive.disabled",defaultValue:"palette.colors.gray.300",tokenRef:{tokenType:"color"}},{id:"sem-feedback-success",label:"Success",type:"token-ref",path:"theme.semantic.colors.feedback.success",defaultValue:"palette.colors.success.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-warning",label:"Warning",type:"token-ref",path:"theme.semantic.colors.feedback.warning",defaultValue:"palette.colors.warning.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-error",label:"Error",type:"token-ref",path:"theme.semantic.colors.feedback.error",defaultValue:"palette.colors.error.500",tokenRef:{tokenType:"color"}},{id:"sem-feedback-info",label:"Info",type:"token-ref",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}}]},Ht=Ft(),$t=Nt,zt=[Ft(),Nt],Ko={id:"comp-panel",title:"Panel",collapsed:!1,fields:[{id:"panel-width",label:"Width",type:"text",path:"theme.components.panel.width",defaultValue:N},{id:"panel-max-width",label:"Max Width",type:"text",path:"theme.components.panel.maxWidth",defaultValue:xe},{id:"panel-height",label:"Height",type:"text",path:"theme.components.panel.height",defaultValue:"600px"},{id:"panel-max-height",label:"Max Height",type:"text",path:"theme.components.panel.maxHeight",defaultValue:"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"}]},{id:"panel-inset",label:"Detached Inset",description:"Gap around the card when launcher.detachedPanel is on",type:"text",path:"theme.components.panel.inset",defaultValue:Ye}]},Xo={id:"comp-launcher",title:"Launcher",collapsed:!0,fields:[{id:"launcher-size",label:"Size",type:"slider",path:"theme.components.launcher.size",defaultValue:"60px",slider:{min:32,max:80,step:2}},{id:"launcher-icon-size",label:"Icon Size",type:"slider",path:"theme.components.launcher.iconSize",defaultValue:"28px",slider:{min:16,max:48,step:2}},{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"}]}]},Zo={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"}]}]},Jo={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"}]}]},Qo={id:"comp-composer-spacing",title:"Composer Spacing",collapsed:!0,fields:[{id:"composer-padding",label:"Padding",type:"text",path:"theme.components.composer.padding",defaultValue:"0.75rem 1rem"},{id:"composer-gap",label:"Row Gap",description:"Space between the textarea row and the actions row",type:"text",path:"theme.components.composer.gap",defaultValue:"0.5rem"},{id:"composer-font-size",label:"Font Size",type:"text",path:"theme.components.composer.fontSize",defaultValue:"0.875rem"},{id:"composer-line-height",label:"Line Height",type:"text",path:"theme.components.composer.lineHeight",defaultValue:"1.25rem"}]},ea={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"}]}]},ta={id:"comp-header-colors",title:"Header Colors",collapsed:!0,fields:[{id:"header-bg",label:"Background",type:"token-ref",path:"theme.components.header.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"header-icon-bg",label:"Icon background",type:"token-ref",path:"theme.components.header.iconBackground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"header-icon-fg",label:"Icon color",type:"token-ref",path:"theme.components.header.iconForeground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"header-title-fg",label:"Title color",type:"token-ref",path:"theme.components.header.titleForeground",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"header-subtitle-fg",label:"Subtitle color",type:"token-ref",path:"theme.components.header.subtitleForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"header-action-icons-fg",label:"Clear / close icons",type:"token-ref",path:"theme.components.header.actionIconForeground",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"header-border",label:"Border",type:"token-ref",path:"theme.components.header.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}}]},oa={id:"comp-message-colors",title:"Message Colors",collapsed:!0,fields:[{id:"msg-user-bg",label:"User Bubble Background",type:"token-ref",path:"theme.components.message.user.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"msg-user-text",label:"User Bubble Text",type:"token-ref",path:"theme.components.message.user.text",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"msg-assistant-bg",label:"Assistant Bubble Background",type:"token-ref",path:"theme.components.message.assistant.background",defaultValue:"semantic.colors.container",tokenRef:{tokenType:"color"}},{id:"msg-assistant-text",label:"Assistant Bubble Text",type:"token-ref",path:"theme.components.message.assistant.text",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},aa={id:"comp-input-colors",title:"Input Colors",collapsed:!0,fields:[{id:"input-bg",label:"Background",type:"token-ref",path:"theme.components.input.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"input-placeholder",label:"Placeholder Color",type:"token-ref",path:"theme.components.input.placeholder",defaultValue:"semantic.colors.textMuted",tokenRef:{tokenType:"color"}},{id:"input-focus-border",label:"Focus Border",type:"token-ref",path:"theme.components.input.focus.border",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}},{id:"input-focus-ring",label:"Focus Ring",type:"token-ref",path:"theme.components.input.focus.ring",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}}]},ra={id:"comp-button-colors",title:"Button Colors",collapsed:!0,fields:[{id:"btn-primary-bg",label:"Primary Background",type:"token-ref",path:"theme.components.button.primary.background",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"btn-primary-fg",label:"Primary Foreground",type:"token-ref",path:"theme.components.button.primary.foreground",defaultValue:"semantic.colors.textInverse",tokenRef:{tokenType:"color"}},{id:"btn-secondary-bg",label:"Secondary Background",type:"token-ref",path:"theme.components.button.secondary.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"btn-secondary-fg",label:"Secondary Foreground",type:"token-ref",path:"theme.components.button.secondary.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"btn-ghost-bg",label:"Ghost Background",type:"color",path:"theme.components.button.ghost.background",defaultValue:"transparent"},{id:"btn-ghost-fg",label:"Ghost Foreground",type:"token-ref",path:"theme.components.button.ghost.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}}]},na={id:"scroll-to-bottom-style",title:"Scroll To Bottom",description:"Style the floating jump-to-latest affordance.",collapsed:!0,fields:[{id:"scroll-bottom-bg",label:"Background",type:"token-ref",path:"theme.components.scrollToBottom.background",defaultValue:"components.button.primary.background",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-fg",label:"Foreground",type:"token-ref",path:"theme.components.scrollToBottom.foreground",defaultValue:"components.button.primary.foreground",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-border",label:"Border",type:"token-ref",path:"theme.components.scrollToBottom.border",defaultValue:"semantic.colors.primary",tokenRef:{tokenType:"color"}},{id:"scroll-bottom-size",label:"Size",type:"text",path:"theme.components.scrollToBottom.size",defaultValue:"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"}]},{id:"scroll-bottom-padding",label:"Padding",type:"text",path:"theme.components.scrollToBottom.padding",defaultValue:"0.5rem 0.875rem"},{id:"scroll-bottom-gap",label:"Gap",type:"text",path:"theme.components.scrollToBottom.gap",defaultValue:"0.5rem"},{id:"scroll-bottom-font-size",label:"Font Size",type:"text",path:"theme.components.scrollToBottom.fontSize",defaultValue:"0.875rem"},{id:"scroll-bottom-icon-size",label:"Icon Size",type:"text",path:"theme.components.scrollToBottom.iconSize",defaultValue:"14px"}]},sa={id:"comp-suggestions",title:"Suggestions",description:"Style starter cards, follow-up chips, and list rows.",collapsed:!0,fields:[{id:"suggestion-chip-bg",label:"Chip Background",type:"token-ref",path:"theme.components.suggestion.chip.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-fg",label:"Chip Text",type:"token-ref",path:"theme.components.suggestion.chip.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-border",label:"Chip Border",type:"token-ref",path:"theme.components.suggestion.chip.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-hover",label:"Chip Hover",type:"token-ref",path:"theme.components.suggestion.chip.hoverBackground",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-focus",label:"Chip Focus Ring",type:"token-ref",path:"theme.components.suggestion.chip.focusRing",defaultValue:"semantic.colors.interactive.focus",tokenRef:{tokenType:"color"}},{id:"suggestion-card-bg",label:"Card Background",type:"token-ref",path:"theme.components.suggestion.card.background",defaultValue:"semantic.colors.surface",tokenRef:{tokenType:"color"}},{id:"suggestion-card-fg",label:"Card Text",type:"token-ref",path:"theme.components.suggestion.card.foreground",defaultValue:"semantic.colors.text",tokenRef:{tokenType:"color"}},{id:"suggestion-card-border",label:"Card Border",type:"token-ref",path:"theme.components.suggestion.card.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}},{id:"suggestion-card-hover",label:"Card Hover",type:"token-ref",path:"theme.components.suggestion.card.hoverBackground",defaultValue:"palette.colors.gray.100",tokenRef:{tokenType:"color"}},{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"}]},{id:"suggestion-list-bg",label:"List Background",type:"color",path:"theme.components.suggestion.list.background",defaultValue:"transparent"},{id:"suggestion-list-border",label:"List Border",type:"token-ref",path:"theme.components.suggestion.list.border",defaultValue:"semantic.colors.border",tokenRef:{tokenType:"color"}},{id:"suggestion-chip-item-gap",label:"Chip Spacing",description:"Space between chips",type:"text",path:"theme.components.suggestion.chip.itemGap",defaultValue:"8px"},{id:"suggestion-card-item-gap",label:"Card Spacing",description:"Space between cards",type:"text",path:"theme.components.suggestion.card.itemGap",defaultValue:"8px"},{id:"suggestion-list-item-gap",label:"List Spacing",description:"Space between list rows",type:"text",path:"theme.components.suggestion.list.itemGap",defaultValue:"8px"}]},z=[{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"}],Ut="0 5px 15px rgba(15, 23, 42, 0.08)",Mt=[{value:Ut,label:"Default"},...z],ia={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:z},{id:"shadow-msg-assistant",label:"Assistant Message",type:"select",path:"theme.components.message.assistant.shadow",defaultValue:"palette.shadows.sm",options:z},{id:"shadow-tool-bubble",label:"Tool Call Bubble",type:"select",path:"theme.components.toolBubble.shadow",defaultValue:"palette.shadows.sm",options:z},{id:"shadow-reasoning-bubble",label:"Reasoning Bubble",type:"select",path:"theme.components.reasoningBubble.shadow",defaultValue:"palette.shadows.sm",options:z},{id:"shadow-approval",label:"Approval Bubble",type:"select",path:"theme.components.approval.requested.shadow",defaultValue:Ut,options:Mt},{id:"shadow-intro-card",label:"Intro Card",type:"select",path:"theme.components.introCard.shadow",defaultValue:"palette.shadows.none",options:Mt},{id:"shadow-composer",label:"Composer",type:"select",path:"theme.components.composer.shadow",defaultValue:"palette.shadows.none",options:z}]},Wt=[{value:"",label:"Default"},{value:"400",label:"Normal (400)"},{value:"500",label:"Medium (500)"},{value:"600",label:"Semibold (600)"},{value:"700",label:"Bold (700)"}],la={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:D},{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:D},{id:"header-title-font-weight",label:"Header Title Weight",type:"select",path:"theme.components.header.title.fontWeight",defaultValue:"",options:Wt,parseValue:D},{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:D},{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:D},{id:"welcome-title-font-weight",label:"Welcome Title Weight",type:"select",path:"theme.components.introCard.title.fontWeight",defaultValue:"",options:Wt,parseValue:D}]},tt=[Ko,Xo,Zo,Jo,Qo,ea,la,ia],ot=[ta,oa,aa,ra,na,sa],at=[...tt,...ot],rt=1024*1024,ca=["Show me what you can help with","Walk me through getting started","Answer a question about this page"],pe={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 da(e){return Number(e)*rt}function pa(e){let t=Number(e);return Number.isFinite(t)?t>1024?String(Math.round(t/rt)):String(t):"10"}function ua(e){return pe[String(e)]??pe.images}function ma(e){let t=Array.isArray(e)?e:pe.images,o=[...new Set(t)].sort();for(let[a,r]of Object.entries(pe)){let n=[...r].sort();if(o.length===n.length&&o.every((s,l)=>s===n[l]))return a}return o.some(a=>a.startsWith("application/vnd")||a==="application/msword")?"all":o.some(a=>a==="text/plain"||a==="text/markdown"||a==="text/csv")?"images-text-pdf":o.includes("application/pdf")?"images-pdf":"images"}var ga={id:"copy",title:"Content & Copy",collapsed:!1,fields:[{id:"copy-show-welcome-card",label:"Show Welcome Card",type:"toggle",path:"copy.showWelcomeCard",defaultValue:!0},{id:"copy-welcome-title",label:"Welcome Title",type:"text",path:"copy.welcomeTitle",defaultValue:"Hello \u{1F44B}"},{id:"copy-welcome-subtitle",label:"Welcome Subtitle",type:"text",path:"copy.welcomeSubtitle",defaultValue:"I can answer questions and help you get things done here."},{id:"copy-placeholder",label:"Input Placeholder",type:"text",path:"copy.inputPlaceholder",defaultValue:"Type your message\u2026"},{id:"copy-send-label",label:"Send Button Label",type:"text",path:"copy.sendButtonLabel",defaultValue:"Send"}]},fa={id:"suggestions",title:"Suggestions",description:"Configure starter prompts and agent follow-ups.",collapsed:!0,fields:[{id:"suggestions-list",label:"Starter Prompts",description:"Add, edit, and remove starter prompts directly.",type:"chip-list",path:"suggestionChips",defaultValue:ca},{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"}]},{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"}]}]},ha={id:"general-layout",title:"Layout Basics",collapsed:!0,fields:[{id:"layout-show-header",label:"Show Header",type:"toggle",path:"layout.showHeader",defaultValue:!0},{id:"layout-show-footer",label:"Show Footer",type:"toggle",path:"layout.showFooter",defaultValue:!0},{id:"layout-content-max-width",label:"Content Max Width",description:"Max width for messages + composer",type:"text",path:"layout.contentMaxWidth",defaultValue:""}]},ba={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"}]},{id:"layout-show-icon",label:"Show Header Icon",type:"toggle",path:"layout.header.showIcon",defaultValue:!0},{id:"layout-show-title",label:"Show Header Title",type:"toggle",path:"layout.header.showTitle",defaultValue:!0},{id:"layout-show-subtitle",label:"Show Header Subtitle",type:"toggle",path:"layout.header.showSubtitle",defaultValue:!0},{id:"layout-show-close",label:"Show Close Button",type:"toggle",path:"layout.header.showCloseButton",defaultValue:!0},{id:"layout-show-clear",label:"Show Clear Chat",type:"toggle",path:"layout.header.showClearChat",defaultValue:!0}]},ya={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 \u2014 bubbles for both"},{value:"minimal",label:"Minimal \u2014 user bubble, open assistant"},{value:"flat",label:"Flat \u2014 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:D},{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:D},{id:"layout-group",label:"Group Consecutive",type:"toggle",path:"layout.messages.groupConsecutive",defaultValue:!1},{id:"layout-avatar-show",label:"Show Avatars",type:"toggle",path:"layout.messages.avatar.show",defaultValue:!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"}]},{id:"layout-avatar-user",label:"User Avatar URL",type:"text",path:"layout.messages.avatar.userAvatar",defaultValue:""},{id:"layout-avatar-assistant",label:"Assistant Avatar URL",type:"text",path:"layout.messages.avatar.assistantAvatar",defaultValue:""},{id:"layout-timestamp-show",label:"Show Timestamps",type:"toggle",path:"layout.messages.timestamp.show",defaultValue:!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"}]}]},ka={id:"message-actions",title:"Message Actions",collapsed:!0,fields:[{id:"msg-actions-enabled",label:"Enabled",type:"toggle",path:"messageActions.enabled",defaultValue:!0},{id:"msg-actions-copy",label:"Show Copy",type:"toggle",path:"messageActions.showCopy",defaultValue:!0},{id:"msg-actions-upvote",label:"Show Upvote",type:"toggle",path:"messageActions.showUpvote",defaultValue:!0},{id:"msg-actions-downvote",label:"Show Downvote",type:"toggle",path:"messageActions.showDownvote",defaultValue:!0},{id:"msg-actions-read-aloud",label:"Show Read Aloud",type:"toggle",path:"messageActions.showReadAloud",defaultValue:!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"}]}]},wa={id:"launcher-basics",title:"Launcher",collapsed:!0,fields:[{id:"launch-enabled",label:"Enabled",type:"toggle",path:"launcher.enabled",defaultValue:!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"}]},{id:"launch-width",label:"Width",type:"text",path:"launcher.width",defaultValue:N},{id:"launch-auto-expand",label:"Auto Expand",type:"toggle",path:"launcher.autoExpand",defaultValue:!1},{id:"launch-title",label:"Title",type:"text",path:"launcher.title",defaultValue:"Chat Assistant"},{id:"launch-subtitle",label:"Subtitle",type:"text",path:"launcher.subtitle",defaultValue:"Here to help you get answers fast"}]},va={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"}]},{id:"launch-dock-width",label:"Dock Width",type:"text",path:"launcher.dock.width",defaultValue:"420px"},{id:"launch-dock-animate",label:"Dock Animate",type:"toggle",path:"launcher.dock.animate",defaultValue:!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"}]},{id:"launch-text-hidden",label:"Hide Text",type:"toggle",path:"launcher.textHidden",defaultValue:!1},{id:"launch-icon-text",label:"Agent Icon Text",type:"text",path:"launcher.agentIconText",defaultValue:"\u{1F4AC}"},{id:"launch-icon-name",label:"Agent Icon Name (Lucide)",type:"text",path:"launcher.agentIconName",defaultValue:"bot"},{id:"launch-icon-hidden",label:"Hide Agent Icon",type:"toggle",path:"launcher.agentIconHidden",defaultValue:!1},{id:"launch-icon-size",label:"Agent Icon Size",type:"slider",path:"launcher.agentIconSize",defaultValue:"40px",slider:{min:16,max:72,step:2}},{id:"launch-icon-url",label:"Icon Image URL",description:"Custom image URL (overrides emoji/lucide)",type:"text",path:"launcher.iconUrl",defaultValue:""},{id:"launch-header-icon-name",label:"Header Icon Name (Lucide)",type:"text",path:"launcher.headerIconName",defaultValue:"bot"},{id:"launch-header-icon-size",label:"Header Icon Size",type:"slider",path:"launcher.headerIconSize",defaultValue:"48px",slider:{min:24,max:80,step:2}},{id:"launch-header-icon-hidden",label:"Hide Header Icon",type:"toggle",path:"launcher.headerIconHidden",defaultValue:!1},{id:"launch-full-height",label:"Full Height",type:"toggle",path:"launcher.fullHeight",defaultValue:!1},{id:"launch-sidebar",label:"Sidebar Mode",type:"toggle",path:"launcher.sidebarMode",defaultValue:!1},{id:"launch-sidebar-width",label:"Sidebar Width",type:"text",path:"launcher.sidebarWidth",defaultValue:"420px"},{id:"launch-mobile-fullscreen",label:"Mobile Fullscreen",description:"Fullscreen on mobile devices",type:"toggle",path:"launcher.mobileFullscreen",defaultValue:!0},{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)},{id:"launch-collapsed-max-width",label:"Collapsed Max Width",description:"Max width of launcher pill when closed",type:"text",path:"launcher.collapsedMaxWidth",defaultValue:""},{id:"launch-cta-text",label:"CTA Icon Text",type:"text",path:"launcher.callToActionIconText",defaultValue:"\u2197"},{id:"launch-cta-name",label:"CTA Icon Name",type:"text",path:"launcher.callToActionIconName",defaultValue:""},{id:"launch-cta-hidden",label:"Hide CTA Icon",type:"toggle",path:"launcher.callToActionIconHidden",defaultValue:!1},{id:"launch-cta-size",label:"CTA Icon Size",type:"slider",path:"launcher.callToActionIconSize",defaultValue:"32px",slider:{min:16,max:64,step:2}},{id:"launch-cta-padding",label:"CTA Icon Padding",type:"slider",path:"launcher.callToActionIconPadding",defaultValue:"5px",slider:{min:0,max:24,step:1}},{id:"launch-cta-bg",label:"CTA Icon Background",type:"color",path:"launcher.callToActionIconBackgroundColor",defaultValue:""}]},xa={id:"send-button",title:"Send Button",collapsed:!0,fields:[{id:"send-use-icon",label:"Use Icon",type:"toggle",path:"sendButton.useIcon",defaultValue:!1},{id:"send-icon-text",label:"Icon Text",type:"text",path:"sendButton.iconText",defaultValue:"\u2191"},{id:"send-icon-name",label:"Icon Name (Lucide)",type:"text",path:"sendButton.iconName",defaultValue:""},{id:"send-size",label:"Size",type:"slider",path:"sendButton.size",defaultValue:"40px",slider:{min:24,max:64,step:2}},{id:"send-border-width",label:"Border Width",type:"slider",path:"sendButton.borderWidth",defaultValue:"0px",slider:{min:0,max:10,step:1}},{id:"send-padding-x",label:"Padding X",type:"slider",path:"sendButton.paddingX",defaultValue:"10px",slider:{min:0,max:32,step:1}},{id:"send-padding-y",label:"Padding Y",type:"slider",path:"sendButton.paddingY",defaultValue:"6px",slider:{min:0,max:32,step:1}},{id:"send-show-tooltip",label:"Show Tooltip",type:"toggle",path:"sendButton.showTooltip",defaultValue:!1},{id:"send-tooltip-text",label:"Tooltip Text",type:"text",path:"sendButton.tooltipText",defaultValue:"Send message"}]},Sa={id:"close-button",title:"Close Button",collapsed:!0,fields:[{id:"close-size",label:"Size",type:"slider",path:"launcher.closeButtonSize",defaultValue:"32px",slider:{min:16,max:64,step:1}},{id:"close-placement",label:"Placement",type:"select",path:"launcher.closeButtonPlacement",defaultValue:"inline",options:[{value:"inline",label:"Inline"},{value:"top-right",label:"Top Right"}]},{id:"close-border-width",label:"Border Width",type:"slider",path:"launcher.closeButtonBorderWidth",defaultValue:"0px",slider:{min:0,max:8,step:1}},{id:"close-border-radius",label:"Border Radius",type:"slider",path:"launcher.closeButtonBorderRadius",defaultValue:"50%",slider:{min:0,max:100,step:1,isRadiusFull:!0}},{id:"close-icon-name",label:"Icon Name",type:"text",path:"launcher.closeButtonIconName",defaultValue:"x"},{id:"close-icon-text",label:"Icon Text",type:"text",path:"launcher.closeButtonIconText",defaultValue:"\xD7"},{id:"close-show-tooltip",label:"Show Tooltip",type:"toggle",path:"launcher.closeButtonShowTooltip",defaultValue:!0},{id:"close-tooltip-text",label:"Tooltip Text",type:"text",path:"launcher.closeButtonTooltipText",defaultValue:"Close chat"}]},Ta={id:"clear-chat",title:"Clear Chat Button",collapsed:!0,fields:[{id:"clear-enabled",label:"Enabled",type:"toggle",path:"launcher.clearChat.enabled",defaultValue:!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"}]},{id:"clear-icon-name",label:"Icon Name",type:"text",path:"launcher.clearChat.iconName",defaultValue:"refresh-cw"},{id:"clear-size",label:"Size",type:"slider",path:"launcher.clearChat.size",defaultValue:"32px",slider:{min:16,max:64,step:1}},{id:"clear-show-tooltip",label:"Show Tooltip",type:"toggle",path:"launcher.clearChat.showTooltip",defaultValue:!0},{id:"clear-tooltip-text",label:"Tooltip Text",type:"text",path:"launcher.clearChat.tooltipText",defaultValue:"Clear chat"}]},Ca={id:"status-indicator",title:"Status Indicator",collapsed:!0,fields:[{id:"status-visible",label:"Visible",type:"toggle",path:"statusIndicator.visible",defaultValue:!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"}]},{id:"status-idle-text",label:"Idle Text",type:"text",path:"statusIndicator.idleText",defaultValue:"Online"},{id:"status-connecting-text",label:"Connecting Text",type:"text",path:"statusIndicator.connectingText",defaultValue:"Connecting\u2026"},{id:"status-connected-text",label:"Connected Text",type:"text",path:"statusIndicator.connectedText",defaultValue:"Streaming\u2026"},{id:"status-error-text",label:"Error Text",type:"text",path:"statusIndicator.errorText",defaultValue:"Offline"}]},Ra={id:"features",title:"Features",collapsed:!0,fields:[{id:"feat-voice",label:"Voice Recognition",description:"Enable voice input",type:"toggle",path:"voiceRecognition.enabled",defaultValue:!1},{id:"feat-auto-focus",label:"Auto Focus Input",description:"Focus input after panel opens",type:"toggle",path:"autoFocusInput",defaultValue:!1},{id:"feat-scroll-bottom-enabled",label:"Scroll To Bottom",description:"Show a jump-to-latest affordance when the user scrolls away from new content",type:"toggle",path:"features.scrollToBottom.enabled",defaultValue:!0},{id:"feat-scroll-bottom-icon",label:"Scroll To Bottom Icon",type:"text",path:"features.scrollToBottom.iconName",defaultValue:"arrow-down"},{id:"feat-scroll-bottom-label",label:"Scroll To Bottom Label",description:"Leave empty for icon-only mode",type:"text",path:"features.scrollToBottom.label",defaultValue:""}]},Aa={id:"stream-animation",title:"Stream Animation",description:"Control how assistant text appears while streaming.",collapsed:!0,fields:[{id:"stream-anim-type",label:"Animation",description:"Reveal effect applied to each assistant reply as it streams.",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:"Pre-first-token Placeholder",description:"What to show before the first token arrives.",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:"Content Buffering",description:"Trim in-progress units so only complete words/lines reveal.",type:"select",path:"features.streamAnimation.buffer",defaultValue:"none",options:[{value:"none",label:"None: stream every character"},{value:"word",label:"Word: hold until whitespace"},{value:"line",label:"Line: hold until newline"}]},{id:"stream-anim-speed",label:"Per-unit 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:"Container Duration (ms)",description:"Length of container-level effects (pop-bubble, custom plugins).",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)}]},Ea={id:"attachments-config",title:"Attachments",collapsed:!0,fields:[{id:"attach-enabled",label:"Enabled",type:"toggle",path:"attachments.enabled",defaultValue:!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*rt,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:pa,parseValue:da},{id:"attach-types",label:"Allowed File Types",type:"select",path:"attachments.allowedTypes",defaultValue:pe.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:ma,parseValue:ua}]},Pa={id:"artifacts-config",title:"Artifacts",collapsed:!0,fields:[{id:"art-enabled",label:"Enabled",description:"Show artifact sidebar for documents and components",type:"toggle",path:"features.artifacts.enabled",defaultValue:!1},{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"}]}]},Ia={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"}]},{id:"art-toolbar-title",label:"Toolbar Title",type:"text",path:"features.artifacts.layout.toolbarTitle",defaultValue:"Artifacts"},{id:"art-close-label",label:"Close Button Label",type:"text",path:"features.artifacts.layout.closeButtonLabel",defaultValue:"Close"},{id:"art-pane-width",label:"Pane Width",description:"CSS width (e.g. 40%, 28rem)",type:"text",path:"features.artifacts.layout.paneWidth",defaultValue:"40%"},{id:"art-pane-max-width",label:"Pane Max Width",type:"text",path:"features.artifacts.layout.paneMaxWidth",defaultValue:"28rem"},{id:"art-split-gap",label:"Split Gap",type:"text",path:"features.artifacts.layout.splitGap",defaultValue:"0"},{id:"art-pane-bg",label:"Pane Background",type:"color",path:"features.artifacts.layout.paneBackground",defaultValue:""},{id:"art-resizable",label:"Resizable",description:"Allow dragging the pane divider",type:"toggle",path:"features.artifacts.layout.resizable",defaultValue:!1},{id:"art-expand-panel",label:"Expand Panel When Open",description:"Widen the launcher panel to fit artifacts",type:"toggle",path:"features.artifacts.layout.expandLauncherPanelWhenOpen",defaultValue:!0}]},Da={id:"api-integration",title:"API & Integration",description:"Runtime and integration options.",collapsed:!0,fields:[{id:"dev-api-url",label:"API URL",type:"text",path:"apiUrl",defaultValue:""},{id:"dev-flow",label:"Flow ID",type:"text",path:"flowId",defaultValue:""},{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"}]}]},Va=[{value:"collapsed",label:"Collapsed card"},{value:"panel",label:"Side panel"},{value:"inline",label:"In conversation"}],et={type:"select",defaultValue:"panel",options:Va,unsettable:!0,unsetLabel:"Use default",requiresCapability:"artifacts"},nt={id:"artifact-display-preferences",title:"Artifact display",description:"Choose where recognizable artifact groups appear.",requiresCapability:"artifacts",fields:[{...et,id:"artifact-display-files",label:"Generated files",description:"Default for HTML, CSV, documents, and code files.",path:"features.artifacts.display.files"},{...et,id:"artifact-display-components",label:"Registered UI components",description:"Charts, forms, cards, and custom UI rendered by the host.",path:"features.artifacts.display.byKind.component"},{...et,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"}]},Ba={id:"stream-display-preferences",title:"Tool calls and reasoning",description:"Control how agent activity appears in the conversation.",fields:[{id:"pref-show-tools",label:"Show tool calls",type:"toggle",path:"features.showToolCalls",defaultValue:!0,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:"Tool calls expandable",type:"toggle",path:"features.toolCallDisplay.expandable",defaultValue:!0,unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-grouped",label:"Group sequential tool calls",type:"toggle",path:"features.toolCallDisplay.grouped",defaultValue:!1,unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-grouped-mode",label:"Grouped tool detail",type:"select",path:"features.toolCallDisplay.groupedMode",defaultValue:"stack",options:[{value:"stack",label:"Show steps"},{value:"summary",label:"Summary only"}],unsettable:!0,requiresCapability:"tools"},{id:"pref-tool-loading-animation",label:"Tool loading 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-expandable",label:"Reasoning expandable",type:"toggle",path:"features.reasoningDisplay.expandable",defaultValue:!0,unsettable:!0,requiresCapability:"reasoning"},{id:"pref-reasoning-active-preview",label:"Reasoning preview while active",type:"toggle",path:"features.reasoningDisplay.activePreview",defaultValue:!1,unsettable:!0,requiresCapability:"reasoning"}]},st={label:"Stream and artifacts",sections:[Ba,nt]},Oa={id:"debug-inspection",title:"Debug & Inspection",collapsed:!0,fields:[{id:"dev-tool-active-preview",label:"Tool Preview While Active",description:"Show a lightweight preview in collapsed active tool rows",type:"toggle",path:"features.toolCallDisplay.activePreview",defaultValue:!1},{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)},{id:"dev-tool-active-min-height",label:"Tool Active Min Height",description:"CSS min-height for collapsed active tool rows (e.g. 5rem)",type:"text",path:"features.toolCallDisplay.activeMinHeight",defaultValue:""},{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)},{id:"dev-reasoning-active-min-height",label:"Reasoning Active Min Height",description:"CSS min-height for collapsed active reasoning rows (e.g. 5rem)",type:"text",path:"features.reasoningDisplay.activeMinHeight",defaultValue:""},{id:"dev-debug",label:"Debug Mode",description:"Show debug information",type:"toggle",path:"debug",defaultValue:!1}]},_a={id:"markdown",title:"Markdown Options",collapsed:!0,fields:[{id:"md-gfm",label:"GitHub Flavored Markdown",type:"toggle",path:"markdown.options.gfm",defaultValue:!0},{id:"md-breaks",label:"Line Breaks",type:"toggle",path:"markdown.options.breaks",defaultValue:!0},{id:"md-header-ids",label:"Header IDs",type:"toggle",path:"markdown.options.headerIds",defaultValue:!1},{id:"md-pedantic",label:"Pedantic Mode",type:"toggle",path:"markdown.options.pedantic",defaultValue:!1},{id:"md-silent",label:"Silent",type:"toggle",path:"markdown.options.silent",defaultValue:!1},{id:"md-disable-styles",label:"Disable Default Styles",type:"toggle",path:"markdown.disableDefaultStyles",defaultValue:!1}]},ue=[{label:"Content",sections:[ga,fa]},{label:"Layout",sections:[ha,ba,ya,ka]},{label:"Widget",sections:[wa,va,xa,Sa,Ta,Ca]},{label:"Features",sections:[Ra,Aa,Ea,Pa,Ia]},st,{label:"Developer",collapsedByDefault:!0,sections:[Da,Oa,_a]}],it=ue.flatMap(e=>e.sections),lt={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"}]}]},ct={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:[{id:"bp-primary",label:"Primary",description:"Main brand color",type:"color",path:"theme.palette.colors.primary.500",defaultValue:"#171717"},{id:"bp-secondary",label:"Secondary",description:"Supporting brand color",type:"color",path:"theme.palette.colors.secondary.500",defaultValue:"#8b5cf6"},{id:"bp-accent",label:"Accent",description:"Highlight and decorative color",type:"color",path:"theme.palette.colors.accent.500",defaultValue:"#06b6d4"},{id:"bp-neutral",label:"Neutral",description:"Backgrounds, text, and borders",type:"color",path:"theme.palette.colors.gray.500",defaultValue:"#6b7280"}]},dt={id:"status-palette",title:"Status Palette",description:"Colors for system feedback states.",collapsed:!0,fields:[{id:"sp-success",label:"Success",type:"color",path:"theme.palette.colors.success.500",defaultValue:"#22c55e"},{id:"sp-warning",label:"Warning",type:"color",path:"theme.palette.colors.warning.500",defaultValue:"#eab308"},{id:"sp-error",label:"Error",type:"color",path:"theme.palette.colors.error.500",defaultValue:"#ef4444"},{id:"sp-notice",label:"Notice",description:"Info and notice states",type:"color",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500"}]},pt={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:te},{id:"role-header",label:"Header",type:"role-assignment",path:"theme.components.header.background",roleAssignment:oe},{id:"role-user-messages",label:"User Messages",type:"role-assignment",path:"theme.components.message.user.background",roleAssignment:ae},{id:"role-assistant-messages",label:"Assistant Messages",type:"role-assignment",path:"theme.components.message.assistant.background",roleAssignment:re},{id:"role-primary-actions",label:"Primary Actions",type:"role-assignment",path:"theme.components.button.primary.background",roleAssignment:ne},{id:"role-scroll-to-bottom",label:"Scroll To Bottom",type:"role-assignment",path:"theme.components.scrollToBottom.background",roleAssignment:se},{id:"role-input",label:"Input Field",type:"role-assignment",path:"theme.components.input.background",roleAssignment:ie},{id:"role-links-focus",label:"Links & Focus",type:"role-assignment",path:"theme.semantic.colors.accent",roleAssignment:le},{id:"role-borders",label:"Borders & Dividers",type:"role-assignment",path:"theme.semantic.colors.border",roleAssignment:ce}]},ut={id:"status-colors",title:"Status Colors",description:"Used for system states like success, warning, notice, and error.",collapsed:!0,fields:[{id:"sc-notice",label:"Notice",type:"token-ref",path:"theme.semantic.colors.feedback.info",defaultValue:"palette.colors.primary.500",tokenRef:{tokenType:"color"}},{id:"sc-success",label:"Success",type:"token-ref",path:"theme.semantic.colors.feedback.success",defaultValue:"palette.colors.success.500",tokenRef:{tokenType:"color"}},{id:"sc-warning",label:"Warning",type:"token-ref",path:"theme.semantic.colors.feedback.warning",defaultValue:"palette.colors.warning.500",tokenRef:{tokenType:"color"}},{id:"sc-error",label:"Error",type:"token-ref",path:"theme.semantic.colors.feedback.error",defaultValue:"palette.colors.error.500",tokenRef:{tokenType:"color"}}]},mt={id:"advanced-tokens",title:"Advanced Tokens",description:"Override individual semantic and component values when you need precise control.",collapsed:!0,fields:[]},jt=[lt,ct,dt,pt,ut,mt],Ve=[{id:"style",label:"Style",sections:_},{id:"design-system",label:"Design System",sections:at},{id:"configure",label:"Configure",sections:it}];function Gt(e,t){return e.startsWith("theme.")?e.replace(/^theme\./,`${t}.`):e}function La(e,t,o){return{...e,id:`${o}-${e.id}`,path:Gt(e.path,t)}}function qt(e,t){let o=e.find(a=>a.id===t);if(!o)throw new Error(`Section "${t}" not found in definitions`);return o}function Yt(e,t,o,a=e.collapsed){let r=o==="light"?"Light":"Dark",n=o==="light"?"Applies when the widget is in light mode.":"Applies when the widget is in dark mode.";return{...e,id:`${o}-${e.id}`,title:`${r} ${e.title}`,description:e.description?`${n} ${e.description}`:n,collapsed:a,fields:e.fields.map(s=>La(s,t,o)),presets:e.presets?.map(s=>({...s,id:`${o}-${s.id}`,values:Object.fromEntries(Object.entries(s.values).map(([l,c])=>[Gt(l,t),c]))}))}}var gt={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"]},ft={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"}}}},preview:{primary:"#171717",surface:"#1f2937",accent:"#0f0f0f"},tags:["dark"]},ht=[{id:"persona-default",name:"Persona Default",description:"Adaptive Persona theme with light and dark modes",theme:gt.theme,darkTheme:ft.theme,preview:gt.preview,darkPreview:ft.preview,tags:["light","dark","adaptive"]},gt,ft,{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"]}],U=[...ht];function Be(e){return U.find(t=>t.id===e)}var Kt={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Xt=.15,Zt=1.5,me="persona-preview-shell-theme",bt={load:()=>null,save:()=>{},clear:()=>{}},yt=["How do I get started?","Pricing & plans","Talk to support"];function kt(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function wt(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 Oe(e){let t=wt(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}; }
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
.preview-workspace-content-shell { position: relative; z-index: 1; flex: 1 1 auto; min-height: 100%; padding: 24px; }
|
|
23
23
|
.preview-workspace-row { display: flex; gap: 16px; margin-top: 20px; }
|
|
24
24
|
.preview-workspace-card { flex: 1; min-width: 0; height: 168px; border-radius: 18px; background: ${t.cardBg}; box-shadow: inset 0 0 0 1px ${t.cardBorder}; }
|
|
25
|
-
.preview-workspace-card.short { height: 96px; }`}function
|
|
25
|
+
.preview-workspace-card.short { height: 96px; }`}function Jt(e,t){let o=e.contentDocument;if(!o?.documentElement)return;let a=o.getElementById(me);a||(a=o.createElement("style"),a.id=me,o.head.appendChild(a)),a.textContent=Oe(t)}var vt=`
|
|
26
26
|
<div class="preview-iframe-mock" aria-hidden="true">
|
|
27
27
|
<div class="preview-iframe-chrome">
|
|
28
28
|
<span class="preview-iframe-dot"></span>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<div class="preview-iframe-line body"></div>
|
|
42
42
|
<div class="preview-iframe-line body"></div>
|
|
43
43
|
</div>
|
|
44
|
-
</div>`,
|
|
44
|
+
</div>`,xt=`
|
|
45
45
|
<div class="preview-workspace-content-shell" aria-hidden="true">
|
|
46
46
|
<div class="preview-iframe-line hero"></div>
|
|
47
47
|
<div class="preview-iframe-line body"></div>
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
<div class="preview-workspace-card short"></div>
|
|
55
55
|
<div class="preview-workspace-card short"></div>
|
|
56
56
|
</div>
|
|
57
|
-
</div>`;function
|
|
58
|
-
${
|
|
57
|
+
</div>`;function Qt(e,t,o,a){let r=`
|
|
58
|
+
${vt}
|
|
59
59
|
<div style="position:fixed;inset:0;z-index:9999;"><div id="${e}" data-mount-id="${e}"></div></div>`,n=`
|
|
60
60
|
<div class="preview-workspace-shell">
|
|
61
61
|
<div class="preview-workspace-topbar">
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
<div class="preview-workspace-body">
|
|
69
69
|
<div id="preview-content-${e}" class="preview-workspace-content" data-mount-id="${e}">
|
|
70
|
-
${
|
|
70
|
+
${xt}
|
|
71
71
|
</div>
|
|
72
72
|
</div>
|
|
73
73
|
</div>`;return`<!DOCTYPE html>
|
|
@@ -75,13 +75,13 @@
|
|
|
75
75
|
<head>
|
|
76
76
|
<meta charset="UTF-8">
|
|
77
77
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
78
|
-
<link rel="stylesheet" href="${
|
|
79
|
-
<style id="${
|
|
78
|
+
<link rel="stylesheet" href="${kt(a)}">
|
|
79
|
+
<style id="${me}">${Oe(t)}</style>
|
|
80
80
|
</head>
|
|
81
81
|
<body>
|
|
82
82
|
${o?n:r}
|
|
83
83
|
</body>
|
|
84
|
-
</html>`}var
|
|
84
|
+
</html>`}var Ma={"user-message":"User message","assistant-message":"Assistant message","assistant-code-block":"Assistant: code block","assistant-markdown-table":"Assistant: markdown table","assistant-image":"Assistant: image","reasoning-streaming":"Reasoning (streaming)","reasoning-complete":"Reasoning (complete)","tool-running":"Tool call (running)","tool-complete":"Tool call (complete)","approval-request":"Approval request"};function eo(e){return Ma[e]}function _e(e,t=0){let o=new Date(Date.now()-Math.max(0,60-t)*1e3).toISOString(),a=`${e}-${t}`;switch(e){case"user-message":return{id:`preview-seq-user-${a}`,role:"user",content:"Can you continue with the next step?",createdAt:o};case"assistant-message":return{id:`preview-seq-assistant-${a}`,role:"assistant",content:"Absolutely. I can keep going and explain what happens next.",createdAt:o};case"assistant-code-block":return{id:`preview-seq-assistant-code-${a}`,role:"assistant",content:["Here's how you'd wire up a streaming animation:","","```ts","import { createAgentExperience } from '@runtypelabs/persona';","","createAgentExperience(el, {"," features: {",' streamAnimation: { type: "letter-rise", speed: 120 },'," },","});","```","","Swap the `type` value to try the other presets."].join(`
|
|
85
85
|
`),createdAt:o};case"assistant-markdown-table":return{id:`preview-seq-assistant-table-${a}`,role:"assistant",content:["Here are the built-in streaming animations at a glance:","","| Preset | Wrap unit | Best for |","| ------------ | --------- | --------------------------- |","| Typewriter | Character | Classic terminal feel |","| Letter rise | Character | Soft, staggered entrance |","| Word fade | Word | Longer-form assistant replies |","| Pop bubble | Bubble | Short, punchy affirmations |"].join(`
|
|
86
86
|
`),createdAt:o};case"assistant-image":return{id:`preview-seq-assistant-image-${a}`,role:"assistant",content:["Here's the reference diagram you asked for: let me know if you'd like a different view:","","","","The gradient shows how per-unit delays stagger across the reply."].join(`
|
|
87
|
-
`),createdAt:o};case"reasoning-streaming":return{id:`preview-seq-reasoning-stream-${a}`,role:"assistant",content:"",createdAt:o,streaming:!0,variant:"reasoning",reasoning:{id:`preview-reasoning-stream-${a}`,status:"streaming",chunks:["Thinking through the next step in the workflow..."]}};case"reasoning-complete":return{id:`preview-seq-reasoning-complete-${a}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"reasoning",reasoning:{id:`preview-reasoning-complete-${a}`,status:"complete",chunks:["Reviewed the requirements and finalized the reasoning output."],durationMs:1200}};case"approval-request":{let r=`preview-approval-${a}`;return{id:`approval-${r}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"approval",approval:{id:r,status:"pending",agentId:"preview-agent",executionId:`preview-exec-${a}`,toolName:"add_to_cart",description:"Add the selected item to the shopping cart. Approve to let the assistant continue.",parameters:{items:[{productEntityId:129,quantity:1}]}}}}case"tool-complete":return{id:`preview-seq-tool-complete-${a}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"tool",toolCall:{id:`preview-tool-complete-${a}`,name:"Create build instructions",status:"complete",chunks:["Prepared the build instructions and validated the inputs."],result:{ok:!0},duration:420}};default:return{id:`preview-seq-tool-running-${a}`,role:"assistant",content:"",createdAt:o,streaming:!0,variant:"tool",toolCall:{id:`preview-tool-running-${a}`,name:"Get platform documentation",status:"running",chunks:["Fetching the relevant platform documentation..."]}}}}function eo(e,t){return[...e,Oe(t,e.length)]}function xt(e){return e==="assistant-message"||e==="assistant-code-block"||e==="assistant-markdown-table"||e==="assistant-image"}function to(e,t,o){let a=Oe(e,t);if(!xt(e)||typeof a.content!="string")return[{message:a,delayMs:0,done:!0}];let r=Math.max(1,o?.chunkSize??24),n=Math.max(0,o?.delayMs??42),s=a.content,l=[];l.push({message:{...a,content:"",streaming:!0},delayMs:0,done:!1});for(let c=r;c<s.length;c+=r)l.push({message:{...a,content:s.slice(0,c),streaming:!0},delayMs:n,done:!1});return l.push({message:{...a,content:s,streaming:!1},delayMs:n,done:!0}),l}var La=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt:new Date(Date.now()-15e4).toISOString(),streaming:!0,variant:"reasoning",reasoning:{id:"preview-reasoning",status:"streaming",chunks:["Now let me get the Persona embed documentation and builtin tools catalog."]}},{id:"preview-adv-3",role:"assistant",content:"",createdAt:new Date(Date.now()-12e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-1",name:"Load tools",status:"running",chunks:["Loaded tools, used Runtype integration"]}},{id:"preview-adv-4",role:"assistant",content:"",createdAt:new Date(Date.now()-9e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-2",name:"Get platform documentation",status:"running",chunks:["Get platform documentation"]}},{id:"preview-adv-5",role:"assistant",content:"I loaded the tools and fetched the docs. Next I can assemble the product details.",createdAt:new Date(Date.now()-3e4).toISOString()}],Ma=e=>!!(e?.features?.toolCallDisplay?.activePreview||e?.features?.toolCallDisplay?.grouped||e?.features?.toolCallDisplay?.collapsedMode&&e.features.toolCallDisplay.collapsedMode!=="tool-call"||e?.features?.reasoningDisplay?.activePreview);function St(e,t,o=[]){if(e==="follow-ups"){let a=Date.now();return[{id:"preview-follow-up-user",role:"user",content:"What can Persona help me build?",createdAt:new Date(a-12e4).toISOString()},{id:"preview-follow-up-assistant",role:"assistant",content:"Persona gives you a themeable streaming chat interface with flexible integrations and interaction patterns. Where would you like to go next?",createdAt:new Date(a-6e4).toISOString()},{id:"preview-follow-up-suggestions",role:"assistant",content:"",createdAt:new Date(a-59e3).toISOString(),streaming:!1,variant:"tool",toolCall:{id:"preview-follow-up-suggestions",name:"suggest_replies",status:"complete",args:{suggestions:[{id:"preview-implementation",label:"Show me an implementation",prompt:"Show me a practical implementation",description:"See a complete integration example",icon:"code-2",emphasis:"primary"},{id:"preview-theming",label:"Explore theming",prompt:"Tell me how theming works",description:"Customize colors, type, and component styles",icon:"palette"},{id:"preview-security",label:"Review security",prompt:"Explain the security model",description:"Learn about isolation and safe rendering",icon:"shield-check"},{id:"preview-support",label:"Talk to support",prompt:"Help me contact support",description:"Get help choosing the right approach",icon:"messages-square"}]},chunks:[]}},...o]}return e==="home"?[]:e==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:e==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:e==="conversation"&&Ma(t)?[...La(),...o]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-conv-3",role:"assistant",content:"Absolutely. Check out the [getting started guide](https://example.com) to see what\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...o]}function _e(e,t,o=[]){let a={...e.launcher,enabled:!0,autoExpand:t!=="minimized"},r={...e,launcher:a,suggestionChips:t==="home"?e.suggestionChips?.length?e.suggestionChips:bt:e.suggestionChips,initialMessages:St(t,e,o),storageAdapter:ht};return t==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function oo(e,t){let o=e.theme?v(e.theme,{validate:!1}):v();return{...N,...e.config,theme:o,darkTheme:e.darkTheme,colorScheme:t??e.config?.colorScheme??"light"}}function ao(e,t){let o=e.scene??"conversation";return _e(oo(e,t),o,e.appendedMessages??[])}function ro(e,t,o){let a=e.scene??"conversation";return _e(oo(e,o),a,t)}function Le(e){return e==="card"?"collapsed":e}function no(e){return e.split(";",1)[0].trim().toLowerCase()}var Wa=new Set(["__proto__","prototype","constructor"]),Fa=new Set(["collapsed","card","panel","inline"]),so=new Set(["markdown","component"]),Na=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,_=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),We=e=>!Wa.has(e),Tt=e=>typeof e=="string"&&Fa.has(e),j=e=>Object.keys(e).length>0;function C(e,t,o,a){e.push({path:t,code:o,message:a})}var Ha="Ignored because this key is not part of the persisted preference schema.",Me="Ignored an unsupported value.",$a="Expected collapsed, panel, or inline.",za='Expected a MIME type such as "text/html" or a wildcard such as "image/*".',io={kind:"mode",message:Me},U={kind:"string",message:"Expected a CSS length string."},A={kind:"boolean"},Ua={paneWidth:U,paneMaxWidth:U,paneMinWidth:U,expandedPanelWidth:U,resizableMinWidth:U,resizableMaxWidth:U,expandLauncherPanelWhenOpen:A,resizable:A},ja={kind:"object",message:"Expected a preference object.",children:{showToolCalls:A,showReasoning:A,toolCallDisplay:{kind:"object",children:{collapsedMode:{kind:"enum",values:new Set(["tool-call","tool-name","tool-preview"]),message:Me},groupedMode:{kind:"enum",values:new Set(["stack","summary"]),message:Me},loadingAnimation:{kind:"enum",values:new Set(["none","pulse","shimmer","shimmer-color","rainbow"]),message:Me},expandable:A,grouped:A}},reasoningDisplay:{kind:"object",children:{expandable:A,activePreview:A}},artifacts:{kind:"object",children:{display:{kind:"object",bareMode:!0,message:"Expected an artifact display rules object.",children:{default:io,files:{kind:"object",bareMode:!0,message:"Expected collapsed, panel, inline, or a file display rules object.",children:{default:io,byMediaType:{kind:"modeMap",keys:"mediaType"}}},byType:{kind:"modeMap",keys:so,alias:"byKind",deprecated:"Use byKind. The legacy selector was normalized automatically."},byKind:{kind:"modeMap",keys:so}}},filePreview:{kind:"object",children:{enabled:A}},layout:{kind:"object",children:Ua}}}}};function lo(e,t,o,a){if(e!==void 0)switch(t.kind){case"boolean":return typeof e=="boolean"?e:C(a,o,"invalid_type","Expected a boolean.");case"string":return typeof e=="string"?e:C(a,o,"invalid_type",t.message);case"enum":return typeof e=="string"&&t.values.has(e)?e:C(a,o,"invalid_value",t.message);case"mode":return Tt(e)?Le(e):C(a,o,"invalid_value",t.message);case"modeMap":{if(!_(e))return C(a,o,"invalid_type","Expected an object.");let r=t.keys==="mediaType"?void 0:t.keys,n={};for(let[s,l]of Object.entries(e)){let c=r?s:no(s);We(s)&&(r?r.has(s):Na.test(c))?Tt(l)?n[c]=Le(l):C(a,`${o}.${s}`,"invalid_value",$a):C(a,`${o}.${s}`,r?"unknown_key":"invalid_value",r?"Ignored an unsupported selector.":za)}return j(n)?n:void 0}case"object":{if(t.bareMode&&Tt(e))return Le(e);if(!_(e))return C(a,o,"invalid_type",t.message??"Expected an object.");let r=Object.keys(t.children),n=l=>o?`${o}.${l}`:l;for(let l of Object.keys(e))(!We(l)||!r.includes(l))&&C(a,n(l),"unknown_key",Ha);let s={};for(let l of r){let c=t.children[l],g=lo(e[l],c,n(l),a);if(c.deprecated&&e[l]!==void 0&&C(a,n(l),"deprecated_key",c.deprecated),g===void 0)continue;let b=c.alias??l,w=s[b];s[b]=_(w)&&_(g)?{...w,...g}:g}return j(s)?s:void 0}}}function Ga(e){let t=[];return{preferences:(e===null?void 0:lo(e,ja,"",t))??{},issues:t}}function G(e){if(Array.isArray(e))return e.map(G);if(!_(e))return e;let t={};for(let[o,a]of Object.entries(e))We(o)&&a!==void 0&&(t[o]=G(a));return t}function co(e,t){let o=G(e);for(let[a,r]of Object.entries(t)){if(!We(a)||r===void 0)continue;let n=o[a];o[a]=_(n)&&_(r)?co(n,r):G(r)}return o}function qa(e){let t={},o;for(let r of e){let n=Ga(r).preferences;o=po(o,n.artifacts?.display),t=co(t,n)}let a=t;return a.artifacts&&(o!==void 0?a.artifacts.display=o:delete a.artifacts.display),a}function Ya(e,t){if(t===void 0)return e===void 0?void 0:G(e);if(typeof t=="string")return t;let o=typeof e=="string"?{default:e}:e??{},a=t.default??o.default,r={...o.byMediaType,...t.byMediaType},n={...a?{default:a}:{},...j(r)?{byMediaType:r}:{}};return j(n)?n:void 0}function po(e,t){if(t===void 0)return e===void 0?void 0:G(e);if(typeof t=="string")return t;let o=typeof e=="string"?{default:e}:e??{},a=t.default??o.default,r={...o.byType,...o.byKind,...t.byType,...t.byKind},n=Ya(o.files,t.files),s={...a?{default:a}:{},...j(r)?{byKind:r}:{},...n!==void 0?{files:n}:{}};return j(s)?s:void 0}function uo(e={},t){let o=qa(t),a={...e};if(o.showToolCalls!==void 0&&(a.showToolCalls=o.showToolCalls),o.showReasoning!==void 0&&(a.showReasoning=o.showReasoning),o.toolCallDisplay&&(a.toolCallDisplay={...e.toolCallDisplay,...o.toolCallDisplay}),o.reasoningDisplay&&(a.reasoningDisplay={...e.reasoningDisplay,...o.reasoningDisplay}),o.artifacts){let r=e.artifacts??{},n={...r};if(o.artifacts.display!==void 0){let s=po(r.display,o.artifacts.display);s!==void 0&&(n.display=s)}o.artifacts.filePreview&&(n.filePreview={...r.filePreview,enabled:o.artifacts.filePreview.enabled}),o.artifacts.layout&&(n.layout={...r.layout,...o.artifacts.layout}),a.artifacts=n}return a}function R(e){return{content:[{type:"text",text:JSON.stringify(e)}],structuredContent:e}}var fe={black:"#000000",white:"#ffffff",red:"#ff0000",green:"#008000",lime:"#00ff00",blue:"#0000ff",yellow:"#ffff00",cyan:"#00ffff",aqua:"#00ffff",magenta:"#ff00ff",fuchsia:"#ff00ff",silver:"#c0c0c0",gray:"#808080",grey:"#808080",maroon:"#800000",olive:"#808000",purple:"#800080",teal:"#008080",navy:"#000080",orange:"#ffa500",pink:"#ffc0cb",hotpink:"#ff69b4",gold:"#ffd700",indigo:"#4b0082",violet:"#ee82ee",brown:"#a52a2a",beige:"#f5f5dc",ivory:"#fffff0",khaki:"#f0e68c",coral:"#ff7f50",salmon:"#fa8072",tomato:"#ff6347",crimson:"#dc143c",turquoise:"#40e0d0",lavender:"#e6e6fa",plum:"#dda0dd",orchid:"#da70d6",tan:"#d2b48c",chocolate:"#d2691e",sienna:"#a0522d",slategray:"#708090",slategrey:"#708090",steelblue:"#4682b4",royalblue:"#4169e1",dodgerblue:"#1e90ff",skyblue:"#87ceeb",lightblue:"#add8e6",midnightblue:"#191970",forestgreen:"#228b22",seagreen:"#2e8b57",limegreen:"#32cd32",olivedrab:"#6b8e23",darkgreen:"#006400",emerald:"#50c878",mint:"#3eb489",goldenrod:"#daa520",firebrick:"#b22222",darkred:"#8b0000",indianred:"#cd5c5c",deeppink:"#ff1493",mediumpurple:"#9370db",rebeccapurple:"#663399",darkviolet:"#9400d3",slateblue:"#6a5acd",cornflowerblue:"#6495ed",teal2:"#008080",charcoal:"#36454f",graphite:"#3b3b3b",transparent:"transparent"},Ka=/^rgba?\(\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*(,\s*(0|1|0?\.\d+|\d{1,3}%)\s*)?\)$/;function Za(e){return Ka.test(e)}function L(e){if(typeof e!="string"||e.trim()==="")throw new Error('Color must be a non-empty string (e.g. "#2563eb" or "blue").');let t=e.trim().toLowerCase(),o=fe[t];if(o)return o;let a=H(t);if(Re(a)||a==="transparent"||Za(a))return a;throw new Error(`"${e}" is not a recognized color. Pass a hex value like "#ef4444" or a CSS color name (e.g. ${Object.keys(fe).slice(0,6).join(", ")}).`)}var Ne=Q.map(e=>e==="gray"?"neutral":e),Xa={...Object.fromEntries(Ne.map(e=>[e,e])),gray:"neutral",grey:"neutral"};function he(e,t=!0){let o=String(e??"").trim().toLowerCase(),a=Xa[o];if(!a||!t&&a==="neutral"){let r=t?"primary, secondary, accent, neutral":"primary, secondary, accent";throw new Error(`Unknown color family "${e}". Valid families: ${r}.`)}return a}function be(e){let t=String(e??"solid").trim().toLowerCase();if(t==="solid"||t==="soft")return t;throw new Error(`Unknown intensity "${e}". Valid intensities: solid, soft.`)}function ye(e){let t=String(e??"").trim().toLowerCase();if(t==="light"||t==="dark"||t==="auto")return t;if(t==="system")return"auto";throw new Error(`Unknown color scheme "${e}". Valid: light, dark, auto.`)}var Ja={sharp:"sharp",square:"sharp",none:"sharp",default:"default",normal:"default",rounded:"rounded",round:"rounded",soft:"rounded",pill:"pill",circle:"pill",full:"pill"};function ke(e){let t=String(e??"").trim().toLowerCase(),o=Ja[t];if(!o)throw new Error(`Unknown roundness "${e}". Valid: sharp, default, rounded, pill.`);return o}function we(e){if(typeof e=="number"&&Number.isFinite(e))return`${e}px`;if(typeof e=="string"&&e.trim()!==""){let t=e.trim();if(t==="9999px"||/^(100%|9999px)$/.test(t))return"9999px";let o=Te(t);return Ce(o.value,o.unit)}throw new Error('Radius must be a number (px) or a CSS length string like "0.5rem".')}function He(e){for(let t of O){let o=t.fields.find(a=>a.id===e);if(o?.options){let a={};for(let r of o.options){let n=r.value.split(".").pop();n&&(a[n]=r.value)}return a}}return{}}var mo=He("typo-font-family"),me=He("typo-font-size"),ge=He("typo-font-weight"),Fe=He("typo-line-height"),go={...mo,monospace:mo.mono},fo={...me,small:me.sm,md:me.base,medium:me.base,large:me.lg},ho={...ge,400:ge.normal,500:ge.medium,600:ge.semibold,700:ge.bold},bo={...Fe,"1.25":Fe.tight,"1.5":Fe.normal,"1.625":Fe.relaxed};function yo(e,t,o){let a=String(e??"").trim().toLowerCase(),r=t[a];if(!r){let n=[...new Set(Object.values(t).map(s=>s.split(".").pop()))].join(", ");throw new Error(`Unknown ${o} "${e}". Valid: ${n}.`)}return r}var ko="theme.palette.radius.";function Qa(){let e={pill:{sm:"9999px",md:"9999px",lg:"9999px",xl:"9999px",full:"9999px"}};for(let t of O)for(let o of t.presets??[]){let a=o.id.match(/^radius-(\w+)$/);if(!a)continue;let r={};for(let[n,s]of Object.entries(o.values))n.startsWith(ko)&&typeof s=="string"&&(r[n.slice(ko.length)]=s);e[a[1]]=r}return e}var Y=Qa(),wo=["sm","md","lg","xl","full"];function ze(e,t,o="theme",a=0){if(a>6)return null;let r=e.get(`${o}.${t}`);return typeof r!="string"||r===""?o==="darkTheme"?ze(e,t,"theme",a):null:r.startsWith("#")||r.startsWith("rgb")||r==="transparent"?r:r.startsWith("palette.")||r.startsWith("semantic.")||r.startsWith("components.")?ze(e,r,o,a+1):null}function $e(e,t){let o=e.get(t);if(typeof o!="string")return"unknown";let a=o.split(".");return a[a.length-1]||String(o)}function K(e){return e.replace(/^role-/,"")}function er(e){for(let[t,o]of Object.entries(Y))if(wo.every(a=>e[a]===o[a]))return t;return"custom"}function D(e){let t={};for(let a of wo)t[a]=String(e.get(`theme.palette.radius.${a}`)??"");let o={};for(let a of I)o[K(a.roleId)]=Ie(r=>e.get(`theme.${r}`),a);return{brand:{primary:Ct(e.get("theme.palette.colors.primary.500")),secondary:Ct(e.get("theme.palette.colors.secondary.500")),accent:Ct(e.get("theme.palette.colors.accent.500"))},roles:o,typography:{fontFamily:$e(e,"theme.semantic.typography.fontFamily"),fontSize:$e(e,"theme.semantic.typography.fontSize"),fontWeight:$e(e,"theme.semantic.typography.fontWeight"),lineHeight:$e(e,"theme.semantic.typography.lineHeight")},roundness:{style:er(t),radius:t},colorScheme:String(e.get("colorScheme")??"light"),history:{index:e.getHistoryIndex(),canUndo:e.canUndo(),canRedo:e.canRedo()}}}function Ct(e){return typeof e=="string"&&e!==""?e:null}var q=[{key:"user-message",label:"User message text",fg:"components.message.user.text",bg:"components.message.user.background"},{key:"assistant-message",label:"Assistant message text",fg:"components.message.assistant.text",bg:"components.message.assistant.background"},{key:"header",label:"Header title",fg:"components.header.titleForeground",bg:"components.header.background"},{key:"primary-button",label:"Primary button label",fg:"components.button.primary.foreground",bg:"components.button.primary.background"},{key:"input",label:"Input placeholder",fg:"components.input.placeholder",bg:"components.input.background"},{key:"link",label:"Link text",fg:"components.markdown.link.foreground",bg:"semantic.colors.background"},{key:"scroll",label:"Scroll-to-bottom icon",fg:"components.scrollToBottom.foreground",bg:"components.scrollToBottom.background"},{key:"body",label:"Body text on background",fg:"semantic.colors.text",bg:"semantic.colors.background"},{key:"surface",label:"Body text on surface",fg:"semantic.colors.text",bg:"semantic.colors.surface"}];function vo(e){let t=new Set(e.targets.map(o=>o.path));return q.filter(o=>t.has(o.fg)||t.has(o.bg)).map(o=>o.key)}var tr={AA:4.5,AAA:7};function or(e){return Math.round(e*100)/100}function ar(e,t,o,a,r){let n=e.get(`${r}.${t}`);if(typeof n!="string")return null;let s=n.match(/^palette\.colors\.(\w+)\.(\d+)$/);if(!s)return null;let l=s[1],c=B.indexOf(s[2]),g=null,b=1/0;return B.forEach((w,S)=>{let E=e.get(`${r}.palette.colors.${l}.${w}`);if(!(typeof E!="string"||!(E.startsWith("#")||E.startsWith("rgb")))&&J(E,o)>=a){let W=c>=0?Math.abs(S-c):S;W<b&&(b=W,g=`palette.colors.${l}.${w}`)}}),g}function Z(e,t="AA",o="both",a){let r=tr[t],n=o==="both"?["light","dark"]:[o],s=a?q.filter(c=>a.includes(c.key)):q,l=[];for(let c of n){let g=c==="light"?"theme":"darkTheme";for(let b of s){let w=ze(e,b.fg,g),S=ze(e,b.bg,g);if(!w||!S)continue;let E=or(J(w,S)),W=E>=r,Ue={pair:b.key,label:b.label,variant:c,fg:w,bg:S,ratio:E,threshold:r,passes:W};if(!W){let je=ar(e,b.fg,S,r,g);je&&(Ue.suggestion=je)}l.push(Ue)}}return{level:t,checks:l,failures:l.filter(c=>!c.passes)}}function M(e,t,o="light",a="AA"){return t.length===0?[]:Z(e,a,o,t).failures.map(n=>({code:"contrast",pair:n.pair,variant:n.variant,ratio:n.ratio,threshold:n.threshold,message:`${n.label} (${n.variant}) has a contrast ratio of ${n.ratio}:1, below the ${a} threshold of ${n.threshold}:1${n.suggestion?`. Try ${n.suggestion} for the foreground.`:"."}`}))}var k={};for(let e of I){let t=K(e.roleId);k[t]=e,k[e.roleId]=e}Object.assign(k,{surface:k.surfaces,background:k.surfaces,backgrounds:k.surfaces,user:k["user-messages"],"user-message":k["user-messages"],assistant:k["assistant-messages"],"assistant-message":k["assistant-messages"],actions:k["primary-actions"],buttons:k["primary-actions"],composer:k.input,links:k["links-focus"],focus:k["links-focus"],border:k.borders,dividers:k.borders,scroll:k["scroll-to-bottom"]});function rr(e){let t=String(e??"").trim().toLowerCase(),o=k[t];if(!o){let a=I.map(r=>K(r.roleId)).join(", ");throw new Error(`Unknown role "${e}". Valid roles: ${a}.`)}return o}function xo(){let e=new Map,t=o=>{for(let a of o)for(let r of a.fields)e.has(r.id)||e.set(r.id,r)};for(let o of De)t(o.sections);for(let o of pe)t(o.sections);return e}var nr={voice:"voiceRecognition.enabled",artifacts:"features.artifacts.enabled",attachments:"attachments.enabled",toolCalls:"features.showToolCalls",reasoning:"features.showReasoning",feedback:"messageActions.enabled"},sr={avatars:"layout.messages.avatar.show",timestamps:"layout.messages.timestamp.show",showHeader:"layout.showHeader",messageStyle:"layout.messages.layout"},Rt=["bottom-right","bottom-left","top-right","top-left"],At=["bubble","flat","minimal"],ir={title:"copy.welcomeTitle",subtitle:"copy.welcomeSubtitle",placeholder:"copy.inputPlaceholder",sendLabel:"copy.sendButtonLabel"};function Et(e,t){let o=t?.editTarget??"both",a=null,r=f=>f&&typeof f=="object"?f:{},n=(f,p,d=o)=>{let i={};return(d==="light"||d==="both")&&(i[`theme.${f}`]=p),(d==="dark"||d==="both")&&(i[`darkTheme.${f}`]=p),i},s=f=>{if(o==="both")return f;let p={};for(let[d,i]of Object.entries(f))(o==="light"&&d.startsWith("theme.")||o==="dark"&&d.startsWith("darkTheme."))&&(p[d]=i);return p},l=()=>o==="dark"?"dark":"light",c=(f,p=[])=>R({ok:!0,summary:D(e),warnings:p,applied:f});return[{name:"get_theme_overview",title:"Get current theme & what is editable",description:"Read theme summary, presets, and editable levers. Call before editing.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{verbosity:{type:"string",enum:["summary","full"],description:"'full' includes the field-id index."}},additionalProperties:!1},execute(f){let{verbosity:p}=r(f),d={summary:D(e),availableRoles:I.map(i=>({role:K(i.roleId),helper:i.helper})),availableFamilies:Ne,presets:z.map(i=>({id:i.id,name:i.name,description:i.description,tags:i.tags??[]})),tools:[{tool:"set_brand_colors",hint:"Recolor primary/secondary/accent and generate shade scales."},{tool:"assign_color_role",hint:"Recolor a widget region with family + intensity."},{tool:"set_typography",hint:"Set font family, size, weight, line height."},{tool:"set_roundness",hint:"Set corner roundness or granular radii."},{tool:"set_color_scheme",hint:"Set light/dark/auto and edit target."},{tool:"apply_preset",hint:"Apply a built-in preset."},{tool:"configure_widget",hint:"Toggle launcher position, features, and layout."},{tool:"set_copy_and_suggestions",hint:"Set welcome copy, placeholder, and suggestion chips."},{tool:"set_theme_fields",hint:"Set any field by id or dot-path."},{tool:"check_contrast",hint:"Audit WCAG contrast."},{tool:"manage_session",hint:"Undo, redo, reset, or export the theme."}]};return p==="full"&&(a??(a=xo()),d.fieldIndex=Array.from(a.values()).map(i=>({id:i.id,path:i.path,type:i.type,label:i.label,options:i.options?.map(u=>u.value)}))),R(d)}},{name:"set_brand_colors",title:"Set brand colors",description:"Set primary, secondary, and/or accent colors. Generates shade scales and accepts hex, rgb/rgba, or CSS names.",inputSchema:{type:"object",properties:{primary:{type:"string",description:"Hex, rgb/rgba, or CSS name."},secondary:{type:"string",description:"Hex, rgb/rgba, or CSS name."},accent:{type:"string",description:"Hex, rgb/rgba, or CSS name."}},additionalProperties:!1},execute(f){let p=r(f),d=["primary","secondary","accent"],i={},u={};for(let m of d){if(p[m]===void 0)continue;let y=L(p[m]);u[m]=y;let x=Ee(y);for(let P of B){let X=x[P];X!==void 0&&Object.assign(i,n(`palette.colors.${m}.${P}`,X))}}if(Object.keys(u).length===0)throw new Error("Provide at least one of: primary, secondary, accent.");e.setBatch(i);let h=M(e,["primary-button","user-message"],l());return c(u,h)}},{name:"assign_color_role",title:"Assign a color family to an interface role",description:"Recolor a widget region by role, palette family, and intensity.",inputSchema:{type:"object",properties:{role:{type:"string",description:"Role, e.g. header or user-messages."},family:{type:"string",enum:Ne},intensity:{type:"string",enum:["solid","soft"],description:"Default: solid."}},required:["role","family"],additionalProperties:!1},execute(f){let p=r(f),d=rr(p.role),i=he(p.family,!0),u=be(p.intensity),h=s(ce(i,u,d)),m=Object.keys(h).length;e.setBatch(h);let y=M(e,vo(d),l());return c({role:K(d.roleId),family:i,intensity:u,tokensWritten:m},y)}},{name:"set_typography",title:"Set typography",description:"Set font family, size, weight, and line height.",inputSchema:{type:"object",properties:{fontFamily:{type:"string"},fontSize:{type:"string"},fontWeight:{type:["string","number"]},lineHeight:{type:["string","number"]}},additionalProperties:!1},execute(f){let p=r(f),d={},i={},u=(h,m)=>{if(p[h]===void 0)return;let y=yo(p[h],m,h);i[h]=y.split(".").pop()??y,Object.assign(d,n(`semantic.typography.${h}`,y))};if(u("fontFamily",go),u("fontSize",fo),u("fontWeight",ho),u("lineHeight",bo),Object.keys(i).length===0)throw new Error("Provide at least one of: fontFamily, fontSize, fontWeight, lineHeight.");return e.setBatch(d),c(i)}},{name:"set_roundness",title:"Set corner roundness",description:"Set roundness by style or granular radius values.",inputSchema:{type:"object",properties:{style:{type:"string",enum:["sharp","default","rounded","pill"]},radius:{type:"object",description:"Granular px or CSS length overrides.",properties:{sm:{type:["string","number"]},md:{type:["string","number"]},lg:{type:["string","number"]},xl:{type:["string","number"]},full:{type:["string","number"]}},additionalProperties:!1}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};if(p.style!==void 0){let u=ke(p.style);i.style=u;for(let[h,m]of Object.entries(Y[u]))Object.assign(d,n(`palette.radius.${h}`,m))}if(p.radius!==void 0){let u=r(p.radius),h={};for(let m of["sm","md","lg","xl","full"]){if(u[m]===void 0)continue;let y=we(u[m]);h[m]=y,Object.assign(d,n(`palette.radius.${m}`,y))}i.radius=h}if(Object.keys(d).length===0)throw new Error("Provide `style` (sharp|default|rounded|pill) or a `radius` object.");return e.setBatch(d),c(i)}},{name:"set_color_scheme",title:"Set color scheme",description:"Set light/dark/auto color scheme and optional edit target.",inputSchema:{type:"object",properties:{scheme:{type:"string",enum:["light","dark","auto"]},editTarget:{type:"string",enum:["light","dark","both"]}},additionalProperties:!1},execute(f){let p=r(f),d={};if(p.scheme!==void 0){let i=ye(p.scheme);e.set("colorScheme",i),d.scheme=i}if(p.editTarget!==void 0){let i=String(p.editTarget).trim().toLowerCase();if(i!=="light"&&i!=="dark"&&i!=="both")throw new Error(`Unknown editTarget "${p.editTarget}". Valid: light, dark, both.`);o=i,d.editTarget=i}if(Object.keys(d).length===0)throw new Error("Provide `scheme` and/or `editTarget`.");return R({ok:!0,summary:D(e),warnings:[],applied:d,editTarget:o})}},{name:"apply_preset",title:"Apply a built-in theme preset",description:"Apply a complete built-in preset, replacing theme tokens. Call get_theme_overview to list preset ids.",inputSchema:{type:"object",properties:{presetId:{type:"string"}},required:["presetId"],additionalProperties:!1},execute(f){let{presetId:p}=r(f),d=Ve(String(p??""));if(!d){let m=z.map(y=>y.id).join(", ");throw new Error(`Unknown preset "${p}". Valid presets: ${m}.`)}let i=v(d.theme,{validate:!1}),u={...e.getConfig()};d.darkTheme&&(u.darkTheme=v(d.darkTheme,{validate:!1}),u.colorScheme="auto"),d.toolCall&&(u.toolCall=d.toolCall),d.behavior&&(u.features=uo(u.features,[d.behavior])),e.setFullConfig(u,i);let h=M(e,["body","assistant-message"],"light");return c({appliedPreset:{id:d.id,name:d.name}},h)}},{name:"configure_widget",title:"Configure launcher, features, and layout",description:"Toggle launcher position, feature flags, and message layout.",inputSchema:{type:"object",properties:{launcherPosition:{type:"string",enum:Rt},features:{type:"object",properties:{voice:{type:"boolean"},artifacts:{type:"boolean"},attachments:{type:"boolean"},toolCalls:{type:"boolean"},reasoning:{type:"boolean"},feedback:{type:"boolean"}},additionalProperties:!1},layout:{type:"object",properties:{avatars:{type:"boolean"},timestamps:{type:"boolean"},showHeader:{type:"boolean"},messageStyle:{type:"string",enum:At}},additionalProperties:!1}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};if(p.launcherPosition!==void 0){let m=String(p.launcherPosition);if(!Rt.includes(m))throw new Error(`Unknown launcherPosition "${m}". Valid: ${Rt.join(", ")}.`);d["launcher.position"]=m,i.launcherPosition=m}let u=r(p.features);for(let[m,y]of Object.entries(nr))u[m]!==void 0&&(d[y]=!!u[m],i.features??(i.features={}),i.features[m]=!!u[m]);let h=r(p.layout);for(let[m,y]of Object.entries(sr))if(h[m]!==void 0)if(m==="messageStyle"){let x=String(h[m]);if(!At.includes(x))throw new Error(`Unknown messageStyle "${x}". Valid: ${At.join(", ")}.`);d[y]=x,i.layout??(i.layout={}),i.layout[m]=x}else d[y]=!!h[m],i.layout??(i.layout={}),i.layout[m]=!!h[m];if(Object.keys(d).length===0)throw new Error("Provide launcherPosition, features, and/or layout.");return e.setBatch(d),c(i)}},{name:"set_copy_and_suggestions",title:"Set welcome copy and suggestion chips",description:"Set welcome copy, input placeholder, send label, and suggestion chips.",inputSchema:{type:"object",properties:{title:{type:"string"},subtitle:{type:"string"},placeholder:{type:"string"},sendLabel:{type:"string"},suggestions:{type:"array",items:{type:"string"}}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};for(let[u,h]of Object.entries(ir))p[u]!==void 0&&(d[h]=String(p[u]),i[u]=String(p[u]));if(p.suggestions!==void 0){if(!Array.isArray(p.suggestions))throw new Error("`suggestions` must be an array of strings.");let u=p.suggestions.filter(h=>typeof h=="string");d.suggestionChips=u,i.suggestions=u}if(Object.keys(d).length===0)throw new Error("Provide at least one of: title, subtitle, placeholder, sendLabel, suggestions.");return e.setBatch(d),c(i)}},{name:"set_theme_fields",title:"Set theme fields by id or path (advanced)",description:"Advanced escape hatch: set fields by id or raw dot-path. Values are validated when metadata exists.",inputSchema:{type:"object",properties:{updates:{type:"array",items:{type:"object",properties:{field:{type:"string",description:"Field id or path."},value:{type:["string","number","boolean"]}},required:["field","value"],additionalProperties:!1}}},required:["updates"],additionalProperties:!1},execute(f){let{updates:p}=r(f);if(!Array.isArray(p)||p.length===0)throw new Error("`updates` must be a non-empty array of { field, value }.");a??(a=xo());let d={},i=[];for(let h of p){let m=r(h),y=String(m.field??"");try{let x=a.get(y),P=x?x.path:y;if(!x&&!/^(theme|darkTheme)\.|\./.test(P))throw new Error(`Unknown field "${y}". Pass a known field id or a dot-path (e.g. theme.palette.radius.md).`);let X=lr(x,m.value);if(x&&P.startsWith("theme.")){let Pt=n(P.slice(6),X);Object.assign(d,Pt),i.push({field:y,resolvedPath:Object.keys(Pt),ok:!0})}else d[P]=X,i.push({field:y,resolvedPath:P,ok:!0})}catch(x){i.push({field:y,ok:!1,error:x.message})}}let u=i.filter(h=>h.ok);return Object.keys(d).length>0&&e.setBatch(d),R({ok:u.length>0,summary:D(e),warnings:[],applied:{updates:i}})}},{name:"check_contrast",title:"Check accessibility contrast",description:"Run WCAG checks over key text/background pairs.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{level:{type:"string",enum:["AA","AAA"],description:"Default: AA."},variant:{type:"string",enum:["light","dark","both"],description:"Default: both."}},additionalProperties:!1},execute(f){let p=r(f),d=p.level==="AAA"?"AAA":"AA",i=p.variant==="light"||p.variant==="dark"?p.variant:"both",u=Z(e,d,i);return R({level:u.level,passing:u.checks.length-u.failures.length,total:u.checks.length,checks:u.checks,failures:u.failures})}},{name:"manage_session",title:"Undo, redo, reset, or export the theme",description:"Undo, redo, reset defaults, or export the theme snapshot.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["undo","redo","reset","export"]}},required:["action"],additionalProperties:!1},execute(f){let{action:p}=r(f);switch(p){case"undo":return e.undo(),c({action:"undo"});case"redo":return e.redo(),c({action:"redo"});case"reset":return e.resetToDefaults(),c({action:"reset"});case"export":return R({ok:!0,snapshot:e.exportSnapshot()});default:throw new Error(`Unknown action "${p}". Valid: undo, redo, reset, export.`)}}}]}function lr(e,t){if(!e)return t;switch(e.type){case"color":return e.parseValue?e.parseValue(L(t)):L(t);case"toggle":return typeof t=="boolean"?t:t==="true"||t===1;case"slider":{let o=Number(t);if(!Number.isFinite(o))throw new Error(`"${e.id}" expects a number.`);if(e.slider){let{min:a,max:r}=e.slider;if(o<a||o>r)throw new Error(`"${e.id}" must be between ${a} and ${r}.`)}return e.parseValue?e.parseValue(o):o}case"select":{let o=String(t);if(e.options&&!e.options.some(a=>a.value===o))throw new Error(`"${e.id}" must be one of: ${e.options.map(a=>a.value).join(", ")}.`);return e.parseValue?e.parseValue(o):o}default:return e.parseValue?e.parseValue(t):t}}0&&(module.exports={ADVANCED_TOKENS_SECTION,ALL_ROLES,ALL_TABS,ARTIFACT_DISPLAY_PREFERENCE_SECTION,BRAND_PALETTE_SECTION,BUILT_IN_PRESETS,COLORS_SECTIONS,COLOR_FAMILIES,COMPONENTS_SECTIONS,COMPONENT_COLOR_SECTIONS,COMPONENT_SHAPE_SECTIONS,CONFIGURE_SECTIONS,CONFIGURE_SUB_GROUPS,CONTRAST_PAIRS,CSS_NAMED_COLORS,DEVICE_DIMENSIONS,HOME_SUGGESTION_CHIPS,INTERFACE_ROLES_SECTION,MOCK_BROWSER_CONTENT,MOCK_WORKSPACE_CONTENT,PALETTE_SECTION,PREVIEW_STORAGE_ADAPTER,RADIUS_PRESETS,ROLE_ASSISTANT_MESSAGES,ROLE_BORDERS,ROLE_FAMILIES,ROLE_FAMILY_LABELS,ROLE_HEADER,ROLE_INPUT,ROLE_INTENSITIES,ROLE_LINKS_FOCUS,ROLE_PRIMARY_ACTIONS,ROLE_SCROLL_TO_BOTTOM,ROLE_SURFACES,ROLE_USER_MESSAGES,SEMANTIC_COLORS_SECTION,SHADE_KEYS,SHELL_STYLE_ID,STATUS_COLORS_SECTION,STATUS_PALETTE_SECTION,STREAM_AND_ARTIFACTS_SUB_GROUP,STYLE_SECTIONS,STYLE_SECTIONS_V2,THEME_EDITOR_PRESETS,THEME_SECTION,ThemeEditorState,ZOOM_MAX,ZOOM_MIN,appendPreviewTranscriptEntry,applySceneConfig,applyShellTheme,buildPreviewConfig,buildPreviewConfigWithMessages,buildShellCss,buildSrcdoc,buildSummary,buildTranscriptStreamFrames,coerceColor,coerceFamily,coerceIntensity,coerceRadius,coerceRoundnessStyle,coerceScheme,convertFromPx,convertToPx,createPreviewMessages,createPreviewTranscriptEntry,createThemeEditorTools,detectRoleAssignment,escapeHtml,findSection,formatCssValue,generateColorScale,getPreviewTranscriptPresetLabel,getShellPalette,getThemeEditorPreset,hexToHsl,hslToHex,isValidHex,normalizeColorValue,paletteColorPath,parseCssValue,presetStreamsText,quickContrastWarnings,resolveRoleAssignment,resolveThemeColorPath,rgbToHex,runContrastChecks,scopeSection,tokenRefDisplayName,toolResult,wcagContrastRatio});
|
|
87
|
+
`),createdAt:o};case"reasoning-streaming":return{id:`preview-seq-reasoning-stream-${a}`,role:"assistant",content:"",createdAt:o,streaming:!0,variant:"reasoning",reasoning:{id:`preview-reasoning-stream-${a}`,status:"streaming",chunks:["Thinking through the next step in the workflow..."]}};case"reasoning-complete":return{id:`preview-seq-reasoning-complete-${a}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"reasoning",reasoning:{id:`preview-reasoning-complete-${a}`,status:"complete",chunks:["Reviewed the requirements and finalized the reasoning output."],durationMs:1200}};case"approval-request":{let r=`preview-approval-${a}`;return{id:`approval-${r}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"approval",approval:{id:r,status:"pending",agentId:"preview-agent",executionId:`preview-exec-${a}`,toolName:"add_to_cart",description:"Add the selected item to the shopping cart. Approve to let the assistant continue.",parameters:{items:[{productEntityId:129,quantity:1}]}}}}case"tool-complete":return{id:`preview-seq-tool-complete-${a}`,role:"assistant",content:"",createdAt:o,streaming:!1,variant:"tool",toolCall:{id:`preview-tool-complete-${a}`,name:"Create build instructions",status:"complete",chunks:["Prepared the build instructions and validated the inputs."],result:{ok:!0},duration:420}};default:return{id:`preview-seq-tool-running-${a}`,role:"assistant",content:"",createdAt:o,streaming:!0,variant:"tool",toolCall:{id:`preview-tool-running-${a}`,name:"Get platform documentation",status:"running",chunks:["Fetching the relevant platform documentation..."]}}}}function to(e,t){return[...e,_e(t,e.length)]}function St(e){return e==="assistant-message"||e==="assistant-code-block"||e==="assistant-markdown-table"||e==="assistant-image"}function oo(e,t,o){let a=_e(e,t);if(!St(e)||typeof a.content!="string")return[{message:a,delayMs:0,done:!0}];let r=Math.max(1,o?.chunkSize??24),n=Math.max(0,o?.delayMs??42),s=a.content,l=[];l.push({message:{...a,content:"",streaming:!0},delayMs:0,done:!1});for(let c=r;c<s.length;c+=r)l.push({message:{...a,content:s.slice(0,c),streaming:!0},delayMs:n,done:!1});return l.push({message:{...a,content:s,streaming:!1},delayMs:n,done:!0}),l}var Wa=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt:new Date(Date.now()-15e4).toISOString(),streaming:!0,variant:"reasoning",reasoning:{id:"preview-reasoning",status:"streaming",chunks:["Now let me get the Persona embed documentation and builtin tools catalog."]}},{id:"preview-adv-3",role:"assistant",content:"",createdAt:new Date(Date.now()-12e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-1",name:"Load tools",status:"running",chunks:["Loaded tools, used Runtype integration"]}},{id:"preview-adv-4",role:"assistant",content:"",createdAt:new Date(Date.now()-9e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-2",name:"Get platform documentation",status:"running",chunks:["Get platform documentation"]}},{id:"preview-adv-5",role:"assistant",content:"I loaded the tools and fetched the docs. Next I can assemble the product details.",createdAt:new Date(Date.now()-3e4).toISOString()}],Fa=e=>!!(e?.features?.toolCallDisplay?.activePreview||e?.features?.toolCallDisplay?.grouped||e?.features?.toolCallDisplay?.collapsedMode&&e.features.toolCallDisplay.collapsedMode!=="tool-call"||e?.features?.reasoningDisplay?.activePreview);function Tt(e,t,o=[]){if(e==="follow-ups"){let a=Date.now();return[{id:"preview-follow-up-user",role:"user",content:"What can Persona help me build?",createdAt:new Date(a-12e4).toISOString()},{id:"preview-follow-up-assistant",role:"assistant",content:"Persona gives you a themeable streaming chat interface with flexible integrations and interaction patterns. Where would you like to go next?",createdAt:new Date(a-6e4).toISOString()},{id:"preview-follow-up-suggestions",role:"assistant",content:"",createdAt:new Date(a-59e3).toISOString(),streaming:!1,variant:"tool",toolCall:{id:"preview-follow-up-suggestions",name:"suggest_replies",status:"complete",args:{suggestions:[{id:"preview-implementation",label:"Show me an implementation",prompt:"Show me a practical implementation",description:"See a complete integration example",icon:"code-2",emphasis:"primary"},{id:"preview-theming",label:"Explore theming",prompt:"Tell me how theming works",description:"Customize colors, type, and component styles",icon:"palette"},{id:"preview-security",label:"Review security",prompt:"Explain the security model",description:"Learn about isolation and safe rendering",icon:"shield-check"},{id:"preview-support",label:"Talk to support",prompt:"Help me contact support",description:"Get help choosing the right approach",icon:"messages-square"}]},chunks:[]}},...o]}return e==="home"?[]:e==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:e==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:e==="conversation"&&Fa(t)?[...Wa(),...o]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-conv-3",role:"assistant",content:"Absolutely. Check out the [getting started guide](https://example.com) to see what\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...o]}function Le(e,t,o=[]){let a={...e.launcher,enabled:!0,autoExpand:t!=="minimized"},r={...e,launcher:a,suggestionChips:t==="home"?e.suggestionChips?.length?e.suggestionChips:yt:e.suggestionChips,initialMessages:Tt(t,e,o),storageAdapter:bt};return t==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function ao(e,t){let o=e.theme?v(e.theme,{validate:!1}):v();return{...H,...e.config,theme:o,darkTheme:e.darkTheme,colorScheme:t??e.config?.colorScheme??"light"}}function ro(e,t){let o=e.scene??"conversation";return Le(ao(e,t),o,e.appendedMessages??[])}function no(e,t,o){let a=e.scene??"conversation";return Le(ao(e,o),a,t)}function Me(e){return e==="card"?"collapsed":e}function so(e){return e.split(";",1)[0].trim().toLowerCase()}var Na=new Set(["__proto__","prototype","constructor"]),Ha=new Set(["collapsed","card","panel","inline"]),io=new Set(["markdown","component"]),$a=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,L=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Fe=e=>!Na.has(e),Ct=e=>typeof e=="string"&&Ha.has(e),G=e=>Object.keys(e).length>0;function C(e,t,o,a){e.push({path:t,code:o,message:a})}var za="Ignored because this key is not part of the persisted preference schema.",We="Ignored an unsupported value.",Ua="Expected collapsed, panel, or inline.",ja='Expected a MIME type such as "text/html" or a wildcard such as "image/*".',lo={kind:"mode",message:We},j={kind:"string",message:"Expected a CSS length string."},A={kind:"boolean"},Ga={paneWidth:j,paneMaxWidth:j,paneMinWidth:j,expandedPanelWidth:j,resizableMinWidth:j,resizableMaxWidth:j,expandLauncherPanelWhenOpen:A,resizable:A},qa={kind:"object",message:"Expected a preference object.",children:{showToolCalls:A,showReasoning:A,toolCallDisplay:{kind:"object",children:{collapsedMode:{kind:"enum",values:new Set(["tool-call","tool-name","tool-preview"]),message:We},groupedMode:{kind:"enum",values:new Set(["stack","summary"]),message:We},loadingAnimation:{kind:"enum",values:new Set(["none","pulse","shimmer","shimmer-color","rainbow"]),message:We},expandable:A,grouped:A}},reasoningDisplay:{kind:"object",children:{expandable:A,activePreview:A}},artifacts:{kind:"object",children:{display:{kind:"object",bareMode:!0,message:"Expected an artifact display rules object.",children:{default:lo,files:{kind:"object",bareMode:!0,message:"Expected collapsed, panel, inline, or a file display rules object.",children:{default:lo,byMediaType:{kind:"modeMap",keys:"mediaType"}}},byType:{kind:"modeMap",keys:io,alias:"byKind",deprecated:"Use byKind. The legacy selector was normalized automatically."},byKind:{kind:"modeMap",keys:io}}},filePreview:{kind:"object",children:{enabled:A}},layout:{kind:"object",children:Ga}}}}};function co(e,t,o,a){if(e!==void 0)switch(t.kind){case"boolean":return typeof e=="boolean"?e:C(a,o,"invalid_type","Expected a boolean.");case"string":return typeof e=="string"?e:C(a,o,"invalid_type",t.message);case"enum":return typeof e=="string"&&t.values.has(e)?e:C(a,o,"invalid_value",t.message);case"mode":return Ct(e)?Me(e):C(a,o,"invalid_value",t.message);case"modeMap":{if(!L(e))return C(a,o,"invalid_type","Expected an object.");let r=t.keys==="mediaType"?void 0:t.keys,n={};for(let[s,l]of Object.entries(e)){let c=r?s:so(s);Fe(s)&&(r?r.has(s):$a.test(c))?Ct(l)?n[c]=Me(l):C(a,`${o}.${s}`,"invalid_value",Ua):C(a,`${o}.${s}`,r?"unknown_key":"invalid_value",r?"Ignored an unsupported selector.":ja)}return G(n)?n:void 0}case"object":{if(t.bareMode&&Ct(e))return Me(e);if(!L(e))return C(a,o,"invalid_type",t.message??"Expected an object.");let r=Object.keys(t.children),n=l=>o?`${o}.${l}`:l;for(let l of Object.keys(e))(!Fe(l)||!r.includes(l))&&C(a,n(l),"unknown_key",za);let s={};for(let l of r){let c=t.children[l],g=co(e[l],c,n(l),a);if(c.deprecated&&e[l]!==void 0&&C(a,n(l),"deprecated_key",c.deprecated),g===void 0)continue;let b=c.alias??l,w=s[b];s[b]=L(w)&&L(g)?{...w,...g}:g}return G(s)?s:void 0}}}function Ya(e){let t=[];return{preferences:(e===null?void 0:co(e,qa,"",t))??{},issues:t}}function q(e){if(Array.isArray(e))return e.map(q);if(!L(e))return e;let t={};for(let[o,a]of Object.entries(e))Fe(o)&&a!==void 0&&(t[o]=q(a));return t}function po(e,t){let o=q(e);for(let[a,r]of Object.entries(t)){if(!Fe(a)||r===void 0)continue;let n=o[a];o[a]=L(n)&&L(r)?po(n,r):q(r)}return o}function Ka(e){let t={},o;for(let r of e){let n=Ya(r).preferences;o=uo(o,n.artifacts?.display),t=po(t,n)}let a=t;return a.artifacts&&(o!==void 0?a.artifacts.display=o:delete a.artifacts.display),a}function Xa(e,t){if(t===void 0)return e===void 0?void 0:q(e);if(typeof t=="string")return t;let o=typeof e=="string"?{default:e}:e??{},a=t.default??o.default,r={...o.byMediaType,...t.byMediaType},n={...a?{default:a}:{},...G(r)?{byMediaType:r}:{}};return G(n)?n:void 0}function uo(e,t){if(t===void 0)return e===void 0?void 0:q(e);if(typeof t=="string")return t;let o=typeof e=="string"?{default:e}:e??{},a=t.default??o.default,r={...o.byType,...o.byKind,...t.byType,...t.byKind},n=Xa(o.files,t.files),s={...a?{default:a}:{},...G(r)?{byKind:r}:{},...n!==void 0?{files:n}:{}};return G(s)?s:void 0}function mo(e={},t){let o=Ka(t),a={...e};if(o.showToolCalls!==void 0&&(a.showToolCalls=o.showToolCalls),o.showReasoning!==void 0&&(a.showReasoning=o.showReasoning),o.toolCallDisplay&&(a.toolCallDisplay={...e.toolCallDisplay,...o.toolCallDisplay}),o.reasoningDisplay&&(a.reasoningDisplay={...e.reasoningDisplay,...o.reasoningDisplay}),o.artifacts){let r=e.artifacts??{},n={...r};if(o.artifacts.display!==void 0){let s=uo(r.display,o.artifacts.display);s!==void 0&&(n.display=s)}o.artifacts.filePreview&&(n.filePreview={...r.filePreview,enabled:o.artifacts.filePreview.enabled}),o.artifacts.layout&&(n.layout={...r.layout,...o.artifacts.layout}),a.artifacts=n}return a}function R(e){return{content:[{type:"text",text:JSON.stringify(e)}],structuredContent:e}}var he={black:"#000000",white:"#ffffff",red:"#ff0000",green:"#008000",lime:"#00ff00",blue:"#0000ff",yellow:"#ffff00",cyan:"#00ffff",aqua:"#00ffff",magenta:"#ff00ff",fuchsia:"#ff00ff",silver:"#c0c0c0",gray:"#808080",grey:"#808080",maroon:"#800000",olive:"#808000",purple:"#800080",teal:"#008080",navy:"#000080",orange:"#ffa500",pink:"#ffc0cb",hotpink:"#ff69b4",gold:"#ffd700",indigo:"#4b0082",violet:"#ee82ee",brown:"#a52a2a",beige:"#f5f5dc",ivory:"#fffff0",khaki:"#f0e68c",coral:"#ff7f50",salmon:"#fa8072",tomato:"#ff6347",crimson:"#dc143c",turquoise:"#40e0d0",lavender:"#e6e6fa",plum:"#dda0dd",orchid:"#da70d6",tan:"#d2b48c",chocolate:"#d2691e",sienna:"#a0522d",slategray:"#708090",slategrey:"#708090",steelblue:"#4682b4",royalblue:"#4169e1",dodgerblue:"#1e90ff",skyblue:"#87ceeb",lightblue:"#add8e6",midnightblue:"#191970",forestgreen:"#228b22",seagreen:"#2e8b57",limegreen:"#32cd32",olivedrab:"#6b8e23",darkgreen:"#006400",emerald:"#50c878",mint:"#3eb489",goldenrod:"#daa520",firebrick:"#b22222",darkred:"#8b0000",indianred:"#cd5c5c",deeppink:"#ff1493",mediumpurple:"#9370db",rebeccapurple:"#663399",darkviolet:"#9400d3",slateblue:"#6a5acd",cornflowerblue:"#6495ed",teal2:"#008080",charcoal:"#36454f",graphite:"#3b3b3b",transparent:"transparent"},Za=/^rgba?\(\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*(,\s*(0|1|0?\.\d+|\d{1,3}%)\s*)?\)$/;function Ja(e){return Za.test(e)}function M(e){if(typeof e!="string"||e.trim()==="")throw new Error('Color must be a non-empty string (e.g. "#2563eb" or "blue").');let t=e.trim().toLowerCase(),o=he[t];if(o)return o;let a=$(t);if(Ae(a)||a==="transparent"||Ja(a))return a;throw new Error(`"${e}" is not a recognized color. Pass a hex value like "#ef4444" or a CSS color name (e.g. ${Object.keys(he).slice(0,6).join(", ")}).`)}var He=ee.map(e=>e==="gray"?"neutral":e),Qa={...Object.fromEntries(He.map(e=>[e,e])),gray:"neutral",grey:"neutral"};function be(e,t=!0){let o=String(e??"").trim().toLowerCase(),a=Qa[o];if(!a||!t&&a==="neutral"){let r=t?"primary, secondary, accent, neutral":"primary, secondary, accent";throw new Error(`Unknown color family "${e}". Valid families: ${r}.`)}return a}function ye(e){let t=String(e??"solid").trim().toLowerCase();if(t==="solid"||t==="soft")return t;throw new Error(`Unknown intensity "${e}". Valid intensities: solid, soft.`)}function ke(e){let t=String(e??"").trim().toLowerCase();if(t==="light"||t==="dark"||t==="auto")return t;if(t==="system")return"auto";throw new Error(`Unknown color scheme "${e}". Valid: light, dark, auto.`)}var er={sharp:"sharp",square:"sharp",none:"sharp",default:"default",normal:"default",rounded:"rounded",round:"rounded",soft:"rounded",pill:"pill",circle:"pill",full:"pill"};function we(e){let t=String(e??"").trim().toLowerCase(),o=er[t];if(!o)throw new Error(`Unknown roundness "${e}". Valid: sharp, default, rounded, pill.`);return o}function ve(e){if(typeof e=="number"&&Number.isFinite(e))return`${e}px`;if(typeof e=="string"&&e.trim()!==""){let t=e.trim();if(t==="9999px"||/^(100%|9999px)$/.test(t))return"9999px";let o=Ce(t);return Re(o.value,o.unit)}throw new Error('Radius must be a number (px) or a CSS length string like "0.5rem".')}function $e(e){for(let t of _){let o=t.fields.find(a=>a.id===e);if(o?.options){let a={};for(let r of o.options){let n=r.value.split(".").pop();n&&(a[n]=r.value)}return a}}return{}}var go=$e("typo-font-family"),ge=$e("typo-font-size"),fe=$e("typo-font-weight"),Ne=$e("typo-line-height"),fo={...go,monospace:go.mono},ho={...ge,small:ge.sm,md:ge.base,medium:ge.base,large:ge.lg},bo={...fe,400:fe.normal,500:fe.medium,600:fe.semibold,700:fe.bold},yo={...Ne,"1.25":Ne.tight,"1.5":Ne.normal,"1.625":Ne.relaxed};function ko(e,t,o){let a=String(e??"").trim().toLowerCase(),r=t[a];if(!r){let n=[...new Set(Object.values(t).map(s=>s.split(".").pop()))].join(", ");throw new Error(`Unknown ${o} "${e}". Valid: ${n}.`)}return r}var wo="theme.palette.radius.";function tr(){let e={pill:{sm:"9999px",md:"9999px",lg:"9999px",xl:"9999px",full:"9999px"}};for(let t of _)for(let o of t.presets??[]){let a=o.id.match(/^radius-(\w+)$/);if(!a)continue;let r={};for(let[n,s]of Object.entries(o.values))n.startsWith(wo)&&typeof s=="string"&&(r[n.slice(wo.length)]=s);e[a[1]]=r}return e}var K=tr(),vo=["sm","md","lg","xl","full"];function Ue(e,t,o="theme",a=0){if(a>6)return null;let r=e.get(`${o}.${t}`);return typeof r!="string"||r===""?o==="darkTheme"?Ue(e,t,"theme",a):null:r.startsWith("#")||r.startsWith("rgb")||r==="transparent"?r:r.startsWith("palette.")||r.startsWith("semantic.")||r.startsWith("components.")?Ue(e,r,o,a+1):null}function ze(e,t){let o=e.get(t);if(typeof o!="string")return"unknown";let a=o.split(".");return a[a.length-1]||String(o)}function X(e){return e.replace(/^role-/,"")}function or(e){for(let[t,o]of Object.entries(K))if(vo.every(a=>e[a]===o[a]))return t;return"custom"}function V(e){let t={};for(let a of vo)t[a]=String(e.get(`theme.palette.radius.${a}`)??"");let o={};for(let a of I)o[X(a.roleId)]=De(r=>e.get(`theme.${r}`),a);return{brand:{primary:Rt(e.get("theme.palette.colors.primary.500")),secondary:Rt(e.get("theme.palette.colors.secondary.500")),accent:Rt(e.get("theme.palette.colors.accent.500"))},roles:o,typography:{fontFamily:ze(e,"theme.semantic.typography.fontFamily"),fontSize:ze(e,"theme.semantic.typography.fontSize"),fontWeight:ze(e,"theme.semantic.typography.fontWeight"),lineHeight:ze(e,"theme.semantic.typography.lineHeight")},roundness:{style:or(t),radius:t},colorScheme:String(e.get("colorScheme")??"light"),history:{index:e.getHistoryIndex(),canUndo:e.canUndo(),canRedo:e.canRedo()}}}function Rt(e){return typeof e=="string"&&e!==""?e:null}var Y=[{key:"user-message",label:"User message text",fg:"components.message.user.text",bg:"components.message.user.background"},{key:"assistant-message",label:"Assistant message text",fg:"components.message.assistant.text",bg:"components.message.assistant.background"},{key:"header",label:"Header title",fg:"components.header.titleForeground",bg:"components.header.background"},{key:"primary-button",label:"Primary button label",fg:"components.button.primary.foreground",bg:"components.button.primary.background"},{key:"input",label:"Input placeholder",fg:"components.input.placeholder",bg:"components.input.background"},{key:"link",label:"Link text",fg:"components.markdown.link.foreground",bg:"semantic.colors.background"},{key:"scroll",label:"Scroll-to-bottom icon",fg:"components.scrollToBottom.foreground",bg:"components.scrollToBottom.background"},{key:"body",label:"Body text on background",fg:"semantic.colors.text",bg:"semantic.colors.background"},{key:"surface",label:"Body text on surface",fg:"semantic.colors.text",bg:"semantic.colors.surface"}];function xo(e){let t=new Set(e.targets.map(o=>o.path));return Y.filter(o=>t.has(o.fg)||t.has(o.bg)).map(o=>o.key)}var ar={AA:4.5,AAA:7};function rr(e){return Math.round(e*100)/100}function nr(e,t,o,a,r){let n=e.get(`${r}.${t}`);if(typeof n!="string")return null;let s=n.match(/^palette\.colors\.(\w+)\.(\d+)$/);if(!s)return null;let l=s[1],c=O.indexOf(s[2]),g=null,b=1/0;return O.forEach((w,S)=>{let E=e.get(`${r}.palette.colors.${l}.${w}`);if(!(typeof E!="string"||!(E.startsWith("#")||E.startsWith("rgb")))&&Q(E,o)>=a){let F=c>=0?Math.abs(S-c):S;F<b&&(b=F,g=`palette.colors.${l}.${w}`)}}),g}function Z(e,t="AA",o="both",a){let r=ar[t],n=o==="both"?["light","dark"]:[o],s=a?Y.filter(c=>a.includes(c.key)):Y,l=[];for(let c of n){let g=c==="light"?"theme":"darkTheme";for(let b of s){let w=Ue(e,b.fg,g),S=Ue(e,b.bg,g);if(!w||!S)continue;let E=rr(Q(w,S)),F=E>=r,je={pair:b.key,label:b.label,variant:c,fg:w,bg:S,ratio:E,threshold:r,passes:F};if(!F){let Ge=nr(e,b.fg,S,r,g);Ge&&(je.suggestion=Ge)}l.push(je)}}return{level:t,checks:l,failures:l.filter(c=>!c.passes)}}function W(e,t,o="light",a="AA"){return t.length===0?[]:Z(e,a,o,t).failures.map(n=>({code:"contrast",pair:n.pair,variant:n.variant,ratio:n.ratio,threshold:n.threshold,message:`${n.label} (${n.variant}) has a contrast ratio of ${n.ratio}:1, below the ${a} threshold of ${n.threshold}:1${n.suggestion?`. Try ${n.suggestion} for the foreground.`:"."}`}))}var k={};for(let e of I){let t=X(e.roleId);k[t]=e,k[e.roleId]=e}Object.assign(k,{surface:k.surfaces,background:k.surfaces,backgrounds:k.surfaces,user:k["user-messages"],"user-message":k["user-messages"],assistant:k["assistant-messages"],"assistant-message":k["assistant-messages"],actions:k["primary-actions"],buttons:k["primary-actions"],composer:k.input,links:k["links-focus"],focus:k["links-focus"],border:k.borders,dividers:k.borders,scroll:k["scroll-to-bottom"]});function sr(e){let t=String(e??"").trim().toLowerCase(),o=k[t];if(!o){let a=I.map(r=>X(r.roleId)).join(", ");throw new Error(`Unknown role "${e}". Valid roles: ${a}.`)}return o}function So(){let e=new Map,t=o=>{for(let a of o)for(let r of a.fields)e.has(r.id)||e.set(r.id,r)};for(let o of Ve)t(o.sections);for(let o of ue)t(o.sections);return e}var ir={voice:"voiceRecognition.enabled",artifacts:"features.artifacts.enabled",attachments:"attachments.enabled",toolCalls:"features.showToolCalls",reasoning:"features.showReasoning",feedback:"messageActions.enabled"},lr={avatars:"layout.messages.avatar.show",timestamps:"layout.messages.timestamp.show",showHeader:"layout.showHeader",messageStyle:"layout.messages.layout"},At=["bottom-right","bottom-left","top-right","top-left"],Et=["bubble","flat","minimal"],cr={title:"copy.welcomeTitle",subtitle:"copy.welcomeSubtitle",placeholder:"copy.inputPlaceholder",sendLabel:"copy.sendButtonLabel"};function Pt(e,t){let o=t?.editTarget??"both",a=null,r=f=>f&&typeof f=="object"?f:{},n=(f,p,d=o)=>{let i={};return(d==="light"||d==="both")&&(i[`theme.${f}`]=p),(d==="dark"||d==="both")&&(i[`darkTheme.${f}`]=p),i},s=f=>{if(o==="both")return f;let p={};for(let[d,i]of Object.entries(f))(o==="light"&&d.startsWith("theme.")||o==="dark"&&d.startsWith("darkTheme."))&&(p[d]=i);return p},l=()=>o==="dark"?"dark":"light",c=(f,p=[])=>R({ok:!0,summary:V(e),warnings:p,applied:f});return[{name:"get_theme_overview",title:"Get current theme & what is editable",description:"Read theme summary, presets, and editable levers. Call before editing.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{verbosity:{type:"string",enum:["summary","full"],description:"'full' includes the field-id index."}},additionalProperties:!1},execute(f){let{verbosity:p}=r(f),d={summary:V(e),availableRoles:I.map(i=>({role:X(i.roleId),helper:i.helper})),availableFamilies:He,presets:U.map(i=>({id:i.id,name:i.name,description:i.description,tags:i.tags??[]})),tools:[{tool:"set_brand_colors",hint:"Recolor primary/secondary/accent and generate shade scales."},{tool:"assign_color_role",hint:"Recolor a widget region with family + intensity."},{tool:"set_typography",hint:"Set font family, size, weight, line height."},{tool:"set_roundness",hint:"Set corner roundness or granular radii."},{tool:"set_color_scheme",hint:"Set light/dark/auto and edit target."},{tool:"apply_preset",hint:"Apply a built-in preset."},{tool:"configure_widget",hint:"Toggle launcher position, features, and layout."},{tool:"set_copy_and_suggestions",hint:"Set welcome copy, placeholder, and suggestion chips."},{tool:"set_theme_fields",hint:"Set any field by id or dot-path."},{tool:"check_contrast",hint:"Audit WCAG contrast."},{tool:"manage_session",hint:"Undo, redo, reset, or export the theme."}]};return p==="full"&&(a??(a=So()),d.fieldIndex=Array.from(a.values()).map(i=>({id:i.id,path:i.path,type:i.type,label:i.label,options:i.options?.map(u=>u.value)}))),R(d)}},{name:"set_brand_colors",title:"Set brand colors",description:"Set primary, secondary, and/or accent colors. Generates shade scales and accepts hex, rgb/rgba, or CSS names.",inputSchema:{type:"object",properties:{primary:{type:"string",description:"Hex, rgb/rgba, or CSS name."},secondary:{type:"string",description:"Hex, rgb/rgba, or CSS name."},accent:{type:"string",description:"Hex, rgb/rgba, or CSS name."}},additionalProperties:!1},execute(f){let p=r(f),d=["primary","secondary","accent"],i={},u={};for(let m of d){if(p[m]===void 0)continue;let y=M(p[m]);u[m]=y;let x=Pe(y);for(let P of O){let J=x[P];J!==void 0&&Object.assign(i,n(`palette.colors.${m}.${P}`,J))}}if(Object.keys(u).length===0)throw new Error("Provide at least one of: primary, secondary, accent.");e.setBatch(i);let h=W(e,["primary-button","user-message"],l());return c(u,h)}},{name:"assign_color_role",title:"Assign a color family to an interface role",description:"Recolor a widget region by role, palette family, and intensity.",inputSchema:{type:"object",properties:{role:{type:"string",description:"Role, e.g. header or user-messages."},family:{type:"string",enum:He},intensity:{type:"string",enum:["solid","soft"],description:"Default: solid."}},required:["role","family"],additionalProperties:!1},execute(f){let p=r(f),d=sr(p.role),i=be(p.family,!0),u=ye(p.intensity),h=s(de(i,u,d)),m=Object.keys(h).length;e.setBatch(h);let y=W(e,xo(d),l());return c({role:X(d.roleId),family:i,intensity:u,tokensWritten:m},y)}},{name:"set_typography",title:"Set typography",description:"Set font family, size, weight, and line height.",inputSchema:{type:"object",properties:{fontFamily:{type:"string"},fontSize:{type:"string"},fontWeight:{type:["string","number"]},lineHeight:{type:["string","number"]}},additionalProperties:!1},execute(f){let p=r(f),d={},i={},u=(h,m)=>{if(p[h]===void 0)return;let y=ko(p[h],m,h);i[h]=y.split(".").pop()??y,Object.assign(d,n(`semantic.typography.${h}`,y))};if(u("fontFamily",fo),u("fontSize",ho),u("fontWeight",bo),u("lineHeight",yo),Object.keys(i).length===0)throw new Error("Provide at least one of: fontFamily, fontSize, fontWeight, lineHeight.");return e.setBatch(d),c(i)}},{name:"set_roundness",title:"Set corner roundness",description:"Set roundness by style or granular radius values.",inputSchema:{type:"object",properties:{style:{type:"string",enum:["sharp","default","rounded","pill"]},radius:{type:"object",description:"Granular px or CSS length overrides.",properties:{sm:{type:["string","number"]},md:{type:["string","number"]},lg:{type:["string","number"]},xl:{type:["string","number"]},full:{type:["string","number"]}},additionalProperties:!1}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};if(p.style!==void 0){let u=we(p.style);i.style=u;for(let[h,m]of Object.entries(K[u]))Object.assign(d,n(`palette.radius.${h}`,m))}if(p.radius!==void 0){let u=r(p.radius),h={};for(let m of["sm","md","lg","xl","full"]){if(u[m]===void 0)continue;let y=ve(u[m]);h[m]=y,Object.assign(d,n(`palette.radius.${m}`,y))}i.radius=h}if(Object.keys(d).length===0)throw new Error("Provide `style` (sharp|default|rounded|pill) or a `radius` object.");return e.setBatch(d),c(i)}},{name:"set_color_scheme",title:"Set color scheme",description:"Set light/dark/auto color scheme and optional edit target.",inputSchema:{type:"object",properties:{scheme:{type:"string",enum:["light","dark","auto"]},editTarget:{type:"string",enum:["light","dark","both"]}},additionalProperties:!1},execute(f){let p=r(f),d={};if(p.scheme!==void 0){let i=ke(p.scheme);e.set("colorScheme",i),d.scheme=i}if(p.editTarget!==void 0){let i=String(p.editTarget).trim().toLowerCase();if(i!=="light"&&i!=="dark"&&i!=="both")throw new Error(`Unknown editTarget "${p.editTarget}". Valid: light, dark, both.`);o=i,d.editTarget=i}if(Object.keys(d).length===0)throw new Error("Provide `scheme` and/or `editTarget`.");return R({ok:!0,summary:V(e),warnings:[],applied:d,editTarget:o})}},{name:"apply_preset",title:"Apply a built-in theme preset",description:"Apply a complete built-in preset, replacing theme tokens. Call get_theme_overview to list preset ids.",inputSchema:{type:"object",properties:{presetId:{type:"string"}},required:["presetId"],additionalProperties:!1},execute(f){let{presetId:p}=r(f),d=Be(String(p??""));if(!d){let m=U.map(y=>y.id).join(", ");throw new Error(`Unknown preset "${p}". Valid presets: ${m}.`)}let i=v(d.theme,{validate:!1}),u={...e.getConfig()};d.darkTheme&&(u.darkTheme=v(d.darkTheme,{validate:!1}),u.colorScheme="auto"),d.toolCall&&(u.toolCall=d.toolCall),d.behavior&&(u.features=mo(u.features,[d.behavior])),e.setFullConfig(u,i);let h=W(e,["body","assistant-message"],"light");return c({appliedPreset:{id:d.id,name:d.name}},h)}},{name:"configure_widget",title:"Configure launcher, features, and layout",description:"Toggle launcher position, feature flags, and message layout.",inputSchema:{type:"object",properties:{launcherPosition:{type:"string",enum:At},features:{type:"object",properties:{voice:{type:"boolean"},artifacts:{type:"boolean"},attachments:{type:"boolean"},toolCalls:{type:"boolean"},reasoning:{type:"boolean"},feedback:{type:"boolean"}},additionalProperties:!1},layout:{type:"object",properties:{avatars:{type:"boolean"},timestamps:{type:"boolean"},showHeader:{type:"boolean"},messageStyle:{type:"string",enum:Et}},additionalProperties:!1}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};if(p.launcherPosition!==void 0){let m=String(p.launcherPosition);if(!At.includes(m))throw new Error(`Unknown launcherPosition "${m}". Valid: ${At.join(", ")}.`);d["launcher.position"]=m,i.launcherPosition=m}let u=r(p.features);for(let[m,y]of Object.entries(ir))u[m]!==void 0&&(d[y]=!!u[m],i.features??(i.features={}),i.features[m]=!!u[m]);let h=r(p.layout);for(let[m,y]of Object.entries(lr))if(h[m]!==void 0)if(m==="messageStyle"){let x=String(h[m]);if(!Et.includes(x))throw new Error(`Unknown messageStyle "${x}". Valid: ${Et.join(", ")}.`);d[y]=x,i.layout??(i.layout={}),i.layout[m]=x}else d[y]=!!h[m],i.layout??(i.layout={}),i.layout[m]=!!h[m];if(Object.keys(d).length===0)throw new Error("Provide launcherPosition, features, and/or layout.");return e.setBatch(d),c(i)}},{name:"set_copy_and_suggestions",title:"Set welcome copy and suggestion chips",description:"Set welcome copy, input placeholder, send label, and suggestion chips.",inputSchema:{type:"object",properties:{title:{type:"string"},subtitle:{type:"string"},placeholder:{type:"string"},sendLabel:{type:"string"},suggestions:{type:"array",items:{type:"string"}}},additionalProperties:!1},execute(f){let p=r(f),d={},i={};for(let[u,h]of Object.entries(cr))p[u]!==void 0&&(d[h]=String(p[u]),i[u]=String(p[u]));if(p.suggestions!==void 0){if(!Array.isArray(p.suggestions))throw new Error("`suggestions` must be an array of strings.");let u=p.suggestions.filter(h=>typeof h=="string");d.suggestionChips=u,i.suggestions=u}if(Object.keys(d).length===0)throw new Error("Provide at least one of: title, subtitle, placeholder, sendLabel, suggestions.");return e.setBatch(d),c(i)}},{name:"set_theme_fields",title:"Set theme fields by id or path (advanced)",description:"Advanced escape hatch: set fields by id or raw dot-path. Values are validated when metadata exists.",inputSchema:{type:"object",properties:{updates:{type:"array",items:{type:"object",properties:{field:{type:"string",description:"Field id or path."},value:{type:["string","number","boolean"]}},required:["field","value"],additionalProperties:!1}}},required:["updates"],additionalProperties:!1},execute(f){let{updates:p}=r(f);if(!Array.isArray(p)||p.length===0)throw new Error("`updates` must be a non-empty array of { field, value }.");a??(a=So());let d={},i=[];for(let h of p){let m=r(h),y=String(m.field??"");try{let x=a.get(y),P=x?x.path:y;if(!x&&!/^(theme|darkTheme)\.|\./.test(P))throw new Error(`Unknown field "${y}". Pass a known field id or a dot-path (e.g. theme.palette.radius.md).`);let J=dr(x,m.value);if(x&&P.startsWith("theme.")){let It=n(P.slice(6),J);Object.assign(d,It),i.push({field:y,resolvedPath:Object.keys(It),ok:!0})}else d[P]=J,i.push({field:y,resolvedPath:P,ok:!0})}catch(x){i.push({field:y,ok:!1,error:x.message})}}let u=i.filter(h=>h.ok);return Object.keys(d).length>0&&e.setBatch(d),R({ok:u.length>0,summary:V(e),warnings:[],applied:{updates:i}})}},{name:"check_contrast",title:"Check accessibility contrast",description:"Run WCAG checks over key text/background pairs.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{level:{type:"string",enum:["AA","AAA"],description:"Default: AA."},variant:{type:"string",enum:["light","dark","both"],description:"Default: both."}},additionalProperties:!1},execute(f){let p=r(f),d=p.level==="AAA"?"AAA":"AA",i=p.variant==="light"||p.variant==="dark"?p.variant:"both",u=Z(e,d,i);return R({level:u.level,passing:u.checks.length-u.failures.length,total:u.checks.length,checks:u.checks,failures:u.failures})}},{name:"manage_session",title:"Undo, redo, reset, or export the theme",description:"Undo, redo, reset defaults, or export the theme snapshot.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["undo","redo","reset","export"]}},required:["action"],additionalProperties:!1},execute(f){let{action:p}=r(f);switch(p){case"undo":return e.undo(),c({action:"undo"});case"redo":return e.redo(),c({action:"redo"});case"reset":return e.resetToDefaults(),c({action:"reset"});case"export":return R({ok:!0,snapshot:e.exportSnapshot()});default:throw new Error(`Unknown action "${p}". Valid: undo, redo, reset, export.`)}}}]}function dr(e,t){if(!e)return t;switch(e.type){case"color":return e.parseValue?e.parseValue(M(t)):M(t);case"toggle":return typeof t=="boolean"?t:t==="true"||t===1;case"slider":{let o=Number(t);if(!Number.isFinite(o))throw new Error(`"${e.id}" expects a number.`);if(e.slider){let{min:a,max:r}=e.slider;if(o<a||o>r)throw new Error(`"${e.id}" must be between ${a} and ${r}.`)}return e.parseValue?e.parseValue(o):o}case"select":{let o=String(t);if(e.options&&!e.options.some(a=>a.value===o))throw new Error(`"${e.id}" must be one of: ${e.options.map(a=>a.value).join(", ")}.`);return e.parseValue?e.parseValue(o):o}default:return e.parseValue?e.parseValue(t):t}}0&&(module.exports={ADVANCED_TOKENS_SECTION,ALL_ROLES,ALL_TABS,ARTIFACT_DISPLAY_PREFERENCE_SECTION,BRAND_PALETTE_SECTION,BUILT_IN_PRESETS,COLORS_SECTIONS,COLOR_FAMILIES,COMPONENTS_SECTIONS,COMPONENT_COLOR_SECTIONS,COMPONENT_SHAPE_SECTIONS,CONFIGURE_SECTIONS,CONFIGURE_SUB_GROUPS,CONTRAST_PAIRS,CSS_NAMED_COLORS,DEVICE_DIMENSIONS,HOME_SUGGESTION_CHIPS,INTERFACE_ROLES_SECTION,MOCK_BROWSER_CONTENT,MOCK_WORKSPACE_CONTENT,PALETTE_SECTION,PREVIEW_STORAGE_ADAPTER,RADIUS_PRESETS,ROLE_ASSISTANT_MESSAGES,ROLE_BORDERS,ROLE_FAMILIES,ROLE_FAMILY_LABELS,ROLE_HEADER,ROLE_INPUT,ROLE_INTENSITIES,ROLE_LINKS_FOCUS,ROLE_PRIMARY_ACTIONS,ROLE_SCROLL_TO_BOTTOM,ROLE_SURFACES,ROLE_USER_MESSAGES,SEMANTIC_COLORS_SECTION,SHADE_KEYS,SHELL_STYLE_ID,STATUS_COLORS_SECTION,STATUS_PALETTE_SECTION,STREAM_AND_ARTIFACTS_SUB_GROUP,STYLE_SECTIONS,STYLE_SECTIONS_V2,THEME_EDITOR_PRESETS,THEME_SECTION,ThemeEditorState,ZOOM_MAX,ZOOM_MIN,appendPreviewTranscriptEntry,applySceneConfig,applyShellTheme,buildPreviewConfig,buildPreviewConfigWithMessages,buildShellCss,buildSrcdoc,buildSummary,buildTranscriptStreamFrames,coerceColor,coerceFamily,coerceIntensity,coerceRadius,coerceRoundnessStyle,coerceScheme,convertFromPx,convertToPx,createPreviewMessages,createPreviewTranscriptEntry,createThemeEditorTools,detectRoleAssignment,escapeHtml,findSection,formatCssValue,generateColorScale,getPreviewTranscriptPresetLabel,getShellPalette,getThemeEditorPreset,hexToHsl,hslToHex,isValidHex,normalizeColorValue,paletteColorPath,parseCssValue,presetStreamsText,quickContrastWarnings,resolveRoleAssignment,resolveThemeColorPath,rgbToHex,runContrastChecks,scopeSection,tokenRefDisplayName,toolResult,wcagContrastRatio});
|