cli-jaw 2.2.11 → 2.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/bin/commands/doctor.js +20 -0
  2. package/dist/bin/commands/doctor.js.map +1 -1
  3. package/dist/bin/commands/init.js +7 -0
  4. package/dist/bin/commands/init.js.map +1 -1
  5. package/dist/bin/commands/slack.js +47 -5
  6. package/dist/bin/commands/slack.js.map +1 -1
  7. package/dist/bin/commands/tui/slash-command-runner.js +11 -2
  8. package/dist/bin/commands/tui/slash-command-runner.js.map +1 -1
  9. package/dist/server.js +18 -2
  10. package/dist/server.js.map +1 -1
  11. package/dist/src/agent/error-classifier.js +11 -2
  12. package/dist/src/agent/error-classifier.js.map +1 -1
  13. package/dist/src/agent/events/claude.js +7 -1
  14. package/dist/src/agent/events/claude.js.map +1 -1
  15. package/dist/src/agent/events/fulltext-bound.js +32 -0
  16. package/dist/src/agent/events/fulltext-bound.js.map +1 -0
  17. package/dist/src/agent/events/grok.js +7 -1
  18. package/dist/src/agent/events/grok.js.map +1 -1
  19. package/dist/src/agent/events/helpers.js +17 -4
  20. package/dist/src/agent/events/helpers.js.map +1 -1
  21. package/dist/src/agent/lifecycle-handler.js +56 -5
  22. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  23. package/dist/src/agent/pi-runtime.js +30 -1
  24. package/dist/src/agent/pi-runtime.js.map +1 -1
  25. package/dist/src/agent/spawn/exit-drain.js +96 -0
  26. package/dist/src/agent/spawn/exit-drain.js.map +1 -0
  27. package/dist/src/agent/spawn/line-buffer.js +26 -0
  28. package/dist/src/agent/spawn/line-buffer.js.map +1 -0
  29. package/dist/src/agent/spawn/process-kill.js +31 -0
  30. package/dist/src/agent/spawn/process-kill.js.map +1 -1
  31. package/dist/src/agent/spawn.js +80 -23
  32. package/dist/src/agent/spawn.js.map +1 -1
  33. package/dist/src/agent/watchdog.js +21 -5
  34. package/dist/src/agent/watchdog.js.map +1 -1
  35. package/dist/src/cli/commands.js +68 -15
  36. package/dist/src/cli/commands.js.map +1 -1
  37. package/dist/src/cli/opencodex-models.js +67 -14
  38. package/dist/src/cli/opencodex-models.js.map +1 -1
  39. package/dist/src/cli/registry-live.js +55 -2
  40. package/dist/src/cli/registry-live.js.map +1 -1
  41. package/dist/src/cli/registry.js +8 -2
  42. package/dist/src/cli/registry.js.map +1 -1
  43. package/dist/src/core/config.js +26 -1
  44. package/dist/src/core/config.js.map +1 -1
  45. package/dist/src/messaging/channel-health.js +6 -0
  46. package/dist/src/messaging/channel-health.js.map +1 -1
  47. package/dist/src/messaging/channel-validate.js +85 -0
  48. package/dist/src/messaging/channel-validate.js.map +1 -0
  49. package/dist/src/routes/link-preview.js +14 -0
  50. package/dist/src/routes/link-preview.js.map +1 -1
  51. package/dist/src/routes/messaging.js +9 -0
  52. package/dist/src/routes/messaging.js.map +1 -1
  53. package/dist/src/routes/system.js +5 -0
  54. package/dist/src/routes/system.js.map +1 -1
  55. package/dist/src/slack/api.js +32 -3
  56. package/dist/src/slack/api.js.map +1 -1
  57. package/dist/src/slack/bot.js +37 -1
  58. package/dist/src/slack/bot.js.map +1 -1
  59. package/dist/src/slack/events.js +23 -0
  60. package/dist/src/slack/events.js.map +1 -1
  61. package/dist/src/slack/hot-notify.js +33 -0
  62. package/dist/src/slack/hot-notify.js.map +1 -0
  63. package/dist/src/slack/manifest.js +2 -1
  64. package/dist/src/slack/manifest.js.map +1 -1
  65. package/dist/src/slack/progress.js +98 -0
  66. package/dist/src/slack/progress.js.map +1 -0
  67. package/dist/src/slack/send-only-client.js +3 -2
  68. package/dist/src/slack/send-only-client.js.map +1 -1
  69. package/dist/src/slack/slack-file.js +4 -2
  70. package/dist/src/slack/slack-file.js.map +1 -1
  71. package/package.json +3 -1
  72. package/public/css/sidebar.css +200 -0
  73. package/public/dist/assets/Agent-BjbZVZ9p.js +1 -0
  74. package/public/dist/assets/CodeCanvas-CbfPP7Ad.js +3 -0
  75. package/public/dist/assets/{DocPanel-DtYwv3n3.js → DocPanel-Dz-J_l5M.js} +1 -1
  76. package/public/dist/assets/{Heartbeat-vDGhPfct.js → Heartbeat-DDmZARWw.js} +1 -1
  77. package/public/dist/assets/MarkdownRenderer-CXrilOsG.js +15 -0
  78. package/public/dist/assets/MarkdownRenderer-DZVh_xX2.js +1 -0
  79. package/public/dist/assets/{Memory-B_UZ-iCA.js → Memory-CUbviW7N.js} +1 -1
  80. package/public/dist/assets/{MilkdownWysiwygEditor-BNoLGbFC.js → MilkdownWysiwygEditor-Em7iC6y9.js} +8 -8
  81. package/public/dist/assets/ModelProvider-ngg8xTuB.js +1 -0
  82. package/public/dist/assets/{agent-meta-C8DqYXM6.js → agent-meta-Y3DE6sxh.js} +1 -1
  83. package/public/dist/assets/app-BzD_ZLvt.js +55 -0
  84. package/public/dist/assets/{app-Nu2VPaO5.css → app-DX4e6isX.css} +1 -1
  85. package/public/dist/assets/bgtask-badge-Dqbp-Y4e.js +1 -0
  86. package/public/dist/assets/{bgtask-badge-DXca8E7c.js → bgtask-badge-qMkKOZx0.js} +1 -1
  87. package/public/dist/assets/{react-dom-AWKMTIe7.js → bounded-set-CFlZiEF4.js} +1 -1
  88. package/public/dist/assets/{constants-CSZ011-j.js → constants-Df7-7Rky.js} +1 -1
  89. package/public/dist/assets/{employees-BL4qMxJj.js → employees-BnobWM_2.js} +1 -1
  90. package/public/dist/assets/{iframe-renderer-DUI0LYBy.js → iframe-renderer-C5vRbbl9.js} +2 -2
  91. package/public/dist/assets/iframe-renderer-Df4KIVyx.js +1 -0
  92. package/public/dist/assets/manager-DaN201mN.js +13 -0
  93. package/public/dist/assets/memory-D-bULTHl.js +1 -0
  94. package/public/dist/assets/{memory-B_Y0L0KD.js → memory-DF4kPwwC.js} +1 -1
  95. package/public/dist/assets/{message-history-Dl8dJzez.js → message-history-C4WOisGx.js} +1 -1
  96. package/public/dist/assets/message-history-ZBoza6ew.js +1 -0
  97. package/public/dist/assets/{render-BI1aqKoc.js → render-DYX6GRQ0.js} +1 -1
  98. package/public/dist/assets/{settings-B0Sj4sUH.js → settings-DbJpGoaX.js} +1 -1
  99. package/public/dist/assets/settings-SreihUje.js +1 -0
  100. package/public/dist/assets/settings-core-B1Y5Nb4Z.js +1 -0
  101. package/public/dist/assets/settings-core-DobZWIZ7.js +140 -0
  102. package/public/dist/assets/{sidebar-DOR9fTgN.js → sidebar-Cp22g0Gv.js} +3 -3
  103. package/public/dist/assets/skills-DwPIP08e.js +1 -0
  104. package/public/dist/assets/{skills-wt0fkV9Y.js → skills-IGquen_j.js} +1 -1
  105. package/public/dist/assets/slash-commands-BBVfwcnW.js +1 -0
  106. package/public/dist/assets/{slash-commands-BZbqTg3v.js → slash-commands-ZRDOL99E.js} +1 -1
  107. package/public/dist/assets/{trace-drawer-kMYzaVFW.js → trace-drawer-D8To8fYt.js} +1 -1
  108. package/public/dist/assets/ui-CAicpUZc.js +1 -0
  109. package/public/dist/assets/{ui-D4D5HUfo.js → ui-Hx_mNoDf.js} +1 -1
  110. package/public/dist/assets/{wiki-link-resolver-BfNXN9px.js → wiki-link-resolver-DyFzBTIQ.js} +1 -1
  111. package/public/dist/index.html +90 -47
  112. package/public/dist/manager/index.html +1 -1
  113. package/public/index.html +88 -45
  114. package/public/js/constants.ts +50 -0
  115. package/public/js/features/channel-onboarding-flow.ts +197 -0
  116. package/public/js/features/channel-onboarding.ts +322 -0
  117. package/public/js/features/channel-setup-guide.ts +26 -0
  118. package/public/js/features/channel-setup-rules.ts +32 -0
  119. package/public/js/features/notifications.ts +38 -0
  120. package/public/js/features/settings-channel.ts +4 -0
  121. package/public/js/features/settings-core.ts +73 -9
  122. package/public/js/features/settings-discord.ts +2 -0
  123. package/public/js/features/settings-slack.ts +60 -2
  124. package/public/js/features/settings-telegram.ts +2 -0
  125. package/public/js/features/settings-types.ts +1 -1
  126. package/public/js/features/settings.ts +1 -1
  127. package/public/js/features/transport-status-row.ts +7 -3
  128. package/public/js/main.ts +5 -1
  129. package/public/locales/en.json +65 -3
  130. package/public/locales/ja.json +76 -3
  131. package/public/locales/ko.json +65 -3
  132. package/public/locales/zh.json +76 -3
  133. package/public/manager/src/SidebarRailRouter.tsx +9 -3
  134. package/public/manager/src/browser-panel/use-embedded-target-sync.ts +19 -1
  135. package/public/manager/src/code/CodeCanvas.tsx +14 -2
  136. package/public/manager/src/code/CodeTranscript.tsx +33 -9
  137. package/public/manager/src/code/CodeWorkbench.tsx +1 -1
  138. package/public/manager/src/code/code-event-dedupe.ts +27 -3
  139. package/public/manager/src/code/use-code-transcript-scroll.ts +28 -3
  140. package/public/manager/src/code/use-throttled-markdown.ts +75 -0
  141. package/public/manager/src/code/useCodeTranscriptVirtualRows.ts +19 -0
  142. package/public/manager/src/electron-metrics.tsx +7 -0
  143. package/public/manager/src/jaw-ceo/useJawCeo.ts +6 -1
  144. package/public/manager/src/jaw-ceo/useJawCeoVirtualTimeline.ts +5 -0
  145. package/public/manager/src/lib/bounded-set.ts +15 -0
  146. package/public/manager/src/lib/fnv1a.ts +14 -0
  147. package/public/manager/src/notes/rendering/CodeBlock.tsx +13 -4
  148. package/public/manager/src/notes/rendering/MarkdownRenderer.tsx +14 -2
  149. package/public/manager/src/notes/rendering/highlight-cache.ts +111 -0
  150. package/public/manager/src/notes/useNotesExternalSync.ts +6 -1
  151. package/public/manager/src/settings/pages/Agent.tsx +25 -4
  152. package/public/manager/src/settings/pages/components/PerCliRow.tsx +13 -5
  153. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +98 -0
  154. package/scripts/bundle-sidecar.sh +8 -0
  155. package/scripts/check-electron-no-native.cjs +90 -4
  156. package/scripts/check-native-load.cjs +157 -0
  157. package/scripts/check-sidecar-smoke.mjs +151 -0
  158. package/scripts/ensure-native-modules.cjs +222 -18
  159. package/scripts/release-gates.mjs +29 -0
  160. package/public/dist/assets/Agent-BgkP4EnS.js +0 -1
  161. package/public/dist/assets/CodeCanvas-BZo3dohZ.js +0 -3
  162. package/public/dist/assets/MarkdownRenderer-CHacL2M_.js +0 -15
  163. package/public/dist/assets/MarkdownRenderer-DyrB9FbZ.js +0 -1
  164. package/public/dist/assets/ModelProvider-CgUvs6pE.js +0 -1
  165. package/public/dist/assets/app-BGIAy4he.js +0 -55
  166. package/public/dist/assets/bgtask-badge-GRSiNILQ.js +0 -1
  167. package/public/dist/assets/iframe-renderer-BUSk0Rw9.js +0 -1
  168. package/public/dist/assets/manager-B-gpf-3j.js +0 -13
  169. package/public/dist/assets/memory-CX6YahTc.js +0 -1
  170. package/public/dist/assets/message-history-Det7u76S.js +0 -1
  171. package/public/dist/assets/settings-C7NutP6X.js +0 -1
  172. package/public/dist/assets/settings-core-CyX-px6_.js +0 -100
  173. package/public/dist/assets/settings-core-DVpFmrhY.js +0 -1
  174. package/public/dist/assets/skills-BWhKreQ2.js +0 -1
  175. package/public/dist/assets/slash-commands-Di4NDA4w.js +0 -1
  176. package/public/dist/assets/ui-BghexWrB.js +0 -1
@@ -1,15 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-render-Bjnw0wQ6.css"])))=>i.map(i=>d[i]);
2
- import{n as e,r as t,t as n}from"./rolldown-runtime-XQCOJYun.js";import{A as r}from"./vendor-render-DCb9B75Q.js";import{t as i}from"./preload-helper-DFYRRz9w.js";import{i as a,n as o,o as s,r as c,t as l}from"./mermaid-preprocess-0hqEN7sn.js";import{n as u,t as d}from"./jsx-runtime-gFMgZ0TQ.js";import{t as f}from"./copy-text-BDs2wKjA.js";import{A as p,C as m,D as ee,E as h,S as te,T as ne,a as g,b as _,c as v,d as y,f as re,i as ie,k as b,l as ae,n as oe,o as se,p as ce,r as le,s as ue,t as de,u as fe,w as pe,x as me,y as he}from"./wiki-link-resolver-BfNXN9px.js";function ge(e){let t=[],n=String(e||``),r=n.indexOf(`,`),i=0,a=!1;for(;!a;){r===-1&&(r=n.length,a=!0);let e=n.slice(i,r).trim();(e||!a)&&t.push(e),i=r+1,r=n.indexOf(`,`,i)}return t}function _e(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var ve=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,ye=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,be={};function xe(e,t){return((t||be).jsx?ye:ve).test(e)}var Se=/[ \t\n\f\r]/g;function Ce(e){return typeof e==`object`?e.type===`text`?we(e.value):!1:we(e)}function we(e){return e.replace(Se,``)===``}var x=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};x.prototype.normal={},x.prototype.property={},x.prototype.space=void 0;function Te(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new x(n,r,t)}function S(e){return e.toLowerCase()}var C=class{constructor(e,t){this.attribute=t,this.property=e}};C.prototype.attribute=``,C.prototype.booleanish=!1,C.prototype.boolean=!1,C.prototype.commaOrSpaceSeparated=!1,C.prototype.commaSeparated=!1,C.prototype.defined=!1,C.prototype.mustUseProperty=!1,C.prototype.number=!1,C.prototype.overloadedBoolean=!1,C.prototype.property=``,C.prototype.spaceSeparated=!1,C.prototype.space=void 0;var w=e({boolean:()=>T,booleanish:()=>E,commaOrSpaceSeparated:()=>A,commaSeparated:()=>k,number:()=>D,overloadedBoolean:()=>De,spaceSeparated:()=>O}),Ee=0,T=j(),E=j(),De=j(),D=j(),O=j(),k=j(),A=j();function j(){return 2**++Ee}var Oe=Object.keys(w),M=class extends C{constructor(e,t,n,r){let i=-1;if(super(e,t),ke(this,`space`,r),typeof n==`number`)for(;++i<Oe.length;){let e=Oe[i];ke(this,Oe[i],(n&w[e])===w[e])}}};M.prototype.defined=!0;function ke(e,t,n){n&&(e[t]=n)}function N(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new M(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[S(r)]=r,n[S(a.attribute)]=r}return new x(t,n,e.space)}var Ae=N({properties:{ariaActiveDescendant:null,ariaAtomic:E,ariaAutoComplete:null,ariaBusy:E,ariaChecked:E,ariaColCount:D,ariaColIndex:D,ariaColSpan:D,ariaControls:O,ariaCurrent:null,ariaDescribedBy:O,ariaDetails:null,ariaDisabled:E,ariaDropEffect:O,ariaErrorMessage:null,ariaExpanded:E,ariaFlowTo:O,ariaGrabbed:E,ariaHasPopup:null,ariaHidden:E,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:O,ariaLevel:D,ariaLive:null,ariaModal:E,ariaMultiLine:E,ariaMultiSelectable:E,ariaOrientation:null,ariaOwns:O,ariaPlaceholder:null,ariaPosInSet:D,ariaPressed:E,ariaReadOnly:E,ariaRelevant:null,ariaRequired:E,ariaRoleDescription:O,ariaRowCount:D,ariaRowIndex:D,ariaRowSpan:D,ariaSelected:E,ariaSetSize:D,ariaSort:null,ariaValueMax:D,ariaValueMin:D,ariaValueNow:D,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function je(e,t){return t in e?e[t]:t}function Me(e,t){return je(e,t.toLowerCase())}var Ne=N({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:k,acceptCharset:O,accessKey:O,action:null,allow:null,allowFullScreen:T,allowPaymentRequest:T,allowUserMedia:T,alt:null,as:null,async:T,autoCapitalize:null,autoComplete:O,autoFocus:T,autoPlay:T,blocking:O,capture:null,charSet:null,checked:T,cite:null,className:O,cols:D,colSpan:null,content:null,contentEditable:E,controls:T,controlsList:O,coords:D|k,crossOrigin:null,data:null,dateTime:null,decoding:null,default:T,defer:T,dir:null,dirName:null,disabled:T,download:De,draggable:E,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:T,formTarget:null,headers:O,height:D,hidden:De,high:D,href:null,hrefLang:null,htmlFor:O,httpEquiv:O,id:null,imageSizes:null,imageSrcSet:null,inert:T,inputMode:null,integrity:null,is:null,isMap:T,itemId:null,itemProp:O,itemRef:O,itemScope:T,itemType:O,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:T,low:D,manifest:null,max:null,maxLength:D,media:null,method:null,min:null,minLength:D,multiple:T,muted:T,name:null,nonce:null,noModule:T,noValidate:T,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:T,optimum:D,pattern:null,ping:O,placeholder:null,playsInline:T,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:T,referrerPolicy:null,rel:O,required:T,reversed:T,rows:D,rowSpan:D,sandbox:O,scope:null,scoped:T,seamless:T,selected:T,shadowRootClonable:T,shadowRootDelegatesFocus:T,shadowRootMode:null,shape:null,size:D,sizes:null,slot:null,span:D,spellCheck:E,src:null,srcDoc:null,srcLang:null,srcSet:null,start:D,step:null,style:null,tabIndex:D,target:null,title:null,translate:null,type:null,typeMustMatch:T,useMap:null,value:E,width:D,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:O,axis:null,background:null,bgColor:null,border:D,borderColor:null,bottomMargin:D,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:T,declare:T,event:null,face:null,frame:null,frameBorder:null,hSpace:D,leftMargin:D,link:null,longDesc:null,lowSrc:null,marginHeight:D,marginWidth:D,noResize:T,noHref:T,noShade:T,noWrap:T,object:null,profile:null,prompt:null,rev:null,rightMargin:D,rules:null,scheme:null,scrolling:E,standby:null,summary:null,text:null,topMargin:D,valueType:null,version:null,vAlign:null,vLink:null,vSpace:D,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:T,disableRemotePlayback:T,prefix:null,property:null,results:D,security:null,unselectable:null},space:`html`,transform:Me}),Pe=N({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:A,accentHeight:D,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:D,amplitude:D,arabicForm:null,ascent:D,attributeName:null,attributeType:null,azimuth:D,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:D,by:null,calcMode:null,capHeight:D,className:O,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:D,diffuseConstant:D,direction:null,display:null,dur:null,divisor:D,dominantBaseline:null,download:T,dx:null,dy:null,edgeMode:null,editable:null,elevation:D,enableBackground:null,end:null,event:null,exponent:D,externalResourcesRequired:null,fill:null,fillOpacity:D,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:k,g2:k,glyphName:k,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:D,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:D,horizOriginX:D,horizOriginY:D,id:null,ideographic:D,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:D,k:D,k1:D,k2:D,k3:D,k4:D,kernelMatrix:A,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:D,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:D,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:D,overlineThickness:D,paintOrder:null,panose1:null,path:null,pathLength:D,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:O,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:D,pointsAtY:D,pointsAtZ:D,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:A,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:A,rev:A,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:A,requiredFeatures:A,requiredFonts:A,requiredFormats:A,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:D,specularExponent:D,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:D,strikethroughThickness:D,string:null,stroke:null,strokeDashArray:A,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:D,strokeOpacity:D,strokeWidth:null,style:null,surfaceScale:D,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:A,tabIndex:D,tableValues:null,target:null,targetX:D,targetY:D,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:A,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:D,underlineThickness:D,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:D,values:null,vAlphabetic:D,vMathematical:D,vectorEffect:null,vHanging:D,vIdeographic:D,version:null,vertAdvY:D,vertOriginX:D,vertOriginY:D,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:D,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:je}),Fe=N({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),Ie=N({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:Me}),Le=N({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),Re={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},ze=/[A-Z]/g,Be=/-[a-z]/g,Ve=/^data[-\w.:]+$/i;function He(e,t){let n=S(t),r=t,i=C;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&Ve.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(Be,We);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!Be.test(e)){let n=e.replace(ze,Ue);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=M}return new i(r,t)}function Ue(e){return`-`+e.toLowerCase()}function We(e){return e.charAt(1).toUpperCase()}var Ge=Te([Ae,Ne,Fe,Ie,Le],`html`),P=Te([Ae,Pe,Fe,Ie,Le],`svg`);function Ke(e){let t=String(e||``).trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function qe(e){return e.join(` `).trim()}var Je=n(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=`
3
- `,d=`/`,f=`*`,p=``,m=`comment`,ee=`declaration`;function h(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,h=1;function ne(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(u);h=~n?e.length-n:h+e.length}function g(){var e={line:l,column:h};return function(t){return t.position=new _(e),re(),t}}function _(e){this.start=e,this.end={line:l,column:h},this.source=t.source}_.prototype.content=e;function v(n){var r=Error(t.source+`:`+l+`:`+h+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=h,r.source=e,!t.silent)throw r}function y(t){var n=t.exec(e);if(n){var r=n[0];return ne(r),e=e.slice(r.length),n}}function re(){y(i)}function ie(e){var t;for(e||=[];t=b();)t!==!1&&e.push(t);return e}function b(){var t=g();if(!(d!=e.charAt(0)||f!=e.charAt(1))){for(var n=2;p!=e.charAt(n)&&(f!=e.charAt(n)||d!=e.charAt(n+1));)++n;if(n+=2,p===e.charAt(n-1))return v(`End of comment missing`);var r=e.slice(2,n-2);return h+=2,ne(r),e=e.slice(n),h+=2,t({type:m,comment:r})}}function ae(){var e=g(),t=y(a);if(t){if(b(),!y(o))return v(`property missing ':'`);var r=y(s),i=e({type:ee,property:te(t[0].replace(n,p)),value:r?te(r[0].replace(n,p)):p});return y(c),i}}function oe(){var e=[];ie(e);for(var t;t=ae();)t!==!1&&(e.push(t),ie(e));return e}return re(),oe()}function te(e){return e?e.replace(l,p):p}t.exports=h})),Ye=n((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,`__esModule`,{value:!0}),e.default=r;var n=t(Je());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),Xe=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),Ze=n(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(Ye()),r=Xe();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),Qe=$e(`end`),F=$e(`start`);function $e(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function et(e){let t=F(e),n=Qe(e);if(t&&n)return{start:t,end:n}}var tt=t(Ze(),1),I={}.hasOwnProperty,nt=new Map,rt=/[A-Z]/g,it=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),at=new Set([`td`,`th`]),ot=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function st(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=_t(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=gt(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?P:Ge,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=ct(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function ct(e,t,n){if(t.type===`element`)return lt(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return ut(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return ft(e,t,n);if(t.type===`mdxjsEsm`)return dt(e,t);if(t.type===`root`)return pt(e,t,n);if(t.type===`text`)return mt(e,t)}function lt(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=P,e.schema=i),e.ancestors.push(t);let a=St(e,t.tagName,!1),o=vt(e,t),s=R(e,t);return it.has(t.tagName)&&(s=s.filter(function(e){return typeof e==`string`?!Ce(e):!0})),ht(e,o,a,t),L(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function ut(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}z(e,t.position)}function dt(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);z(e,t.position)}function ft(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=P,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:St(e,t.name,!0),o=yt(e,t),s=R(e,t);return ht(e,o,a,t),L(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function pt(e,t,n){let r={};return L(r,R(e,t)),e.create(t,e.Fragment,r,n)}function mt(e,t){return t.value}function ht(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function L(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function gt(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function _t(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=F(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function vt(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&I.call(t.properties,i)){let a=bt(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&at.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function yt(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else z(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else z(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function R(e,t){let n=[],r=-1,i=e.passKeys?new Map:nt;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=ct(e,a,o);s!==void 0&&n.push(s)}return n}function bt(e,t,n){let r=He(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?_e(n):qe(n)),r.property===`style`){let t=typeof n==`object`?n:xt(e,String(n));return e.stylePropertyNameCase===`css`&&(t=Ct(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?Re[r.property]||r.property:r.attribute,n]}}function xt(e,t){try{return(0,tt.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new p("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=ot+`#cannot-parse-style-attribute`,r}}function St(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=xe(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}r=i}else r=xe(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return I.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);z(e)}function z(e,t){let n=new p("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=ot+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function Ct(e){let t={},n;for(n in e)I.call(e,n)&&(t[wt(n)]=e[n]);return t}function wt(e){let t=e.replace(rt,Tt);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function Tt(e){return`-`+e.toLowerCase()}var B={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]};function V(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&b(e.charCodeAt(n+1))&&b(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function Et(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Dt(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`
4
- `}]}function Ot(e,t){let n=t.value?t.value+`
5
- `:``,r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function kt(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function At(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function jt(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=V(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function Mt(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Nt(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Pt(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function Ft(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Pt(e,t);let i={src:V(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function It(e,t){let n={src:V(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Lt(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function Rt(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Pt(e,t);let i={href:V(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function zt(e,t){let n={href:V(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Bt(e,t,n){let r=e.all(t),i=n?Vt(n):Ht(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s<r.length;){let e=r[s];(i||s!==0||e.type!==`element`||e.tagName!==`p`)&&o.push({type:`text`,value:`
6
- `}),e.type===`element`&&e.tagName===`p`&&!i?o.push(...e.children):o.push(e)}let c=r[r.length-1];c&&(i||c.type!==`element`||c.tagName!==`p`)&&o.push({type:`text`,value:`
7
- `});let l={type:`element`,tagName:`li`,properties:a,children:o};return e.patch(t,l),e.applyData(t,l)}function Vt(e){let t=!1;if(e.type===`list`){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=Ht(n[r])}return t}function Ht(e){return e.spread??e.children.length>1}function Ut(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i<r.length;){let e=r[i];if(e.type===`element`&&e.tagName===`li`&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(`task-list-item`)){n.className=[`contains-task-list`];break}}let a={type:`element`,tagName:t.ordered?`ol`:`ul`,properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function Wt(e,t){let n={type:`element`,tagName:`p`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Gt(e,t){let n={type:`root`,children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function Kt(e,t){let n={type:`element`,tagName:`strong`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function qt(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let n={type:`element`,tagName:`thead`,properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),i.push(n)}if(n.length>0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=F(t.children[1]),o=Qe(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function Jt(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s<o;){let n=t.children[s],r={},o=a?a[s]:void 0;o&&(r.align=o);let l={type:`element`,tagName:i,properties:r,children:[]};n&&(l.children=e.all(n),e.patch(n,l),l=e.applyData(n,l)),c.push(l)}let l={type:`element`,tagName:`tr`,properties:{},children:e.wrap(c,!0)};return e.patch(t,l),e.applyData(t,l)}function Yt(e,t){let n={type:`element`,tagName:`td`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}var Xt=9,Zt=32;function Qt(e){let t=String(e),n=/\r?\n|\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push($t(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push($t(t.slice(i),i>0,!1)),a.join(``)}function $t(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===Xt||t===Zt;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===Xt||t===Zt;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function en(e,t){let n={type:`text`,value:Qt(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function tn(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var nn={blockquote:Et,break:Dt,code:Ot,delete:kt,emphasis:At,footnoteReference:jt,heading:Mt,html:Nt,imageReference:Ft,image:It,inlineCode:Lt,linkReference:Rt,link:zt,listItem:Bt,list:Ut,paragraph:Wt,root:Gt,strong:Kt,table:qt,tableCell:Yt,tableRow:Jt,text:en,thematicBreak:tn,toml:H,yaml:H,definition:H,footnoteDefinition:H};function H(){}var rn=typeof self==`object`?self:globalThis,an=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new rn[e](t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new rn[a](o),i)};return r},on=e=>an(new Map,e)(0),U=``,{toString:sn}={},{keys:cn}=Object,W=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=sn.call(e).slice(8,-1);switch(n){case`Array`:return[1,U];case`Object`:return[2,U];case`Date`:return[3,U];case`RegExp`:return[4,U];case`Map`:return[5,U];case`Set`:return[6,U];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]},G=([e,t])=>e===0&&(t===`function`||t===`symbol`),ln=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=W(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of cn(r))(e||!G(W(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(G(W(n))||G(W(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!G(W(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},un=(e,{json:t,lossy:n}={})=>{let r=[];return ln(!(t||n),!!t,new Map,r)(e),r},K=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?on(un(e,t)):structuredClone(e):(e,t)=>on(un(e,t));function dn(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function fn(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function pn(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||dn,r=e.options.footnoteBackLabel||fn,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c<e.footnoteOrder.length;){let i=e.footnoteById.get(e.footnoteOrder[c]);if(!i)continue;let a=e.all(i),o=String(i.identifier).toUpperCase(),l=V(o.toLowerCase()),u=0,d=[],f=e.footnoteCounts.get(o);for(;f!==void 0&&++u<=f;){d.length>0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...K(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:`
8
- `},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:`
9
- `}]}}var mn={}.hasOwnProperty,hn={};function gn(e,t){let n=t||hn,r=new Map,i=new Map,a={all:s,applyData:vn,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...nn,...n.handlers},one:o,options:n,patch:_n,wrap:bn};return m(e,function(e){if(e.type===`definition`||e.type===`footnoteDefinition`){let t=e.type===`definition`?r:i,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a;function o(e,t){let n=e.type,r=a.handlers[n];if(mn.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(`children`in e){let{children:t,...n}=e,r=K(n);return r.children=a.all(e),r}return K(e)}return(a.options.unknownHandler||yn)(a,e,t)}function s(e){let t=[];if(`children`in e){let n=e.children,r=-1;for(;++r<n.length;){let i=a.one(n[r],e);if(i){if(r&&n[r-1].type===`break`&&(!Array.isArray(i)&&i.type===`text`&&(i.value=xn(i.value)),!Array.isArray(i)&&i.type===`element`)){let e=i.children[0];e&&e.type===`text`&&(e.value=xn(e.value))}Array.isArray(i)?t.push(...i):t.push(i)}}}return t}}function _n(e,t){e.position&&(t.position=et(e))}function vn(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;typeof t==`string`&&(n.type===`element`?n.tagName=t:n={type:`element`,tagName:t,properties:{},children:`children`in n?n.children:[n]}),n.type===`element`&&i&&Object.assign(n.properties,K(i)),`children`in n&&n.children&&r!=null&&(n.children=r)}return n}function yn(e,t){let n=t.data||{},r=`value`in t&&!(mn.call(n,`hProperties`)||mn.call(n,`hChildren`))?{type:`text`,value:t.value}:{type:`element`,tagName:`div`,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function bn(e,t){let n=[],r=-1;for(t&&n.push({type:`text`,value:`
10
- `});++r<e.length;)r&&n.push({type:`text`,value:`
11
- `}),n.push(e[r]);return t&&e.length>0&&n.push({type:`text`,value:`
12
- `}),n}function xn(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Sn(e,t){let n=gn(e,t),r=n.one(e,void 0),i=pn(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(`children`in a,a.children.push({type:`text`,value:`
13
- `},i)),a}function Cn(e,t){return e&&`run`in e?async function(n,r){let i=Sn(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Sn(n,{file:r,...e||t})}}var q=d(),J=t(u(),1),wn=[],Tn={allowDangerousHtml:!0},En=/^(https?|ircs?|mailto|xmpp)$/i,Dn=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function On(e){let t=kn(e),n=An(e);return jn(t.runSync(t.parse(n),n),e)}function kn(e){let t=e.rehypePlugins||wn,n=e.remarkPlugins||wn,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Tn}:Tn;return me().use(ee).use(n).use(Cn,r).use(t)}function An(e){let t=e.children||``,n=new te;return typeof t==`string`?n.value=t:``+t,n}function jn(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||Mn;for(let e of Dn)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return m(e,l),st(e,{Fragment:q.Fragment,components:i,ignoreInvalidStyle:!0,jsx:q.jsx,jsxs:q.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in B)if(Object.hasOwn(B,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=B[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function Mn(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||En.test(e.slice(0,t))?e:``}var Nn=/[#.]/g;function Pn(e,t){let n=e||``,r={},i=0,a,o;for(;i<n.length;){Nn.lastIndex=i;let e=Nn.exec(n),t=n.slice(i,e?e.index:n.length);t&&(a?a===`#`?r.id=t:Array.isArray(r.className)?r.className.push(t):r.className=[t]:o=t,i+=t.length),e&&(a=e[0],i++)}return{type:`element`,tagName:o||t||`div`,properties:r,children:[]}}function Fn(e,t,n){let r=n?Vn(n):void 0;function i(n,i,...a){let o;if(n==null){o={type:`root`,children:[]};let e=i;a.unshift(e)}else{o=Pn(n,t);let s=o.tagName.toLowerCase(),c=r?r.get(s):void 0;if(o.tagName=c||s,In(i))a.unshift(i);else for(let[t,n]of Object.entries(i))Ln(e,o.properties,t,n)}for(let e of a)Rn(o.children,e);return o.type===`element`&&o.tagName===`template`&&(o.content={type:`root`,children:o.children},o.children=[]),o}return i}function In(e){if(typeof e!=`object`||!e||Array.isArray(e))return!0;if(typeof e.type!=`string`)return!1;let t=e,n=Object.keys(e);for(let e of n){let n=t[e];if(n&&typeof n==`object`){if(!Array.isArray(n))return!0;let e=n;for(let t of e)if(typeof t!=`number`&&typeof t!=`string`)return!0}}return!!(`children`in e&&Array.isArray(e.children))}function Ln(e,t,n,r){let i=He(e,n),a;if(r!=null){if(typeof r==`number`){if(Number.isNaN(r))return;a=r}else a=typeof r==`boolean`?r:typeof r==`string`?i.spaceSeparated?Ke(r):i.commaSeparated?ge(r):i.commaOrSpaceSeparated?Ke(ge(r).join(` `)):zn(i,i.property,r):Array.isArray(r)?[...r]:i.property===`style`?Bn(r):String(r);if(Array.isArray(a)){let e=[];for(let t of a)e.push(zn(i,i.property,t));a=e}i.property===`className`&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function Rn(e,t){if(t!=null)if(typeof t==`number`||typeof t==`string`)e.push({type:`text`,value:String(t)});else if(Array.isArray(t))for(let n of t)Rn(e,n);else if(typeof t==`object`&&`type`in t)t.type===`root`?Rn(e,t.children):e.push(t);else throw Error("Expected node, nodes, or string, got `"+t+"`")}function zn(e,t,n){if(typeof n==`string`){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===``||S(n)===S(t)))return!0}return n}function Bn(e){let t=[];for(let[n,r]of Object.entries(e))t.push([n,r].join(`: `));return t.join(`; `)}function Vn(e){let t=new Map;for(let n of e)t.set(n.toLowerCase(),n);return t}var Hn=`altGlyph.altGlyphDef.altGlyphItem.animateColor.animateMotion.animateTransform.clipPath.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.foreignObject.glyphRef.linearGradient.radialGradient.solidColor.textArea.textPath`.split(`.`),Un=Fn(Ge,`div`),Wn=Fn(P,`g`,Hn),Gn={html:`http://www.w3.org/1999/xhtml`,mathml:`http://www.w3.org/1998/Math/MathML`,svg:`http://www.w3.org/2000/svg`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Kn(e,t){return qn(e,t||{})||{type:`root`,children:[]}}function qn(e,t){let n=Jn(e,t);return n&&t.afterTransform&&t.afterTransform(e,n),n}function Jn(e,t){switch(e.nodeType){case 1:return $n(e,t);case 3:return Zn(e);case 8:return Qn(e);case 9:return Yn(e,t);case 10:return Xn();case 11:return Yn(e,t);default:return}}function Yn(e,t){return{type:`root`,children:er(e,t)}}function Xn(){return{type:`doctype`}}function Zn(e){return{type:`text`,value:e.nodeValue||``}}function Qn(e){return{type:`comment`,value:e.nodeValue||``}}function $n(e,t){let n=e.namespaceURI,r=n===Gn.svg?Wn:Un,i=n===Gn.html?e.tagName.toLowerCase():e.tagName,a=n===Gn.html&&i===`template`?e.content:e,o=e.getAttributeNames(),s={},c=-1;for(;++c<o.length;)s[o[c]]=e.getAttribute(o[c])||``;return r(i,s,er(a,t))}function er(e,t){let n=e.childNodes,r=[],i=-1;for(;++i<n.length;){let e=qn(n[i],t);e!==void 0&&r.push(e)}return r}var tr=new DOMParser;function nr(e,t){return Kn(t?.fragment?rr(e):tr.parseFromString(e,`text/html`))}function rr(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}var ir=(function(e,t,n){let r=h(n);if(!e||!e.type||!e.children)throw Error(`Expected parent node`);if(typeof t==`number`){if(t<0||t===1/0)throw Error(`Expected positive finite number as index`)}else if(t=e.children.indexOf(t),t<0)throw Error(`Expected child node or index`);for(;++t<e.children.length;)if(r(e.children[t],t,e))return e.children[t]}),Y=(function(e){if(e==null)return cr;if(typeof e==`string`)return or(e);if(typeof e==`object`)return ar(e);if(typeof e==`function`)return sr(e);throw Error("Expected function, string, or array as `test`")});function ar(e){let t=[],n=-1;for(;++n<e.length;)t[n]=Y(e[n]);return sr(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}function or(e){return sr(t);function t(t){return t.tagName===e}}function sr(e){return t;function t(t,n,r){return!!(lr(t)&&e.call(this,t,typeof n==`number`?n:void 0,r||void 0))}}function cr(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`element`&&`tagName`in e&&typeof e.tagName==`string`)}function lr(e){return typeof e==`object`&&!!e&&`type`in e&&`tagName`in e}var ur=/\n/g,dr=/[\t ]+/g,fr=Y(`br`),pr=Y(Er),mr=Y(`p`),hr=Y(`tr`),gr=Y([`datalist`,`head`,`noembed`,`noframes`,`noscript`,`rp`,`script`,`style`,`template`,`title`,Tr,Dr]),_r=Y(`address.article.aside.blockquote.body.caption.center.dd.dialog.dir.dl.dt.div.figure.figcaption.footer.form,.h1.h2.h3.h4.h5.h6.header.hgroup.hr.html.legend.li.listing.main.menu.nav.ol.p.plaintext.pre.section.ul.xmp`.split(`.`));function vr(e,t){let n=t||{},r=`children`in e?e.children:[],i=_r(e),a=wr(e,{whitespace:n.whitespace||`normal`,breakBefore:!1,breakAfter:!1}),o=[];(e.type===`text`||e.type===`comment`)&&o.push(...xr(e,{whitespace:a,breakBefore:!0,breakAfter:!0}));let s=-1;for(;++s<r.length;)o.push(...yr(r[s],e,{whitespace:a,breakBefore:s?void 0:i,breakAfter:s<r.length-1?fr(r[s+1]):i}));let c=[],l;for(s=-1;++s<o.length;){let e=o[s];typeof e==`number`?l!==void 0&&e>l&&(l=e):e&&(l!==void 0&&l>-1&&c.push(`
14
- `.repeat(l)||` `),l=-1,c.push(e))}return c.join(``)}function yr(e,t,n){return e.type===`element`?br(e,t,n):e.type===`text`?n.whitespace===`normal`?xr(e,n):Sr(e):[]}function br(e,t,n){let r=wr(e,n),i=e.children||[],a=-1,o=[];if(gr(e))return o;let s,c;for(fr(e)||hr(e)&&ir(t,e,hr)?c=`
15
- `:mr(e)?(s=2,c=2):_r(e)&&(s=1,c=1);++a<i.length;)o=o.concat(yr(i[a],e,{whitespace:r,breakBefore:a?void 0:s,breakAfter:a<i.length-1?fr(i[a+1]):c}));return pr(e)&&ir(t,e,pr)&&o.push(` `),s&&o.unshift(s),c&&o.push(c),o}function xr(e,t){let n=String(e.value),r=[],i=[],a=0;for(;a<=n.length;){ur.lastIndex=a;let e=ur.exec(n),i=e&&`index`in e?e.index:n.length;r.push(Cr(n.slice(a,i).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,``),a===0?t.breakBefore:!0,i===n.length?t.breakAfter:!0)),a=i+1}let o=-1,s;for(;++o<r.length;)r[o].charCodeAt(r[o].length-1)===8203||o<r.length-1&&r[o+1].charCodeAt(0)===8203?(i.push(r[o]),s=void 0):r[o]?(typeof s==`number`&&i.push(s),i.push(r[o]),s=0):(o===0||o===r.length-1)&&i.push(0);return i}function Sr(e){return[String(e.value)]}function Cr(e,t,n){let r=[],i=0,a;for(;i<e.length;){dr.lastIndex=i;let n=dr.exec(e);a=n?n.index:e.length,!i&&!a&&n&&!t&&r.push(``),i!==a&&r.push(e.slice(i,a)),i=n?a+n[0].length:a}return i!==a&&!n&&r.push(``),r.join(` `)}function wr(e,t){if(e.type===`element`){let n=e.properties||{};switch(e.tagName){case`listing`:case`plaintext`:case`xmp`:return`pre`;case`nobr`:return`nowrap`;case`pre`:return n.wrap?`pre-wrap`:`pre`;case`td`:case`th`:return n.noWrap?`nowrap`:t.whitespace;case`textarea`:return`pre-wrap`;default:}}return t.whitespace}function Tr(e){return!!(e.properties||{}).hidden}function Er(e){return e.tagName===`td`||e.tagName===`th`}function Dr(e){return e.tagName===`dialog`&&!(e.properties||{}).open}var Or={},kr=[];function Ar(e){let t=e||Or;return function(e,n){ne(e,`element`,function(e,i){let a=Array.isArray(e.properties.className)?e.properties.className:kr,o=a.includes(`language-math`),s=a.includes(`math-display`),c=a.includes(`math-inline`),l=s;if(!o&&!s&&!c)return;let u=i[i.length-1],d=e;if(e.tagName===`code`&&o&&u&&u.type===`element`&&u.tagName===`pre`&&(d=u,u=i[i.length-2],l=!0),!u)return;let f=vr(d,{whitespace:`pre`}),p;try{p=r.renderToString(f,{...t,displayMode:l,throwOnError:!0})}catch(a){let o=a,s=o.name.toLowerCase();n.message(`Could not render math with KaTeX`,{ancestors:[...i,e],cause:o,place:e.position,ruleId:s,source:`rehype-katex`});try{p=r.renderToString(f,{...t,displayMode:l,strict:`ignore`,throwOnError:!1})}catch{p=[{type:`element`,tagName:`span`,properties:{className:[`katex-error`],style:`color:`+(t.errorColor||`#cc0000`),title:String(a)},children:[{type:`text`,value:f}]}]}}typeof p==`string`&&(p=nr(p,{fragment:!0}).children);let m=u.children.indexOf(d);return u.children.splice(m,1,...p),pe})}}var X={}.hasOwnProperty;function jr(e,t){let n={type:`root`,children:[]},r=Mr({schema:t?{..._,...t}:_,stack:[]},e);return r&&(Array.isArray(r)?r.length===1?n=r[0]:n.children=r:n=r),n}function Mr(e,t){if(t&&typeof t==`object`){let n=t;switch(typeof n.type==`string`?n.type:``){case`comment`:return Nr(e,n);case`doctype`:return Pr(e,n);case`element`:return Fr(e,n);case`root`:return Ir(e,n);case`text`:return Lr(e,n);default:}}}function Nr(e,t){if(e.schema.allowComments){let e=typeof t.value==`string`?t.value:``,n=e.indexOf(`-->`),r={type:`comment`,value:n<0?e:e.slice(0,n)};return Z(r,t),r}}function Pr(e,t){if(e.schema.allowDoctypes){let e={type:`doctype`};return Z(e,t),e}}function Fr(e,t){let n=typeof t.tagName==`string`?t.tagName:``;e.stack.push(n);let r=Rr(e,t.children),i=zr(e,t.properties);e.stack.pop();let a=!1;if(n&&n!==`*`&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(a=!0,e.schema.ancestors&&X.call(e.schema.ancestors,n))){let t=e.schema.ancestors[n],r=-1;for(a=!1;++r<t.length;)e.stack.includes(t[r])&&(a=!0)}if(!a)return e.schema.strip&&!e.schema.strip.includes(n)?r:void 0;let o={type:`element`,tagName:n,properties:i,children:r};return Z(o,t),o}function Ir(e,t){let n={type:`root`,children:Rr(e,t.children)};return Z(n,t),n}function Lr(e,t){let n={type:`text`,value:typeof t.value==`string`?t.value:``};return Z(n,t),n}function Rr(e,t){let n=[];if(Array.isArray(t)){let r=t,i=-1;for(;++i<r.length;){let t=Mr(e,r[i]);t&&(Array.isArray(t)?n.push(...t):n.push(t))}}return n}function zr(e,t){let n=e.stack[e.stack.length-1],r=e.schema.attributes,i=e.schema.required,a=r&&X.call(r,n)?r[n]:void 0,o=r&&X.call(r,`*`)?r[`*`]:void 0,s=t&&typeof t==`object`?t:{},c={},l;for(l in s)if(X.call(s,l)){let t=s[l],n=Br(e,Wr(a,l),l,t);n??=Br(e,Wr(o,l),l,t),n!=null&&(c[l]=n)}if(i&&X.call(i,n)){let e=i[n];for(l in e)X.call(e,l)&&!X.call(c,l)&&(c[l]=e[l])}return c}function Br(e,t,n,r){return t?Array.isArray(r)?Vr(e,t,n,r):Hr(e,t,n,r):void 0}function Vr(e,t,n,r){let i=-1,a=[];for(;++i<r.length;){let o=Hr(e,t,n,r[i]);(typeof o==`number`||typeof o==`string`)&&a.push(o)}return a}function Hr(e,t,n,r){if(!(typeof r!=`boolean`&&typeof r!=`number`&&typeof r!=`string`)&&Ur(e,n,r)){if(typeof t==`object`&&t.length>1){let e=!1,n=0;for(;++n<t.length;){let i=t[n];if(i&&typeof i==`object`&&`flags`in i){if(i.test(String(r))){e=!0;break}}else if(i===r){e=!0;break}}if(!e)return}return e.schema.clobber&&e.schema.clobberPrefix&&e.schema.clobber.includes(n)?e.schema.clobberPrefix+r:r}}function Ur(e,t,n){let r=e.schema.protocols&&X.call(e.schema.protocols,t)?e.schema.protocols[t]:void 0;if(!r||r.length===0)return!0;let i=String(n),a=i.indexOf(`:`),o=i.indexOf(`?`),s=i.indexOf(`#`),c=i.indexOf(`/`);if(a<0||c>-1&&a>c||o>-1&&a>o||s>-1&&a>s)return!0;let l=-1;for(;++l<r.length;){let e=r[l];if(a===e.length&&i.slice(0,e.length)===e)return!0}return!1}function Z(e,t){let n=et(t);t.data&&(e.data=K(t.data)),n&&(e.position=n)}function Wr(e,t){let n,r=-1;if(e)for(;++r<e.length;){let i=e[r],a=typeof i==`string`?i:i[0];if(a===t)return i;a===`data*`&&(n=i)}if(t.length>4&&t.slice(0,4).toLowerCase()===`data`)return n}function Gr(e){return function(t){return jr(t,e)}}function Kr(e){he(e,[/\r?\n|\r/g,qr])}function qr(){return{type:`break`}}function Jr(){return function(e){Kr(e)}}function Yr(e){let[t,n]=(0,J.useState)(!1),r=y(e.code,e.language),i=r.language||`text`;async function a(){let t=await f(e.code);if(t.ok){n(!0),window.setTimeout(()=>n(!1),1200);return}console.error(`[notes:code-copy]`,t.error)}return(0,q.jsxs)(`div`,{className:`notes-code-block`,children:[(0,q.jsx)(`div`,{className:`notes-code-header`,children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>void a(),children:t?`Copied`:i})}),(0,q.jsx)(`pre`,{children:(0,q.jsx)(`code`,{className:`hljs language-${i}`,"data-highlighted":r.highlighted?`yes`:`no`,dangerouslySetInnerHTML:{__html:r.html}})})]})}var Xr=100,Zr=null,Q=new Map;async function Qr(){return Zr||=(await i(()=>import(`./mermaid.core-TSG49mwm.js`),__vite__mapDeps([0]))).default,Zr.initialize(c()),Zr}function $r(){return document.documentElement.getAttribute(`data-theme`)??`default`}function ei(e,t){if(Q.set(e,t),Q.size<=Xr)return;let n=Q.keys().next().value;n&&Q.delete(n)}function ti(e){let t=(0,J.useId)().replace(/[^a-zA-Z0-9_-]/g,``),n=(0,J.useMemo)(()=>l(e.code),[e.code]),r=$r(),i=(0,J.useMemo)(()=>`${r}\n${n}`,[n,r]),[c,u]=(0,J.useState)(()=>Q.get(i)??{status:`loading`,sourceKey:i});return(0,J.useEffect)(()=>{let e=!1,r=Q.get(i);if(r)return u(r),()=>{e=!0};async function c(){u(e=>e.status===`ready`&&e.sourceKey===i?e:{status:`loading`,sourceKey:i});try{let r=await Qr(),c=`notes-mermaid-${t}`,l;try{({svg:l}=await r.render(c,n))}catch(e){let t=o(n);if(!t)throw e;({svg:l}=await r.render(`${c}-retry`,t))}if(!e){let e={status:`ready`,sourceKey:i,svg:s(l),wide:a(n)};ei(i,e),u(e)}}catch(t){e||u({status:`error`,sourceKey:i,message:t instanceof Error?t.message:`Mermaid render failed`})}}return c(),()=>{e=!0}},[n,t,i]),c.status===`ready`?(0,q.jsx)(`div`,{className:`notes-mermaid-block is-ready${c.wide?` mermaid-type-wide`:``}`,dangerouslySetInnerHTML:{__html:c.svg}}):c.status===`error`?(0,q.jsxs)(`div`,{className:`notes-mermaid-block is-error`,children:[(0,q.jsx)(`strong`,{children:`Mermaid render failed`}),(0,q.jsx)(`span`,{children:c.message}),(0,q.jsx)(`pre`,{children:(0,q.jsx)(`code`,{children:e.code})})]}):(0,q.jsx)(`div`,{className:`notes-mermaid-block is-loading`,role:`status`,"aria-label":`Diagram loading`,children:`Rendering diagram...`})}function ni(e){return oe(e)}function ri(e,t,n){if(!e)return[e];let r=!!t.notes?.length;if(t.lookup.size===0&&!r)return[e];de.lastIndex=0;let i=[],a=0,o=0,s;for(;(s=de.exec(e))!==null;){let r=s.index,c=r+s[0].length;if(le(e,r))continue;let l=t.lookup.get(s[0])??ie(s[0],t.outgoing,t.notes,r);if(!l)continue;r>a&&i.push(e.slice(a,r));let u=g(l,s[0]),d=`${n}-wl-${o++}`;if(l.status===`resolved`&&l.resolvedPath){let e=l.resolvedPath;i.push((0,J.createElement)(`a`,{key:d,className:`notes-wikilink`,href:`#${encodeURIComponent(e)}`,title:e,"data-notes-wiki-status":l.status,onClick:n=>{n.preventDefault(),t.onNavigate(e)}},u))}else{let e=se(l);i.push((0,J.createElement)(`span`,{key:d,className:`notes-wikilink is-broken`,title:e,"data-notes-wiki-status":l.status,"aria-label":`Broken wikilink: ${s[1]}`},u))}a=c}return a===0?[e]:(a<e.length&&i.push(e.slice(a)),i)}function ii(e,t,n){if(t.lookup.size===0&&!t.notes?.length)return e;let r=[],i=0;return J.Children.forEach(e,(e,a)=>{if(typeof e==`string`){let o=ri(e,t,`${n}-${i++}-${a}`);for(let e of o)r.push(e);return}if(typeof e==`number`||typeof e==`boolean`||e==null){r.push(e);return}if((0,J.isValidElement)(e)){r.push(e);return}r.push(e)}),r}var ai=/^---[ \t]*\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n|$)/;function oi(e){let t=ai.exec(e);if(!t)return{frontmatterRaw:null,body:e};let n=t[0];return{frontmatterRaw:n,body:e.slice(n.length)}}function $(e,t){return t?`${e} ${t}`:e}function si(e){let t=0,n=e=>{if(Array.isArray(e)){e.forEach(n);return}(0,J.isValidElement)(e)&&(e.props.node?.tagName===`tr`&&(t=Math.max(t,J.Children.count(e.props.children))),J.Children.forEach(e.props.children,n))};return J.Children.forEach(e,n),Math.max(1,t)}function ci(e){return e<=1?`minmax(0, 1fr)`:e===2?`max-content minmax(16rem, 1fr)`:e===3?`max-content minmax(12rem, .45fr) minmax(18rem, 1fr)`:`max-content repeat(${e-1}, minmax(12rem, 1fr))`}function li(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(li).join(``):(0,J.isValidElement)(e)?li(e.props.children):``}function ui(e){return(0,J.isValidElement)(e)?(e.props.className??``).match(/language-([^\s]+)/)?.[1]??`text`:`text`}var di=e=>{},fi=/(?:~\/[^\s)`\]"'<>]+|\/(?:Users|home|tmp|var|opt|private)\/[^\s)`\]"'<>]+)/g,pi=/[.,!?:;]+$/;function mi(e){return e.startsWith(`~/`)||/^\/(?:Users|home|tmp|var|opt|private)\//.test(e)}function hi(e){let t=e.split(`/`).pop()||e;return/\.\w{1,10}$/.test(t)?t:e}function gi(e,t,n){if(!e||!t)return[e];fi.lastIndex=0;let r=[],i=0,a=0,o;for(;(o=fi.exec(e))!==null;){let s=o[0],c=s.replace(pi,``);if(!mi(c))continue;o.index>i&&r.push(e.slice(i,o.index));let l=s.slice(c.length);r.push((0,J.createElement)(`button`,{key:`${n}-lf-${a++}`,type:`button`,className:`markdown-local-file-link`,title:c,onClick:e=>{e.preventDefault(),t(c)}},hi(c))),l&&r.push(l),i=o.index+s.length}return i===0?[e]:(i<e.length&&r.push(e.slice(i)),r)}function _i(e,t,n){if(!t)return e;let r=[],i=0;return J.Children.forEach(e,(e,a)=>{if(typeof e==`string`){let o=gi(e,t,`${n}-${i++}-${a}`);for(let e of o)r.push(e);return}r.push(e)}),r}function vi(e){let t=(0,J.useMemo)(()=>oi(e.markdown).body,[e.markdown]),n=(0,J.useMemo)(()=>({lookup:ni(e.outgoing),outgoing:e.outgoing,notes:e.notes,onNavigate:e.onWikiLinkNavigate??di}),[e.outgoing,e.notes,e.onWikiLinkNavigate]),r=(t,r)=>_i(ii(t,n,r),e.onLocalFileOpen,r),i=e=>t=>{let{children:n,node:i,className:a,id:o,style:s}=t,c=r(n,e);return(0,J.createElement)(e,{className:a,id:o,style:s},c)},a=e=>t=>{let{children:n,node:i,className:a,style:o,align:s}=t,c=r(n,e);return(0,q.jsx)(`span`,{className:$(`markdown-linear-table-cell markdown-linear-table-${e}`,a),style:o,"data-align":s||void 0,children:c})},o={a:({href:e,children:t,node:n,...r})=>{let i=typeof e==`string`&&ue(e)?e:void 0,a=!!(i&&/^https?:\/\//i.test(i));return(0,q.jsx)(`a`,{...r,href:i,target:a?`_blank`:void 0,rel:a?`noreferrer noopener`:void 0,children:t})},code:({className:e,children:t})=>(0,q.jsx)(`code`,{className:e,children:t}),pre:({children:e})=>{let t=ui(e),n=li(e).replace(/\n$/,``);return t===`mermaid`?(0,q.jsx)(ti,{code:n}):(0,q.jsx)(Yr,{code:n,language:t})},img:({src:e,alt:t,...n})=>{let r=typeof e==`string`?ae(e):``;return r?r.endsWith(`.pdf`)?(0,q.jsx)(`iframe`,{src:r,title:t??`PDF embed`,className:`notes-pdf-embed`}):(0,q.jsx)(`img`,{...n,src:r,alt:t??``,loading:`lazy`}):null},p:i(`p`),li:i(`li`),h1:i(`h1`),h2:i(`h2`),h3:i(`h3`),h4:i(`h4`),h5:i(`h5`),h6:i(`h6`),blockquote:i(`blockquote`),td:i(`td`),th:i(`th`),em:i(`em`),strong:i(`strong`),del:i(`del`)};return e.tableMode===`linear`&&(o.table=({children:e,node:t,className:n,style:r})=>{let i={...r,"--markdown-linear-table-grid":ci(si(e))};return(0,q.jsx)(`div`,{className:$(`markdown-linear-table`,n),style:i,role:`list`,children:e})},o.thead=({children:e,node:t,className:n,style:r})=>(0,q.jsx)(`div`,{className:$(`markdown-linear-table-head`,n),style:r,children:e}),o.tbody=({children:e,node:t,className:n,style:r})=>(0,q.jsx)(`div`,{className:$(`markdown-linear-table-body`,n),style:r,children:e}),o.tr=({children:e,node:t,className:n,style:r})=>(0,q.jsx)(`div`,{className:$(`markdown-linear-table-row`,n),style:r,role:`listitem`,children:e}),o.th=a(`th`),o.td=a(`td`)),(0,q.jsx)(On,{skipHtml:!0,urlTransform:fe,remarkPlugins:[ce,Jr,re],rehypePlugins:[[Gr,v],Ar],components:o,children:t})}export{Yr as n,vi as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./MarkdownRenderer-CHacL2M_.js";export{e as MarkdownRenderer};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-XQCOJYun.js";import{n as t,t as n}from"./jsx-runtime-gFMgZ0TQ.js";import{a as r,i,n as a,r as o,t as s}from"./page-shell-LF7vVVfG.js";import{a as c,i as l,n as u,r as d,s as f}from"./fields-zkeByFQW.js";import{n as p,r as m}from"./agent-meta-C8DqYXM6.js";import{t as h}from"./path-utils-LsJeDCKF.js";var g=e(t(),1),_=n(),v=[`basic`,`openai`,`anthropic`,`vertex`];function y(e){return e===`anthropic`?`https://api.anthropic.com/v1/messages`:e===`vertex`?`https://LOCATION-aiplatform.googleapis.com/v1`:`http://127.0.0.1:18645/v1`}function b({client:e,pi:t,provider:n,model:r,onClose:i,onRegistered:a}){let o=(0,g.useMemo)(()=>t?.profiles?.find(e=>e.id===n)||t?.profiles?.[0],[t,n]),[s,c]=(0,g.useState)(o?.mode||`basic`),[u,d]=(0,g.useState)(o?.id||n||`progrok`),[p,m]=(0,g.useState)(o?.endpoint||y(s)),[h,b]=(0,g.useState)(r||o?.model||`grok-composer-2.5-fast`),[x,S]=(0,g.useState)(``),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(null);(0,g.useEffect)(()=>{m(e=>e||y(s))},[s]);let D=async()=>{w(!0),E(null);try{let t=await e.post(`/api/pi/profiles/register`,{id:u,label:u,mode:s,endpoint:p,model:h,apiKey:x});a({provider:u,model:h,models:t.models||[],pi:t.settings?.pi}),i()}catch(e){E(e instanceof Error?e.message:String(e))}finally{w(!1)}};return(0,_.jsx)(`div`,{className:`settings-memory-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`pi-profile-title`,children:(0,_.jsxs)(`div`,{className:`settings-memory-modal-card`,children:[(0,_.jsxs)(`header`,{className:`settings-memory-modal-header`,children:[(0,_.jsx)(`h3`,{id:`pi-profile-title`,children:`Pi Settings`}),(0,_.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,onClick:i,children:`Close`})]}),(0,_.jsxs)(`div`,{className:`settings-page-form`,children:[(0,_.jsx)(l,{id:`pi-profile-mode`,label:`Mode`,value:s,options:v.map(e=>({value:e,label:e})),onChange:e=>c(e)}),(0,_.jsx)(f,{id:`pi-profile-id`,label:`Provider`,value:u,onChange:d,placeholder:`progrok`}),(0,_.jsx)(f,{id:`pi-profile-endpoint`,label:`Endpoint`,value:p,onChange:m,placeholder:y(s)}),(0,_.jsx)(f,{id:`pi-profile-model`,label:`Model`,value:h,onChange:b,placeholder:`grok-composer-2.5-fast`}),(0,_.jsx)(f,{id:`pi-profile-key`,label:`API Key`,value:x,onChange:S,placeholder:o?.apiKeySet?`set (${o.apiKeyLast4||`****`})`:`empty for local proxy`}),(0,_.jsx)(`p`,{className:`settings-empty`,children:`Default: grok-composer-2.5-fast. Bare grok-composer-2.5 currently has no verified team access.`}),T?(0,_.jsx)(`p`,{className:`settings-field-error`,children:T}):null,(0,_.jsx)(`button`,{type:`button`,className:`settings-action settings-action-save`,disabled:C,onClick:()=>void D(),children:C?`Registering...`:`Register`})]})]})})}function x(e,t,n=``){let r=new Set;n&&r.add(n);for(let n of e?.discoveredModels?.[t]||[])r.add(n);let i=e?.profiles?.find(e=>e.id===t);return i?.model&&r.add(i.model),[...r]}function S(e,t=``){let n=new Set;t&&n.add(t);for(let t of e?.profiles||[])n.add(t.id);return[...n]}function C(e,t,n=!0){return{value:e,original:t,valid:n}}function w({cli:e,meta:t,original:n,value:r,setValue:i,setEntry:a,client:o,pi:s,setPi:u}){let d=`percli-${e}-models`,p=e===`pi`,[m,h]=(0,g.useState)(!1),v=r.provider||t.defaultProvider||t.providers?.[0]||`claude`,y=p?x(s,v,r.model||``):[],w=!p&&(t.providers?.length??0)>0,T=p?y:w?t.modelsByProvider?.[v]??t.models:t.models,E=w?t.effortsByProvider?.[v]??t.efforts:t.efforts;return(0,_.jsxs)(`div`,{className:`settings-percli-row`,"data-cli":e,children:[(0,_.jsx)(`h3`,{className:`settings-percli-title`,children:t.label}),(0,_.jsxs)(`div`,{className:`settings-percli-grid`,children:[p&&S(s,v).length?(0,_.jsx)(l,{id:`percli-${e}-provider`,label:`Provider`,value:v,options:S(s,v).map(e=>({value:e,label:e})),onChange:t=>{let o=x(s,t),c=o.includes(r.model||``)?r.model||``:o[0]||``;i({...r,provider:t,model:c}),a(`perCli.${e}.provider`,C(t,n.provider??`progrok`)),a(`perCli.${e}.model`,C(c,n.model??``))}}):w?(0,_.jsx)(l,{id:`percli-${e}-provider`,label:`Provider`,value:v,options:(t.providers??[]).map(e=>({value:e,label:e})),onChange:o=>{let s=t.modelsByProvider?.[o]??[],c=t.effortsByProvider?.[o]??[],l=s.includes(r.model||``)?r.model||``:s[0]||``,u=c.includes(r.effort||``)&&r.effort||``;i({...r,provider:o,model:l,effort:u}),a(`perCli.${e}.provider`,C(o,n.provider??t.defaultProvider??`claude`)),a(`perCli.${e}.model`,C(l,n.model??``)),a(`perCli.${e}.effort`,C(u,n.effort??``))}}):null,(0,_.jsxs)(`div`,{className:`settings-percli-model`,children:[p&&T.length>0?(0,_.jsx)(l,{id:`percli-${e}-model`,label:`Model`,value:r.model??T[0]??``,options:T.map(e=>({value:e,label:e})),onChange:t=>{i({...r,model:t}),a(`perCli.${e}.model`,C(t,n.model??``))}}):(0,_.jsx)(f,{id:`percli-${e}-model`,label:`Model`,value:r.model??``,onChange:t=>{i({...r,model:t}),a(`perCli.${e}.model`,C(t,n.model??``))},placeholder:T[0]??`model id`}),t.modelNote?(0,_.jsx)(`p`,{className:`settings-percli-note`,children:t.modelNote}):null,T.length>0?(0,_.jsx)(`datalist`,{id:d,children:T.map(e=>(0,_.jsx)(`option`,{value:e},e))}):null]}),E.length>0?(0,_.jsxs)(`div`,{className:`settings-percli-effort`,children:[(0,_.jsx)(l,{id:`percli-${e}-effort`,label:`Effort`,value:r.effort??``,options:[{value:``,label:`(default)`},...E.map(e=>({value:e,label:e}))],onChange:t=>{i({...r,effort:t}),a(`perCli.${e}.effort`,C(t,n.effort??``))}}),t.effortNote?(0,_.jsx)(`p`,{className:`settings-percli-note`,children:t.effortNote}):null]}):t.effortNote?(0,_.jsx)(`p`,{className:`settings-percli-note settings-percli-note--effort`,children:t.effortNote}):null,(0,_.jsx)(c,{id:`percli-${e}-fastmode`,label:`Fast mode`,value:!!r.fastMode,onChange:t=>{i({...r,fastMode:t}),a(`perCli.${e}.fastMode`,C(t,!!n.fastMode))}}),p&&o?(0,_.jsx)(`button`,{type:`button`,className:`settings-action`,onClick:()=>h(!0),children:`Settings`}):null]}),p&&o&&m?(0,_.jsx)(b,{client:o,pi:s,provider:v,model:r.model||`grok-composer-2.5-fast`,onClose:()=>h(!1),onRegistered:({provider:t,model:o,pi:s})=>{s&&u&&u(s),i({...r,provider:t,model:o}),a(`perCli.${e}.provider`,C(t,n.provider??`progrok`)),a(`perCli.${e}.model`,C(o,n.model??``))}}):null]})}function T(e){return[...e].sort((e,t)=>e===`pi`?-1:t===`pi`?1:e===`ai-e`?t===`pi`?1:-1:t===`ai-e`?e===`pi`?-1:1:0)}function E(e){let t=new Set;for(let n of Object.keys(e.activeOverrides||{}))t.add(n);for(let n of Object.keys(e.perCli||{}))t.add(n);let n={};for(let e of t)n[e]={model:``,effort:``};return{activeOverrides:n}}function D({port:e,client:t,dirty:n,registerSave:c}){let{state:l,refresh:f,setData:v}=r(t,`/api/settings`),[y,b]=(0,g.useState)({}),[x,S]=(0,g.useState)(void 0),[C,D]=(0,g.useState)([]),[O,k]=(0,g.useState)({}),[A,j]=(0,g.useState)(!1),[M,N]=(0,g.useState)(null),[P,F]=(0,g.useState)(null),I=(0,g.useCallback)(async()=>{try{let e=await t.get(`/api/cli-registry`);F(m(e&&typeof e==`object`&&`data`in e?e.data:e))}catch{F(null)}},[t]);(0,g.useEffect)(()=>{I()},[I]),(0,g.useEffect)(()=>{if(l.kind!==`ready`)return;b({...l.data.perCli||{}}),S(l.data.pi),D([...l.data.fallbackOrder||[]]);let e=l.data.perCli?.codex||{},t={};typeof e.contextWindowSize==`number`&&(t.contextWindowSize=e.contextWindowSize),typeof e.contextWindowCompactLimit==`number`&&(t.contextWindowCompactLimit=e.contextWindowCompactLimit),k(t)},[l]),(0,g.useEffect)(()=>()=>{for(let e of Array.from(n.pending.keys()))(e===`fallbackOrder`||e.startsWith(`perCli.`))&&n.remove(e)},[n]);let L=(0,g.useCallback)((e,t)=>n.set(e,t),[n]),R=(0,g.useCallback)(async()=>{let e=n.saveBundle();if(Object.keys(e).length===0)return;let r=h(e),i=await t.put(`/api/settings`,r),a=i&&typeof i==`object`&&`data`in i?i.data:i;n.clear(),v(a),b({...a.perCli||{}}),D([...a.fallbackOrder||[]]),await f(),await I()},[t,n,I,f,v]);(0,g.useEffect)(()=>{if(c)return c(R),()=>c(null)},[c,R]);let z=(0,g.useCallback)(async()=>{if(l.kind===`ready`&&window.confirm(`Reset all active overrides?`)){j(!0),N(null);try{let e=E(l.data),n=await t.put(`/api/settings`,e);v(n&&typeof n==`object`&&`data`in n?n.data:n),await f()}catch(e){N(e instanceof Error?e.message:String(e))}finally{j(!1)}}},[t,f,v,l]);if(l.kind===`loading`)return(0,_.jsx)(a,{});if(l.kind===`offline`)return(0,_.jsx)(o,{port:e});if(l.kind===`error`)return(0,_.jsx)(s,{message:l.message});let B=l.data,V=B.perCli||{},H=T(Object.keys(V)),U=V.codex||{},W=B.activeOverrides||{},G=Object.entries(W);return(0,_.jsxs)(`form`,{className:`settings-page-form`,onSubmit:e=>{e.preventDefault(),R()},children:[(0,_.jsx)(i,{title:`Model defaults`,hint:`Per-CLI defaults applied when no active override is set on the Agent page.`,children:H.length===0?(0,_.jsx)(`p`,{className:`settings-empty`,children:`No CLIs registered for this instance.`}):H.map(e=>(0,_.jsx)(w,{cli:e,meta:p(e,P),original:V[e]||{},value:y[e]||V[e]||{},setValue:t=>b({...y,[e]:t}),setEntry:L,client:t,pi:x,setPi:S},e))}),V.codex?(0,_.jsxs)(i,{title:`Codex context window`,hint:`Codex-only sliders. Other CLIs ignore these values.`,children:[(0,_.jsx)(d,{id:`model-codex-ctx`,label:`Context window size`,value:O.contextWindowSize??(typeof U.contextWindowSize==`number`?U.contextWindowSize:1e6),min:0,step:1e4,onChange:e=>{k({...O,contextWindowSize:e}),L(`perCli.codex.contextWindowSize`,{value:e,original:U.contextWindowSize??1e6,valid:Number.isFinite(e)&&e>=0})}}),(0,_.jsx)(d,{id:`model-codex-compact`,label:`Compact limit`,value:O.contextWindowCompactLimit??(typeof U.contextWindowCompactLimit==`number`?U.contextWindowCompactLimit:9e5),min:0,step:1e4,onChange:e=>{k({...O,contextWindowCompactLimit:e}),L(`perCli.codex.contextWindowCompactLimit`,{value:e,original:U.contextWindowCompactLimit??9e5,valid:Number.isFinite(e)&&e>=0})}})]}):null,(0,_.jsx)(i,{title:`Fallback order`,hint:`Order of CLIs used when the active CLI fails. Press Enter to add a chip; Backspace to remove the last.`,children:(0,_.jsx)(u,{id:`model-fallbackOrder`,label:`Fallback order`,value:C,onChange:e=>{D(e),L(`fallbackOrder`,{value:e,original:B.fallbackOrder||[],valid:!0})},placeholder:`cli name`})}),(0,_.jsxs)(i,{title:`Active overrides`,hint:`Per-session overrides applied on top of per-CLI defaults.`,children:[G.length===0?(0,_.jsx)(`p`,{className:`settings-empty`,children:`No active overrides.`}):(0,_.jsxs)(`table`,{className:`settings-overrides-table`,children:[(0,_.jsx)(`thead`,{children:(0,_.jsxs)(`tr`,{children:[(0,_.jsx)(`th`,{scope:`col`,children:`CLI`}),(0,_.jsx)(`th`,{scope:`col`,children:`Model`}),(0,_.jsx)(`th`,{scope:`col`,children:`Effort`})]})}),(0,_.jsx)(`tbody`,{children:G.map(([e,t])=>(0,_.jsxs)(`tr`,{children:[(0,_.jsx)(`td`,{children:e}),(0,_.jsx)(`td`,{children:(0,_.jsx)(`code`,{children:t?.model||`—`})}),(0,_.jsx)(`td`,{children:(0,_.jsx)(`code`,{children:t?.effort||`—`})})]},e))})]}),(0,_.jsxs)(`div`,{className:`settings-overrides-actions`,children:[(0,_.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,onClick:()=>void z(),disabled:A||G.length===0,children:A?`Resetting…`:`Reset overrides`}),M?(0,_.jsx)(`span`,{className:`settings-field-error`,role:`alert`,children:M}):null]})]})]})}export{E as buildResetOverridesPatch,D as default,T as orderModelCliKeys};
@@ -1,55 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-render-Bjnw0wQ6.css"])))=>i.map(i=>d[i]);
2
- import{n as e,r as t}from"./vendor-render-DCb9B75Q.js";import{t as n}from"./state-DxpgDKMO.js";import{a as r,i,n as a,r as o,t as s}from"./api-tVoG39dL.js";import{a as c,c as l,d as u,i as ee,l as te,r as ne,s as re,t as ie,u as ae}from"./sidebar-DOR9fTgN.js";import{t as d}from"./preload-helper-DFYRRz9w.js";import{A as oe,C as se,O as ce,T as f,b as le,d as ue,f as de,g as fe,h as pe,j as p,k as me,n as he,p as ge,x as m,y as _e}from"./render-BI1aqKoc.js";import{_ as h,d as ve,f as g,n as ye,u as be}from"./iframe-renderer-DUI0LYBy.js";import{O as xe,T as Se,_,t as Ce,v}from"./message-history-Dl8dJzez.js";import{n as we,o as y}from"./idb-cache-BzzftUET.js";import{c as Te,f as Ee,o as De}from"./ui-D4D5HUfo.js";import{t as Oe}from"./locale-DC-ZsWOf.js";import{a as ke,c as Ae,i as je,n as Me,o as Ne,r as Pe,s as Fe,t as Ie}from"./slash-commands-BZbqTg3v.js";import{i as Le,o as Re}from"./constants-CSZ011-j.js";import{A as ze,C as b,D as Be,E as Ve,F as He,I as Ue,L as We,M as Ge,N as Ke,O as qe,P as Je,S as x,T as Ye,a as Xe,c as Ze,d as S,g as Qe,h as $e,i as et,j as tt,k as C,m as nt,o as rt,r as it,s as at,t as ot,u as w,v as st,w as ct,x as lt,y as ut}from"./settings-core-CyX-px6_.js";import{t as dt}from"./provider-icons-VDfahiUp.js";import{a as ft,i as pt,t as mt}from"./skills-wt0fkV9Y.js";import{a as ht,c as gt,d as _t,f as vt,g as yt,h as bt,i as xt,l as St,m as Ct,n as wt,o as Tt,p as Et,r as Dt,s as Ot,t as T,u as kt}from"./settings-B0Sj4sUH.js";import{a as At,c as E,d as jt,f as Mt,i as Nt,l as Pt,m as Ft,n as It,o as Lt,p as Rt,r as zt,s as Bt,t as Vt,u as D}from"./memory-B_Y0L0KD.js";import{n as Ht}from"./bgtask-badge-DXca8E7c.js";var O=[],Ut=8e3;function Wt(e){return/^\/compact(?:\s|$)/i.test(String(e||``).trim())?300*1e3:1e4}function Gt(e,t=``){let n=e.map(e=>p(`chat.file.sent`,{path:e})).join(`
3
- `);return t?`${n}${p(`chat.file.sentWithMsg`,{text:t})}`:n}function Kt(e,t){let n=t.map(e=>p(`chat.file.sent`,{path:e})).join(`
4
- `);return n?`${e}\n\n${n}`:e}function qt(e){let t=pe();return t?new Promise(n=>{let r=`preview-send-${Date.now()}-${Math.random().toString(36).slice(2)}`,i=!1,a=()=>{window.removeEventListener(`message`,s),window.clearTimeout(c)},o=e=>{i||(i=!0,a(),n(e))},s=e=>{if(e.source!==window.parent||!ge(e.origin))return;let t=e.data;!t||t.type!==`jaw-preview-send-result`||t.requestId!==r||o({ok:!!t.ok,status:Number.isInteger(t.status)?t.status:t.ok?200:502,data:t.data||(t.error?{error:t.error}:{}),viaRelay:!0})},c=window.setTimeout(()=>o(null),Ut);window.addEventListener(`message`,s);try{window.parent.postMessage({type:`jaw-preview-send-message`,requestId:r,prompt:e},t)}catch{o(null)}}):Promise.resolve(null)}async function Jt(e){let t=await qt(e);if(t?.ok)return t;try{let t=await fetch(`${s}/api/message`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:e})}),n=await t.json().catch(()=>({}));return{ok:t.ok,status:t.status,data:n}}catch(e){return{ok:!1,status:0,data:{error:e.message}}}}async function Yt(e){let t,n,i=Wt(e);if(typeof AbortSignal?.timeout==`function`)t=AbortSignal.timeout(i);else{let e=new AbortController;t=e.signal,n=setTimeout(()=>e.abort(),i)}let a=Oe(),o=await r(),c=await fetch(`${s}/api/command`,{method:`POST`,headers:{"Content-Type":`application/json`,"Accept-Language":a,...o?{Authorization:`Bearer ${o}`}:{}},body:JSON.stringify({text:e,locale:a}),signal:t});n&&clearTimeout(n);let l=await c.json().catch(()=>({}));return{ok:c.ok,status:c.status,result:l}}async function Xt(e,t,n){let r=t.result;if(r?.code===`not_command`){if(n){await n();return}_(`user`,e),y({role:`user`,content:e,timestamp:Date.now()}),await i(`/api/message`,`POST`,{prompt:e});return}if(!t.ok&&!r?.text)throw Error(`HTTP ${t.status}`);if(r?.code===`clear_screen`){he(),h().clear();let e=document.getElementById(`chatMessages`);e&&(e.innerHTML=``)}(r?.text||r?.recovery)&&v(Zt(r),``,r.type),r?.steerPrompt&&await i(`/api/message`,`POST`,{prompt:r.steerPrompt})}function Zt(e){let t=e.recovery;if(!t?.originalText)return e.text?f(e.text):``;let n=(t.suggestedCommands||[]).slice(0,5),r=n.length?`<div class="cmd-recovery-suggestions">${n.map(e=>`<code>${f(e)}</code>`).join(` `)}</div>`:``,i=f(t.originalText);return`${e.text?`<div>${f(e.text)}</div>`:``}
5
- <div class="cmd-recovery" data-cmd-recovery>
6
- <div class="cmd-recovery-label">${f(p(`cmd.recovery.originalPrompt`))}</div>
7
- <pre class="cmd-recovery-text">${i}</pre>
8
- ${r}
9
- <div class="cmd-recovery-actions">
10
- <button type="button" class="cmd-recovery-btn" data-cmd-recovery-action="reinsert" data-cmd-text="${i}">${f(p(`cmd.artifact.action.reinsert`))}</button>
11
- <button type="button" class="cmd-recovery-btn" data-cmd-recovery-action="copy" data-cmd-text="${i}">${f(p(`cmd.artifact.action.copy`))}</button>
12
- </div>
13
- </div>`}document.addEventListener(`click`,async e=>{let t=e.target?.closest(`[data-cmd-recovery-action]`);if(!t)return;let n=t.dataset.cmdRecoveryAction||``,r=t.dataset.cmdText||``;if(r){if(n===`reinsert`){let e=document.getElementById(`chatInput`);if(!e)return;e.value=r,e.focus(),e.selectionStart=e.selectionEnd=e.value.length,e.dispatchEvent(new Event(`input`,{bubbles:!0}));return}n===`copy`&&await le(r)}});var k=!1;async function A(e=`enter`){let t=document.getElementById(`chatInput`),r=document.getElementById(`btnSend`);if(!t||!r)return;let a=e===`button`;if(r.classList.contains(`stop-mode`)&&a){o(`/api/stop`,`POST`);return}if(k)return;let s=t.value.trim();if(!s&&!n.attachedFiles.length)return;te(),k=!0;let c=r,u=c.disabled;c.disabled=!0;try{await nt();let e=s.slice(1).trim().split(/\s+/)[0]||``,r=e.includes(`/`)||e.includes(`\\`),a=s.startsWith(`/`)&&!r;if(a&&!n.attachedFiles.length){if(t.value=``,M(),Ie(),Fe(s))return;try{await Xt(s,await Yt(s))}catch(e){v(p(`chat.cmd.fail`,{msg:e.message}),``,`error`)}finally{l(`command`).catch(()=>{})}return}if(n.attachedFiles.length){let e=`📎 [${n.attachedFiles.map(e=>e.name).join(`, `)}] ${s}`;_(`user`,e),y({role:`user`,content:e,timestamp:Date.now()}),t.value=``,M();try{let e=await Promise.all(n.attachedFiles.map(e=>$t(e))),t=Gt(e,s);if(j(),a){Ie();try{let n=Kt(s,e);await Xt(n,await Yt(n),async()=>{await i(`/api/message`,`POST`,{prompt:t})})}catch(e){v(p(`chat.cmd.fail`,{msg:e.message}),``,`error`)}finally{l(`command`).catch(()=>{})}return}await i(`/api/message`,`POST`,{prompt:t})}catch(e){v(p(`chat.file.uploadFail`,{msg:e.message})),j()}}else{t.value=``,M();let e=await Jt(s),n=e.data;if(e.status===409&&n.error===`duplicate`)return;if(!e.ok){v(`${m.error} ${f(n.error||p(`chat.requestFail`,{status:e.status}))}`,``,`error`);return}if(n.queued){let{updateQueueBadge:e}=await d(async()=>{let{updateQueueBadge:e}=await import(`./ui-BghexWrB.js`);return{updateQueueBadge:e}},__vite__mapDeps([0]));e(n.pending||1)}else e.viaRelay?(y({role:`user`,content:s,timestamp:Date.now()}),n.continued&&v(p(`chat.continue`)),g(!0)):n.noPendingContinue?(_(`user`,s),y({role:`user`,content:s,timestamp:Date.now()}),g(!0)):n.continued?(_(`user`,s),y({role:`user`,content:s,timestamp:Date.now()}),v(p(`chat.continue`)),g(!0)):(_(`user`,s),y({role:`user`,content:s,timestamp:Date.now()}),g(!0))}}finally{k=!1,c.disabled=u}}function Qt(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),A(`enter`))}async function $t(e){let t=await fetch(`${s}/api/upload`,{method:`POST`,headers:{"X-Filename":encodeURIComponent(e.name)},body:e});if(!t.ok)throw Error(`upload failed`);return(await t.json()).path}function en(e){for(let t of e)n.attachedFiles.some(e=>e.name===t.name)||n.attachedFiles.push(t);nn(),document.getElementById(`chatInput`)?.focus()}function tn(e){n.attachedFiles.splice(e,1),nn()}function j(){O.forEach(e=>URL.revokeObjectURL(e)),O=[],n.attachedFiles=[],nn();let e=document.getElementById(`fileInput`);e&&(e.value=``)}function nn(){let e=document.getElementById(`filePreview`),t=document.getElementById(`filePreviewList`);if(e){if(O.forEach(e=>URL.revokeObjectURL(e)),O=[],!n.attachedFiles.length){e.classList.remove(`visible`),t&&(t.innerHTML=``);return}e.classList.add(`visible`),t&&(t.innerHTML=n.attachedFiles.map((e,t)=>{let n=(e.size/1024).toFixed(1),r=e.type.startsWith(`image/`),i=``;if(r){let t=URL.createObjectURL(e);O.push(t),i=`<img src="${t}" class="file-chip-thumb" alt="">`}return`<div class="file-chip">
14
- ${i}
15
- <span class="file-chip-name">${m.paperclip} ${f(e.name)} (${n}KB)</span>
16
- <button class="file-chip-remove" data-file-idx="${t}" title="Remove">${m.close}</button>
17
- </div>`}).join(``))}}async function rn(){he(),h().clear();let e=document.getElementById(`chatMessages`);e&&(e.innerHTML=``);let{cleanupToolActivity:t}=await d(async()=>{let{cleanupToolActivity:e}=await import(`./ui-BghexWrB.js`);return{cleanupToolActivity:e}},__vite__mapDeps([0]));t(),we().catch(()=>{}),te()}var an=0;function on(e){if(an)return;let t=be();an=requestAnimationFrame(()=>{if(an=0,e.style.height=`auto`,e.style.height=e.scrollHeight+`px`,t){let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,ve())}})}function sn(){let e=document.getElementById(`chatInput`);e&&e.addEventListener(`input`,()=>on(e))}function M(){let e=document.getElementById(`chatInput`),t=be();if(e&&(e.style.height=`auto`),t){let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,ve())}}function cn(){let e=document.querySelector(`.chat-area`),t=document.getElementById(`dragOverlay`);if(!e||!t)return;let n=0;e.addEventListener(`dragenter`,e=>{e.preventDefault(),n++,t.classList.add(`visible`)}),e.addEventListener(`dragleave`,e=>{e.preventDefault(),n--,n<=0&&(n=0,t.classList.remove(`visible`))}),e.addEventListener(`dragover`,e=>e.preventDefault()),e.addEventListener(`drop`,e=>{e.preventDefault(),n=0,t.classList.remove(`visible`);let r=[...e.dataTransfer?.files||[]];r.length&&en(r)}),document.getElementById(`fileInput`)?.addEventListener(`change`,e=>{let t=e.target,n=[...t.files||[]];n.length&&en(n),t.value=``}),document.addEventListener(`paste`,e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(t)if(!t.name||t.name===`image.png`){let e=new Date().toISOString().replace(/[:.]/g,`-`),r=t.type.split(`/`)[1]||`png`,i=new File([t],`pasted-${e}.${r}`,{type:t.type});n.push(i)}else n.push(t)}n.length&&(e.preventDefault(),en(n))})}async function ln(e,t,r){let a=document.getElementById(`chatInput`),o=a?.value.trim()||``,c=[...n.attachedFiles],l=[p(`chat.voice.label`)];c.length&&l.push(`📎 [${c.map(e=>e.name).join(`, `)}]`),o&&l.push(o),_(`user`,l.join(` `)),y({role:`user`,content:l.join(` `),timestamp:Date.now()}),a&&o&&(a.value=``,M()),c.length&&j();try{let n=await fetch(`${s}/api/voice`,{method:`POST`,headers:{"Content-Type":r,"X-Voice-Ext":t,"X-STT-Only":`true`},body:e});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`HTTP ${n.status}`)}let a=await n.json().catch(()=>null);if(!a?.text)throw Error(`Empty STT result`);v(`${m.mic} STT (${f(a.engine||``)}, ${a.elapsed?.toFixed(1)}s): "${f(a.text.slice(0,100))}"`,``,`info`);let l=[];c.length&&(l=await Promise.all(c.map(e=>$t(e))));let u=[];for(let e of l)u.push(p(`chat.file.sent`,{path:e}));u.push(`🎤 ${a.text}`),o&&u.push(o),await i(`/api/message`,`POST`,{prompt:u.join(`
18
- `)})}catch(e){v(p(`voice.sttFail`,{msg:e.message}),``,`error`)}}var un={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},dn={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};function fn(e){let t=typeof e==`string`?e.trim():``;if(t)try{return new Intl.DateTimeFormat(`en-US`,{timeZone:t}).format(new Date),t}catch{return}}function pn(e){let t=e&&typeof e==`object`?e:{},n=t.kind,r=typeof t.timeZone==`string`?t.timeZone.trim():``,i=fn(t.timeZone);if(r&&!i)return{ok:!1,code:`invalid_timezone`,error:`invalid timeZone "${r}"`};if(n===`cron`){let e=typeof t.cron==`string`?t.cron.trim().replace(/\s+/g,` `):``;if(!e)return{ok:!1,code:`invalid_cron`,error:`cron expression required`};let n=mn(e);return n?{ok:!1,code:`invalid_cron`,error:n}:{ok:!0,schedule:i?{kind:`cron`,cron:e,timeZone:i}:{kind:`cron`,cron:e}}}if(n==null||n===`every`){let e=typeof t.minutes==`number`?t.minutes:Number(t.minutes);if(!Number.isInteger(e)||e<1)return{ok:!1,code:`invalid_minutes`,error:`minutes must be an integer >= 1`};let n=Math.max(1,Math.floor(e));return{ok:!0,schedule:i?{kind:`every`,minutes:n,timeZone:i}:{kind:`every`,minutes:n}}}return{ok:!1,code:`invalid_kind`,error:`invalid heartbeat schedule kind "${String(n)}"`}}function mn(e){try{let[t,n,r,i,a]=hn(e);return N(t,{min:0,max:59}),N(n,{min:0,max:23}),N(r,{min:1,max:31}),N(i,{min:1,max:12,aliases:dn}),N(a,{min:0,max:7,aliases:un,normalize:yn}),null}catch(e){return e.message}}function hn(e){let t=String(e||``).trim().replace(/\s+/g,` `).split(` `);if(t.length!==5)throw Error(`cron must have 5 fields, got ${t.length}`);return t}function N(e,t){for(let n of e.split(`,`))gn(n.trim(),t)}function gn(e,t){if(!e)throw Error(`empty cron segment`);let n=e;if(e.includes(`/`)){let[t,r,...i]=e.split(`/`);if(!t||!r||i.length>0)throw Error(`invalid cron step segment "${e}"`);n=t,vn(r,`invalid cron step "${r}"`)}if(n!==`*`){if(n.includes(`-`)){let[e,r,...i]=n.split(`-`);if(!e||!r||i.length>0||_n(e,t)>_n(r,t))throw Error(`invalid cron range "${n}"`);return}_n(n,t)}}function _n(e,t){let n=e.trim().toLowerCase(),r=t.aliases?.[n]??Number(n);if(!Number.isInteger(r))throw Error(`invalid cron value "${e}"`);let i=t.normalize?t.normalize(r):r;if(!bn(i,t.min,t.max))throw Error(`cron value "${e}" out of range ${t.min}-${t.max}`);return i}function vn(e,t){let n=Number(e);if(!Number.isInteger(n)||n<=0)throw Error(t);return n}function yn(e){return e===7?0:e}function bn(e,t,n){return e>=t&&e<=n}async function xn(){n.heartbeatJobs=((await a(`/api/heartbeat`))?.jobs||[]).map(I),n.heartbeatErrors=L(n.heartbeatJobs),P(),document.getElementById(`heartbeatModal`)?.classList.add(`open`)}function Sn(e){e&&e.target!==e.currentTarget||document.getElementById(`heartbeatModal`)?.classList.remove(`open`)}function P(){let e=document.getElementById(`hbJobsList`);if(!e)return;let t=n.heartbeatJobs.map(I);n.heartbeatJobs=t,n.heartbeatErrors=L(t),t.length===0?e.innerHTML=`<p style="color:var(--text-dim);font-size:12px;text-align:center">${p(`hb.empty`)}</p>`:e.innerHTML=t.map((e,t)=>{let r=Dn(e.schedule),i=r.kind===`cron`,a=n.heartbeatErrors[e.id],o=a||Pn(r),s=a?`hb-schedule-meta hb-error`:`hb-schedule-meta hb-help`,c=i?`<input type="text" value="${f(r.cron)}" placeholder="${f(p(`hb.cronPlaceholder`))}"
19
- data-hb-cron="${t}">`:`<input type="number" value="${r.minutes}" min="1" data-hb-minutes="${t}">`,l=i?`<span class="hb-chip">${f(p(`hb.cronLabel`))}</span>`:`<span class="hb-chip">${f(p(`hb.minutesLabel`))}</span>`;return`
20
- <div class="hb-job-card">
21
- <div class="hb-job-header">
22
- <input type="text" value="${f(String(e.name||``))}" placeholder="${f(p(`hb.name`))}"
23
- data-hb-name="${t}">
24
- <button class="hb-toggle ${e.enabled?`on`:`off`}"
25
- data-hb-toggle="${t}" aria-label="${f(String(e.name||`job`)+` toggle`)}"></button>
26
- <button class="hb-del" data-hb-remove="${t}">${m.close}</button>
27
- </div>
28
- <div class="hb-job-schedule">
29
- <select data-hb-kind="${t}">
30
- <option value="every"${i?``:` selected`}>${f(p(`hb.kindEvery`))}</option>
31
- <option value="cron"${i?` selected`:``}>${f(p(`hb.kindCron`))}</option>
32
- </select>
33
- ${c}
34
- ${l}
35
- <input type="text" value="${f(r.timeZone||``)}" placeholder="${f(jn())}"
36
- data-hb-timezone="${t}">
37
- </div>
38
- <p class="${s}">${f(o)}</p>
39
- <textarea class="hb-prompt" rows="2" placeholder="${f(p(`hb.prompt`))}"
40
- data-hb-prompt="${t}">${f(String(e.prompt||``))}</textarea>
41
- </div>
42
- `}).join(``);let r=t.filter(e=>e.enabled).length,i=document.getElementById(`hbSidebarBtn`);i&&(i.innerHTML=`${m.heartPulse} Heartbeat (${r})`)}function Cn(){n.heartbeatJobs.push({id:`hb_`+Date.now(),name:``,enabled:!0,schedule:kn({kind:`every`,minutes:5}),prompt:``}),P(),F()}function wn(e){n.heartbeatJobs.splice(e,1),P(),F()}function Tn(e){let t=n.heartbeatJobs[e];t&&(t.enabled=!t.enabled,P(),F())}async function F(){let e=n.heartbeatJobs.map(I);if(n.heartbeatJobs=e,n.heartbeatErrors=L(e),Object.keys(n.heartbeatErrors).length>0){P();return}let t=await i(`/api/heartbeat`,`PUT`,{jobs:e});t?.jobs&&(n.heartbeatJobs=t.jobs.map(I),n.heartbeatErrors=L(n.heartbeatJobs),P())}async function En(){try{let e=((await a(`/api/heartbeat`))?.jobs||[]).map(I).filter(e=>e.enabled).length,t=document.getElementById(`hbSidebarBtn`);t&&(t.innerHTML=`${m.heartPulse} Heartbeat (${e})`)}catch{}}function I(e){return{id:String(e.id||`hb_${Date.now()}`),name:String(e.name||``),enabled:e.enabled!==!1,schedule:Dn(e.schedule),prompt:String(e.prompt||``)}}function Dn(e){let t=On(e?.timeZone);if(e?.kind===`cron`){let n=typeof e.cron==`string`?e.cron.trim().replace(/\s+/g,` `):`0 9 * * *`;return t?{kind:`cron`,cron:n,timeZone:t}:{kind:`cron`,cron:n}}let n=typeof e?.minutes==`number`&&Number.isFinite(e.minutes)&&e.minutes>0?Math.max(1,Math.floor(e.minutes)):5;return t?{kind:`every`,minutes:n,timeZone:t}:{kind:`every`,minutes:n}}function On(e){return(typeof e==`string`?e.trim():``)||void 0}function kn(e){let t=An();return t?{...e,timeZone:t}:e}function An(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||void 0}catch{return}}function jn(){let e=An();return e?`${p(`hb.timezoneAuto`)} ${e}`:p(`hb.timezoneAuto`)}function L(e){let t={};for(let n of e){let e=Mn(n);e&&(t[n.id]=e)}return t}function Mn(e){let t=pn(e.schedule);return t.ok?null:Nn(t.code,t.error)}function Nn(e,t){switch(e){case`invalid_cron`:return p(`hb.invalidCron`);case`invalid_timezone`:return p(`hb.invalidTimeZone`);case`invalid_minutes`:return p(`hb.invalidMinutes`);default:return t||p(`hb.invalidSchedule`)}}function Pn(e){let t=e.timeZone||An()||`Asia/Seoul`;return e.kind===`cron`?p(`hb.scheduleHintCron`,{cron:`0 9 * * *`,timeZone:t}):p(`hb.scheduleHintEvery`,{minutes:e.minutes,timeZone:t})}var R=`jaw.uiTheme`,z=null;function Fn(e){return e===`dark`||e===`light`||e===`auto`}function In(e){return e===`light`||e===`auto`&&typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`}function Ln(n){let r=n===`light`?e:t;z||(z=document.createElement(`style`),z.id=`hljsTheme`,document.head.appendChild(z)),z.textContent=r}function Rn(){!localStorage.getItem(R)&&localStorage.getItem(`theme`)&&(localStorage.setItem(R,localStorage.getItem(`theme`)),localStorage.removeItem(`theme`));let e=Bn(),t=localStorage.getItem(R),n=window.matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;B(e||t||n),document.getElementById(`toggleTheme`)?.addEventListener(`click`,zn),window.addEventListener(`message`,Hn),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,()=>{let e=localStorage.getItem(R);(!e||e===`auto`)&&B(e||`auto`)}),window.addEventListener(`storage`,e=>{e.key===R&&e.newValue&&B(e.newValue)})}function zn(){let e=(document.documentElement.getAttribute(`data-theme`)||`dark`)===`dark`?`light`:`dark`;B(e),localStorage.setItem(R,e)}function B(e){let t=In(e);document.documentElement.setAttribute(`data-theme`,t);let n=document.getElementById(`toggleTheme`);n&&n.classList.toggle(`is-light`,t===`light`),Ln(t),ye(),_e()}function Bn(){let e=new URLSearchParams(window.location.search).get(`jawTheme`);return Fn(e)?e:null}function Vn(e){if(e===window.location.origin)return!0;try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`[::1]`}catch{return!1}}function Hn(e){if(window.parent===window||e.source!==window.parent||!Vn(e.origin))return;let t=e.data;!t||t.type!==`jaw-preview-theme-sync`||!Fn(t.theme)||B(t.theme)}var Un=new Set([`j`,`k`,`i`,`n`,`p`]);function Wn(e){if(e.altKey&&!e.ctrlKey&&!e.metaKey){let t=e.key.toLowerCase();return(t.length!==1||!Un.has(t))&&e.code?.startsWith(`Key`)&&(t=e.code.slice(3).toLowerCase()),Un.has(t)}return e.ctrlKey&&!e.metaKey&&!e.altKey?e.code===`Backquote`:!!(e.metaKey&&!e.ctrlKey&&!e.altKey&&(!e.shiftKey&&(e.code===`Backquote`||e.code===`KeyB`||e.code===`KeyJ`)||e.shiftKey&&(e.code===`KeyB`||e.code===`KeyD`||e.code===`KeyE`)))}function Gn(){window.parent!==window&&document.addEventListener(`keydown`,e=>{if(Wn(e)){e.preventDefault();try{window.parent.postMessage({type:`jaw-preview-shortcut`,key:e.key,code:e.code,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey},`*`)}catch{}}})}var Kn=50,qn=30,Jn=80,Yn=500,V=null,Xn=!1;function Zn(){if(Xn||!(`ontouchstart`in window))return;Xn=!0;let e=document.querySelector(`.chat-area`);e&&(e.addEventListener(`touchstart`,Qn,{passive:!0}),e.addEventListener(`touchend`,$n,{passive:!0}))}function Qn(e){let t=e.touches[0],n=window.innerWidth,r=null;t.clientX<qn?r=`left`:t.clientX>n-qn&&(r=`right`),V={startX:t.clientX,startY:t.clientY,startTime:Date.now(),isEdge:r}}function $n(e){if(!V)return;let t=e.changedTouches[0],n=t.clientX-V.startX,r=Math.abs(t.clientY-V.startY),i=Date.now()-V.startTime,a=V;V=null,!(r>Jn||i>Yn||Math.abs(n)<Kn)&&(n>0&&a.isEdge===`left`&&ne(),n<0&&a.isEdge===`right`&&ee())}var H=!1,U=null,W=[],er=null,tr=null,nr=0,G=!1,K=`stopped`,rr=15e3;function ir(){if(typeof MediaRecorder>`u`)return``;for(let e of[`audio/webm;codecs=opus`,`audio/mp4`,`audio/ogg;codecs=opus`])if(MediaRecorder.isTypeSupported(e))return e;return``}function ar(e){let t=e;switch(t.name){case`NotAllowedError`:return p(`voice.micDenied`);case`NotFoundError`:return p(`voice.micNotFound`);case`NotReadableError`:case`AbortError`:return p(`voice.micBusy`);case`TimeoutError`:return ur();default:return t instanceof TypeError||!navigator.mediaDevices?p(`voice.httpsRequired`):p(`voice.micDenied`)}}function or(){let e=document;return e.permissionsPolicy||e.featurePolicy||null}function sr(){try{return or()?.allowsFeature?.(`microphone`)===!1}catch{return!1}}async function cr(){try{return navigator.permissions?.query?(await navigator.permissions.query({name:`microphone`})).state:null}catch{return null}}function lr(){let e=new URL(window.location.href),t=new URL(e.href);e.hostname===`127.0.0.1`?t.hostname=`localhost`:e.hostname===`localhost`&&(t.hostname=`127.0.0.1`);let n=t.origin===e.origin?``:t.origin;return{origin:e.origin,alternateOrigin:n}}function ur(){let e=lr();return e.alternateOrigin?p(`voice.requestTimeoutLoopback`,e):p(`voice.requestTimeout`,e)}function dr(e){let t=e;return t.name===`NotSupportedError`?p(`voice.unsupported`):t.name===`NotReadableError`||t.name===`AbortError`?p(`voice.micBusy`):t instanceof TypeError?p(`voice.httpsRequired`):p(`voice.interrupted`)}function q(e){if(window.parent!==window)try{window.parent.postMessage({type:`jaw-preview-stt-recording`,action:e},`*`)}catch{}}function fr(){return new DOMException(`Timed out waiting for microphone permission prompt`,`TimeoutError`)}async function pr(){let e=!1,t=null,n=navigator.mediaDevices.getUserMedia({audio:!0}).then(t=>e?(t.getTracks().forEach(e=>e.stop()),null):t,t=>{if(e)return null;throw t}),r=new Promise((n,r)=>{t=setTimeout(()=>{e=!0,r(fr())},rr)});try{let e=await Promise.race([n,r]);if(!e)throw fr();return e}finally{t!==null&&clearTimeout(t)}}async function mr(){if(n.isRecording||G)return;if(typeof MediaRecorder>`u`||!navigator.mediaDevices?.getUserMedia){v(p(`voice.unsupported`),``,`error`);return}if(sr()){v(p(`voice.policyBlocked`),``,`error`);return}if(await cr()===`denied`){v(p(`voice.permissionDeniedBrowser`,lr()),``,`error`);return}G=!0,H=!1,K=`stopped`,Y(!1),q(`request`);let e=null;try{e=await pr(),er=e}catch(e){G=!1,Y(!1),q(`failed`),v(ar(e),``,`error`);return}try{let t=ir(),r=new MediaRecorder(e,t?{mimeType:t}:{});U=r,W=[],r.ondataavailable=e=>{e.data.size>0&&W.push(e.data)},r.onerror=()=>{H=!0,K=`failed`,n.isRecording=!1,yr(),Y(!1),r.state===`recording`?r.stop():(W=[],J(),U=null,q(`failed`)),v(p(`voice.interrupted`),``,`error`)},r.onstop=async()=>{let e=K,n=H||e!==`stopped`;if(K=`stopped`,n){W=[],J(),U=null,H=!1,q(e);return}let i=r.mimeType||t||`audio/webm`,a=i.includes(`mp4`)?`.m4a`:i.includes(`ogg`)?`.ogg`:`.webm`,o=new Blob(W,{type:i});if(W=[],J(),U=null,H=!1,q(`stopped`),o.size>20*1024*1024){v(p(`voice.tooLarge`),``,`error`);return}if(o.size<1e3){v(p(`voice.tooShort`),``,`error`);return}await ln(o,a,i)},r.start(),n.isRecording=!0,G=!1,nr=Date.now(),Y(!0),vr(),q(`started`)}catch(e){G=!1,n.isRecording=!1,W=[],U=null,J(),Y(!1),q(`failed`),v(dr(e),``,`error`)}}function hr(){!n.isRecording||!U||(K=`stopped`,U.state===`recording`?U.stop():(J(),U=null,q(`stopped`)),n.isRecording=!1,yr(),Y(!1))}function gr(){!n.isRecording||!U||(H=!0,K=`cancelled`,U.state===`recording`?U.stop():(W=[],J(),U=null,q(`cancelled`)),n.isRecording=!1,yr(),Y(!1))}function _r(){n.isRecording?hr():mr()}function J(){er?.getTracks().forEach(e=>e.stop()),er=null}function vr(){let e=document.getElementById(`voiceTimer`);e&&(e.style.display=`inline`,tr=setInterval(()=>{let t=Math.floor((Date.now()-nr)/1e3);e.textContent=`${String(Math.floor(t/60)).padStart(2,`0`)}:${String(t%60).padStart(2,`0`)}`},500))}function yr(){tr&&=(clearInterval(tr),null);let e=document.getElementById(`voiceTimer`);e&&(e.style.display=`none`,e.textContent=`00:00`)}function Y(e){let t=document.getElementById(`btnVoice`),n=document.getElementById(`btnVoiceCancel`),r=G&&!e;t&&(t.classList.toggle(`recording`,e),t.classList.toggle(`arming`,r),t.innerHTML=e?m.stop:m.mic,t.title=p(r?`voice.requesting`:e?`voice.stop`:`voice.start`),t.toggleAttribute(`aria-busy`,r),t instanceof HTMLButtonElement&&(t.disabled=r)),n&&(n.style.display=e?`inline-block`:`none`)}window.parent;var br=null,xr=``,X=null,Sr=!1;function Cr(){let e=document.getElementById(`chatSearchInput`),t=document.getElementById(`chatSearchClose`),n=document.getElementById(`chatSearchResults`),r=document.getElementById(`chatSearchCount`);!e||!t||!n||!r||Sr||(Sr=!0,window.addEventListener(`message`,e=>{e.data?.type===`jaw-preview-search`&&wr()}),e.addEventListener(`input`,()=>{let t=e.value.trim();if(br&&clearTimeout(br),!t){Mr(n,r);return}br=setTimeout(()=>void Er(t,n,r),250)}),e.addEventListener(`keydown`,e=>{if(e.key===`Escape`){Z();return}e.key===`Enter`&&(e.preventDefault(),n.querySelector(`.chat-search-result`)?.click()),e.key===`ArrowDown`&&(e.preventDefault(),jr(n,1)),e.key===`ArrowUp`&&(e.preventDefault(),jr(n,-1))}),n.addEventListener(`wheel`,e=>{let t=n,r=t.scrollTop===0&&e.deltaY<0,i=t.scrollTop+t.clientHeight>=t.scrollHeight&&e.deltaY>0;!r&&!i&&e.stopPropagation(),(r||i)&&e.preventDefault()},{passive:!1}),t.addEventListener(`click`,Z))}function wr(){let e=document.getElementById(`chatSearch`),t=document.getElementById(`chatSearchInput`);!e||!t||(e.classList.contains(`open`)?Z():(e.classList.add(`open`),t.focus(),Tr()))}function Z(){let e=document.getElementById(`chatSearch`),t=document.getElementById(`chatSearchInput`),n=document.getElementById(`chatSearchResults`),r=document.getElementById(`chatSearchCount`);e&&(e.classList.remove(`open`),t&&(t.value=``),n&&r&&Mr(n,r),xr=``)}function Tr(){X=new Map,a(`/api/messages${Ce()}`).then(e=>{e&&(X=new Map,e.forEach((e,t)=>X.set(e.id,t)))}).catch(()=>{})}async function Er(e,t,n){xr=e;let r=await a(`/api/messages/search?q=${encodeURIComponent(e)}&limit=20`);if(!(!r||xr!==e)){if(n.textContent=r.length>0?`${r.length} found`:`no results`,r.length===0){t.classList.remove(`has-results`),t.innerHTML=``;return}t.innerHTML=r.map(t=>Dr(t,e)).join(``),t.classList.add(`has-results`),t.querySelectorAll(`.chat-search-result`).forEach(e=>{e.addEventListener(`click`,()=>{Ar(Number(e.dataset.msgId))})})}}function Dr(e,t){let n=e.role===`assistant`?`agent`:e.role,r=n===`agent`?e.cli||`agent`:`you`,i=e.match_field===`tool_log`,a=i?`<span class="chat-search-result-badge">tool</span>`:``,o=kr(i?Or(e.tool_log,t):e.content,t),s=Nr(e.created_at);return`<div class="chat-search-result" data-msg-id="${e.id}" tabindex="-1">
43
- <div class="chat-search-result-meta">
44
- <span class="chat-search-result-role ${n}">${f(r)}</span>
45
- ${a}
46
- <span>${f(s)}</span>
47
- </div>
48
- <div class="chat-search-result-snippet">${o}</div>
49
- </div>`}function Or(e,t){if(!e)return``;try{let n=JSON.parse(e),r=t.toLowerCase();for(let e of n){let t=`${e.label||``} ${e.detail||``}`;if(t.toLowerCase().includes(r))return t}}catch{}return e.slice(0,300)}function kr(e,t){let n=e.toLowerCase().indexOf(t.toLowerCase());if(n===-1)return f(e.slice(0,120));let r=Math.max(0,n-40),i=Math.min(e.length,n+t.length+80),a=f(e.slice(r,n)),o=f(e.slice(n,n+t.length)),s=f(e.slice(n+t.length,i));return`${r>0?`&hellip;`:``}${a}<mark>${o}</mark>${s}${i<e.length?`&hellip;`:``}`}function Ar(e){if(!X)return;let t=X.get(e);t!=null&&(h().scrollToIndex(t,`center`),requestAnimationFrame(()=>{setTimeout(()=>{let e=document.getElementById(`chatMessages`);if(!e)return;e.querySelectorAll(`.msg.search-highlight`).forEach(e=>e.classList.remove(`search-highlight`));let n=e.querySelectorAll(`.msg`);for(let e of n){let n=e.getAttribute(`data-turn-index`);if(n!=null&&Number(n)===t){e.classList.add(`search-highlight`);break}}},150)}))}function jr(e,t){let n=Array.from(e.querySelectorAll(`.chat-search-result`));if(n.length===0)return;let r=e.querySelector(`.chat-search-result.active`),i=r?n.indexOf(r)+t:0;i<0&&(i=n.length-1),i>=n.length&&(i=0),n.forEach(e=>e.classList.remove(`active`)),n[i].classList.add(`active`),n[i].scrollIntoView({block:`nearest`}),n[i].click()}function Mr(e,t){e.classList.remove(`has-results`),e.innerHTML=``,t.textContent=``}function Nr(e){try{let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString([],{month:`short`,day:`numeric`})+` `+t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}catch{return``}}var Pr=!1;function Fr(){if(Pr)return;Pr=!0;let e=document.createElement(`div`);e.id=`mediaLightbox`,e.className=`media-lightbox hidden`,e.innerHTML=`<div class="media-lightbox-backdrop"></div>
50
- <div class="media-lightbox-content">
51
- <img class="media-lightbox-img" alt="" />
52
- <div class="media-lightbox-controls">
53
- <button class="media-lightbox-open" aria-label="Open in browser">↗ Open</button>
54
- <button class="media-lightbox-close" aria-label="Close">✕</button>
55
- </div></div>`,document.body.appendChild(e);let t=``,n=()=>e.classList.add(`hidden`),r=()=>{t&&window.open(t,`_blank`)};e.querySelector(`.media-lightbox-backdrop`).addEventListener(`click`,n),e.querySelector(`.media-lightbox-close`).addEventListener(`click`,n),e.querySelector(`.media-lightbox-open`).addEventListener(`click`,r),e.querySelector(`.media-lightbox-img`).addEventListener(`dblclick`,r),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&!e.classList.contains(`hidden`)&&n()}),document.addEventListener(`click`,n=>{let r=n.target;(r.classList.contains(`chat-inline-img`)||r.closest(`.file-preview-list`)&&r.tagName===`IMG`)&&(t=r.src,e.querySelector(`.media-lightbox-img`).src=t,e.classList.remove(`hidden`))})}var Ir=`jaw:stale-bundle-reload-pending`;function Lr(e){let t=typeof e==`string`?e:e instanceof Error||typeof e?.message==`string`?e.message:``;if(!/(failed to fetch dynamically imported module|error loading dynamically imported module|importing a module script failed|chunkloaderror)/i.test(t))return!1;console.warn(`[stale-bundle] detected dynamic import failure:`,t);try{if(sessionStorage.getItem(Ir)===`1`)return!0;sessionStorage.setItem(Ir,`1`)}catch{}let n=()=>window.location.reload();return`serviceWorker`in navigator?(navigator.serviceWorker.getRegistration().then(e=>e?.update()).catch(()=>{}).finally(n),!0):(n(),!0)}window.addEventListener(`unhandledrejection`,e=>{if(Lr(e.reason)){e.preventDefault();return}console.error(`[unhandled]`,e.reason),e.preventDefault()}),window.addEventListener(`error`,e=>{if(Lr(e.error||e.message)){e.preventDefault();return}console.error(`[error]`,e.message,e.filename,e.lineno)});var{loadEmployees:Rr,addEmployee:zr,deleteEmployee:Br,updateEmployee:Q,onEmpCliChange:Vr,onEmpRoleChange:Hr}=await d(async()=>{let{loadEmployees:e,addEmployee:t,deleteEmployee:n,updateEmployee:r,onEmpCliChange:i,onEmpRoleChange:a}=await import(`./employees-BL4qMxJj.js`);return{loadEmployees:e,addEmployee:t,deleteEmployee:n,updateEmployee:r,onEmpCliChange:i,onEmpRoleChange:a}},__vite__mapDeps([0]));function Ur(e){if(e===window.location.origin)return!0;try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`[::1]`}catch{return!1}}function Wr(e){let t=(e.ctrlKey||e.metaKey)&&e.shiftKey&&e.code===`Space`,n=e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&e.code===`KeyM`;return t||n}document.getElementById(`btnSend`)?.addEventListener(`click`,()=>{A(`button`)});var Gr=document.getElementById(`chatInput`);Gr?.addEventListener(`keydown`,e=>{Pe(e)||Qt(e)});var $=0;Gr?.addEventListener(`input`,e=>{e.isComposing||($&&cancelAnimationFrame($),$=requestAnimationFrame(()=>{Ne(e.target?.value||``),$=0}))}),Gr?.addEventListener(`cmd-execute`,()=>{A(`cmd-execute`)}),document.getElementById(`cmdDropdown`)?.addEventListener(`click`,Me),document.addEventListener(`click`,je),u(),Ht(),document.getElementById(`filePreviewClear`)?.addEventListener(`click`,j),document.getElementById(`filePreviewList`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-file-idx]`);t&&tn(+(t.dataset.fileIdx||`0`))}),document.querySelector(`.btn-attach`)?.addEventListener(`click`,()=>{document.getElementById(`fileInput`)?.click()}),document.getElementById(`btnVoice`)?.addEventListener(`click`,()=>_r()),document.getElementById(`btnVoiceCancel`)?.addEventListener(`click`,()=>gr()),window.addEventListener(`message`,e=>{if(window.parent===window||e.source!==window.parent||!Ur(e.origin))return;let t=e.data;!t||t.type!==`jaw-preview-stt-toggle`||_r()}),document.getElementById(`memorySidebarBtn`)?.addEventListener(`click`,Nt),document.getElementById(`btnClearChat`)?.addEventListener(`click`,rn),document.getElementById(`hbSidebarBtn`)?.addEventListener(`click`,xn),document.getElementById(`langSelect`)?.addEventListener(`change`,async e=>{let t=e.target.value;[`ko`,`en`,`zh`,`ja`].includes(t)&&(await oe(t),re())}),document.querySelector(`.tab-bar`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`.tab-btn`);if(!t)return;let n=[...t.parentElement?.children||[]].filter(e=>e.classList.contains(`tab-btn`)).indexOf(t),r=[`agents`,`skills`,`settings`];r[n]&&Ee(r[n],t)}),document.querySelector(`.sidebar-save-bar .btn-save`)?.addEventListener(`click`,De);function Kr(e){let t=(e instanceof HTMLSelectElement?e:document.getElementById(`selCliProvider`))?.value||``,n=document.getElementById(`providerAiE`);!t||!n||Array.from(n.options).some(e=>e.value===t)&&(n.value=t)}document.getElementById(`selCli`)?.addEventListener(`change`,()=>rt()),document.getElementById(`selCliProvider`)?.addEventListener(`change`,e=>{Kr(e.target),rt(),w()}),document.getElementById(`selModel`)?.addEventListener(`change`,()=>w()),document.getElementById(`selEffort`)?.addEventListener(`change`,()=>w()),document.getElementById(`flushCli`)?.addEventListener(`change`,()=>at()),document.getElementById(`flushModel`)?.addEventListener(`change`,()=>at()),document.querySelector(`[data-action="addEmployee"]`)?.addEventListener(`click`,zr),document.getElementById(`employeesList`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-emp-delete]`);if(t){Br(t.dataset.empDelete||``);return}}),document.getElementById(`employeesList`)?.addEventListener(`change`,e=>{let t=e.target,n=t.closest(`[data-emp-name]`);if(n){Q(n.dataset.empName||``,{name:t.value});return}let r=t.closest(`[data-emp-cli]`);if(r){Vr(r.dataset.empCli||``,t.value);return}let i=t.closest(`[data-emp-model]`);if(i){if(t.value===`__custom__`){let e=prompt(p(`model.promptInput`));if(e?.trim()){let n=document.createElement(`option`);n.value=e.trim(),n.textContent=e.trim();let r=t.querySelector(`option[value="__custom__"]`);r&&t.insertBefore(n,r),t.value=e.trim(),Q(i.dataset.empModel||``,{model:e.trim()})}else t.value=`default`}else Q(i.dataset.empModel||``,{model:t.value});return}let a=t.closest(`[data-emp-role]`);if(a){Hr(a.dataset.empRole||``,t.value);return}let o=t.closest(`[data-emp-custom]`);if(o){Q(o.dataset.empCustom||``,{role:t.value});return}}),document.getElementById(`skillsList`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-skill-id]`);t&&ft(t.dataset.skillId||``,t.dataset.skillEnabled===`true`)}),document.querySelector(`#tabSkills`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`.skill-filter`);t&&mt(t.dataset.filter||`all`,t)}),document.getElementById(`skillSearchInput`)?.addEventListener(`input`,e=>{pt(e.target.value)}),document.querySelector(`[data-action="openPrompt"]`)?.addEventListener(`click`,Dt),document.getElementById(`tgOff`)?.addEventListener(`click`,()=>Ue(!1)),document.getElementById(`tgOn`)?.addEventListener(`click`,()=>Ue(!0)),document.getElementById(`tgForwardOff`)?.addEventListener(`click`,()=>He(!1)),document.getElementById(`tgForwardOn`)?.addEventListener(`click`,()=>He(!0)),document.getElementById(`tgMentionOff`)?.addEventListener(`click`,()=>We(!1)),document.getElementById(`tgMentionOn`)?.addEventListener(`click`,()=>We(!0)),document.getElementById(`tgToken`)?.addEventListener(`change`,Je),document.getElementById(`tgChatIds`)?.addEventListener(`change`,Je),document.getElementById(`chTelegram`)?.addEventListener(`click`,()=>x(`telegram`)),document.getElementById(`chDiscord`)?.addEventListener(`click`,()=>x(`discord`)),document.getElementById(`dcOff`)?.addEventListener(`click`,()=>ze(!1)),document.getElementById(`dcOn`)?.addEventListener(`click`,()=>ze(!0)),document.getElementById(`dcForwardOff`)?.addEventListener(`click`,()=>Ge(!1)),document.getElementById(`dcForwardOn`)?.addEventListener(`click`,()=>Ge(!0)),document.getElementById(`dcAllowBotsOff`)?.addEventListener(`click`,()=>tt(!1)),document.getElementById(`dcAllowBotsOn`)?.addEventListener(`click`,()=>tt(!0)),document.getElementById(`dcMentionOff`)?.addEventListener(`click`,()=>Ke(!1)),document.getElementById(`dcMentionOn`)?.addEventListener(`click`,()=>Ke(!0)),document.getElementById(`dcToken`)?.addEventListener(`change`,C),document.getElementById(`dcGuildId`)?.addEventListener(`change`,C),document.getElementById(`dcChannelIds`)?.addEventListener(`change`,C),document.getElementById(`chSlack`)?.addEventListener(`click`,()=>x(`slack`)),document.getElementById(`slOff`)?.addEventListener(`click`,()=>ct(!1)),document.getElementById(`slOn`)?.addEventListener(`click`,()=>ct(!0)),document.getElementById(`slForwardOff`)?.addEventListener(`click`,()=>Ve(!1)),document.getElementById(`slForwardOn`)?.addEventListener(`click`,()=>Ve(!0)),document.getElementById(`slAllowBotsOff`)?.addEventListener(`click`,()=>Ye(!1)),document.getElementById(`slAllowBotsOn`)?.addEventListener(`click`,()=>Ye(!0)),document.getElementById(`slMentionOff`)?.addEventListener(`click`,()=>Be(!1)),document.getElementById(`slMentionOn`)?.addEventListener(`click`,()=>Be(!0)),document.getElementById(`slThreadOff`)?.addEventListener(`click`,()=>qe(!1)),document.getElementById(`slThreadOn`)?.addEventListener(`click`,()=>qe(!0)),document.getElementById(`slBotToken`)?.addEventListener(`change`,b),document.getElementById(`slAppToken`)?.addEventListener(`change`,b),document.getElementById(`slTeamId`)?.addEventListener(`change`,b),document.getElementById(`slChannelIds`)?.addEventListener(`change`,b),document.getElementById(`fallbackOrderList`)?.addEventListener(`change`,lt);function qr(e){let t=document.getElementById(`codexFastOn`),n=document.getElementById(`codexFastOff`);t&&n&&(t.classList.toggle(`active`,e),n.classList.toggle(`active`,!e)),S()}document.getElementById(`codexFastOn`)?.addEventListener(`click`,()=>qr(!0)),document.getElementById(`codexFastOff`)?.addEventListener(`click`,()=>qr(!1));function Jr(e){let t=document.getElementById(`codexCtxOn`),n=document.getElementById(`codexCtxOff`),r=document.getElementById(`codexCtxValues`);t&&n&&(t.classList.toggle(`active`,e),n.classList.toggle(`active`,!e)),r&&(r.style.display=e?``:`none`),S()}document.getElementById(`codexCtxOn`)?.addEventListener(`click`,()=>Jr(!0)),document.getElementById(`codexCtxOff`)?.addEventListener(`click`,()=>Jr(!1)),document.getElementById(`codexCtxWindow`)?.addEventListener(`change`,S),document.getElementById(`codexCtxCompact`)?.addEventListener(`change`,S);function Yr(e){let t=document.getElementById(`claude1mOn`),n=document.getElementById(`claude1mOff`),r=document.getElementById(`modelClaude`),i=e;if(r){let t=r.value||``;if(e&&!t.endsWith(`[1m]`)){let e=t+`[1m]`;Array.from(r.options).some(t=>t.value===e)?r.value=e:i=!1}else if(!e&&t.endsWith(`[1m]`)){let e=t.replace(/\[1m\]$/,``);Array.from(r.options).some(t=>t.value===e)?r.value=e:i=!0}else i=t.endsWith(`[1m]`)}t&&n&&(t.classList.toggle(`active`,i),n.classList.toggle(`active`,!i)),S()}document.getElementById(`claude1mOn`)?.addEventListener(`click`,()=>Yr(!0)),document.getElementById(`claude1mOff`)?.addEventListener(`click`,()=>Yr(!1));function Xr(e){return e.split(/[^a-zA-Z0-9]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function Zr(){for(let e of Le()){let t=Xr(e),n=document.getElementById(`model`+t);n&&n.addEventListener(`change`,function(){it(e,this)});let r=document.getElementById(`customModel`+t);r&&r.addEventListener(`change`,function(){ot(e,this)});let i=document.getElementById(`effort`+t);i&&i.addEventListener(`change`,S)}document.getElementById(`providerAiE`)?.addEventListener(`change`,Ze)}document.querySelector(`[data-action="openMcpModal"]`)?.addEventListener(`click`,st),document.querySelector(`[data-action="syncMcp"]`)?.addEventListener(`click`,ut),document.querySelector(`[data-action="installMcp"]`)?.addEventListener(`click`,Qe),$e(),document.querySelector(`[data-action="refreshCli"]`)?.addEventListener(`click`,()=>{vt()?Ct(!0):St()}),document.getElementById(`cliStatusInterval`)?.addEventListener(`change`,function(){yt(this.value)}),document.getElementById(`promptModal`)?.addEventListener(`click`,e=>T(e)),document.querySelector(`#promptModal .modal-box`)?.addEventListener(`click`,e=>e.stopPropagation()),document.querySelector(`[data-action="closePrompt"]`)?.addEventListener(`click`,()=>T()),document.querySelector(`[data-action="cancelPrompt"]`)?.addEventListener(`click`,()=>T()),document.querySelector(`[data-action="savePrompt"]`)?.addEventListener(`click`,ht),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&!n.isRecording&&T()}),document.querySelector(`[data-action="openTemplates"]`)?.addEventListener(`click`,xt),document.querySelector(`[data-action="saveTemplate"]`)?.addEventListener(`click`,Tt),document.querySelector(`[data-action="closeTemplate"]`)?.addEventListener(`click`,()=>wt()),document.getElementById(`templateModal`)?.addEventListener(`click`,e=>wt(e)),document.querySelector(`#templateModal .modal-box`)?.addEventListener(`click`,e=>e.stopPropagation()),document.getElementById(`templateBack`)?.addEventListener(`click`,Ot),document.getElementById(`templateDevToggle`)?.addEventListener(`click`,gt);var{openPiSettingsModal:Qr,closePiSettingsModal:$r,registerPiProfile:ei,onPiModeChange:ti,syncPiModelDropdown:ni,getCachedPi:ri}=await d(async()=>{let{openPiSettingsModal:e,closePiSettingsModal:t,registerPiProfile:n,onPiModeChange:r,syncPiModelDropdown:i,getCachedPi:a}=await import(`./pi-settings-CBUGDAuT.js`);return{openPiSettingsModal:e,closePiSettingsModal:t,registerPiProfile:n,onPiModeChange:r,syncPiModelDropdown:i,getCachedPi:a}},[]);document.getElementById(`btnPiSettings`)?.addEventListener(`click`,Qr),document.getElementById(`piSettingsModal`)?.addEventListener(`click`,e=>{e.target===e.currentTarget&&$r()}),document.querySelector(`#piSettingsModal .modal-box`)?.addEventListener(`click`,e=>e.stopPropagation()),document.querySelector(`[data-action="closePiSettings"]`)?.addEventListener(`click`,$r),document.getElementById(`btnPiRegister`)?.addEventListener(`click`,()=>void ei()),document.getElementById(`piMode`)?.addEventListener(`change`,ti),document.getElementById(`providerPi`)?.addEventListener(`change`,async()=>{let e=document.getElementById(`providerPi`);if(e?.value){ni(e.value,ri());let{savePerCli:t}=await d(async()=>{let{savePerCli:e}=await import(`./settings-core-DVpFmrhY.js`);return{savePerCli:e}},__vite__mapDeps([0]));await t()}}),document.getElementById(`heartbeatModal`)?.addEventListener(`click`,e=>Sn(e)),document.querySelector(`#heartbeatModal .modal-box`)?.addEventListener(`click`,e=>e.stopPropagation()),document.querySelector(`[data-action="closeHeartbeat"]`)?.addEventListener(`click`,()=>Sn()),document.querySelector(`[data-action="addHeartbeat"]`)?.addEventListener(`click`,Cn),document.getElementById(`hbJobsList`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-hb-toggle]`);if(t){Tn(+(t.dataset.hbToggle||`0`));return}let n=e.target?.closest(`[data-hb-remove]`);if(n){wn(+(n.dataset.hbRemove||`0`));return}}),document.getElementById(`hbJobsList`)?.addEventListener(`change`,e=>{let t=e.target,r=t.closest(`[data-hb-name]`);if(r){n.heartbeatJobs[+(r.dataset.hbName||`0`)].name=t.value,F();return}let i=t.closest(`[data-hb-kind]`);if(i){let e=+(i.dataset.hbKind||`0`),r=n.heartbeatJobs[e]?.schedule,a=typeof r?.timeZone==`string`?r.timeZone:void 0;n.heartbeatJobs[e].schedule=t.value===`cron`?{kind:`cron`,cron:typeof r?.cron==`string`&&r.cron.trim()?r.cron:`0 9 * * *`,...a?{timeZone:a}:{}}:{kind:`every`,minutes:typeof r?.minutes==`number`&&r.minutes>0?Math.floor(r.minutes):5,...a?{timeZone:a}:{}},P(),F();return}let a=t.closest(`[data-hb-minutes]`);if(a){let e=+(a.dataset.hbMinutes||`0`),r=n.heartbeatJobs[e]?.schedule,i=Math.max(1,Math.floor(Number(t.value)||5)),o=typeof r?.timeZone==`string`?r.timeZone:void 0;n.heartbeatJobs[e].schedule={kind:`every`,minutes:i,...o?{timeZone:o}:{}},P(),F();return}let o=t.closest(`[data-hb-cron]`);if(o){let e=+(o.dataset.hbCron||`0`),r=n.heartbeatJobs[e]?.schedule,i=typeof r?.timeZone==`string`?r.timeZone:void 0,a=t.value.trim().replace(/\s+/g,` `);n.heartbeatJobs[e].schedule={kind:`cron`,cron:a,...i?{timeZone:i}:{}},P(),F();return}let s=t.closest(`[data-hb-timezone]`);if(s){let e=+(s.dataset.hbTimezone||`0`),r=n.heartbeatJobs[e]?.schedule;r?.kind===`cron`?n.heartbeatJobs[e].schedule={kind:`cron`,cron:typeof r.cron==`string`&&r.cron.trim()?r.cron:`0 9 * * *`,...t.value.trim()?{timeZone:t.value.trim()}:{}}:n.heartbeatJobs[e].schedule={kind:`every`,minutes:typeof r?.minutes==`number`&&r.minutes>0?Math.floor(r.minutes):5,...t.value.trim()?{timeZone:t.value.trim()}:{}},P(),F();return}let c=t.closest(`[data-hb-prompt]`);if(c){n.heartbeatJobs[+(c.dataset.hbPrompt||`0`)].prompt=t.value,F();return}}),document.getElementById(`memoryModal`)?.addEventListener(`click`,e=>Vt(e)),document.querySelector(`#memoryModal .modal-box`)?.addEventListener(`click`,e=>e.stopPropagation()),document.querySelector(`[data-action="closeMemory"]`)?.addEventListener(`click`,()=>Vt()),document.getElementById(`memTabBtnSettings`)?.addEventListener(`click`,()=>D(`settings`)),document.getElementById(`memTabBtnAdvOps`)?.addEventListener(`click`,()=>D(`status`)),document.getElementById(`memTabBtnFiles`)?.addEventListener(`click`,()=>D(`files`)),document.getElementById(`memOn`)?.addEventListener(`click`,()=>Pt(!0)),document.getElementById(`memOff`)?.addEventListener(`click`,()=>Pt(!1)),document.getElementById(`memFlushEvery`)?.addEventListener(`change`,E),document.getElementById(`memRetention`)?.addEventListener(`change`,E),document.getElementById(`memFlushLang`)?.addEventListener(`change`,E),document.getElementById(`memFlushNowBtn`)?.addEventListener(`click`,Mt),document.getElementById(`advBootstrapBtn`)?.addEventListener(`click`,Bt),document.getElementById(`advReindexBtn`)?.addEventListener(`click`,Lt),document.getElementById(`advReimportBtn`)?.addEventListener(`click`,Bt),document.getElementById(`advOpenCorruptedBtn`)?.addEventListener(`click`,zt),document.getElementById(`advStatusBanner`)?.addEventListener(`click`,e=>{e.target?.id===`advUpgradeSoulBtn`&&Rt(),e.target?.id===`advSynthesizeSoulBtn`&&jt()}),document.getElementById(`basicMemoryFiles`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-mem-delete]`);if(t){e.stopPropagation(),It(t.dataset.memDelete||``);return}let n=e.target?.closest(`[data-mem-view]`);if(n){Ft(n.dataset.memView||``);return}if(e.target?.closest(`[data-mem-back]`)){Nt();return}});async function ii(){se(),dt(),Rn(),Gn(),ue(),de(),await me();let e=document.getElementById(`langSelect`);e&&(e.value=ce()),Ae(),Cr(),Fr(),document.getElementById(`chatSearchTrigger`)?.addEventListener(`click`,wr),ae(),c(),await Re(),Zr(),cn(),sn(),await ke(),await Xe(),et(),bt(),_t(),kt(),vt()&&Ct(),ie(),Rr(),En(),At(),Se(),await xe(),Te(),Zn();try{sessionStorage.removeItem(Ir)}catch{}setTimeout(()=>{document.querySelector(`.mermaid-pending, [data-mermaid-code-raw], .diagram-widget-pending`)&&fe()},3e3),`serviceWorker`in navigator&&!Et()&&navigator.serviceWorker.register(`/sw.js`).catch(()=>{})}ii().catch(e=>{console.error(`[bootstrap]`,e)}),document.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key===`f`&&(e.preventDefault(),e.stopPropagation(),wr())},!0),document.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(document.getElementById(`chatSearch`)?.classList.contains(`open`)){e.preventDefault(),Z();return}if(n.isRecording){e.preventDefault(),gr();return}document.querySelectorAll(`.modal-overlay.open`).forEach(e=>{e.classList.remove(`open`)})}Wr(e)&&(e.preventDefault(),_r())}),document.getElementById(`mobileMenuLeft`)?.addEventListener(`click`,ne),document.getElementById(`mobileMenuRight`)?.addEventListener(`click`,ee);
@@ -1 +0,0 @@
1
- import{r as e,t}from"./bgtask-badge-DXca8E7c.js";export{t as applyBgtaskUpdate,e as refreshBgtaskBadge};
@@ -1 +0,0 @@
1
- import{a as e}from"./iframe-renderer-DUI0LYBy.js";export{e as refreshFileWidget};