teapot-coding-agent 0.37.85 → 0.37.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/api.js +6 -1
- package/package.json +1 -1
- package/public/assets/{index-CzmlQhYj.js → index-CE8s62QC.js} +25 -25
- package/public/assets/index-CE8s62QC.js.map +1 -0
- package/public/assets/index-T72qGQ56.css +1 -0
- package/public/assets/{shiki-CI0HW16S.js → shiki-ao2U3GfI.js} +2 -2
- package/public/assets/{shiki-CI0HW16S.js.map → shiki-ao2U3GfI.js.map} +1 -1
- package/public/index.html +2 -2
- package/public/assets/index-CzmlQhYj.js.map +0 -1
- package/public/assets/index-DJV6YKID.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"mappings":"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,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,EAAEC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAA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","names":["sharedConfig","getContextId","num","count","len","setHydrateContext","context","equalFn","a","b","$TRACK","signalOptions","ERROR","runEffects","runQueue","STALE","PENDING","UNOWNED","Owner","Transition","Listener","Updates","Effects","ExecCount","createRoot","listener","owner","unowned","fn","current","detachedOwner","root","updateFn","untrack","cleanNode","runUpdates","createSignal","options","s","readSignal","value","writeSignal","createRenderEffect","updateComputation","createComputation","createEffect","runUserEffects","c","SuspenseContext","useContext","createMemo","onMount","onCleanup","transPending","setTransPending","runningTransition","updates","lookUpstream","observers","sSlot","node","TransitionRunning","isComp","i","o","markDownstream","time","runComputation","nextValue","err","handleError","init","state","runTop","ancestors","top","prev","wait","res","completeUpdates","sources","disposed","d","v","e","queue","userLength","source","ignore","index","obs","n","reset","castError","runErrors","f","fns","error","FALLBACK","dispose","mapArray","items","mapped","disposers","indexes","mapFn","newItems","list","newLen","j","newIndices","newIndicesNext","temp","tempdisposers","tempIndexes","start","end","newEnd","item","disposer","mapper","set","indexArray","signals","createComponent","Comp","props","narrowedError","name","For","fallback","Index","Show","keyed","conditionValue","condition","child","memo","reconcileArrays","bLength","aEnd","bEnd","aStart","bStart","after","map","parentNode","sequence","t","$$EVENTS","render","element","code","insert","template","create","isMathML","html","isSVG","isImportNode","delegateEvents","document","l","eventNames","eventHandler","setAttribute","isHydrating","className","addEventListener","delegate","handler","handlerFn","style","nodeStyle","setStyleProperty","use","arg","marker","initial","accessor","insertExpression","parent","el","ev","key","oriTarget","oriCurrentTarget","retarget","handleNode","data","walkUpTree","path","hydrating","cleaned","multi","cleanChildren","array","currentArray","normalizeIncomingArray","unwrapArray","nodes","appendNodes","dynamic","normalized","unwrap","replacement","inserted","isParent","LIST_ITEM","renderMarkdown","renderEscaped","escapeHtml","src","out","lines","line","fence","ticks","info","buf","close","cls","h","inline","isSeparatorRow","align","splitRow","head","rows","cell","idx","tag","hasHeader","k","r","parseList","indentOf","startLine","para","ws","ordered","m","ind","minIndent","ol","body","sub","task","box","look","nextItem","codes","url","alt","text","cells","cur","ch","floorOf","distanceToTail","atTail","tolerance","classifyScroll","lastViewport","now","lastHeight","ledger","expected","shouldPin","following","nextFollowing","cause","previousTop","needsSettlePin","epsilon","gapToTail","evictOver","dropped","totalBytes","limits","oldestKey","oldestAt","weighJson","depth","mdCache","mdCacheBytes","MD_CACHE_MAX_ENTRIES","MD_CACHE_MAX_BYTES","renderMarkdownCached","hit","oldest","gone","fmtDur","ms","totalSecs","totalMins","truncate","relTime","iso","abs","unit","applyDelta","agentId","patch","clearLive","isTurnBoundary","isLiveStatus","status","liveBufferStatus","assistant","assistantTexts","events","live","loggedReasoning","startedToolCallSince","liveBufferRemainder","st","reasoning","nothingPending","sawContent","at","isOwnLiveWork","row","actor","pruneDeadLiveBuffers","doomed","id","buffers","statusOf","reconcileLiveBuffer","rest","clearThinkClockIfDone","startedAt","selected","agents","x","placeEchoesBelow","echoes","visible","maxSeq","placed","resequenceToDelivery","noteSeq","bySeq","resequenceCache","moved","pendingFloor","own","META_TOOLS_HIDDEN","feedCandidates","input","feedTypes","metaToolName","consumed","content","expandSubRows","kind","norm","dedupeAgainstEmbeds","embedType","promptLifecycle","deliveredIds","loggedUserPrompts","deliveredNotes","cancelledNotes","pid","dropInvisibleRows","stillPendingIds","cancelledCache","withCancelled","byNote","marked","resequencePrompts","cancelSeq","lifecycle","delivered","settled","floor","remainingEchoes","pending","p","buildTimelineWithCount","deduped","resequenced","auditPhase","isPlaceholderDetail","cardDetail","raw","goalLine","verdictHasReason","what","Card","classes","tone","class","filter","Boolean","join","markdown","_el$","_tmpl$3","_$insert","_$createComponent","when","title","children","_el$2","_tmpl$2","meta","_el$3","_tmpl$","_el$4","_tmpl$4","_$effect","innerHTML","_$className","mergeThemes","byId","local","remote","BG_WIDTHS","BG_SMALL","bgSrcSet","w","bgSrc","width","treeRowsOf","hideGhosts","stack","seenIds","byParent","roots","walk","chatOff","collapsedChats","chatGroupKeyOf","kids","collapsedSubs","groupKeys","groups","workspaceOf","g","seen","shouldShowCollapseCaret","args","subAgentDisplayName","parts","personas","descendantsOf","guard","wsChatCountsOf","counts","sidebarRowsOf","lastWs","collapsed","answeredQuestionIdsOf","lastQuestionAt","lastUserPromptAt","locallyAnswered","reconcilePending","queued","liveIds","matched","unidentifiable","resolveTimelineSession","mine","owned","requested","bound","linkableSessionId","handle","known","agentIds","KEY_PREFIX","storedTextareaHeight","rememberTextareaHeight","px","trackTextareaHeight","ro","onHeight","timelineAcceptsSession","shown","frameSession","eventBelongsOnTimeline","selectedAgent","timelineSession","deltaBelongsToTimeline","timelineIsLive","agentLive","agent","themeColors","bg","fg","cursor","cursorAccent","cs","background","foreground","selectionFor","retintTerminal","want","hex","effectiveProviderOf","defaultProvider","providers","providerDefaultModel","provider","modelOnProviderSwitch","toProvider","modelPlaceholderFor","agentProvider","mayResyncProvider","userTouchedProvider","shouldWriteComposerValue","composing","composerValueChanged","nodeValue","next","composerHeight","scrollHeight","maxHeight","agentLabel","agentLabelWithId","label","tail","extra","serverQueuedCount","queuedBadgeCount","fromServer","opts","PALETTE_KEYS","STORAGE_KEY","DEFAULT_PALETTE","PRESET_PALETTES","\"dark\"","\"midnight\"","\"tea\"","\"coffee\"","\"matcha\"","\"matrix\"","\"sunset\"","\"light\"","\"strawberry\"","\"ramune\"","isColour","sanitizeTheme","palette","img","isAsset","isData","isRemote","loadCustomThemes","parsed","saveCustomThemes","themes","loadCustomThemesFromServer","newThemeId","taken","applyCustomTheme","SURFACE_VARS","hasImage","theme","cssVar","wantDim","wantAlpha","prop","solid","opaque","colour","normalizeColour","resolveActiveTheme","zs","Rl","Ll","M","S","Gs","mi","$s","_i","Al","kl","Vs","qs","Cn","Mn","Pn","Ce","It","er","tr","u","_","A","R","ir","we","De","rt","q","js","Hn","Fn","Xs","ie","Pl","F","rr","ge","Zs","xt","nr","H","sr","Js","Be","wt","Ol","nt","ae","Dt","ce","Qs","or","Re","lr","Bl","ar","Lt","Nl","Un","bi","eo","Rt","Se","At","Kn","zn","I","P","oe","Me","Pe","O","dt","fr","pr","vi","Gn","Ne","ho","C","dr","Ee","D","ye","fe","kt","Ct","zl","mr","$","y","T","E","N","Z","te","Oe","ze","le","me","ht","fi","Qe","Ke","di","V","Mt","$n","po","br","qn","Vn","gi","Yn","Vl","Pt","ql","jn","gr","Si","Xl","mo","Ot","Ei","Bt","Ti","Sr","vr","_o","Nt","yr","xr","Ii","vo","go","Ir","$e","Ve","xe","ra","wr","Te","Zn","Dr","Fe","sa","oa","la","ot","yi","Jn","To","Io","yo","Qn","Rr","es","ca","ua","ha","da","fa","ft","wo","pa","Lr","qe","xi","Do","ma","ts","Ye","kr","va","_e","Mo","ns","je","Ea","Ta","Po","Sa","Bh","be","Nh","Fh","Hh","Oo","Wh","Uh","No","Kh","zh","L","Y","ss","ya","xa","os","mt","Mr","Di","pt","Fo","ls","Ie","_t","Wt","Wo","He","Q","Pr","lt","Uo","Or","Ri","Nr","Br","as","ka","La","Aa","Fr","Ca","Ut","Kt","Wr","Ur","Ma","Ko","zo","us","zr","hs","ds","Pa","Kr","zt","Gt","Gr","We","Li","bt","Ai","fs","$t","ue","he","de","J","ps","vt","U","$r","z","ve","Xe","Vr","ct","Oa","Ba","$o","Vo","qr","Vt","W","An","et","tt","Qi","pi","it","qo","Yr","Yo","_s","Le","jr","jo","ki","Xr","Na","Yt","jt","vs","bs","Zr","Jr","gs","Qr","Ci","Xo","Xt","en","tn","Ha","Ts","Ss","Wa","Ua","Fa","Bi","Zt","Mi","Zo","Es","Pi","Oi","rn","Is","ys","Jt","nn","Qt","xs","Jo","Ga","sn","$a","Fi","Ni","za","Ka","gt","Va","Qo","qa","on","Ds","Ya","ja","Xa","Ja","ei","Hi","Wi","re","St","Ki","tl","il","Ui","Qa","ti","K","Rs","ln","ec","tc","ii","ic","zi","B","X","an","Ls","Ze","sl","ri","ll","al","un","cn","ne","Je","cl","$i","hn","ks","Cs","ni","si","nc","dn","sc","oi","hl","li","dl","Ms","Ps","fl","ai","Os","ac","se","cc","Ae","pn","Bs","Vi","uc","ci","qi","mn","pe","Yi","_n","ji","Xi","Fs","ke","hc","bn","dc","fc","Ws","Hs","ml","mc","ut","_l","bl","vl","gl","vn","Zi","Sl","_c","El","bc","gn","ui","Tl","Sn","gc","Il","ee","En","Us","yl","Tn","Ks","Sc","In","xl","Tt","hi","Ec","yn","Tc","xn","wn","Ji","Dn","Rn","Ln","Ic","Ue","Dl","indexAfterAppend","clampPaneIndex","tabCount","paneIndexAfterClose","closedAt","newCount","rightPaneSeed","leftPane","pickAfterArchive","remaining","removed","shouldSendOnKey","shouldRestoreAfterSend","maximized","copyText","clipboard","deps","execCommand","makeTextarea","writeText","ta","staging","IconBtn","firstChild","_$addEventListener","onClick","icon","_p$","_v$","active","_v$2","_v$3","_$setAttribute","_$style","undefined","CopyBtn","done","setDone","failed","setFailed","copy","preventDefault","stopPropagation","then","result","setTimeout","$$click","_c$","_$memo","Modal","_el$5","_el$7","_el$8","nextSibling","target","currentTarget","onClose","_$delegateEvents","EMPTY","BASIC","classesFor","applySgr","params","SGR","ansiRuns","runs","flush","csi","osc","stripAnsi","hasAnsi","MAX","cache","highlightedHtml","cacheHighlighted","BashElapsed","Date","getTime","setNow","setInterval","clearInterval","txt","Math","max","timeoutMs","round","ThinkingTimer","elapsed","AnsiText","_tmpl$5","_el$6","each","length","_tmpl$6","HighlightedCode","lang","setHtml","trim","highlightLangChunks","acc","chunk","_el$0","_el$9","_tmpl$7","THEMES","api","token","headers","detail","DEFAULT_ALPHA","DEFAULT_DIM","clamp01","previewLayers","base","surfaceAlpha","backgroundDim","veilColour","surface","dim","backgroundImageValue","image","TodoEditor","stored","Number","localStorage","getItem","todoHeight","setTodoHeight","isFinite","heightStyle","height","trackHeight","ResizeObserver","offsetHeight","setItem","String","observe","disconnect","preview","$$input","onDraft","_$use","_$p","draft","CodePreview","split","pop","truncated","NumberField","_el$1","onValue","hint","ThemePreview","layers","_el$10","_tmpl$0","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","backgroundImage","_el$11","_tmpl$8","_$setStyleProperty","_el$12","_tmpl$9","bgDark","_v$4","bgDarkest","_v$5","panel","_v$6","_v$7","_v$8","bgMid","_v$9","raised","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","ok","_v$14","warn","_v$15","flash","setFlash","flashTimer","flashHint","setFlash$1","msg","blobUrl","ref","AUTHORS","HARNESS_AUTH","TONE_OF","toneOf","color","authorOf","fmtTs","rawOf","fmtK","oneLine","authorBucketOf","actorKeyOf","groupedWith","shellOutcome","outcomeMarker","outcome","shellHint","outputLang","first","formatToolOutput","pretty","BASH_DEFAULT_TIMEOUT_MS","BASH_MAX_TIMEOUT_MS","effectiveBashTimeout","FreeTextAnswer","val","setVal","submit","answered","onOption","$$keydown","isComposing","disabled","ToolRow","grouped","resEv","equals","staleDone","agentActive","argStr","cmdText","JSON","stringify","effTimeout","codeBlock","_max","argsBlock","resultBlock","durationMs","ToolImages","derived","cmd","isBg","bgJob","match","slice","bits","push","offset","limit","replace_all","patchLines","test","files","_tmpl$1","startsWith","_tmpl$10","_tmpl$11","host","URL","pathname","_el$24","_tmpl$13","_tmpl$12","action","mdBody","replace","_el$25","_tmpl$14","_el$26","_tmpl$15","Array","isArray","_el$28","_tmpl$16","_el$30","_el$31","_tmpl$17","hits","parse","names","tools","server","total","totalMatches","_el$33","_tmpl$18","_tmpl$19","mcp","exec","tool","Object","keys","_el$36","_tmpl$21","_el$37","_el$38","_el$41","_el$42","open","onResize","_el$39","_tmpl$20","MessageRow","nextGrouped","type","_el$43","_tmpl$22","_el$46","fromBranch","newBranch","branch","_el$47","_tmpl$23","_el$48","hasCard","step","chars","_el$51","_tmpl$27","_el$52","_el$53","_el$54","_tmpl$25","_el$55","_tmpl$26","_el$56","_el$49","_tmpl$24","_el$50","_el$57","_tmpl$28","_el$60","by","from","to","_el$61","_tmpl$29","_el$62","_c$2","reason","event","_el$63","_tmpl$30","_el$64","_el$68","_el$69","_el$70","_el$73","failures","lastTool","lastError","_el$74","_tmpl$31","_el$75","_el$79","_el$80","attempt","waitMs","secs","_el$81","jobId","_el$82","_tmpl$32","_el$87","_el$88","_el$89","tokensBefore","tokensAfter","mode","_el$90","_tmpl$33","_el$96","_el$97","_el$98","messages","_el$99","_tmpl$38","_el$100","_el$101","_c$3","_c$4","_el$110","_tmpl$39","_el$102","_tmpl$37","_el$103","_el$106","_el$104","_c$5","cancelled","showBranch","_el$107","_tmpl$34","onCancel","_el$108","_tmpl$35","onEdit","_el$109","_tmpl$36","SwitchContent","orphan","answeredIds","onAnswered","srcs","images","_el$111","_tmpl$40","_el$112","_tmpl$41","imgs","_el$113","_el$114","_el$115","_tmpl$42","_el$116","_tmpl$43","_el$118","_el$119","interrupted","_tmpl$44","final","_el$121","_tmpl$45","_el$122","_el$123","_tmpl$47","_el$124","_el$125","_el$126","_el$127","_tmpl$46","alts","alternatives","_el$129","_tmpl$49","_el$130","_el$133","_el$134","_el$135","_tmpl$48","decision","rationale","callId","has","_el$137","_tmpl$52","_el$140","_tmpl$50","_el$142","_tmpl$51","_el$143","_tmpl$53","encodeURIComponent","method","catch","question","_el$144","_tmpl$58","_el$147","goalStatus","_el$148","_tmpl$54","_el$150","recent","_el$151","_tmpl$55","_el$153","problems","_el$154","_tmpl$56","_el$156","_el$157","_tmpl$57","_el$159","doing","_el$160","_tmpl$59","_el$161","message","summary","_el$173","_tmpl$63","_el$176","_el$177","_el$181","_el$182","_c$7","summarized","_tmpl$62","_el$184","_el$163","_tmpl$61","_el$165","_el$166","_el$170","_el$171","_c$6","_tmpl$60","_el$185","_tmpl$64","oauthStateFrom","PROVIDER_PRESETS","slotForSelection","auto","ThemeEditor","editingId","setEditingId","some","activeId","editing","find","hexDraft","setHexDraft","filePick","onChange","setColour","duplicatePreset","activeCustom","paintedId","activePreset","getComputedStyle","documentElement","getPropertyValue","concat","onPick","importFile","file","size","fetch","json","backgroundImageBytes","bytes","ex","click","_ref$","_el$27","_el$29","_el$32","_el$34","ConfigModal","rowOf","apiKeys","apiKey","baseUrl","model","setProviders","entries","cfg","setDefaultProvider","cfgDefaultProvider","providerNames","Set","includes","staleDefaultProvider","intervalMin","setIntervalMin","progressIntervalMs","minChars","setMinChars","progressMinChars","ctxBudgetK","setCtxBudgetK","contextTokenBudget","ctxWinK","setCtxWinK","contextWindowTokens","maxDepth","setMaxDepth","maxSpawnDepth","shortContext","setShortContext","apiPassword","setApiPassword","apiPasswordDirty","setApiPasswordDirty","tasks","setTasks","mcpServers","setMcpServers","mcpHeadersText","setMcpHeadersText","fromEntries","mcpHeaderErr","setMcpHeaderErr","mcpAuthKind","setMcpAuthKind","only","mcpAuthValue","setMcpAuthValue","mcpHeaderName","setMcpHeaderName","mcpStatus","setMcpStatus","urlProbeTimers","probeOAuth","needsOAuth","mcpStates","setMcpStates","mcpOAuth","setMcpOAuth","oauthState","required","authorized","refreshMcpStates","states","refreshMcpOAuth","startMcpOAuth","srv","alreadyAuthorized","window","deadline","Promise","onSaved","flow","phase","section","forEach","setErr","setSection","pickThemeCard","slot","setSysDarkTheme","setSysLightTheme","setFixedTheme","themeCardChosen","dark","light","archived","setArchived","refreshArchived","archivedTop","SECTIONS","customThemes","fixedTheme","storedAppearance","fixed","draftOf","applyDraft","merged","setAuto","setDark","setLight","setActive","chosen","themeAuto","setThemeAuto","sysDarkTheme","sysLightTheme","setCustomThemes","setThemes","revertAppearance","presetPalette","saveProviders","saveState","setSaveState","failSave","save","cleanTasks","prompt","schedule","forked","cleanMcp","seenMcp","transport","command","add","enabled","description","password","all","resolve","savedNames","newlyNeeding","needing","announcedOAuth","commitAppearance","assign","_el$45","_el$65","_el$76","_el$77","_el$83","_el$84","_el$86","_el$92","_el$93","_el$95","_el$105","_el$120","sec","_v$17","_v$18","_v$19","_el$128","_el$131","_el$132","checked","_el$72","_el$138","_el$139","group","_el$141","_el$145","_v$20","_v$21","_v$22","_el$146","_v$23","_v$24","_v$25","saved","adopted","stripped","retry","alive","upd","_el$152","_el$155","_el$158","_el$164","_el$172","clearTimeout","_el$162","Authorization","hname","_el$167","_el$168","_el$169","Error","_el$175","_v$26","_v$27","st2","_el$178","_el$179","_el$180","_el$183","_el$186","_el$187","t2","_el$191","_el$192","_el$193","_el$188","_el$190","confirm","_el$194","_el$195","_el$196","_el$197","_el$198","_el$199","_el$200","_el$201","_el$202","_el$204","_el$205","_el$206","_el$207","_el$208","_el$209","_el$210","_el$211","sessions","subs","archivedAt","toISOString","workspace","ids","_el$212","_el$213","_el$214","_el$215","version","btn","textContent","beforeUptime","reloaded","uptimeSeconds","location","reload","skills","_el$217","hasSelection","setOpen","setBody","toggle","_el$218","_el$219","_el$220","_el$221","_el$222","_el$224","_el$223","classList","features","imageResize","available","maxEdge","pty","hasPassword","_v$16","IMAGE_EXT","VIDEO_EXT","AUDIO_EXT","ficon","ext","mk","mediaKindOf","fileUi","fileUiFor","FilesPanel","setKids","Map","expanded","setExpandedRaw","setPreviewRaw","setPreview","setExpanded","media","setMediaRaw","setMedia","viewMode","setViewModeRaw","setViewMode","ignoreMode","setIgnoreMode","cycleIgnoreMode","order","indexOf","ignoreFilter","ignored","showHidden","setShowHidden","toggleHidden","targets","fetchDirWith","results","mergeKids","parseEntries","parentPath","dir","fetchDir","hidden","URLSearchParams","toString","old","get","byPath","kept","fresh","kidsFor","toggleDir","delete","hlHtml","setHlHtml","hlPending","setHlPending","editBuf","setEditBuf","saving","setSaving","isMd","hlRun","startHighlighting","run","highlightChunks","openFileWith","binary","saveFile","pv","baseContent","payload","conflict","take","isEditable","wsName","refreshing","setRefreshing","refreshTree","\"class\"","REASONING_EFFORT_OPTIONS","NARROW_PX","imeInProgress","FEED_TYPES","NOTE_FEED_TYPES","RENDERED_TYPES","RENDERED_NOTE_EVENTS","hashTok","hash","decodeURIComponent","history","replaceState","search","wsTokenQuery","App","setAgents","setSelected","timelineId","setTimelineId","masterSessionIndex","setMasterSessionIndex","sessionsByAgent","setSessionsByAgent","sessionTitles","setSessionTitles","indexFetched","indexInFlight","refreshSessionIndex","force","byAgent","titles","setEvents","eventsTotal","setEventsTotal","branches","setBranches","metrics","setMetrics","drafts","setDraft","saveDraft","setCfg","showNew","setShowNew","activeBgImage","previewTheme","sysPrefersLight","paintedThemeId","showCfg","setShowCfg","setupNudged","needsSetup","requestAnimationFrame","loadCfg","setFeatures","isNarrow","innerWidth","narrow","setNarrow","removeEventListener","lastContentHeight","unskipAnchor","unskipAnchorAt","feedRo","feedRoEl","feedRoRaf","feedRoLastBox","restoreAfterBoxChange","feedEl","lastSampleHeight","lastSampleViewport","clientHeight","atBottom","pinToTail","anchorRow","querySelector","sel","delta","getBoundingClientRect","scrollTop","publishGap","tailSample","resyncAfterUnskip","anchor","RESYNC_MAX_DELTA_PX","scheduleRestore","attachFeedObserver","contentRect","unobserve","cancelAnimationFrame","firstVisibleRow","querySelectorAll","feedTop","lo","found","mid","bottom","eid","dataset","CSS","escape","showRight","setShowRight","setRight","toggleRight","closeRight","showLeft","setShowLeft","closeLeft","setPreviewTheme","sysMql","matchMedia","setSysPrefersLight","matches","resolved","previewId","customIds","presetIds","custom","repaired","appearance","modelProvider","setModelProvider","modelDraft","setModelDraft","effortDraft","setEffortDraft","reasoningEffort","models","setModels","providerList","loadModels","prov","modalityBadge","audio","video","side","modalities","output","modelSpec","badge","contextLength","price","toFixed","pricing","pin","pout","completion","_prevModelAgent","providerTouched","curProv","curDraft","composerMaximized","setComposerMaximized","setAtBottom","pinSettleTimer","missed","setMissed","gapToTailPx","setGapToTailPx","compacting","setCompacting","liveIsCompact","liveText","liveBody","CAP","setLive","chatEvents","olderDone","loadingFeed","loadingOlder","liveByAgent","setLiveByAgent","settleLiveBuffer","setLiveText","thinkStartedAt","setThinkStartedAt","liveStartedAt","liveReasoning","setLiveReasoning","liveRenderTimer","rsn","pendingPrompts","pendingPromptIds","pendingKey","pendingFor","writePending","pendingPromptQueue","session","have","promptId","missing","onVisible","visibilityState","nearBottom","scrollBottom","markReadIfFollowing","queuedCount","sameSession","echoCount","pendingCount","isSelLive","isTimelineLive","setEditing","pendingBySession","pendingMsgs","setPendingMsgs","reverse","notifs","setNotifs","setHideGhosts","showNotifs","setShowNotifs","unreadCount","read","markSessionRead","changed","subtreeUnread","notifSeq","addNotif","maybeNotify","who","eventId","jumpToEvent","scrollIntoView","behavior","block","remove","pairInfo","resFor","awaiting","orphanCalls","call","shift","setLocallyAnswered","markAnswered","clearLocallyAnswered","answeredQuestionIds","timeline","echo","echoEv","renderedTypes","renderedNoteEvents","rowIndex","WeakMap","neighbourOf","echoCache","sent","clear","seq","authLocked","setAuthLocked","onUnauthorized","todoDraft","setTodoDraft","todoViewMode","setTodoViewMode","todoDirty","setTodoDirty","todoSeededFor","serverTodo","todo","saveTodo","notify","getElementById","refreshAgents","todoStats","toLowerCase","mergeAgentSnapshots","prevById","agentSetChanged","refreshMetrics","loadTasks","agentTasks","expandedSubs","setExpandedSubs","setCollapsedSubs","subsCollapsed","toggleCollapse","cleared","chatGroupKey","wsCollapsed","setWsCollapsed","VERSION","chatCollapsed","treeRows","toggleWsGroup","groupKey","isCollapsed","alsoClear","basenameOf","wsCountLabel","wsChatCounts","sidebarRows","branchFilter","setBranchFilter","evCache","clearTimelineState","evCacheBytes","cacheKey","stabilize","approxEventBytes","EV_CACHE_MAX","EV_CACHE_MAX_BYTES","setLoadingOlder","setLoadingFeed","setOlderDone","feedGeneration","lastBranchesGen","mergeEvents","incoming","stable","newest","allNewer","every","added","values","sort","backfillUntilScrollable","measurable","before","loadOlder","prevH","prevTop","bf","tid","page","eventsUrl","sessionQuery","sessQ","loadEvents","sessionId","genAtStart","needsBranches","sk","setAgentSkills","viewport","apply","isConnected","settle","frames","timelineCache","scrollMemory","TIMELINE_CACHE_MAX_BYTES","latestSessionOf","select","forceSession","prevId","prevTid","prevEvents","prevTotal","outKey","SCROLL_MEMORY_MAX","reduce","maxEntries","TIMELINE_CACHE_MAX","maxBytes","lastSample","navigate","cached","ctx","restore","connected","setConnected","timer","pendingRefresh","onTabVisible","firstConnect","runFeedRefreshRef","catchUpAfterReconnect","got","gap","connectWs","proto","protocol","sock","WebSocket","onopen","onclose","onerror","FEED_IRRELEVANT","onmessage","send","snapshot","findIndex","ed","holder","runFeedRefresh","beforeId","beforeLen","pathId","linkable","pushState","sid","anyOverlayOpen","tagName","isContentEditable","blur","focus","toggleTerm","min","termOpen","setTermOpen","bgJobs","setBgJobs","showBg","setShowBg","refreshBg","jobs","renaming","setRenaming","renameDraft","setRenameDraft","beginRename","commitRename","termTabs","setTermTabs","paneL","setPaneL","paneR","setPaneR","splitView","setSplitView","focusedPane","setFocusedPane","termHeight","setTermHeight","innerHeight","liveTerms","paneHosts","activeTab","focusTab","focused","mineIdx","otherIdx","setMine","setOther","addFromSelected","addTab","terminal","closeTab","tab","term","disposeAllTerms","ensureSession","parentElement","appendChild","fit","createElement","Terminal","cursorBlink","fontSize","fontFamily","FitAddon","loadAddon","termUrl","reconnectTimer","permanent","wire","write","pushResize","onData","readyState","OPEN","last","cols","pendingRetry","resizeTimer","scheduleRetry","measureEl","mountPane","replaceChildren","other","_termFollowAgent","startGrip","startY","clientY","startH","move","up","toggleSplit","setPaneHost","loadPersonas","terminals","SLASH_COMMANDS","desc","setPersonas","mentionFork","setMentionFork","mentionQuery","mentionMatches","NO_ARG_COMMANDS","agentSkills","cmdIdx","setCmdIdx","suggestions","cmdName","argPart","exact","composerEl","composerMirror","composerMirrorHost","composerMirrorStyleAdded","measureComposerContent","position","visibility","pointerEvents","left","whiteSpace","overflowWrap","wordBreak","mirror","setProperty","clientWidth","endsWith","cssText","autosizeComposer","contentH","wanted","MAX_COMPOSER_H","resyncBudget","RESYNC_BUDGET_PER_GESTURE","pendingImages","setPendingImages","addImages","reader","FileReader","onload","readAsDataURL","sendText","targetId","echoKey","random","console","sp","isPersona","knownAgent","persona","executeSlash","post","ran","rightbarEl","rightbarTop","act","archiveSelected","stopChildren","stopped","forkSelected","goalDraft","setGoalDraft","goalHeight","setGoalHeight","goalPreviewHeight","setGoalPreviewHeight","goalPreviewStyle","resize","trackGoalPreviewHeight","stop","goalHeightStyle","trackGoalHeight","goalVerifyDraft","setGoalVerifyDraft","_goalDirty","setGoalDirty","goalNotify","setGoalNotify","goalSeededFor","goal","setGoal","verify","wsHeader","_el$117","wsCollapsedGroup","collapsedVia","headerOnly","isSub","chatCollapsedGroup","hasChildren","isChat","off","sessionTitle","workspaceMissing","running","named","_v$28","firstVisible","rssMb","heapUsedMb","heapTotalMb","externalMb","loadavg1","uptimeSec","_el$40","harness","_el$35","stats","turns","toolCalls","detached","_v$29","_v$30","_v$31","_v$32","statusReason","wasFollowing","performance","follow","back","_el$67","stick","_el$71","$$dblclick","$$pointerdown","_v$33","_v$34","_ref$2","_el$85","_v$35","_v$36","im","_v$37","_v$38","_v$39","sugg","shiftKey","clipboardData","_el$94","_ref$3","_aid","aid","_tmpl$67","_el$174","_el$251","_tmpl$87","_el$252","effortSupported","_tmpl$65","effortOptions","_el$253","alert","_tmpl$66","_tmpl$68","autoContinue","_tmpl$70","_tmpl$88","_tmpl$69","_tmpl$71","_el$255","_tmpl$89","_v$44","_v$45","_tmpl$90","_tmpl$72","_v$40","_v$41","audit","verdict","feedback","_tmpl$73","_tmpl$75","_el$203","_tmpl$74","_tmpl$76","_v$42","_v$43","_tmpl$77","_tmpl$78","latestProgress","_tmpl$91","_el$258","_tmpl$96","_el$259","_el$261","_el$274","_el$262","_tmpl$92","_el$264","_el$265","_tmpl$93","_el$267","_el$268","_tmpl$94","_el$270","_el$271","_tmpl$95","_el$273","_tmpl$79","_tmpl$82","_el$216","_el$225","_el$227","_el$228","_el$230","_tmpl$97","ctxVals","cv","modelMeta","effectiveWindow","pct","usedTokens","compactAt","derivedBudget","usingDerived","compactAtIsManual","fmtPct","isInteger","_el$276","_tmpl$101","_el$277","_el$279","_el$282","_el$287","_el$289","_el$290","_el$291","_el$296","_el$298","_el$283","_tmpl$98","_el$284","_el$285","_tmpl$99","_el$286","_v$46","_v$47","_el$292","_tmpl$100","_el$295","autoCompact","inputTokens","outputTokens","compactions","costUsd","_el$231","_tmpl$80","_el$233","costFmt","cachedInputTokens","_el$235","_tmpl$81","_el$237","_el$238","_el$239","_tmpl$84","_el$240","_el$242","_tmpl$83","_el$244","_el$299","_tmpl$102","_el$300","_el$301","_el$302","changing","_v$48","_v$49","_el$245","_tmpl$86","_el$247","_tmpl$85","_el$250","_tmpl$103","_el$304","_tmpl$105","_el$305","_el$306","_el$307","_el$310","_el$311","_el$312","_tmpl$104","_c$8","_v$50","_v$51","_tmpl$106","_el$314","_tmpl$108","_el$316","_el$317","_el$318","_el$319","_c$9","_el$320","_tmpl$107","_v$52","_v$53","_v$54","NewAgentModal","onCreated","afterCount","_el$321","_tmpl$110","_el$322","_el$325","_el$326","_el$323","_tmpl$109","_el$324","usd","toLocaleString","setDir","setEntries","setName","setProvider","setModel","browse","setParent","_el$327","_tmpl$112","_el$328","_el$331","_el$332","_el$333","_el$334","_el$335","_el$336","_el$338","_el$339","_el$341","_el$344","_el$346","_el$347","_tmpl$113","_el$349","_el$345","_tmpl$111"],"ignoreList":[0,1,27,28],"sources":["../../node_modules/.pnpm/solid-js@1.9.17/node_modules/solid-js/dist/solid.js","../../node_modules/.pnpm/solid-js@1.9.17/node_modules/solid-js/web/dist/web.js","../../frontend/md.js","../../frontend/lib/scroll-policy.ts","../../frontend/lib/retention.ts","../../frontend/lib/markdown.ts","../../frontend/lib/format.ts","../../frontend/lib/live-buffer.ts","../../frontend/lib/timeline-order.ts","../../frontend/lib/timeline.ts","../../frontend/lib/goal-timeline.ts","../../frontend/components/card.tsx","../../frontend/lib/theme-merge.ts","../../frontend/lib/bg-srcset.ts","../../frontend/lib/sidebar-tree.ts","../../frontend/lib/question-answered.ts","../../frontend/lib/pending-echo.ts","../../frontend/lib/session-index.ts","../../frontend/lib/textarea-size.ts","../../frontend/lib/session-scope.ts","../../frontend/lib/terminal-theme.ts","../../frontend/lib/model-selection.ts","../../frontend/lib/composer-ime.ts","../../frontend/lib/composer-size.ts","../../frontend/lib/agent-label.ts","../../frontend/lib/queued-count.ts","../../frontend/lib/theme-store.ts","../../node_modules/.pnpm/@xterm+xterm@6.0.0/node_modules/@xterm/xterm/lib/xterm.mjs","../../node_modules/.pnpm/@xterm+addon-fit@0.11.0/node_modules/@xterm/addon-fit/lib/addon-fit.mjs","../../frontend/lib/term-tabs.ts","../../frontend/lib/archive-target.ts","../../frontend/lib/composer-keys.ts","../../frontend/lib/clipboard.ts","../../frontend/components/chrome.tsx","../../frontend/lib/ansi.ts","../../frontend/lib/highlight-cache.ts","../../frontend/components/code.tsx","../../frontend/lib/themes-presets.ts","../../frontend/lib/api.ts","../../frontend/lib/theme-preview.ts","../../frontend/components/settings-parts.tsx","../../frontend/lib/flash.ts","../../frontend/lib/blob-url.ts","../../frontend/lib/timeline-row.ts","../../frontend/lib/row-grouping.ts","../../frontend/lib/shell-outcome.ts","../../frontend/lib/tool-output-lang.ts","../../frontend/lib/bash-timeout.ts","../../frontend/components/rows.tsx","../../frontend/lib/mcp-oauth-key.ts","../../frontend/lib/provider-presets.ts","../../frontend/lib/theme-slots.ts","../../frontend/components/ConfigModal.tsx","../../frontend/lib/file-tree.ts","../../frontend/components/FilesPanel.tsx","../../frontend/App.tsx","../../frontend/index.tsx"],"sourcesContent":["let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n maxDeadline = 0,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port1 = channel.port1,\n port = channel.port2;\n if (typeof port1.unref === \"function\") port1.unref();\n if (typeof port.unref === \"function\") port.unref();\n scheduleCallback = () => port.postMessage(null);\n port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n maxDeadline = currentTime + maxYieldInterval;\n try {\n const hasMoreWork = scheduledCallback(currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxDeadline;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = n + m >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;else if (cmp < 0) n = k - 1;else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined,\n effects: undefined,\n done: false,\n getContextId() {\n return getContextId(this.context.count);\n },\n getNextContextId() {\n return getContextId(this.context.count++);\n }\n};\nfunction getContextId(count) {\n const num = String(count),\n len = num.length - 1;\n return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: sharedConfig.getNextContextId(),\n count: 0\n };\n}\n\nconst IS_DEV = false;\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst SUPPORTS_PROXY = typeof Proxy === \"function\";\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(() => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n }, undefined, false, 0),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (typeof pFetcher === \"function\") {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n } else {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (Owner) onCleanup(() => {\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n if (Transition && pr) Transition.promises.delete(pr);\n pr = null;\n });\n if (sharedConfig.context) {\n id = sharedConfig.getNextContextId();\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n let error;\n const p = initP !== NO_INIT ? initP : untrack(() => {\n try {\n return fetcher(lookup, {\n value: value(),\n refetching\n });\n } catch (fetcherError) {\n error = fetcherError;\n }\n });\n if (error !== undefined) {\n loadEnd(pr, undefined, castError(error), lookup);\n return;\n } else if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"v\" in p) {\n if (p.s === 1) loadEnd(pr, p.v, undefined, lookup);else loadEnd(pr, undefined, castError(p.v), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e), lookup));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n let owner = Owner;\n if (dynamic) createComputed(() => (owner = Owner, load(false)));else load(false);\n return [read, {\n refetch: info => runWithOwner(owner, () => load(info)),\n mutate: setValue\n }];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(() => {\n if (!t || !t.fn) t = requestCallback(() => setDeferred(() => node.value), timeout !== undefined ? {\n timeout\n } : undefined);\n return source();\n }, undefined, true);\n const [deferred, setDeferred] = createSignal(Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, options);\n updateComputation(node);\n setDeferred(() => Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(p => {\n const v = source();\n for (const [key, val] of subs.entries()) if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n if (Transition && Transition.running) c.tState = STALE;else c.state = STALE;\n if (c.pure) Updates.push(c);else Effects.push(c);\n }\n }\n return v;\n }, undefined, true, STALE);\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if (l = subs.get(key)) l.add(listener);else subs.set(key, l = new Set([listener]));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(key, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null) ;else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t = Transition || (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => t.resolve = res));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let value;\n return Owner && Owner.context && (value = Owner.context[context.id]) !== undefined ? value : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()));\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const {\n factory: oldFactory,\n untrack: oldUntrack\n } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const observers = this.observers;\n if (!observers || observers[observers.length - 1] !== Listener) {\n const sSlot = observers ? observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (IS_DEV) ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n if (!Transition.sources.has(node)) node.value = nextValue;\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null) ;else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const sourceFn = c.fn;\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(sourceFn, trigger);\n onCleanup(() => ordinary.dispose());\n let inTransition;\n let trackedOrdinary = false;\n const triggerInTransition = () => startTransition(trigger).then(() => {\n if (inTransition) {\n inTransition.dispose();\n inTransition = undefined;\n if (!trackedOrdinary) trigger();\n }\n });\n c.fn = x => {\n track();\n if (Transition && Transition.running) {\n if (!inTransition) inTransition = ExternalSourceConfig.factory(sourceFn, triggerInTransition);\n return inTransition.track(x);\n }\n trackedOrdinary = true;\n return ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n }\n setHydrateContext();\n }\n if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;else o.state = PENDING;\n if (o.pure) Updates.push(o);else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n if (Transition && Transition.running && node.pure) {\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, owner && owner.owner || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects) Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n if (Array.isArray(result)) {\n if (result.length < 32768) results.push.apply(results, result);else for (let j = 0; j < result.length; j++) results.push(result[j]);\n } else {\n results.push(result);\n }\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n }), undefined);\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null) ;else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler = typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer, initalValue = undefined) {\n const [s, set] = createSignal(initalValue, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => \"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub());\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n newLen = newItems.length,\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n }\n else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [],\n newLen = newItems.length;\n newItems[$TRACK];\n return untrack(() => {\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newLen; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newLen;\n items = newItems.slice(0);\n return mapped = mapped.slice(0, len);\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || !!s && $PROXY in s;\n sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n }\n if (SUPPORTS_PROXY && proxy) {\n return new Proxy({\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n } : desc.value !== undefined ? desc : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const len = keys.length;\n if (SUPPORTS_PROXY && $PROXY in props) {\n const blocked = len > 1 ? keys.flat() : keys[0];\n const claimed = new Set();\n const res = keys.map(k => {\n const owned = k.filter(property => !claimed.has(property) && (claimed.add(property), true));\n return new Proxy({\n get(property) {\n return owned.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return owned.includes(property) && property in props;\n },\n keys() {\n return owned.filter(property => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.includes(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.includes(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.includes(k));\n }\n }, propTraps));\n return res;\n }\n const objects = [];\n for (let i = 0; i <= len; i++) {\n objects[i] = {};\n }\n for (const propName of Object.getOwnPropertyNames(props)) {\n let keyIndex = len;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].includes(propName)) {\n keyIndex = i;\n break;\n }\n }\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n isDefaultDesc ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);\n }\n return objects;\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const load = () => {\n if (!p) {\n const cur = p = fn();\n cur.then(mod => {\n comp = () => mod.default;\n }, () => {\n if (p === cur) p = undefined;\n });\n }\n return p;\n };\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n load().then(mod => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n }, err => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => () => {\n throw err;\n });\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => load().then(mod => mod.default));\n comp = s;\n onCleanup(() => comp = undefined);\n }\n let Comp;\n return createMemo(() => (Comp = comp?.()) ? untrack(() => {\n if (IS_DEV) ;\n if (!ctx || sharedConfig.done) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n }) : \"\");\n };\n wrap.preload = () => load();\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const conditionValue = createMemo(() => props.when, undefined, undefined);\n const condition = keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n return createMemo(() => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(keyed ? c : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return conditionValue();\n })) : child;\n }\n return props.fallback;\n }, undefined, undefined);\n}\nfunction Switch(props) {\n const chs = children(() => props.children);\n const switchFunc = createMemo(() => {\n const ch = chs();\n const mps = Array.isArray(ch) ? ch : [ch];\n let func = () => undefined;\n for (let i = 0; i < mps.length; i++) {\n const index = i;\n const mp = mps[i];\n const prevFunc = func;\n const conditionValue = createMemo(() => prevFunc() ? undefined : mp.when, undefined, undefined);\n const condition = mp.keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : undefined);\n }\n return func;\n });\n return createMemo(() => {\n const sel = switchFunc()();\n if (!sel) return props.fallback;\n const [index, conditionValue, mp] = sel;\n const child = mp.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n return conditionValue();\n })) : child;\n }, undefined, undefined);\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load) err = sharedConfig.load(sharedConfig.getContextId());\n const [errored, setErrored] = createSignal(err, undefined);\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(() => {\n let e;\n if (e = errored()) {\n const f = props.fallback;\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n }, undefined, undefined);\n}\n\nconst suspenseListEquals = (a, b) => a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = /* #__PURE__ */createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || next && tail === \"collapsed\" ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n }, {\n inFallback: false\n });\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.getContextId();\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.s !== 1) p = ref;else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(() => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n }, err => {\n error = err;\n set();\n });\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return flicker = undefined;\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {};\n if ((!inFallback || p && p !== \"$$f\") && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"F\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = undefined;\n\nexport { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, cancelCallback, catchError, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, indexArray, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };\n","import { createMemo, sharedConfig, createRenderEffect, createRoot, untrack, splitProps, getOwner, createEffect, runWithOwner, createSignal, onCleanup, enableHydration } from 'solid-js';\nexport { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';\n\nconst booleans = [\"allowfullscreen\", \"async\", \"alpha\",\n\"autofocus\",\n\"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\",\n\"indeterminate\", \"inert\",\n\"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\",\n\"selected\", \"adauctionheaders\",\n\"browsingtopics\",\n\"credentialless\",\n\"defaultchecked\", \"defaultmuted\", \"defaultselected\", \"defer\", \"disablepictureinpicture\", \"disableremoteplayback\", \"preservespitch\",\n\"shadowrootclonable\", \"shadowrootcustomelementregistry\",\n\"shadowrootdelegatesfocus\", \"shadowrootserializable\",\n\"sharedstoragewritable\"\n];\nconst Properties = /*#__PURE__*/new Set([\n\"className\", \"value\",\n\"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", \"adAuctionHeaders\",\n\"allowFullscreen\", \"browsingTopics\",\n\"defaultChecked\", \"defaultMuted\", \"defaultSelected\", \"disablePictureInPicture\", \"disableRemotePlayback\", \"preservesPitch\", \"shadowRootClonable\", \"shadowRootCustomElementRegistry\",\n\"shadowRootDelegatesFocus\", \"shadowRootSerializable\",\n\"sharedStorageWritable\",\n...booleans]);\nconst ChildProperties = /*#__PURE__*/new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /*#__PURE__*/Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {\n class: \"className\",\n novalidate: {\n $: \"noValidate\",\n FORM: 1\n },\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n },\n adauctionheaders: {\n $: \"adAuctionHeaders\",\n IFRAME: 1\n },\n allowfullscreen: {\n $: \"allowFullscreen\",\n IFRAME: 1\n },\n browsingtopics: {\n $: \"browsingTopics\",\n IMG: 1\n },\n defaultchecked: {\n $: \"defaultChecked\",\n INPUT: 1\n },\n defaultmuted: {\n $: \"defaultMuted\",\n AUDIO: 1,\n VIDEO: 1\n },\n defaultselected: {\n $: \"defaultSelected\",\n OPTION: 1\n },\n disablepictureinpicture: {\n $: \"disablePictureInPicture\",\n VIDEO: 1\n },\n disableremoteplayback: {\n $: \"disableRemotePlayback\",\n AUDIO: 1,\n VIDEO: 1\n },\n preservespitch: {\n $: \"preservesPitch\",\n AUDIO: 1,\n VIDEO: 1\n },\n shadowrootclonable: {\n $: \"shadowRootClonable\",\n TEMPLATE: 1\n },\n shadowrootdelegatesfocus: {\n $: \"shadowRootDelegatesFocus\",\n TEMPLATE: 1\n },\n shadowrootserializable: {\n $: \"shadowRootSerializable\",\n TEMPLATE: 1\n },\n sharedstoragewritable: {\n $: \"sharedStorageWritable\",\n IFRAME: 1,\n IMG: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : undefined : a;\n}\nconst DelegatedEvents = /*#__PURE__*/new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /*#__PURE__*/new Set([\n\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"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\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\",\n\"set\", \"stop\",\n\"svg\", \"switch\", \"symbol\", \"text\", \"textPath\",\n\"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/new Set([\"html\", \"base\", \"head\", \"link\", \"meta\", \"style\", \"title\", \"body\", \"address\", \"article\", \"aside\", \"footer\", \"header\", \"main\", \"nav\", \"section\", \"body\", \"blockquote\", \"dd\", \"div\", \"dl\", \"dt\", \"figcaption\", \"figure\", \"hr\", \"li\", \"ol\", \"p\", \"pre\", \"ul\", \"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"br\", \"cite\", \"code\", \"data\", \"dfn\", \"em\", \"i\", \"kbd\", \"mark\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\", \"wbr\", \"area\", \"audio\", \"img\", \"map\", \"track\", \"video\", \"embed\", \"iframe\", \"object\", \"param\", \"picture\", \"portal\", \"source\", \"svg\", \"math\", \"canvas\", \"noscript\", \"script\", \"del\", \"ins\", \"caption\", \"col\", \"colgroup\", \"table\", \"tbody\", \"td\", \"tfoot\", \"th\", \"thead\", \"tr\", \"button\", \"datalist\", \"fieldset\", \"form\", \"input\", \"label\", \"legend\", \"meter\", \"optgroup\", \"option\", \"output\", \"progress\", \"select\", \"textarea\", \"details\", \"dialog\", \"menu\", \"summary\", \"details\", \"slot\", \"template\", \"acronym\", \"applet\", \"basefont\", \"bgsound\", \"big\", \"blink\", \"center\", \"content\", \"dir\", \"font\", \"frame\", \"frameset\", \"hgroup\", \"image\", \"keygen\", \"marquee\", \"menuitem\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"rb\", \"rtc\", \"shadow\", \"spacer\", \"strike\", \"tt\", \"xmp\", \"a\", \"abbr\", \"acronym\", \"address\", \"applet\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"basefont\", \"bdi\", \"bdo\", \"bgsound\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"frame\", \"frameset\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"image\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"nobr\", \"noembed\", \"noframes\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"plaintext\", \"portal\", \"pre\", \"progress\", \"q\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"xmp\", \"input\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n\"webview\",\n\"isindex\", \"listing\", \"multicol\", \"nextid\", \"noindex\", \"search\"]);\n\nconst memo = fn => createMemo(() => fn());\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document ? code() : insert(element, code(), !init && element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n let node;\n const create = () => {\n const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n };\n const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n if (isHydrating(node)) return;\n if ((name === \"value\" || name === \"defaultValue\") && (node.nodeName === \"INPUT\" || node.nodeName === \"TEXTAREA\")) node[name] = value ?? \"\";else node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n if (isHydrating(node)) return;\n value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(\"class\");else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));\n } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction setStyleProperty(node, name, value) {\n value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n try {\n gatherHydratable(element, options.renderId);\n return render(code, element, [...element.childNodes], options);\n } finally {\n sharedConfig.context = null;\n }\n}\nfunction getNextElement(template) {\n let node,\n key,\n hydrating = isHydrating();\n if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (isHydrating(start)) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const {\n completed,\n events\n } = sharedConfig;\n if (!events) return;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n events.shift();\n eventHandler(e);\n }\n if (sharedConfig.done) {\n sharedConfig.events = _$HY.events = null;\n sharedConfig.completed = _$HY.completed = null;\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction isHydrating(node) {\n return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (prop.slice(0, 5) === \"bool:\") {\n setBoolAttribute(node, prop.slice(5), value);\n } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (isHydrating(node)) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else if ((prop === \"value\" || prop === \"defaultValue\") && (node.nodeName === \"INPUT\" || node.nodeName === \"TEXTAREA\"))\n node[propAlias || prop] = value ?? \"\";else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n if (sharedConfig.registry && sharedConfig.events) {\n if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n }\n let node = e.target;\n const key = `$$${e.type}`;\n const oriTarget = e.target;\n const oriCurrentTarget = e.currentTarget;\n const retarget = value => Object.defineProperty(e, \"target\", {\n configurable: true,\n value\n });\n const handleNode = () => {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n return true;\n };\n const walkUpTree = () => {\n while (handleNode() && (node = node._$host || node.parentNode || node.host));\n };\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n try {\n if (e.composedPath) {\n const path = e.composedPath();\n retarget(path[0]);\n for (let i = 0; i < path.length - 2; i++) {\n node = path[i];\n if (!handleNode()) break;\n if (node._$host) {\n node = node._$host;\n walkUpTree();\n break;\n }\n if (node.parentNode === oriCurrentTarget) {\n break;\n }\n }\n }\n else walkUpTree();\n retarget(oriTarget);\n } finally {\n e = node = null;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = isHydrating(parent);\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === undefined) return current = [...parent.childNodes];\n let node = array[0];\n if (node.parentNode !== parent) return current;\n const nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return current = nodes;\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false) ; else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n return sharedConfig.getNextContextId();\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false, is = undefined) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {\n is\n });\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const {\n useShadow\n } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(() => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.contains(container) && el.removeChild(container));\n }\n }, undefined, {\n render: !hydrating\n });\n return marker;\n}\nfunction createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(props));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));\n spread(el, props, isSvg);\n return el;\n }\n });\n}\nfunction Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}\n\nexport { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };\n","/**\n * Tiny dependency-free Markdown renderer (plain ES module, no build step).\n * Strategy: escape ALL HTML first, then apply a small set of block/inline\n * rules on the escaped text. Output is XSS-safe because raw <,>,& in input\n * can never survive as markup.\n *\n * Blocks: fenced code (3+ backticks, info string kept as a language class) ·\n * headings #–###### · ul/ol incl. one-level nesting, loose lists & task items ·\n * GFM pipe tables (alignment, escaped pipes) · blockquotes · horizontal rules ·\n * paragraphs.\n * Inline: code spans (protected), images, links, bare autolinks, ***bold-\n * italic***, **bold**, __bold__, *em*, _em_, ~~strike~~.\n *\n * ## Deliberate divergences from CommonMark\n *\n * Written down because \"is this a bug or a choice?\" comes up every time, and an\n * undocumented choice gets re-reported as a defect.\n *\n * - **A newline inside a paragraph is `<br>`.** CommonMark says a soft break is a\n * space. This renders CHAT: an operator typing three short lines means three lines,\n * and collapsing them loses meaning that no amount of spec compliance gives back.\n * - **Not supported, on purpose**: setext headings, indented code blocks, reference\n * links, backslash escapes (other than `\\|` in tables), multi-backtick code spans,\n * and raw HTML passthrough. Each is either rare in chat or an XSS surface, and the\n * escape-first design is what makes the renderer safe to point at model output.\n * - **Tab width in `indentOf` is 2, not CommonMark's 4.** Model output is usually\n * two-space indented, and honouring 4 would stop most real nested lists from\n * nesting at all.\n * - **A row is a table before it is a list item**, so `- a | b` followed by a\n * separator row becomes a table. Rare, and the alternative misparses far more\n * common input.\n */\nconst LIST_ITEM = /^(\\s*)([-*+]|\\d+[.)])\\s+(.*)$/;\n\n/** Public entry: escape everything up front, then structure the lines. */\nexport function renderMarkdown(src) {\n return renderEscaped(escapeHtml(src.replace(/\\r\\n/g, \"\\n\")).split(\"\\n\"));\n}\n\n/**\n * Structure already-escaped lines into HTML. Blockquote recursion calls this\n * directly so inner content is never double-escaped.\n */\nfunction renderEscaped(lines) {\n const out = [];\n let i = 0;\n while (i < lines.length) {\n const line = lines[i];\n // fenced code block. The info string may be any non-whitespace run\n // (`js`, `/subject/why-qa`, `text .txt`…) — the old /\\w*/ pattern rejected\n // slash-y pseudo-paths, which made the line fall through to paragraph\n // handling and HANGED the renderer on such chats.\n const fence = line.match(/^(`{3,})([^\\n]*)$/);\n if (fence && !/^```.+\\`\\`\\`/.test(line)) {\n const ticks = fence[1].length;\n // The INFO STRING is kept as a class, which is what makes syntax highlighting\n // possible at all — it used to be discarded, so every block rendered unhighlighted.\n const info = fence[2].trim().split(/\\s+/)[0] ?? \"\";\n const buf = [];\n i++;\n // A fence closes with AT LEAST as many backticks as opened it. Matching exactly\n // three meant a four-backtick fence never closed and ran to EOF — and the case\n // people write it for is nesting a ``` block inside one.\n const close = new RegExp(\"^`{\" + ticks + \",}\\\\s*$\");\n while (i < lines.length && !close.test(lines[i])) buf.push(lines[i++]);\n i++; // closing fence (may be missing — unclosed fence just runs to EOF)\n // the language class is escaped like any other attribute value\n const cls = info ? ` class=\"language-${info.replace(/[^\\w+#.-]/g, \"\")}\"` : \"\";\n out.push(`<pre><code${cls}>${buf.join(\"\\n\")}</code></pre>`);\n continue;\n }\n // horizontal rule (before list: *** / --- would otherwise look like items)\n if (/^ {0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/.test(line)) {\n out.push(\"<hr>\");\n i++;\n continue;\n }\n // heading (# through ###### → h1–h6)\n const h = line.match(/^(#{1,6})\\s+(.*)$/);\n if (h) {\n out.push(`<h${h[1].length}>${inline(h[2])}</h${h[1].length}>`);\n i++;\n continue;\n }\n // blockquote (recursive → nested quotes/lists/tables all work);\n // escapeHtml turned \">\" into \">\", so match the escaped marker\n if (/^\\s*>/.test(line)) {\n const buf = [];\n while (i < lines.length && /^\\s*>/.test(lines[i])) buf.push(lines[i++].replace(/^\\s*>\\s?/, \"\"));\n out.push(`<blockquote>${renderEscaped(buf)}</blockquote>`);\n continue;\n }\n // table (GFM): header row containing |, then a --- separator row\n if (line.includes(\"|\") && i + 1 < lines.length && isSeparatorRow(lines[i + 1])) {\n const align = splitRow(lines[i + 1]).map((c) =>\n c.startsWith(\":\") && c.endsWith(\":\") ? \"center\" : c.endsWith(\":\") ? \"right\" : \"left\",\n );\n const head = splitRow(line);\n i += 2;\n const rows = [];\n while (i < lines.length && /\\S/.test(lines[i]) && lines[i].includes(\"|\")) {\n rows.push(splitRow(lines[i]));\n i++;\n }\n const cell = (c, idx, tag) => {\n const a = align[idx];\n const style = a && a !== \"left\" ? ` style=\"text-align:${a}\"` : \"\";\n return `<${tag}${style}>${inline(c)}</${tag}>`;\n };\n // A header row of nothing but blank cells is a legal GFM table, and\n // cmark-gfm does render a <thead> for it — but visually it is a bare\n // strip of dark cells and a border above the real content, reading as a\n // stray empty row rather than as column headings. It also happens by\n // accident whenever someone pipes a table out of a tool whose header is\n // empty. So: keep the table, drop the meaningless <thead> entirely.\n // Only when EVERY cell is blank — a table with one real heading still\n // needs its header, and a partially-blank one keeps the blanks so the\n // real columns stay aligned over their data.\n const hasHeader = head.some((c) => c !== \"\");\n out.push(\n `<div class=\"tbl\"><table>` +\n (hasHeader ? `<thead><tr>${head.map((c, k) => cell(c, k, \"th\")).join(\"\")}</tr></thead>` : \"\") +\n `<tbody>${rows.map((r) => `<tr>${r.map((c, k) => cell(c, k, \"td\")).join(\"\")}</tr>`).join(\"\")}</tbody></table></div>`,\n );\n continue;\n }\n // list (ul/ol, task items, one level of nesting via indentation)\n if (LIST_ITEM.test(line)) {\n out.push(parseList(indentOf(line.match(LIST_ITEM)[1])));\n continue;\n }\n // blank line\n if (/^\\s*$/.test(line)) {\n i++;\n continue;\n }\n // paragraph\n //\n // TERMINATION IS THE WHOLE CONTRACT HERE. Every branch in this loop must\n // consume at least one line, or the outer `while` re-reads the same line\n // forever. A line can match a guard ABOVE (which therefore declines it) and\n // still match one of these — \"```js```\" opens a fence but also contains\n // its own closer, so the fence branch skips it, and then the paragraph loop\n // skips it for starting with ```. Nothing consumed it. That hung the whole\n // browser tab, growing `out` by one empty <p> per spin, and it was\n // reachable from ordinary model output: a reply that typed an inline fence\n // (```js```) while streaming.\n //\n // So: if the paragraph is empty and we are still on the line we started\n // from, consume it unconditionally rather than spinning. A stray ``` is\n // better rendered as a paragraph than as a hang.\n const startLine = i;\n const para = [];\n while (\n i < lines.length &&\n !/^\\s*$/.test(lines[i]) &&\n !/^#{1,6}\\s/.test(lines[i]) &&\n !lines[i].startsWith(\"```\") &&\n !/^ {0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/.test(lines[i]) &&\n !/^\\s*>/.test(lines[i]) &&\n !LIST_ITEM.test(lines[i]) &&\n !(lines[i].includes(\"|\") && i + 1 < lines.length && isSeparatorRow(lines[i + 1]))\n ) {\n para.push(lines[i++]);\n }\n if (i === startLine) para.push(lines[i++]);\n out.push(`<p>${para.map(inline).join(\"<br>\")}</p>`);\n }\n return out.join(\"\\n\");\n\n function indentOf(ws) {\n return ws.replace(/\\t/g, \" \").length;\n }\n\n /** Consumes list lines from i onward; returns HTML. One nesting level. */\n function parseList(minIndent) {\n let ordered = null;\n /** the first item's number, so `<ol start=\"3\">` survives (it used to be dropped) */\n let start = 1;\n const items = [];\n while (i < lines.length) {\n const m = lines[i].match(LIST_ITEM);\n if (!m) break;\n const ind = indentOf(m[1]);\n if (ind < minIndent) break;\n const ol = /^\\d/.test(m[2]);\n if (ordered === null) ordered = ol;\n else if (ol !== ordered) break; // marker type changed → close this list\n if (ordered && items.length === 0) {\n const n = Number.parseInt(m[2], 10);\n // CommonMark: the list starts at the first item's number (any other numbers are\n // ignored, which is why only the FIRST is read)\n if (Number.isFinite(n)) start = n;\n }\n i++;\n let body = m[3];\n // folded continuation lines (wrapped text belonging to this item)\n //\n // Every BLOCK-STARTING construct must end the item, or the block is swallowed as\n // item text. MEASURED: \"- item\\n---\" produced `<li>item ---</li>` instead of an\n // `<hr>`, and a table directly under a list was absorbed the same way. Headings,\n // fences and quotes were already excluded — these two were the hole.\n while (\n i < lines.length &&\n /\\S/.test(lines[i]) &&\n !LIST_ITEM.test(lines[i]) &&\n !/^#{1,6}\\s/.test(lines[i]) &&\n !lines[i].startsWith(\"```\") &&\n !/^\\s*>/.test(lines[i]) &&\n // a thematic break (the same predicate the block loop uses, so they agree)\n !/^ {0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/.test(lines[i]) &&\n /**\n * A `=====` fence line ends the item too.\n *\n * The harness wraps the goal in `=====` fences (`autoContinueNudge`), so a goal whose last\n * line is a bullet produced \"- last item\" followed by \"=====\". That `=` line is not a\n * thematic break and not a heading marker this renderer knows, so it was folded into the\n * item as text and rendered as \"・ last item =====\" — reported as \"goalとかが箇条書きだった\n * ときに…実際に描画されるのは `・ last item =====`\".\n *\n * Matched here as a block boundary rather than teaching the renderer setext headings: the\n * fences are decoration around a value, and turning a trailing `=====` into an <h1> would\n * be a worse rendering of the same input.\n */\n !/^ {0,3}={3,}\\s*$/.test(lines[i]) &&\n // a table START: this line has a pipe and the NEXT is a separator row\n !(lines[i].includes(\"|\") && i + 1 < lines.length && isSeparatorRow(lines[i + 1]))\n ) {\n body += \" \" + lines[i].trim();\n i++;\n }\n // nested list deeper-indented than this item?\n let sub = \"\";\n const n = lines[i]?.match(LIST_ITEM);\n if (n && indentOf(n[1]) > ind) sub = parseList(indentOf(n[1]));\n // task-list checkbox\n const task = body.match(/^\\[( |x|X)\\]\\s+(.*)$/);\n const box = task\n ? `<input type=\"checkbox\" disabled${task[1].toLowerCase() === \"x\" ? \" checked\" : \"\"}> `\n : \"\";\n items.push(`<li>${box}${inline(task ? task[2] : body)}${sub}</li>`);\n // A BLANK line between items makes a LOOSE list — still one list. Without this the\n // list ended at the blank line and the next item started a second one, and (because\n // the blank line was then consumed as an empty paragraph) the FIRST item was lost\n // entirely: \"- a\\n\\n- b\" rendered as a single <ul> containing \"b\".\n //\n // Only skip the blanks when the next non-blank line is another item at this depth;\n // otherwise the list really has ended and the blank line belongs to what follows.\n let look = i;\n while (look < lines.length && !/\\S/.test(lines[look])) look++;\n const nextItem = lines[look]?.match(LIST_ITEM);\n if (look > i && nextItem && indentOf(nextItem[1]) === ind && /^\\d/.test(nextItem[2]) === ordered) {\n i = look;\n }\n }\n // `<ol start=\"N\">` only when the list does not begin at 1 — the attribute is\n // redundant otherwise, and emitting it always would churn every ordered list.\n if (!ordered) return `<ul>${items.join(\"\")}</ul>`;\n return start === 1\n ? `<ol>${items.join(\"\")}</ol>`\n : `<ol start=\"${start}\">${items.join(\"\")}</ol>`;\n }\n\n function inline(s) {\n // protect code spans from further processing. The placeholder uses a\n // private-use char + sentinel pair; literal NULs in the source were a\n // collision (user text containing \\u0000<digits>\\u0000 swapped in another\n // span's HTML). escapeHtml keeps them, so strip before placeholdering.\n const codes = [];\n s = s.replace(/\\u0000/g, \"\");\n s = s.replace(/`([^`]+)`/g, (_, c) => {\n codes.push(`<code>${c}</code>`);\n return `\\ue000${codes.length - 1}\\uE001`;\n });\n // LINKS AND IMAGES are placeholdered too, for the same reason as code spans: the\n // HTML they produce must not be re-scanned by the passes below.\n //\n // Measured: `[https://example.com](https://example.com)` produced\n // <a href=\"…\"><a href=\"…\">https://example.com</a></a>\n // because the autolink pass ran afterwards and its lookbehind\n // `(?<![\"'=\\w])` accepts the `>` that ends `<a href=\"…\">`. Nested <a> is invalid\n // HTML, so the browser closes the outer one early and the rest of the row's markup\n // lands outside it.\n //\n // Image first: `` must not have its inner part claimed by the link rule.\n s = s.replace(\n /!\\[([^\\]]*)\\]\\((https?:\\/\\/[^)\\s]+)(?:\\s+"[^)]*")?\\)/g,\n (_, alt, url) => {\n codes.push(`<img src=\"${url}\" alt=\"${alt}\" loading=\"lazy\">`);\n return `\\ue000${codes.length - 1}\\uE001`;\n },\n );\n s = s.replace(\n /\\[([^\\]]+)\\]\\((https?:\\/\\/[^)\\s]+)(?:\\s+"[^)]*")?\\)/g,\n (_, text, url) => {\n codes.push(`<a href=\"${url}\" rel=\"noopener noreferrer\" target=\"_blank\">${text}</a>`);\n return `\\ue000${codes.length - 1}\\uE001`;\n },\n );\n // bare autolinks (skip anything already inside an attribute/text)\n s = s.replace(\n /(?<![\"'=\\w])(https?:\\/\\/[^\\s<>\"')\\]]*[^\\s<>\"')\\].,;:!?\"')\\]])/g,\n '<a href=\"$1\">$1</a>',\n );\n // emphasis — triple first, then bold, then italic; permissive about inner\n // spaces so half-written streaming text and \"** spaced **\" both work\n s = s.replace(/\\*\\*\\*([\\s\\S]+?)\\*\\*\\*/g, \"<strong><em>$1</em></strong>\");\n s = s.replace(/\\*\\*([\\s\\S]+?)\\*\\*/g, \"<strong>$1</strong>\");\n s = s.replace(/(^|[^\\w])__(?=\\S)([\\s\\S]*?\\S)__(?!\\w)/g, \"$1<strong>$2</strong>\");\n s = s.replace(/(^|[^\\w*])\\*(?!\\s)([^*\\n]+?)\\*(?![\\w*])/g, \"$1<em>$2</em>\");\n s = s.replace(/(^|[^\\w])_(?!\\s)([^_\\n]+?)_(?!\\w)/g, \"$1<em>$2</em>\");\n s = s.replace(/~~([\\s\\S]+?)~~/g, \"<del>$1</del>\");\n // eslint-disable-next-line no-control-regex\n return s.replace(/\\ue000(\\d+)\\ue001/g, (_, k) => codes[+k] ?? \"\");\n }\n}\n\n/**\n * Split a table row into cells.\n *\n * A pipe is a cell boundary only when it is NOT:\n * - escaped as `\\|` → a literal pipe, and\n * - inside a CODE SPAN, where it is ordinary text.\n *\n * The code-span rule deliberately mirrors `inline()`'s `/`([^`]+)`/g exactly.\n * The two must agree, or a cell is split at a place the inline renderer treats\n * as code — which is how `| `N| ` gutter |` came out as four columns instead of\n * two, and how `` `a|b` `` lost its code formatting. GFM agrees: inside a code\n * span a pipe is content, and the only escape needed is `\\|`.\n *\n * Note the escaped pipe is also suppressed INSIDE a span: `` `a\\|b` `` is the\n * documented way to write a pipe in code, and the backslash there is the\n * author's, not markup.\n */\nfunction splitRow(line) {\n let s = line.trim();\n if (s.startsWith(\"|\")) s = s.slice(1);\n const cells = [];\n let cur = \"\";\n for (let k = 0; k < s.length; k++) {\n const ch = s[k];\n if (ch === \"\\\\\" && s[k + 1] === \"|\") {\n // a literal pipe, inside a span or out\n cur += \"|\";\n k++;\n continue;\n }\n if (ch === \"`\") {\n // Only enter a span if it actually CLOSES. `inline()` uses\n // /`([^`]+)`/g, so an unclosed backtick is literal text THERE — if we\n // treated it as a span here, this row would keep every pipe to its end\n // and merge columns the inline renderer does consider separate. A\n // half-open span is the exact disagreement this fix exists to remove,\n // so a span must be complete on BOTH ends before any pipe is\n // suppressed.\n const close = s.indexOf(\"`\", k + 1);\n if (close !== -1) {\n // The span is copied so its pipes are not boundaries — but the ESCAPE must be\n // resolved inside it too. GFM renders `a\\|b` in a code span as `a|b`, and\n // copying verbatim left the backslash visible (`<code>a\\|b</code>`).\n cur += s.slice(k, close + 1).replace(/\\\\\\|/g, \"|\");\n k = close;\n continue;\n }\n cur += ch;\n continue;\n }\n if (ch === \"|\" && k === s.length - 1) break; // trailing pipe\n if (ch === \"|\") {\n cells.push(cur.trim());\n cur = \"\";\n continue;\n }\n cur += ch;\n }\n cells.push(cur.trim());\n return cells.filter((c, idx) => !(c === \"\" && idx === cells.length - 1 && s.endsWith(\"|\")));\n}\n\n/** `| --- | :--: |` — the second row of a GFM table. */\nfunction isSeparatorRow(line) {\n const s = line.trim();\n if (!s.includes(\"|\") || !s.includes(\"-\")) return false;\n const cells = splitRow(s);\n return cells.every((c) => /^:?-+:?$/.test(c)) && cells.some((c) => c !== \"\");\n}\n\nfunction escapeHtml(s) {\n return s\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/\"/g, \""\");\n}\n","\nexport type TailSample = Viewport;\n\nexport interface Viewport {\n top: number;\n height: number;\n viewport: number;\n}\n\nexport const AT_TAIL_PX = 24;\n\nexport const STICKY_PX = 64;\n\nexport function floorOf(v: Viewport): number {\n return Math.max(0, v.height - v.viewport);\n}\n\n/**\n * How far the viewport is from the tail, in CSS pixels.\n *\n * CAN BE NEGATIVE in one direction only, which is why it is clamped rather than trusted: MEASURED on the\n * operator's live session, `scrollHeight - scrollTop - clientHeight` came out as **-0.25** because\n * `scrollTop` is fractional while `scrollHeight` and `clientHeight` are integers rounded to the nearest\n * pixel. A caller that compared this to 0 with `>` would then think the viewport was flush when it was\n * a quarter-pixel past, and one that used the raw value as a distance would pin in the wrong direction.\n */\nexport function distanceToTail(v: Viewport | null | undefined): number {\n if (!v) return Number.POSITIVE_INFINITY;\n return Math.max(0, v.height - v.top - v.viewport);\n}\n\n/** is the viewport already flush, allowing for the sub-pixel rounding `scrollTop` can overshoot by? */\nexport function isFlush(v: Viewport | null | undefined, epsilon = 0.5): boolean {\n if (!v) return false;\n return Math.abs(v.height - v.top - v.viewport) <= epsilon;\n}\n\nexport function atTail(v: Viewport | null | undefined, tolerance = AT_TAIL_PX): boolean {\n if (!v) return false;\n return distanceToTail(v) <= tolerance;\n}\n\nexport type ScrollCause = \"reader\" | \"programmatic\" | \"layout\";\n\nexport function classifyScroll(\n now: Viewport,\n ledger: { top: number; height: number } | null,\n lastHeight: number | undefined,\n lastViewport?: number,\n): ScrollCause {\n if (lastViewport !== undefined && Math.abs(now.viewport - lastViewport) > 0.5) return \"layout\";\n if (lastHeight !== undefined && Math.abs(now.height - lastHeight) > 0.5) return \"layout\";\n if (ledger) {\n const expected = Math.min(ledger.top, floorOf(now));\n if (Math.abs(now.top - expected) <= 0.5) return \"programmatic\";\n }\n return \"reader\";\n}\n\nexport function shouldPin(following: boolean, v: Viewport): boolean {\n if (!following) return false;\n return distanceToTail(v) <= STICKY_PX;\n}\n\n/**\n * Should we keep following the tail after this scroll event?\n *\n * A `reader` gesture is the operator's own hand, and it wins: if they scrolled UP even by 2px, follow\n * must stop, or the next `pinToTail()` shoves them back. MEASURED, this was the report —\n * \"生成中に上側に人力でスクロールしようとすると押し戻される\" (#188): the old rule returned\n * `atTail(v)`, and `atTail` allows 24px of slack, so every small upward scroll inside that window kept\n * `following` true and the tail re-pinned underneath them.\n *\n * So the reader case needs BOTH: still at the very bottom, AND not moving away from it. `previousTop`\n * is what makes \"moving away\" observable — a `Viewport` alone cannot say which way they went.\n */\nexport function nextFollowing(\n following: boolean,\n cause: ScrollCause,\n v: Viewport,\n previousTop?: number,\n): boolean {\n if (cause !== \"reader\") {\n return following || atTail(v);\n }\n const movedUp = previousTop !== undefined && v.top < previousTop - 0.5;\n if (movedUp) return false;\n return atTail(v);\n}\n\n/**\n * Should the settle pass re-assert the pin?\n *\n * `scrollTop = scrollHeight` lands on the exact fractional maximum, but the layout can move afterwards\n * — a scrollbar appearing, the composer growing, a font or image finishing — leaving the viewport a\n * fraction short. Reported as \"1秒後に1pxくらいスクロールが戻される\" (#188 follow-up).\n *\n * The threshold is HALF A PIXEL, not the 24px used for \"is the reader at the tail\": that tolerance is\n * about intent, this one is about arithmetic. And it is gated on `following`, so a reader who scrolled\n * up is never pulled back.\n */\nexport function needsSettlePin(following: boolean, v: Viewport, epsilon = 0.5): boolean {\n if (!following) return false;\n return distanceToTail(v) > epsilon;\n}\n\nexport function shouldShowJumpToPresent(following: boolean, v: Viewport): boolean {\n return !following && !atTail(v);\n}\n\nexport const gapToTail = distanceToTail;\n","/**\n * Bounded retention for per-session caches.\n *\n * The frontend keeps a few sessions' timelines so switching back is instant. Two things made that a\n * leak (#186):\n *\n * 1. the budget was in BYTES but measured on the strings only, while a retained entry is a graph of\n * objects — MEASURED at 1.5-3x the character count;\n * 2. eviction only ran on ONE path (the session switch), so an entry added anywhere else was never\n * reconsidered.\n *\n * Both are handled here so there is a single place to get it right: `evict()` is called after every\n * insertion, and `weigh()` is the caller's honest estimate of what an entry costs.\n */\nexport interface Weighed {\n bytes: number;\n at: number;\n}\n\n/**\n * Drop entries until both the count and the byte budget fit.\n *\n * Oldest first by `at`, so the operator's recent back-and-forth survives. Mutates `map` and returns the\n * number of entries dropped, which makes \"did this actually evict?\" assertable rather than assumed.\n */\nexport function evictOver<M extends Map<string, V>, V extends Weighed>(\n map: M,\n limits: { maxEntries: number; maxBytes: number },\n): number {\n let dropped = 0;\n const totalBytes = (): number => {\n let n = 0;\n for (const v of map.values()) n += v.bytes;\n return n;\n };\n while (map.size > limits.maxEntries || totalBytes() > limits.maxBytes) {\n let oldestKey: string | undefined;\n let oldestAt = Number.POSITIVE_INFINITY;\n for (const [k, v] of map) {\n if (v.at < oldestAt) {\n oldestAt = v.at;\n oldestKey = k;\n }\n }\n // a single entry larger than the whole budget would otherwise loop forever\n if (oldestKey === undefined) break;\n map.delete(oldestKey);\n dropped++;\n if (map.size === 0) break;\n }\n return dropped;\n}\n\n/**\n * An honest size estimate for a JSON-shaped value.\n *\n * `JSON.stringify(...).length` would allocate the very string we are trying to avoid; walking the\n * object costs nothing extra and counts the KEYS too, which are a real part of the retained size.\n * MEASURED against a heap snapshot on a 2000-event feed, this is within ~20% for these shapes — enough\n * to keep a budget meaningful, which is all it needs to be.\n */\nexport function weighJson(value: unknown, depth = 0): number {\n if (depth > 8) return 8;\n if (value === null || value === undefined) return 4;\n switch (typeof value) {\n case \"string\":\n // JS strings are UTF-16: 2 bytes per code unit, plus a header\n return 16 + value.length * 2;\n case \"number\":\n case \"boolean\":\n return 8;\n case \"object\": {\n if (Array.isArray(value)) {\n let n = 16;\n for (const v of value) n += weighJson(v, depth + 1);\n return n;\n }\n let n = 16;\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\n n += 8 + k.length * 2 + weighJson(v, depth + 1);\n }\n return n;\n }\n default:\n return 8;\n }\n}\n","import { renderMarkdown } from \"../md\";\n\n/**\n * Rendered markdown, cached by SOURCE TEXT.\n *\n * That key is the whole message body, so a tool result of 8,000 chars costs its own 16KB plus the\n * roughly 1.6x that the HTML occupies — 500 entries of those is over 20MB retained for text that may\n * never scroll into view again (#186). The cap is on BYTES now, and the entry count stays as a second\n * bound for the many-small-messages case.\n */\nconst mdCache = new Map<string, string>();\nlet mdCacheBytes = 0;\nconst MD_CACHE_MAX_ENTRIES = 500;\nconst MD_CACHE_MAX_BYTES = 4 * 1024 * 1024;\n\nexport function renderMarkdownCached(src: string): string {\n const hit = mdCache.get(src);\n if (hit !== undefined) return hit;\n const html = renderMarkdown(src);\n mdCache.set(src, html);\n mdCacheBytes += (src.length + html.length) * 2;\n while ((mdCache.size > MD_CACHE_MAX_ENTRIES || mdCacheBytes > MD_CACHE_MAX_BYTES) && mdCache.size) {\n const oldest = mdCache.keys().next().value;\n if (oldest === undefined) break;\n const gone = mdCache.get(oldest) ?? \"\";\n mdCacheBytes -= (oldest.length + gone.length) * 2;\n mdCache.delete(oldest);\n }\n return html;\n}\n","\nexport function fmtDur(ms: number | undefined | null): string {\n if (ms === undefined || ms === null || !Number.isFinite(ms)) return \"?\";\n const n = Math.max(0, ms);\n if (n < 1_000) return `${Math.round(n)}ms`;\n if (n < 60_000) {\n const tenths = Math.floor(n / 100) / 10;\n return `${tenths.toFixed(1)}s`;\n }\n const totalSecs = Math.round(n / 1000);\n if (totalSecs < 3600) {\n const m = Math.floor(totalSecs / 60);\n const s = totalSecs % 60;\n return s ? `${m}m ${s}s` : `${m}m`;\n }\n const totalMins = Math.round(totalSecs / 60);\n const h = Math.floor(totalMins / 60);\n const m = totalMins % 60;\n return m ? `${h}h ${m}m` : `${h}h`;\n}\n\nexport function truncate(s: string, n: number): string {\n return s.length > n ? s.slice(0, n) + \" …\" : s;\n}\n\nexport function relTime(iso: string): string {\n const ms = new Date(iso).getTime() - Date.now();\n const abs = Math.abs(ms);\n const unit =\n abs < 90_000 ? `${Math.round(abs / 1000)}s`\n : abs < 5_400_000 ? `${Math.round(abs / 60_000)}m`\n : `${(abs / 3_600_000).toFixed(1)}h`;\n return ms >= 0 ? `in ${unit}` : `${unit} ago`;\n}\n","\nexport interface LiveBuf {\n text: string;\n reasoning: string;\n at: number;\n}\n\nexport function applyDelta(\n prev: Map<string, LiveBuf>,\n agentId: string,\n patch: { text?: string; reasoning?: string },\n now = Date.now(),\n): Map<string, LiveBuf> {\n const m = new Map(prev);\n m.set(agentId, {\n text: patch.text ?? \"\",\n reasoning: patch.reasoning ?? \"\",\n at: now,\n });\n return m;\n}\n\nexport function clearLive(prev: Map<string, LiveBuf>, agentId: string): Map<string, LiveBuf> {\n if (!prev.has(agentId)) return prev;\n const m = new Map(prev);\n m.delete(agentId);\n return m;\n}\n\nexport function isTurnBoundary(ev: unknown): boolean {\n const e = ev as { type?: string; data?: { detail?: string } } | null;\n return e?.type === \"state\" && e.data?.detail === \"llm turn start\";\n}\n\nexport function isLiveStatus(status: string | undefined): boolean {\n return status === \"running\" || status === \"waiting\" || status === \"needs_operator\";\n}\n\nexport interface LiveBufferStatus {\n textCovered: boolean;\n reasoningStale: boolean;\n}\n\nexport function liveBufferStatus(\n buf: LiveBuf,\n events: { type?: string; ts?: string; data?: { role?: string; content?: string } }[],\n status: string | undefined,\n): LiveBufferStatus {\n const text = buf.text.trim();\n const assistant = assistantTexts(events);\n const live = isLiveStatus(status);\n return {\n textCovered: !text || assistant.has(text),\n reasoningStale:\n !buf.reasoning.trim() ||\n loggedReasoning(events).has(buf.reasoning.trim()) ||\n (live && startedToolCallSince(events, buf.at)),\n };\n}\n\nexport function liveBufferRemainder(\n buf: LiveBuf,\n events: { type?: string; ts?: string; data?: { role?: string; content?: string } }[],\n status: string | undefined,\n): { text: string; reasoning: string; live: boolean; empty: boolean } {\n const st = liveBufferStatus(buf, events, status);\n const text = st.textCovered ? \"\" : buf.text;\n const reasoning = st.reasoningStale ? \"\" : buf.reasoning;\n const live = isLiveStatus(status);\n const nothingPending = !text.trim() && !reasoning.trim();\n const sawContent = !!buf.text.trim() || !!buf.reasoning.trim();\n return { text, reasoning, live, empty: nothingPending && (!live || sawContent) };\n}\n\nexport function isCoveredByLog(\n buf: LiveBuf | null | undefined,\n events: { type?: string; ts?: string; data?: { role?: string; content?: string } }[],\n status: string | undefined,\n): boolean {\n if (!buf) return false;\n return liveBufferRemainder(buf, events, status).empty;\n}\n\nfunction startedToolCallSince(\n events: { type?: string; ts?: string }[],\n at: number,\n): boolean {\n if (!at) return false;\n return events.some((e) => {\n if (e.type !== \"tool_call\") return false;\n const t = Date.parse(String(e.ts ?? \"\"));\n return Number.isFinite(t) && t > at;\n });\n}\n\nfunction loggedReasoning(\n events: { data?: { reasoning?: unknown } }[] | readonly { data?: unknown }[],\n): Set<string> {\n const out = new Set<string>();\n for (const e of events) {\n const r = String((e.data as { reasoning?: unknown } | undefined)?.reasoning ?? \"\").trim();\n if (r) out.add(r);\n }\n return out;\n}\n\nfunction assistantTexts(events: { type?: string; data?: { role?: string; content?: string } }[]): Set<string> {\n const out = new Set<string>();\n for (const e of events) {\n if (e.type === \"message\" && e.data?.role === \"assistant\") out.add(String(e.data.content ?? \"\").trim());\n }\n return out;\n}\n\nexport function isOwnLiveWork(row: { data?: { actor?: unknown } } | null | undefined): boolean {\n if (!row) return false;\n const actor = row.data?.actor;\n return !(typeof actor === \"string\" && actor.length > 0);\n}\n\nexport function pruneDeadLiveBuffers<T>(\n buffers: ReadonlyMap<string, T>,\n statusOf: (agentId: string) => string | undefined,\n): Map<string, T> {\n const doomed: string[] = [];\n for (const id of buffers.keys()) {\n const st = statusOf(id);\n if (st === undefined) continue; \n if (isLiveStatus(st)) continue; \n doomed.push(id);\n }\n if (doomed.length === 0) return buffers as Map<string, T>;\n const out = new Map(buffers);\n for (const id of doomed) out.delete(id);\n return out;\n}\n\nexport function reconcileLiveBuffer(\n buf: LiveBuf | null | undefined,\n events: { type?: string; ts?: string; data?: { role?: string; content?: string } }[],\n status: string | undefined,\n): LiveBuf | null {\n if (!buf) return null;\n const rest = liveBufferRemainder(buf, events, status);\n if (rest.empty) return null;\n if (rest.text === buf.text && rest.reasoning === buf.reasoning) return buf;\n return { text: rest.text, reasoning: rest.reasoning, at: buf.at };\n}\n\nexport function clearThinkClockIfDone(\n startedAt: number,\n agents: readonly { id: string; status?: string; session?: string }[],\n selected: string | null | undefined,\n live: { text: string; reasoning: string } | null | undefined,\n): number {\n if (!startedAt) return 0; \n if (live) return startedAt;\n if (!selected) return 0;\n const a = agents.find((x) => x.id === selected);\n if (a?.status === \"running\" || a?.status === \"waiting\" || a?.status === \"needs_operator\") {\n return startedAt;\n }\n return 0;\n}\n","\nexport interface SeqRow {\n seq: number;\n}\n\nexport function placeEchoesBelow<T extends SeqRow>(visible: T[], echoes: T[]): T[] {\n if (!echoes.length) return [...visible].sort((a, b) => a.seq - b.seq);\n const maxSeq = visible.reduce((m, e) => Math.max(m, e.seq), 0);\n const placed = echoes.map((e, i) =>\n e.seq > maxSeq ? e : { ...e, seq: maxSeq + 1 + i },\n );\n return [...visible, ...placed].sort((a, b) => a.seq - b.seq);\n}\n\nexport function resequenceToDelivery<T extends SeqRow>(row: T, noteSeq: number | undefined): T {\n if (noteSeq === undefined || noteSeq <= row.seq) return row;\n let bySeq = resequenceCache.get(row);\n if (!bySeq) {\n bySeq = new Map();\n resequenceCache.set(row, bySeq);\n }\n const hit = bySeq.get(noteSeq);\n if (hit) return hit as T;\n const moved = { ...row, seq: noteSeq } as T;\n bySeq.set(noteSeq, moved);\n return moved;\n}\n\nconst resequenceCache = new WeakMap<object, Map<number, object>>();\n\nexport function pendingFloor(visible: SeqRow[], own?: number): number {\n if (own !== undefined) return own;\n return visible.reduce((m, e) => Math.max(m, e.seq), 0) + 1;\n}\n","\nimport { pendingFloor, placeEchoesBelow, resequenceToDelivery } from \"./timeline-order.ts\";\n\nexport interface TimelineEvent {\n id: string;\n seq: number;\n ts?: string;\n type: string;\n data?: any;\n session?: string;\n branch?: string;\n}\n\nexport interface PendingEchoLike {\n id: string;\n promptId?: string;\n at: number;\n text: string;\n sent: boolean;\n}\n\nexport interface TimelineInput {\n events: readonly TimelineEvent[];\n consumed: ReadonlySet<string>;\n pending: readonly PendingEchoLike[];\n echo: (p: PendingEchoLike) => TimelineEvent;\n feedTypes: ReadonlySet<string>;\n renderedTypes: ReadonlySet<string>;\n renderedNoteEvents: ReadonlySet<string>;\n}\n\nconst META_TOOLS_HIDDEN = new Set([\"report_progress\", \"ask_user\", \"record_decision\"]);\n\nexport function feedCandidates(input: TimelineInput): TimelineEvent[] {\n const { events, consumed, feedTypes } = input;\n return events.filter((e) => {\n if (e.type === \"sub\") return true;\n if (!feedTypes.has(e.type)) return false;\n const metaToolName =\n e.type === \"tool_call\" || e.type === \"tool_result\" ? String(e.data?.name ?? \"\") : \"\";\n if (META_TOOLS_HIDDEN.has(metaToolName)) return false;\n if (e.type === \"tool_result\") return !consumed.has(e.id);\n if (e.type === \"message\") {\n const content = String(e.data?.content ?? \"\");\n const reasoning = String(e.data?.reasoning ?? \"\");\n if (content.trim() === \"\" && reasoning.trim() !== \"\" && e.data?._prevKind === \"tool\")\n return false;\n if (e.data?.progressEcho) return false;\n if (!e.data?.final && content.trim() === \"(tool call)\") return false;\n return content.trim() !== \"\" || reasoning.trim() !== \"\" || !!e.data?.final;\n }\n return true;\n });\n}\n\nexport function expandSubRows(events: readonly TimelineEvent[]): TimelineEvent[] {\n const out: TimelineEvent[] = [];\n for (const e of events) {\n if (e.type !== \"sub\") {\n out.push(e);\n continue;\n }\n const d = e.data as { sub?: string; type?: string; data?: any };\n const kind = String(d?.type ?? \"message\");\n if (kind === \"state\") continue; \n out.push({ ...e, type: kind, data: { ...(d?.data ?? {}), actor: d?.sub } });\n }\n return out;\n}\n\nconst norm = (s: unknown) => String(s ?? \"\").replace(/\\s+/g, \" \").trim().toLowerCase();\n\nexport function dedupeAgainstEmbeds(events: readonly TimelineEvent[]): TimelineEvent[] {\n const out: TimelineEvent[] = [];\n for (let i = 0; i < events.length; i++) {\n const e = events[i]!;\n if (e.type === \"message\" && e.data?.role === \"assistant\") {\n const prev = out[out.length - 1];\n const embedType = prev?.type;\n const isEmbed =\n embedType === \"progress\" || embedType === \"decision\" || prev?.data?.progressEcho;\n if (isEmbed) {\n const a = norm(e.data?.content);\n const b = norm(prev?.data?.content);\n if (a && a === b) continue;\n }\n }\n out.push(e);\n }\n return out;\n}\n\nexport function promptLifecycle(events: readonly TimelineEvent[]): {\n deliveredIds: Set<string>;\n loggedUserPrompts: Set<string>;\n deliveredNotes: Map<string, number>;\n cancelledNotes: Map<string, number>;\n} {\n const deliveredIds = new Set<string>();\n const loggedUserPrompts = new Set<string>();\n const deliveredNotes = new Map<string, number>();\n const cancelledNotes = new Map<string, number>();\n for (const e of events) {\n const pid = e.data?.promptId;\n if (!pid) continue;\n if (e.type === \"prompt\" && e.data?.source === \"user\") loggedUserPrompts.add(String(pid));\n if (e.type === \"system_note\" && e.data?.event === \"prompt-delivered\") {\n deliveredIds.add(String(pid));\n deliveredNotes.set(String(pid), e.seq);\n }\n if (e.type === \"system_note\" && e.data?.event === \"prompt-cancelled\")\n cancelledNotes.set(String(pid), e.seq);\n }\n return { deliveredIds, loggedUserPrompts, deliveredNotes, cancelledNotes };\n}\n\nexport function dropInvisibleRows(\n events: readonly TimelineEvent[],\n input: Pick<TimelineInput, \"renderedTypes\" | \"renderedNoteEvents\">,\n stillPendingIds: ReadonlySet<string>,\n): TimelineEvent[] {\n return events.filter((e) => {\n if (!input.renderedTypes.has(e.type))\n return e.type === \"system_note\" && input.renderedNoteEvents.has(String(e.data?.event ?? \"\"));\n if (e.type !== \"prompt\" || e.data?.source !== \"user\") return true;\n const pid = String(e.data?.promptId ?? \"\");\n return pid === \"\" || !stillPendingIds.has(pid);\n });\n}\n\nconst cancelledCache = new WeakMap<TimelineEvent, Map<number, TimelineEvent>>();\n\nfunction withCancelled(e: TimelineEvent, noteSeq: number): TimelineEvent {\n let byNote = cancelledCache.get(e);\n if (!byNote) {\n byNote = new Map();\n cancelledCache.set(e, byNote);\n }\n const hit = byNote.get(noteSeq);\n if (hit) return hit;\n const marked = { ...e, data: { ...(e.data ?? {}), cancelled: true } };\n byNote.set(noteSeq, marked);\n return marked;\n}\n\nexport function resequencePrompts(\n events: readonly TimelineEvent[],\n lifecycle: ReturnType<typeof promptLifecycle>,\n): TimelineEvent[] {\n const floorOf = (own: number) => pendingFloor(events as TimelineEvent[], own);\n const out: TimelineEvent[] = [];\n for (const e of events) {\n if (e.type !== \"prompt\" || e.data?.source !== \"user\") {\n out.push(e);\n continue;\n }\n const pid = String(e.data?.promptId ?? \"\");\n const cancelSeq = lifecycle.cancelledNotes.get(pid);\n const delivered = lifecycle.deliveredNotes.get(pid) ?? 0;\n const settled = Math.max(delivered, cancelSeq ?? 0) || undefined;\n const marked =\n cancelSeq !== undefined ? withCancelled(e, cancelSeq) : e;\n if (settled !== undefined) {\n out.push(resequenceToDelivery(marked, settled));\n continue;\n }\n const floor = floorOf(marked.seq);\n out.push(marked.seq === floor ? marked : { ...marked, seq: floor });\n }\n return out;\n}\n\nexport function remainingEchoes(\n pending: readonly PendingEchoLike[],\n lifecycle: ReturnType<typeof promptLifecycle>,\n): PendingEchoLike[] {\n return pending.filter((p) => {\n if (!p.promptId) return true;\n if (lifecycle.deliveredIds.has(p.promptId) && lifecycle.loggedUserPrompts.has(p.promptId))\n return false;\n return true;\n });\n}\n\nexport function pendingEchoCount(\n pending: readonly PendingEchoLike[],\n lifecycle: ReturnType<typeof promptLifecycle>,\n): number {\n return remainingEchoes(pending, lifecycle).length;\n}\n\nexport function buildTimeline(input: TimelineInput): TimelineEvent[] {\n return buildTimelineWithCount(input).rows;\n}\n\nexport function buildTimelineWithCount(input: TimelineInput): {\n rows: TimelineEvent[];\n pendingCount: number;\n} {\n const candidates = feedCandidates(input);\n const expanded = expandSubRows(candidates);\n const deduped = dedupeAgainstEmbeds(expanded);\n const lifecycle = promptLifecycle(deduped);\n const stillPendingIds = new Set<string>();\n for (const p of input.pending) {\n if (p.promptId && !lifecycle.deliveredIds.has(p.promptId)) stillPendingIds.add(p.promptId);\n }\n const visible = dropInvisibleRows(deduped, input, stillPendingIds);\n const resequenced = resequencePrompts(visible, lifecycle);\n const echoes = remainingEchoes(input.pending, lifecycle).map(input.echo);\n return { rows: placeEchoesBelow(resequenced, echoes), pendingCount: echoes.length };\n}\n","\nexport type AuditPhase = \"status\" | \"audit-started\" | \"audit\" | \"audit-failed\" | \"other\";\n\nexport interface GoalEventData {\n event?: string;\n status?: string;\n by?: string;\n verify?: string;\n verdict?: string;\n feedback?: string;\n detail?: string;\n text?: string;\n}\n\nexport function auditPhase(d: GoalEventData): AuditPhase {\n const e = d.event;\n if (e === \"status\" || e === \"audit-started\" || e === \"audit\" || e === \"audit-failed\") return e;\n return \"other\";\n}\n\nexport function isAuditLifecycle(d: GoalEventData): boolean {\n return auditPhase(d) !== \"other\";\n}\n\nexport interface GoalLine {\n label: string;\n detail: string;\n tone: \"ok\" | \"warn\" | \"err\" | \"\";\n markdown: boolean;\n hasCard: boolean;\n}\n\nexport function isPlaceholderDetail(s: string): boolean {\n const t = s.trim().toLowerCase();\n return t === \"\" || t === \"(no detail)\" || t === \"no detail\" || t === \"(none)\" || t === \"(empty)\";\n}\n\nexport function cardDetail(raw: string, fallback: string): string {\n const t = String(raw ?? \"\").trim();\n if (!isPlaceholderDetail(t)) return t;\n return isPlaceholderDetail(fallback) ? \"\" : fallback;\n}\n\nexport function goalLine(d: GoalEventData): GoalLine {\n switch (auditPhase(d)) {\n case \"audit-started\":\n return {\n label: \"🔍️ completion audit started\",\n detail: String(d.verify ?? \"\").trim() || \"checking the verification contract…\",\n tone: \"\",\n markdown: false,\n hasCard: true,\n };\n case \"audit\": {\n const verdictHasReason = !isPlaceholderDetail(String(d.feedback ?? \"\"));\n return d.verdict === \"approved\"\n ? {\n label: \"✅ audit: approved\",\n detail: cardDetail(d.feedback ?? \"\", \"\"),\n tone: \"ok\",\n markdown: true,\n hasCard: verdictHasReason,\n }\n : {\n label: \"⚠ audit: changes required\",\n detail: cardDetail(d.feedback ?? \"\", \"\"),\n tone: \"warn\",\n markdown: true,\n hasCard: verdictHasReason,\n };\n }\n case \"audit-failed\":\n return {\n label: \"🔍️ audit unavailable — finish accepted\",\n detail: String(d.detail ?? \"\").trim() || \"the auditor could not be reached\",\n tone: \"err\",\n markdown: false,\n hasCard: true,\n };\n case \"status\": {\n const s = String(d.status ?? \"\").trim();\n if (!s)\n return {\n label: \"🎯 goal status updated\",\n detail: String(d.text ?? \"\").trim() || \"no status recorded\",\n tone: \"\",\n markdown: true,\n hasCard: true,\n };\n if (s === \"done\") {\n const by = String(d.by ?? \"\").trim();\n if (by === \"operator\")\n return {\n label: \"🏁 goal marked done\",\n detail: \"you marked this goal done — no audit runs for a manual completion\",\n tone: \"\",\n markdown: false,\n hasCard: true,\n };\n return {\n label: \"🏁 finish claimed — pending audit\",\n detail: \"the agent called finish(goalComplete=true); the verification contract is now being audited\",\n tone: \"\",\n markdown: false,\n hasCard: true,\n };\n }\n if (s === \"active\") {\n const by = String(d.by ?? \"\").trim();\n if (by === \"auditor\") {\n return {\n label: \"▶ goal reopened\",\n detail: \"the audit rejected the finish — work continues on the same goal\",\n tone: \"warn\",\n markdown: false,\n hasCard: true,\n };\n }\n return {\n label: \"▶ goal resumed\",\n detail: \"marked active again — auto-continue picks the goal up from the next turn\",\n tone: \"\",\n markdown: false,\n hasCard: true,\n };\n }\n return {\n label: `🎯 goal ${s || \"updated\"}`,\n detail: String(d.text ?? \"\").trim() || `the goal is now ${s}`,\n tone: \"\",\n markdown: true,\n hasCard: true,\n };\n }\n default: {\n const what = String(d.text ?? \"\").trim();\n const name = String(d.event ?? \"\").trim();\n return {\n label: name ? `🎯 goal ${name}` : \"🎯 goal updated\",\n detail: what || `the \"${name || \"goal\"}\" event carried no further detail`,\n tone: \"\",\n markdown: true,\n hasCard: true,\n };\n }\n }\n}\n","import { Show } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { renderMarkdown } from \"../md\";\n\nexport function Card(props: {\n title?: string;\n meta?: string;\n tone?: \"ok\" | \"warn\" | \"tool\";\n class?: string;\n markdown?: boolean;\n body: string;\n children?: JSX.Element;\n}) {\n const classes = () => {\n const t = props.tone;\n return [\"card\", t ? `card-${t}` : \"\", props.class ?? \"\"].filter(Boolean).join(\" \");\n };\n const html = () =>\n props.markdown === false\n ? renderMarkdown(`\\`\\`\\`\\n${props.body}\\n\\`\\`\\``)\n : renderMarkdown(props.body);\n return (\n <div class={classes()}>\n <Show when={props.title}>\n <div class=\"ctitle\">\n {props.title}\n <Show when={props.meta}>\n <span class=\"meta muted\">{props.meta}</span>\n </Show>\n </div>\n </Show>\n {props.children ?? <div class=\"cardbody\" innerHTML={html()} />}\n </div>\n );\n}\n","\nexport interface MergeableTheme {\n id: string;\n}\n\nexport function mergeThemes<T extends MergeableTheme>(local: readonly T[], remote: readonly T[]): T[] {\n const byId = new Map<string, T>();\n for (const t of local) byId.set(t.id, t);\n for (const t of remote) byId.set(t.id, t);\n return [...byId.values()];\n}\n","\nexport const BG_WIDTHS = [640, 1280, 1920, 2560, 3840] as const;\n\nexport const BG_SMALL = BG_WIDTHS[0];\n\nexport function bgSrcSet(src?: string): string | undefined {\n if (!src) return undefined;\n return BG_WIDTHS.map((w) => `${src}?w=${w} ${w}w`).join(\", \");\n}\n\nexport function bgSrc(src: string | undefined, width: number = BG_SMALL): string | undefined {\n if (!src) return undefined;\n return `${src}?w=${width}`;\n}\n","\nexport interface TreeAgent {\n id: string;\n parent?: string;\n workspace: string;\n workspaceMissing?: boolean;\n}\n\nexport interface TreeRow<T extends TreeAgent = TreeAgent> {\n a: T;\n depth: number;\n}\n\nexport interface SidebarRow<T extends TreeAgent = TreeAgent> {\n a: T;\n depth: number;\n wsHeader?: string;\n chatHeader?: string;\n headerOnly?: boolean;\n wsCollapsedGroup?: boolean;\n chatCollapsedGroup?: boolean;\n collapsedVia?: string;\n}\n\nexport function treeRowsOf<T extends TreeAgent>(\n agents: readonly T[],\n collapsedSubs: ReadonlySet<string> = new Set(),\n hideGhosts = false,\n collapsedChats: ReadonlySet<string> = new Set(),\n): TreeRow<T>[] {\n const list = hideGhosts\n ? agents.filter((a) => {\n if (!a.workspaceMissing) return true;\n const stack = [a.id];\n const seenIds = new Set<string>();\n while (stack.length) {\n const id = stack.pop()!;\n if (seenIds.has(id)) continue;\n seenIds.add(id);\n for (const c of agents) if (c.parent === id && !seenIds.has(c.id)) stack.push(c.id);\n }\n for (const id of seenIds) {\n const d = agents.find((x) => x.id === id);\n if (d && !d.workspaceMissing) return true; \n }\n return false;\n })\n : agents;\n const byParent = new Map<string, T[]>();\n const roots: T[] = [];\n for (const a of list) {\n const isSub = a.parent && list.some((p) => p.id === a.parent);\n if (isSub) {\n if (!byParent.has(a.parent!)) byParent.set(a.parent!, []);\n byParent.get(a.parent!)!.unshift(a);\n } else roots.push(a);\n }\n const rows: TreeRow<T>[] = [];\n const walk = (nodes: T[], depth: number) => {\n for (const a of nodes) {\n const chatOff = depth === 0 && collapsedChats.has(chatGroupKeyOf(list, a));\n rows.push({ a, depth });\n if (chatOff) continue;\n const kids = byParent.get(a.id);\n if (kids?.length && !collapsedSubs.has(a.id)) walk(kids, depth + 1);\n }\n };\n const groupKeys: string[] = [];\n const groups = new Map<string, T[]>();\n for (const a of roots) {\n if (a.parent) continue;\n const ws = workspaceOf(list, a.id);\n const g = groups.get(ws);\n if (g) g.push(a);\n else {\n groups.set(ws, [a]);\n groupKeys.push(ws);\n }\n }\n const ORPHANS = \"\";\n for (const a of roots) {\n if (!a.parent) continue;\n const ws = workspaceOf(agents, a.id) || ORPHANS;\n const g = groups.get(ws);\n if (g) g.push(a);\n else {\n groups.set(ws, [a]);\n groupKeys.push(ws);\n }\n }\n\n for (const ws of groupKeys) walk(groups.get(ws)!, 0);\n return rows;\n}\n\nexport function workspaceOf(agents: readonly TreeAgent[], id: string, seen = new Set<string>()): string {\n const a = agents.find((x) => x.id === id);\n if (!a) return \"\";\n if (!a.parent) return a.workspace || \"\";\n if (seen.has(id)) return a.workspace || \"\"; \n seen.add(id);\n const parentWs = workspaceOf(agents, a.parent, seen);\n if (parentWs) return parentWs;\n return a.workspace || \"\";\n}\n\nexport function shouldShowCollapseCaret(args: {\n isSub: boolean;\n collapsed: boolean;\n hasChildren: boolean;\n}): boolean {\n return args.isSub ? args.hasChildren : args.collapsed || args.hasChildren;\n}\n\nexport function subAgentDisplayName(id: string, personas: readonly string[] = []): string | null {\n const at = id.indexOf(\"-sub\");\n if (at === -1) return null;\n const rest = id.slice(at + \"-sub\".length).replace(/^-+/, \"\");\n if (!rest) return null;\n const parts = rest.split(\"-\");\n const name = personas.includes(parts[0] ?? \"\") ? parts.slice(1).join(\"-\") : rest;\n return name.replace(/_/g, \" \").trim() || null;\n}\n\nexport function descendantsOf<T extends TreeAgent>(\n agents: readonly T[],\n agentId: string,\n seen = new Set<string>(),\n): T[] {\n const out: T[] = [];\n const guard = new Set(seen);\n for (const a of agents) {\n if (a.parent !== agentId) continue;\n if (guard.has(a.id)) continue; \n guard.add(a.id);\n out.push(a, ...descendantsOf(agents, a.id, guard));\n }\n return out;\n}\n\nexport function chatGroupKeyOf(agents: readonly TreeAgent[], a: TreeAgent): string {\n let id = a.id;\n const seen = new Set<string>();\n for (;;) {\n const cur = agents.find((x) => x.id === id);\n if (!cur?.parent || seen.has(id)) break;\n seen.add(id);\n id = cur.parent;\n }\n return `chat:${id || a.id}`;\n}\n\nexport function wsChatCountsOf(agents: readonly TreeAgent[]): Map<string, number> {\n const counts = new Map<string, number>();\n for (const a of agents) {\n if (a.parent) continue; \n const ws = workspaceOf(agents, a.id);\n if (!ws) continue;\n counts.set(ws, (counts.get(ws) ?? 0) + 1);\n }\n return counts;\n}\n\nexport function sidebarRowsOf<T extends TreeAgent>(\n agents: readonly T[],\n rows: readonly TreeRow<T>[],\n collapsed: ReadonlySet<string> = new Set(),\n): SidebarRow<T>[] {\n const out: SidebarRow<T>[] = [];\n let lastWs: string | null = null;\n for (const r of rows) {\n const ws = workspaceOf(agents, r.a.id);\n if (!ws) {\n out.push({ a: r.a, depth: r.depth });\n continue;\n }\n if (ws !== lastWs) {\n lastWs = ws;\n out.push({\n a: r.a,\n depth: 0,\n headerOnly: true,\n wsHeader: ws,\n wsCollapsedGroup: collapsed.has(`ws:${ws}`),\n });\n }\n if (collapsed.has(`ws:${ws}`)) continue;\n if (collapsed.has(chatGroupKeyOf(agents, r.a))) {\n out.push({ a: r.a, depth: r.depth, chatCollapsedGroup: true });\n continue;\n }\n out.push({ a: r.a, depth: r.depth });\n }\n return out;\n}\n","\nexport interface QuestionEvent {\n type: string;\n seq: number;\n data?: {\n callId?: unknown;\n source?: unknown;\n event?: unknown;\n };\n}\n\nexport function answeredQuestionIdsOf(\n events: readonly QuestionEvent[],\n locallyAnswered: ReadonlySet<string> = new Set(),\n): Set<string> {\n const set = new Set<string>();\n let lastQuestionAt = -1;\n let lastUserPromptAt = -1;\n for (const e of events) {\n if (e.type === \"question\") lastQuestionAt = e.seq;\n else if (e.type === \"prompt\" && e.data?.source === \"user\") lastUserPromptAt = e.seq;\n else if (e.type === \"system_note\" && e.data?.event === \"prompt-delivered\")\n lastUserPromptAt = Math.max(lastUserPromptAt, e.seq);\n }\n if (lastQuestionAt >= 0 && lastUserPromptAt > lastQuestionAt) {\n for (const e of events)\n if (e.type === \"question\" && e.seq <= lastUserPromptAt)\n set.add(String(e.data?.callId ?? \"\"));\n }\n for (const id of locallyAnswered) set.add(id);\n return set;\n}\n","\nexport type PendingEcho = {\n id: string;\n text: string;\n at: number;\n promptId?: string;\n sent?: boolean;\n images?: string[];\n source?: string;\n};\n\nexport const reconcilePending = (\n list: PendingEcho[],\n queued: number,\n liveIds: readonly string[] | undefined,\n): PendingEcho[] => {\n if (queued >= list.length) return list;\n if (liveIds?.length) {\n const live = new Set(liveIds);\n const matched = list.filter((p) => p.promptId && live.has(p.promptId));\n if (matched.length) {\n const unidentifiable = list.filter((p) => !p.promptId);\n return unidentifiable.length ? [...matched, ...unidentifiable].slice(0, queued) : matched;\n }\n }\n return list.slice(0, queued);\n};\n","export function resolveTimelineSession(\n owned: readonly string[] | undefined,\n bound: string | null | undefined,\n requested?: string | null,\n): string | null {\n const mine = owned ?? [];\n if (requested && mine.includes(requested)) return requested;\n if (bound && mine.includes(bound)) return bound;\n if (!requested && bound && mine.length === 0) return bound;\n return mine[0] ?? null;\n}\n\nexport function linkableSessionId(\n handle: string | null | undefined,\n known: ReadonlyMap<string, string>,\n agentIds: readonly string[],\n): string | null {\n if (!handle) return null;\n if (!known.has(handle) && agentIds.includes(handle)) return null;\n return handle;\n}\n","\nconst KEY_PREFIX = \"teapot.textareaH.\";\n\nexport function storedTextareaHeight(key: string): number {\n try {\n const n = Number(localStorage.getItem(KEY_PREFIX + key) ?? \"\");\n return Number.isFinite(n) && n > 0 ? n : 0;\n } catch {\n return 0;\n }\n}\n\nexport function rememberTextareaHeight(key: string, px: number): void {\n try {\n localStorage.setItem(KEY_PREFIX + key, String(Math.round(px)));\n } catch {\n }\n}\n\nexport function trackTextareaHeight(el: HTMLElement, onHeight: (px: number) => void): () => void {\n const ro = new ResizeObserver(() => {\n const h = el.offsetHeight;\n if (h > 0) onHeight(h);\n });\n ro.observe(el);\n return () => ro.disconnect();\n}\n","\nexport function timelineAcceptsSession(\n frameSession: string | null | undefined,\n shown: string | null | undefined,\n agentId: string | null | undefined,\n): boolean {\n if (!shown) return true; \n if (agentId && shown === agentId) return true; \n if (typeof frameSession !== \"string\") return false;\n return frameSession === shown;\n}\n\nexport function eventBelongsOnTimeline(\n ev: { agent?: string; session?: string } | null | undefined,\n selectedAgent: string | null,\n timelineSession: string | null,\n): boolean {\n if (!ev || !selectedAgent) return false;\n if (ev.agent !== selectedAgent) return false;\n return timelineAcceptsSession(ev.session, timelineSession, selectedAgent);\n}\n\nexport function deltaBelongsToTimeline(\n d: { agentId?: string; sessionId?: string | null } | null | undefined,\n selectedAgent: string | null,\n timelineSession: string | null,\n): boolean {\n if (!d || !selectedAgent) return false;\n if (d.agentId !== selectedAgent) return false;\n if (!d.sessionId) return false;\n return timelineAcceptsSession(d.sessionId, timelineSession, selectedAgent);\n}\n\nexport function timelineIsLive(\n agent: { id: string; session?: string } | null | undefined,\n shown: string | null | undefined,\n agentLive: boolean,\n): boolean {\n if (!agentLive) return false;\n if (!agent || !shown) return true;\n if (shown === agent.id) return true; \n if (!agent.session) return true;\n return agent.session === shown;\n}\n","\nexport interface XtermTheme {\n background?: string;\n foreground?: string;\n cursor?: string;\n cursorAccent?: string;\n selectionBackground?: string;\n selectionForeground?: string;\n}\n\nexport interface XtermLike {\n options: { theme?: XtermTheme | undefined };\n}\n\nexport function themeColors(): XtermTheme {\n let bg = \"\";\n let fg = \"\";\n let cursor = \"\";\n let cursorAccent = \"\";\n try {\n const cs = getComputedStyle(document.documentElement);\n bg = cs.getPropertyValue(\"--term-bg\").trim();\n fg = cs.getPropertyValue(\"--term-fg\").trim();\n cursor = cs.getPropertyValue(\"--term-cursor\").trim();\n cursorAccent = cs.getPropertyValue(\"--term-cursor-accent\").trim();\n } catch { }\n const background = bg || \"#0d0e12\";\n const foreground = fg || \"#dcdee4\";\n return {\n background,\n foreground,\n cursor: cursor || foreground,\n cursorAccent: cursorAccent || background,\n selectionBackground: selectionFor(foreground),\n selectionForeground: foreground,\n };\n}\n\nexport function retintTerminal(s: XtermLike): void {\n const want = themeColors();\n const cur = s.options.theme;\n if (\n cur &&\n cur.background === want.background &&\n cur.foreground === want.foreground &&\n cur.cursor === want.cursor &&\n cur.cursorAccent === want.cursorAccent &&\n cur.selectionBackground === want.selectionBackground\n ) {\n return;\n }\n s.options.theme = want;\n}\n\nexport function selectionFor(foreground: string): string {\n const hex = foreground.trim();\n const m = /^#([0-9a-f]{6})$/i.exec(hex);\n if (m) return `#${m[1]}47`; \n return \"rgba(128, 128, 128, 0.35)\";\n}\n","\nexport interface ProviderLike {\n model?: string;\n}\n\nexport interface AgentLike {\n provider?: string;\n model?: string;\n}\n\nexport function effectiveProviderOf(\n agent: AgentLike | undefined,\n providers: Record<string, ProviderLike | undefined> | undefined,\n defaultProvider: string | undefined,\n): string {\n return agent?.provider || defaultProvider || Object.keys(providers ?? {})[0] || \"\";\n}\n\nexport function providerDefaultModel(\n providers: Record<string, ProviderLike | undefined> | undefined,\n provider: string,\n): string {\n if (!provider) return \"\";\n return String(providers?.[provider]?.model ?? \"\").trim();\n}\n\nexport function modelOnProviderSwitch(\n providers: Record<string, ProviderLike | undefined> | undefined,\n toProvider: string,\n agent: AgentLike | undefined,\n): string {\n const fallback = providerDefaultModel(providers, toProvider);\n if (fallback) return fallback;\n if (agent && toProvider === (agent.provider ?? \"\")) return agent.model ?? \"\";\n return \"\";\n}\n\nexport function modelPlaceholderFor(\n providers: Record<string, ProviderLike | undefined> | undefined,\n provider: string,\n agent: AgentLike | undefined,\n agentProvider: string,\n): string {\n if (agent?.model && provider === agentProvider) return agent.model;\n return providerDefaultModel(providers, provider) || agent?.model || \"\";\n}\n\nexport function mayResyncProvider(userTouchedProvider: boolean): boolean {\n return !userTouchedProvider;\n}\n","\nexport function shouldWriteComposerValue(composing: boolean): boolean {\n return !composing;\n}\n\nexport function composerValueChanged(nodeValue: string, next: string): boolean {\n return nodeValue !== next;\n}\n","export function composerHeight(scrollHeight: number, maxHeight: number): number {\n return Math.max(1, Math.min(scrollHeight, maxHeight));\n}\n","export type LabelSource = {\n id: string;\n sessionTitle?: string;\n};\n\nexport const agentLabel = (a: LabelSource | undefined | null): string =>\n a ? a.sessionTitle?.trim() || a.id : \"\";\n\nexport const agentLabelWithId = (a: LabelSource | undefined | null, extra?: string): string => {\n if (!a) return \"\";\n const label = agentLabel(a);\n const tail = extra ? ` — ${extra}` : \"\";\n return label === a.id ? `${label}${tail}` : `${label} — ${a.id}${tail}`;\n};\n","export type QueueViews = {\n pendingPromptQueue?: readonly unknown[];\n pendingPromptIds?: readonly unknown[];\n pendingPrompts?: number;\n};\n\nexport const serverQueuedCount = (a: QueueViews | undefined | null): number => {\n if (!a) return 0;\n return Math.max(\n a.pendingPromptQueue?.length ?? 0,\n a.pendingPromptIds?.length ?? 0,\n a.pendingPrompts ?? 0,\n );\n};\n\nexport const queuedBadgeCount = (opts: {\n sameSession: boolean;\n agent: QueueViews | undefined | null;\n echoCount: number;\n}): number => {\n const fromServer = opts.sameSession ? serverQueuedCount(opts.agent) : 0;\n return Math.max(fromServer, opts.echoCount);\n};\n","\nexport interface ThemePalette {\n bgDarkest: string;\n bgDark: string;\n bgMid: string;\n bgLight: string;\n fg: string;\n dim: string;\n line: string;\n acc: string;\n ok: string;\n warn: string;\n err: string;\n tool: string;\n termBg: string;\n termFg: string;\n}\n\nexport interface CustomTheme {\n id: string;\n label: string;\n mode: \"dark\" | \"light\";\n palette: ThemePalette;\n backgroundImage?: string;\n backgroundDim?: number;\n surfaceAlpha?: number;\n backgroundImageBytes?: number;\n}\n\nexport const PALETTE_KEYS: { key: keyof ThemePalette; cssVar: string; label: string }[] = [\n { key: \"bgDarkest\", cssVar: \"--bg-darkest\", label: \"surface (deepest)\" },\n { key: \"bgDark\", cssVar: \"--bg-dark\", label: \"surface\" },\n { key: \"bgMid\", cssVar: \"--bg-mid\", label: \"surface (raised)\" },\n { key: \"bgLight\", cssVar: \"--bg-light\", label: \"surface (control)\" },\n { key: \"fg\", cssVar: \"--fg\", label: \"text\" },\n { key: \"dim\", cssVar: \"--dim\", label: \"text (muted)\" },\n { key: \"line\", cssVar: \"--line\", label: \"divider\" },\n { key: \"acc\", cssVar: \"--acc\", label: \"accent\" },\n { key: \"ok\", cssVar: \"--ok\", label: \"success\" },\n { key: \"warn\", cssVar: \"--warn\", label: \"warning\" },\n { key: \"err\", cssVar: \"--err\", label: \"error\" },\n { key: \"tool\", cssVar: \"--tool\", label: \"tool accent\" },\n { key: \"termBg\", cssVar: \"--term-bg\", label: \"terminal background\" },\n { key: \"termFg\", cssVar: \"--term-fg\", label: \"terminal text\" },\n];\n\nconst STORAGE_KEY = \"teapot.customThemes\";\nexport const MAX_BACKGROUND_BYTES = 1_500_000;\n\nexport const DEFAULT_PALETTE: ThemePalette = {\n bgDarkest: \"#1a1c22\",\n bgDark: \"#232630\",\n bgMid: \"#2b2e39\",\n bgLight: \"#343845\",\n fg: \"#dcdee4\",\n dim: \"#9298a5\",\n line: \"#1d2027\",\n acc: \"#5865f2\",\n ok: \"#3ba55d\",\n warn: \"#faa81a\",\n err: \"#ed4245\",\n tool: \"#3ba0c9\",\n termBg: \"#0d0e12\",\n termFg: \"#dcdee4\",\n};\n\nexport const PRESET_PALETTES: Record<string, ThemePalette> = {\n \"dark\": { bgDarkest: \"#1a1c22\", bgDark: \"#232630\", bgMid: \"#2b2e39\", bgLight: \"#343845\", fg: \"#dcdee4\", dim: \"#9298a5\", line: \"#1d2027\", acc: \"#5865f2\", ok: \"#3ba55d\", warn: \"#faa81a\", err: \"#ed4245\", tool: \"#3ba0c9\", termBg: \"#0d0e12\", termFg: \"#dcdee4\" },\n \"midnight\": { bgDarkest: \"#0d0f18\", bgDark: \"#12141f\", bgMid: \"#1b1f31\", bgLight: \"#252a42\", fg: \"#dfe2f2\", dim: \"#8a90ad\", line: \"#0a0c14\", acc: \"#8b7cf7\", ok: \"#54c08a\", warn: \"#e5b567\", err: \"#ef6a6a\", tool: \"#6aa9e9\", termBg: \"#0a0c13\", termFg: \"#dfe2f2\" },\n \"tea\": { bgDarkest: \"#241c16\", bgDark: \"#2e241c\", bgMid: \"#3b2f24\", bgLight: \"#493b2d\", fg: \"#f0e4d2\", dim: \"#b39d82\", line: \"#1b140f\", acc: \"#d98e32\", ok: \"#7fa653\", warn: \"#e0b058\", err: \"#cf5b47\", tool: \"#c9975f\", termBg: \"#1d1712\", termFg: \"#ecdcc3\" },\n \"coffee\": { bgDarkest: \"#191410\", bgDark: \"#211a14\", bgMid: \"#30271e\", bgLight: \"#403527\", fg: \"#ede3d0\", dim: \"#a89478\", line: \"#120d07\", acc: \"#c68a4b\", ok: \"#8aa15c\", warn: \"#d9a441\", err: \"#c25450\", tool: \"#a67c52\", termBg: \"#15100c\", termFg: \"#e8dcc5\" },\n \"matcha\": { bgDarkest: \"#1b2217\", bgDark: \"#232b1e\", bgMid: \"#2f3a28\", bgLight: \"#3c4a33\", fg: \"#e8eeda\", dim: \"#9aab84\", line: \"#131a10\", acc: \"#8db64e\", ok: \"#6fae4e\", warn: \"#d8b13c\", err: \"#cd5c50\", tool: \"#5da88f\", termBg: \"#151b11\", termFg: \"#dfe8cb\" },\n \"matrix\": { bgDarkest: \"#060a06\", bgDark: \"#0a0f0a\", bgMid: \"#122116\", bgLight: \"#18301d\", fg: \"#c9f2cf\", dim: \"#6fa075\", line: \"#030603\", acc: \"#2fd558\", ok: \"#39c95f\", warn: \"#b8d977\", err: \"#ff6b6b\", tool: \"#57c99b\", termBg: \"#030503\", termFg: \"#33ff77\" },\n \"sunset\": { bgDarkest: \"#1c1422\", bgDark: \"#241b2b\", bgMid: \"#33253e\", bgLight: \"#452f52\", fg: \"#f2e6ea\", dim: \"#ab93a8\", line: \"#150e1b\", acc: \"#f2784b\", ok: \"#63b46f\", warn: \"#eda63d\", err: \"#e25563\", tool: \"#b06ac9\", termBg: \"#170f1d\", termFg: \"#f0dfe4\" },\n \"light\": { bgDarkest: \"#eceef4\", bgDark: \"#f6f7fa\", bgMid: \"#e2e5ee\", bgLight: \"#ffffff\", fg: \"#24272f\", dim: \"#5d6470\", line: \"#d8dbe4\", acc: \"#4757d8\", ok: \"#2b8a4b\", warn: \"#b97a0f\", err: \"#d83c3f\", tool: \"#2278a8\", termBg: \"#ffffff\", termFg: \"#24272f\" },\n \"strawberry\": { bgDarkest: \"#fbe4ea\", bgDark: \"#fdf0f3\", bgMid: \"#f7d4de\", bgLight: \"#fffafb\", fg: \"#4a2733\", dim: \"#96707e\", line: \"#f0ccd6\", acc: \"#e05575\", ok: \"#4d9e63\", warn: \"#c98a2d\", err: \"#d43d51\", tool: \"#b05687\", termBg: \"#fff5f8\", termFg: \"#4a2733\" },\n \"ramune\": { bgDarkest: \"#ddeff7\", bgDark: \"#ecf7fb\", bgMid: \"#c9e7f4\", bgLight: \"#fbfeff\", fg: \"#173342\", dim: \"#5b7d90\", line: \"#c2e2ef\", acc: \"#1d86ae\", ok: \"#3a9e6e\", warn: \"#cf9a2a\", err: \"#d64f5c\", tool: \"#3a9db8\", termBg: \"#f4fbfd\", termFg: \"#173342\" },\n};\n\nconst isColour = (v: unknown): v is string =>\n typeof v === \"string\" && v.length > 0 && v.length <= 64 && !/[;{}]/.test(v);\n\nexport function sanitizeTheme(raw: unknown): CustomTheme | null {\n if (!raw || typeof raw !== \"object\") return null;\n const t = raw as Partial<CustomTheme>;\n if (typeof t.id !== \"string\" || !/^[a-z0-9-]{1,40}$/i.test(t.id)) return null;\n if (typeof t.label !== \"string\" || !t.label.trim()) return null;\n if (t.mode !== \"dark\" && t.mode !== \"light\") return null;\n const p = t.palette as Partial<ThemePalette> | undefined;\n if (!p || typeof p !== \"object\") return null;\n const palette = {} as ThemePalette;\n for (const { key } of PALETTE_KEYS) {\n if (!isColour(p[key])) return null;\n palette[key] = p[key]!;\n }\n const out: CustomTheme = { id: t.id, label: t.label.slice(0, 40), mode: t.mode, palette };\n if (typeof t.backgroundImage === \"string\") {\n const img = t.backgroundImage;\n const isAsset = /^\\/api\\/assets\\/[a-f0-9]{32}\\.(png|jpe?g|gif|webp|avif)$/i.test(img);\n const isData = /^data:image\\//.test(img) && img.length <= MAX_BACKGROUND_BYTES;\n const isRemote = /^https?:\\/\\//.test(img);\n if (isAsset || isData || isRemote) out.backgroundImage = img;\n }\n if (typeof t.backgroundDim === \"number\" && Number.isFinite(t.backgroundDim)) {\n out.backgroundDim = Math.min(0.9, Math.max(0, t.backgroundDim));\n }\n if (typeof t.backgroundImageBytes === \"number\" && Number.isFinite(t.backgroundImageBytes)) {\n out.backgroundImageBytes = Math.max(0, Math.round(t.backgroundImageBytes));\n }\n if (typeof t.surfaceAlpha === \"number\" && Number.isFinite(t.surfaceAlpha)) {\n out.surfaceAlpha = Math.min(1, Math.max(0.35, t.surfaceAlpha));\n }\n return out;\n}\n\nexport function loadCustomThemes(): CustomTheme[] {\n try {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (!raw) return [];\n const parsed = JSON.parse(raw);\n if (!Array.isArray(parsed)) return [];\n return parsed.map(sanitizeTheme).filter((t): t is CustomTheme => t !== null);\n } catch {\n return [];\n }\n}\n\nexport function saveCustomThemes(themes: CustomTheme[]): { ok: boolean; error?: string } {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(themes));\n void fetch(\"/api/themes\", {\n method: \"PUT\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ themes }),\n }).catch(() => {});\n return { ok: true };\n } catch (err) {\n const e = err as { name?: string };\n return {\n ok: false,\n error:\n e.name === \"QuotaExceededError\" || /quota/i.test(String((err as Error).message))\n ? \"storage is full — that background image is too large. Try a smaller one, or remove another theme.\"\n : `could not save: ${(err as Error).message}`,\n };\n }\n}\n\nexport async function loadCustomThemesFromServer(): Promise<CustomTheme[] | null> {\n try {\n const r = await fetch(\"/api/themes\");\n if (!r.ok) return null;\n const body = (await r.json()) as { themes?: unknown };\n if (!Array.isArray(body.themes)) return null;\n return body.themes.map(sanitizeTheme).filter((t): t is CustomTheme => t !== null);\n } catch {\n return null;\n }\n}\n\nexport function newThemeId(taken: readonly string[]): string {\n for (let i = 0; ; i++) {\n const id = `custom-${Date.now().toString(36)}${i ? `-${i}` : \"\"}`;\n if (!taken.includes(id)) return id;\n }\n}\n\nexport function applyCustomTheme(root: HTMLElement, theme: CustomTheme | null): void {\n const SURFACE_VARS = new Set([\"--bg-darkest\", \"--bg-dark\", \"--bg-mid\", \"--bg-light\"]);\n const hasImage = !!theme?.backgroundImage;\n for (const { key, cssVar } of PALETTE_KEYS) {\n const want = theme ? theme.palette[key] : \"\";\n if (hasImage && SURFACE_VARS.has(cssVar)) {\n if (root.style.getPropertyValue(cssVar)) root.style.removeProperty(cssVar);\n continue;\n }\n if (root.style.getPropertyValue(cssVar) === want) continue;\n if (want) root.style.setProperty(cssVar, want);\n else root.style.removeProperty(cssVar);\n }\n const wantDim = theme?.backgroundImage ? String(theme.backgroundDim ?? 0.55) : \"\";\n const wantAlpha = theme?.backgroundImage ? String(theme.surfaceAlpha ?? 0.82) : \"\";\n for (const [prop, want] of [\n [\"--bg-image-dim\", wantDim],\n [\"--surface-alpha\", wantAlpha],\n ] as const) {\n if (root.style.getPropertyValue(prop) === want) continue;\n if (want) root.style.setProperty(prop, want);\n else root.style.removeProperty(prop);\n }\n if (theme?.backgroundImage) {\n if (root.dataset) root.dataset.bgImage = \"on\";\n for (const [name, value] of [\n [\"--bg-darkest-solid\", theme.palette.bgDarkest],\n [\"--bg-dark-solid\", theme.palette.bgDark],\n [\"--bg-mid-solid\", theme.palette.bgMid],\n [\"--bg-light-solid\", theme.palette.bgLight],\n ] as const) {\n const solid = opaque(value);\n if (root.style.getPropertyValue(name) !== solid) root.style.setProperty(name, solid);\n }\n } else {\n if (root.dataset) delete root.dataset.bgImage;\n for (const name of [\"--bg-darkest-solid\", \"--bg-dark-solid\", \"--bg-mid-solid\", \"--bg-light-solid\"]) {\n root.style.removeProperty(name);\n }\n }\n}\n\nexport function opaque(colour: string): string {\n const m = /^#([0-9a-f]{6})[0-9a-f]{2}$/i.exec(colour.trim());\n return m ? `#${m[1]}` : colour;\n}\n\nexport function normalizeColour(input: string): string | null {\n const s = input.trim().toLowerCase();\n const m = /^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(s);\n if (!m) return null;\n const hex = m[1]!;\n if (hex.length === 3) return `#${hex[0]}${hex[0]}${hex[1]}${hex[1]}${hex[2]}${hex[2]}`;\n return `#${hex}`;\n}\n\nexport function resolveActiveTheme(args: {\n want: string;\n customIds: readonly string[];\n presetIds: readonly string[];\n fallback?: string;\n}): { active: string; repaired: boolean } {\n const known = args.customIds.includes(args.want) || args.presetIds.includes(args.want);\n if (known) return { active: args.want, repaired: false };\n const fallback = args.fallback && args.presetIds.includes(args.fallback) ? args.fallback : \"dark\";\n return {\n active: args.presetIds.includes(fallback) ? fallback : (args.presetIds[0] ?? \"dark\"),\n repaired: true,\n };\n}\n","/**\n * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.\n * @license MIT\n *\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * @license MIT\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar zs=Object.defineProperty;var Rl=Object.getOwnPropertyDescriptor;var Ll=(s,t)=>{for(var e in t)zs(s,e,{get:t[e],enumerable:!0})};var M=(s,t,e,i)=>{for(var r=i>1?void 0:i?Rl(t,e):t,n=s.length-1,o;n>=0;n--)(o=s[n])&&(r=(i?o(t,e,r):o(r))||r);return i&&r&&zs(t,e,r),r},S=(s,t)=>(e,i)=>t(e,i,s);var Gs=\"Terminal input\",mi={get:()=>Gs,set:s=>Gs=s},$s=\"Too much output to announce, navigate to rows manually to read\",_i={get:()=>$s,set:s=>$s=s};function Al(s){return s.replace(/\\r?\\n/g,\"\\r\")}function kl(s,t){return t?\"\\x1B[200~\"+s+\"\\x1B[201~\":s}function Vs(s,t){s.clipboardData&&s.clipboardData.setData(\"text/plain\",t.selectionText),s.preventDefault()}function qs(s,t,e,i){if(s.stopPropagation(),s.clipboardData){let r=s.clipboardData.getData(\"text/plain\");Cn(r,t,e,i)}}function Cn(s,t,e,i){s=Al(s),s=kl(s,e.decPrivateModes.bracketedPasteMode&&i.rawOptions.ignoreBracketedPasteMode!==!0),e.triggerDataEvent(s,!0),t.value=\"\"}function Mn(s,t,e){let i=e.getBoundingClientRect(),r=s.clientX-i.left-10,n=s.clientY-i.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}function Pn(s,t,e,i,r){Mn(s,t,e),r&&i.rightClickSelect(s),t.value=i.selectionText,t.select()}function Ce(s){return s>65535?(s-=65536,String.fromCharCode((s>>10)+55296)+String.fromCharCode(s%1024+56320)):String.fromCharCode(s)}function It(s,t=0,e=s.length){let i=\"\";for(let r=t;r<e;++r){let n=s[r];n>65535?(n-=65536,i+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):i+=String.fromCharCode(n)}return i}var er=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let i=t.length;if(!i)return 0;let r=0,n=0;if(this._interim){let o=t.charCodeAt(n++);56320<=o&&o<=57343?e[r++]=(this._interim-55296)*1024+o-56320+65536:(e[r++]=this._interim,e[r++]=o),this._interim=0}for(let o=n;o<i;++o){let l=t.charCodeAt(o);if(55296<=l&&l<=56319){if(++o>=i)return this._interim=l,r;let a=t.charCodeAt(o);56320<=a&&a<=57343?e[r++]=(l-55296)*1024+a-56320+65536:(e[r++]=l,e[r++]=a);continue}l!==65279&&(e[r++]=l)}return r}},tr=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let i=t.length;if(!i)return 0;let r=0,n,o,l,a,u=0,h=0;if(this.interim[0]){let _=!1,p=this.interim[0];p&=(p&224)===192?31:(p&240)===224?15:7;let m=0,f;for(;(f=this.interim[++m]&63)&&m<4;)p<<=6,p|=f;let A=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=A-m;for(;h<R;){if(h>=i)return 0;if(f=t[h++],(f&192)!==128){h--,_=!0;break}else this.interim[m++]=f,p<<=6,p|=f&63}_||(A===2?p<128?h--:e[r++]=p:A===3?p<2048||p>=55296&&p<=57343||p===65279||(e[r++]=p):p<65536||p>1114111||(e[r++]=p)),this.interim.fill(0)}let c=i-4,d=h;for(;d<i;){for(;d<c&&!((n=t[d])&128)&&!((o=t[d+1])&128)&&!((l=t[d+2])&128)&&!((a=t[d+3])&128);)e[r++]=n,e[r++]=o,e[r++]=l,e[r++]=a,d+=4;if(n=t[d++],n<128)e[r++]=n;else if((n&224)===192){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(u=(n&31)<<6|o&63,u<128){d--;continue}e[r++]=u}else if((n&240)===224){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,r;if(l=t[d++],(l&192)!==128){d--;continue}if(u=(n&15)<<12|(o&63)<<6|l&63,u<2048||u>=55296&&u<=57343||u===65279)continue;e[r++]=u}else if((n&248)===240){if(d>=i)return this.interim[0]=n,r;if(o=t[d++],(o&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,r;if(l=t[d++],(l&192)!==128){d--;continue}if(d>=i)return this.interim[0]=n,this.interim[1]=o,this.interim[2]=l,r;if(a=t[d++],(a&192)!==128){d--;continue}if(u=(n&7)<<18|(o&63)<<12|(l&63)<<6|a&63,u<65536||u>1114111)continue;e[r++]=u}}return r}};var ir=\"\";var we=\" \";var De=class s{constructor(){this.fg=0;this.bg=0;this.extended=new rt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new s;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},rt=class s{constructor(t=0,e=0){this._ext=0;this._urlId=0;this._ext=t,this._urlId=e}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new s(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}};var q=class s extends De{constructor(){super(...arguments);this.content=0;this.fg=0;this.bg=0;this.extended=new rt;this.combinedData=\"\"}static fromCharData(e){let i=new s;return i.setFromCharData(e),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ce(this.content&2097151):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let i=!1;if(e[1].length>2)i=!0;else if(e[1].length===2){let r=e[1].charCodeAt(0);if(55296<=r&&r<=56319){let n=e[1].charCodeAt(1);56320<=n&&n<=57343?this.content=(r-55296)*1024+n-56320+65536|e[2]<<22:i=!0}else i=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;i&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};var js=\"di$target\",Hn=\"di$dependencies\",Fn=new Map;function Xs(s){return s[Hn]||[]}function ie(s){if(Fn.has(s))return Fn.get(s);let t=function(e,i,r){if(arguments.length!==3)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");Pl(t,e,r)};return t._id=s,Fn.set(s,t),t}function Pl(s,t,e){t[js]===t?t[Hn].push({id:s,index:e}):(t[Hn]=[{id:s,index:e}],t[js]=t)}var F=ie(\"BufferService\"),rr=ie(\"CoreMouseService\"),ge=ie(\"CoreService\"),Zs=ie(\"CharsetService\"),xt=ie(\"InstantiationService\");var nr=ie(\"LogService\"),H=ie(\"OptionsService\"),sr=ie(\"OscLinkService\"),Js=ie(\"UnicodeService\"),Be=ie(\"DecorationService\");var wt=class{constructor(t,e,i){this._bufferService=t;this._optionsService=e;this._oscLinkService=i}provideLinks(t,e){let i=this._bufferService.buffer.lines.get(t-1);if(!i){e(void 0);return}let r=[],n=this._optionsService.rawOptions.linkHandler,o=new q,l=i.getTrimmedLength(),a=-1,u=-1,h=!1;for(let c=0;c<l;c++)if(!(u===-1&&!i.hasContent(c))){if(i.loadCell(c,o),o.hasExtendedAttrs()&&o.extended.urlId)if(u===-1){u=c,a=o.extended.urlId;continue}else h=o.extended.urlId!==a;else u!==-1&&(h=!0);if(h||u!==-1&&c===l-1){let d=this._oscLinkService.getLinkData(a)?.uri;if(d){let _={start:{x:u+1,y:t},end:{x:c+(!h&&c===l-1?1:0),y:t}},p=!1;if(!n?.allowNonHttpProtocols)try{let m=new URL(d);[\"http:\",\"https:\"].includes(m.protocol)||(p=!0)}catch{p=!0}p||r.push({text:d,range:_,activate:(m,f)=>n?n.activate(m,f,_):Ol(m,f),hover:(m,f)=>n?.hover?.(m,f,_),leave:(m,f)=>n?.leave?.(m,f,_)})}h=!1,o.hasExtendedAttrs()&&o.extended.urlId?(u=c,a=o.extended.urlId):(u=-1,a=-1)}}e(r)}};wt=M([S(0,F),S(1,H),S(2,sr)],wt);function Ol(s,t){if(confirm(`Do you want to navigate to ${t}?\n\nWARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}var nt=ie(\"CharSizeService\"),ae=ie(\"CoreBrowserService\"),Dt=ie(\"MouseService\"),ce=ie(\"RenderService\"),Qs=ie(\"SelectionService\"),or=ie(\"CharacterJoinerService\"),Re=ie(\"ThemeService\"),lr=ie(\"LinkProviderService\");var Wn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?ar.isErrorNoTelemetry(t)?new ar(t.message+`\n\n`+t.stack):new Error(t.message+`\n\n`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Bl=new Wn;function Lt(s){Nl(s)||Bl.onUnexpectedError(s)}var Un=\"Canceled\";function Nl(s){return s instanceof bi?!0:s instanceof Error&&s.name===Un&&s.message===Un}var bi=class extends Error{constructor(){super(Un),this.name=this.message}};function eo(s){return s?new Error(`Illegal argument: ${s}`):new Error(\"Illegal argument\")}var ar=class s extends Error{constructor(t){super(t),this.name=\"CodeExpectedError\"}static fromError(t){if(t instanceof s)return t;let e=new s;return e.message=t.message,e.stack=t.stack,e}static isErrorNoTelemetry(t){return t.name===\"CodeExpectedError\"}},Rt=class s extends Error{constructor(t){super(t||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,s.prototype)}};function Fl(s,t,e=0,i=s.length){let r=e,n=i;for(;r<n;){let o=Math.floor((r+n)/2);t(s[o])?r=o+1:n=o}return r-1}var cr=class cr{constructor(t){this._array=t;this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(cr.assertInvariants){if(this._prevFindLastPredicate){for(let i of this._array)if(this._prevFindLastPredicate(i)&&!t(i))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\")}this._prevFindLastPredicate=t}let e=Fl(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}};cr.assertInvariants=!1;var to=cr;function Se(s,t=0){return s[s.length-(1+t)]}var ro;(l=>{function s(a){return a<0}l.isLessThan=s;function t(a){return a<=0}l.isLessThanOrEqual=t;function e(a){return a>0}l.isGreaterThan=e;function i(a){return a===0}l.isNeitherLessOrGreaterThan=i,l.greaterThan=1,l.lessThan=-1,l.neitherLessOrGreaterThan=0})(ro||={});function no(s,t){return(e,i)=>t(s(e),s(i))}var so=(s,t)=>s-t;var At=class At{constructor(t){this.iterate=t}forEach(t){this.iterate(e=>(t(e),!0))}toArray(){let t=[];return this.iterate(e=>(t.push(e),!0)),t}filter(t){return new At(e=>this.iterate(i=>t(i)?e(i):!0))}map(t){return new At(e=>this.iterate(i=>e(t(i))))}some(t){let e=!1;return this.iterate(i=>(e=t(i),!e)),e}findFirst(t){let e;return this.iterate(i=>t(i)?(e=i,!1):!0),e}findLast(t){let e;return this.iterate(i=>(t(i)&&(e=i),!0)),e}findLastMaxBy(t){let e,i=!0;return this.iterate(r=>((i||ro.isGreaterThan(t(r,e)))&&(i=!1,e=r),!0)),e}};At.empty=new At(t=>{});var io=At;function co(s,t){let e=Object.create(null);for(let i of s){let r=t(i),n=e[r];n||(n=e[r]=[]),n.push(i)}return e}var lo,ao,oo=class{constructor(t,e){this.toKey=e;this._map=new Map;this[lo]=\"SetWithKey\";for(let i of t)this.add(i)}get size(){return this._map.size}add(t){let e=this.toKey(t);return this._map.set(e,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,e){this._map.forEach(i=>t.call(e,i,i,this))}[(ao=Symbol.iterator,lo=Symbol.toStringTag,ao)](){return this.values()}};var ur=class{constructor(){this.map=new Map}add(t,e){let i=this.map.get(t);i||(i=new Set,this.map.set(t,i)),i.add(e)}delete(t,e){let i=this.map.get(t);i&&(i.delete(e),i.size===0&&this.map.delete(t))}forEach(t,e){let i=this.map.get(t);i&&i.forEach(e)}get(t){let e=this.map.get(t);return e||new Set}};function Kn(s,t){let e=this,i=!1,r;return function(){if(i)return r;if(i=!0,t)try{r=s.apply(e,arguments)}finally{t()}else r=s.apply(e,arguments);return r}}var zn;(O=>{function s(I){return I&&typeof I==\"object\"&&typeof I[Symbol.iterator]==\"function\"}O.is=s;let t=Object.freeze([]);function e(){return t}O.empty=e;function*i(I){yield I}O.single=i;function r(I){return s(I)?I:i(I)}O.wrap=r;function n(I){return I||t}O.from=n;function*o(I){for(let k=I.length-1;k>=0;k--)yield I[k]}O.reverse=o;function l(I){return!I||I[Symbol.iterator]().next().done===!0}O.isEmpty=l;function a(I){return I[Symbol.iterator]().next().value}O.first=a;function u(I,k){let P=0;for(let oe of I)if(k(oe,P++))return!0;return!1}O.some=u;function h(I,k){for(let P of I)if(k(P))return P}O.find=h;function*c(I,k){for(let P of I)k(P)&&(yield P)}O.filter=c;function*d(I,k){let P=0;for(let oe of I)yield k(oe,P++)}O.map=d;function*_(I,k){let P=0;for(let oe of I)yield*k(oe,P++)}O.flatMap=_;function*p(...I){for(let k of I)yield*k}O.concat=p;function m(I,k,P){let oe=P;for(let Me of I)oe=k(oe,Me);return oe}O.reduce=m;function*f(I,k,P=I.length){for(k<0&&(k+=I.length),P<0?P+=I.length:P>I.length&&(P=I.length);k<P;k++)yield I[k]}O.slice=f;function A(I,k=Number.POSITIVE_INFINITY){let P=[];if(k===0)return[P,I];let oe=I[Symbol.iterator]();for(let Me=0;Me<k;Me++){let Pe=oe.next();if(Pe.done)return[P,O.empty()];P.push(Pe.value)}return[P,{[Symbol.iterator](){return oe}}]}O.consume=A;async function R(I){let k=[];for await(let P of I)k.push(P);return Promise.resolve(k)}O.asyncToArray=R})(zn||={});var Wl=!1,dt=null,hr=class hr{constructor(){this.livingDisposables=new Map}getDisposableData(t){let e=this.livingDisposables.get(t);return e||(e={parent:null,source:null,isSingleton:!1,value:t,idx:hr.idx++},this.livingDisposables.set(t,e)),e}trackDisposable(t){let e=this.getDisposableData(t);e.source||(e.source=new Error().stack)}setParent(t,e){let i=this.getDisposableData(t);i.parent=e}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,e){let i=e.get(t);if(i)return i;let r=t.parent?this.getRootParent(this.getDisposableData(t.parent),e):t;return e.set(t,r),r}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,i])=>i.source!==null&&!this.getRootParent(i,t).isSingleton).flatMap(([i])=>i)}computeLeakingDisposables(t=10,e){let i;if(e)i=e;else{let a=new Map,u=[...this.livingDisposables.values()].filter(c=>c.source!==null&&!this.getRootParent(c,a).isSingleton);if(u.length===0)return;let h=new Set(u.map(c=>c.value));if(i=u.filter(c=>!(c.parent&&h.has(c.parent))),i.length===0)throw new Error(\"There are cyclic diposable chains!\")}if(!i)return;function r(a){function u(c,d){for(;c.length>0&&d.some(_=>typeof _==\"string\"?_===c[0]:c[0].match(_));)c.shift()}let h=a.source.split(`\n`).map(c=>c.trim().replace(\"at \",\"\")).filter(c=>c!==\"\");return u(h,[\"Error\",/^trackDisposable \\(.*\\)$/,/^DisposableTracker.trackDisposable \\(.*\\)$/]),h.reverse()}let n=new ur;for(let a of i){let u=r(a);for(let h=0;h<=u.length;h++)n.add(u.slice(0,h).join(`\n`),a)}i.sort(no(a=>a.idx,so));let o=\"\",l=0;for(let a of i.slice(0,t)){l++;let u=r(a),h=[];for(let c=0;c<u.length;c++){let d=u[c];d=`(shared with ${n.get(u.slice(0,c+1).join(`\n`)).size}/${i.length} leaks) at ${d}`;let p=n.get(u.slice(0,c).join(`\n`)),m=co([...p].map(f=>r(f)[c]),f=>f);delete m[u[c]];for(let[f,A]of Object.entries(m))h.unshift(` - stacktraces of ${A.length} other leaks continue with ${f}`);h.unshift(d)}o+=`\n\n\n==================== Leaking disposable ${l}/${i.length}: ${a.value.constructor.name} ====================\n${h.join(`\n`)}\n============================================================\n\n`}return i.length>t&&(o+=`\n\n\n... and ${i.length-t} more leaking disposables\n\n`),{leaks:i,details:o}}};hr.idx=0;var uo=hr;function Ul(s){dt=s}if(Wl){let s=\"__is_disposable_tracked__\";Ul(new class{trackDisposable(t){let e=new Error(\"Potentially leaked disposable\").stack;setTimeout(()=>{t[s]||console.log(e)},3e3)}setParent(t,e){if(t&&t!==D.None)try{t[s]=!0}catch{}}markAsDisposed(t){if(t&&t!==D.None)try{t[s]=!0}catch{}}markAsSingleton(t){}})}function fr(s){return dt?.trackDisposable(s),s}function pr(s){dt?.markAsDisposed(s)}function vi(s,t){dt?.setParent(s,t)}function Kl(s,t){if(dt)for(let e of s)dt.setParent(e,t)}function Gn(s){return dt?.markAsSingleton(s),s}function Ne(s){if(zn.is(s)){let t=[];for(let e of s)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,\"Encountered errors while disposing of store\");return Array.isArray(s)?[]:s}else if(s)return s.dispose(),s}function ho(...s){let t=C(()=>Ne(s));return Kl(s,t),t}function C(s){let t=fr({dispose:Kn(()=>{pr(t),s()})});return t}var dr=class dr{constructor(){this._toDispose=new Set;this._isDisposed=!1;fr(this)}dispose(){this._isDisposed||(pr(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Ne(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error(\"Cannot register a disposable on itself!\");return vi(t,this),this._isDisposed?dr.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error(\"Cannot dispose a disposable on itself!\");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),vi(t,null))}};dr.DISABLE_DISPOSED_WARNING=!1;var Ee=dr,D=class{constructor(){this._store=new Ee;fr(this),vi(this._store,this)}dispose(){pr(this),this._store.dispose()}_register(t){if(t===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(t)}};D.None=Object.freeze({dispose(){}});var ye=class{constructor(){this._isDisposed=!1;fr(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&vi(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,pr(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&vi(t,null),t}};var fe=typeof window==\"object\"?window:globalThis;var kt=class kt{constructor(t){this.element=t,this.next=kt.Undefined,this.prev=kt.Undefined}};kt.Undefined=new kt(void 0);var G=kt,Ct=class{constructor(){this._first=G.Undefined;this._last=G.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===G.Undefined}clear(){let t=this._first;for(;t!==G.Undefined;){let e=t.next;t.prev=G.Undefined,t.next=G.Undefined,t=e}this._first=G.Undefined,this._last=G.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let i=new G(t);if(this._first===G.Undefined)this._first=i,this._last=i;else if(e){let n=this._last;this._last=i,i.prev=n,n.next=i}else{let n=this._first;this._first=i,i.next=n,n.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==G.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==G.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==G.Undefined&&t.next!==G.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===G.Undefined&&t.next===G.Undefined?(this._first=G.Undefined,this._last=G.Undefined):t.next===G.Undefined?(this._last=this._last.prev,this._last.next=G.Undefined):t.prev===G.Undefined&&(this._first=this._first.next,this._first.prev=G.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==G.Undefined;)yield t.element,t=t.next}};var zl=globalThis.performance&&typeof globalThis.performance.now==\"function\",mr=class s{static create(t){return new s(t)}constructor(t){this._now=zl&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var Gl=!1,fo=!1,$l=!1,$;(Qe=>{Qe.None=()=>D.None;function t(y){if($l){let{onDidAddListener:T}=y,g=gi.create(),w=0;y.onDidAddListener=()=>{++w===2&&(console.warn(\"snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here\"),g.print()),T?.()}}}function e(y,T){return d(y,()=>{},0,void 0,!0,void 0,T)}Qe.defer=e;function i(y){return(T,g=null,w)=>{let E=!1,x;return x=y(N=>{if(!E)return x?x.dispose():E=!0,T.call(g,N)},null,w),E&&x.dispose(),x}}Qe.once=i;function r(y,T,g){return h((w,E=null,x)=>y(N=>w.call(E,T(N)),null,x),g)}Qe.map=r;function n(y,T,g){return h((w,E=null,x)=>y(N=>{T(N),w.call(E,N)},null,x),g)}Qe.forEach=n;function o(y,T,g){return h((w,E=null,x)=>y(N=>T(N)&&w.call(E,N),null,x),g)}Qe.filter=o;function l(y){return y}Qe.signal=l;function a(...y){return(T,g=null,w)=>{let E=ho(...y.map(x=>x(N=>T.call(g,N))));return c(E,w)}}Qe.any=a;function u(y,T,g,w){let E=g;return r(y,x=>(E=T(E,x),E),w)}Qe.reduce=u;function h(y,T){let g,w={onWillAddFirstListener(){g=y(E.fire,E)},onDidRemoveLastListener(){g?.dispose()}};T||t(w);let E=new v(w);return T?.add(E),E.event}function c(y,T){return T instanceof Array?T.push(y):T&&T.add(y),y}function d(y,T,g=100,w=!1,E=!1,x,N){let Z,te,Oe,ze=0,le,et={leakWarningThreshold:x,onWillAddFirstListener(){Z=y(ht=>{ze++,te=T(te,ht),w&&!Oe&&(me.fire(te),te=void 0),le=()=>{let fi=te;te=void 0,Oe=void 0,(!w||ze>1)&&me.fire(fi),ze=0},typeof g==\"number\"?(clearTimeout(Oe),Oe=setTimeout(le,g)):Oe===void 0&&(Oe=0,queueMicrotask(le))})},onWillRemoveListener(){E&&ze>0&&le?.()},onDidRemoveLastListener(){le=void 0,Z.dispose()}};N||t(et);let me=new v(et);return N?.add(me),me.event}Qe.debounce=d;function _(y,T=0,g){return Qe.debounce(y,(w,E)=>w?(w.push(E),w):[E],T,void 0,!0,void 0,g)}Qe.accumulate=_;function p(y,T=(w,E)=>w===E,g){let w=!0,E;return o(y,x=>{let N=w||!T(x,E);return w=!1,E=x,N},g)}Qe.latch=p;function m(y,T,g){return[Qe.filter(y,T,g),Qe.filter(y,w=>!T(w),g)]}Qe.split=m;function f(y,T=!1,g=[],w){let E=g.slice(),x=y(te=>{E?E.push(te):Z.fire(te)});w&&w.add(x);let N=()=>{E?.forEach(te=>Z.fire(te)),E=null},Z=new v({onWillAddFirstListener(){x||(x=y(te=>Z.fire(te)),w&&w.add(x))},onDidAddFirstListener(){E&&(T?setTimeout(N):N())},onDidRemoveLastListener(){x&&x.dispose(),x=null}});return w&&w.add(Z),Z.event}Qe.buffer=f;function A(y,T){return(w,E,x)=>{let N=T(new O);return y(function(Z){let te=N.evaluate(Z);te!==R&&w.call(E,te)},void 0,x)}}Qe.chain=A;let R=Symbol(\"HaltChainable\");class O{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(g=>(T(g),g)),this}filter(T){return this.steps.push(g=>T(g)?g:R),this}reduce(T,g){let w=g;return this.steps.push(E=>(w=T(w,E),w)),this}latch(T=(g,w)=>g===w){let g=!0,w;return this.steps.push(E=>{let x=g||!T(E,w);return g=!1,w=E,x?E:R}),this}evaluate(T){for(let g of this.steps)if(T=g(T),T===R)break;return T}}function I(y,T,g=w=>w){let w=(...Z)=>N.fire(g(...Z)),E=()=>y.on(T,w),x=()=>y.removeListener(T,w),N=new v({onWillAddFirstListener:E,onDidRemoveLastListener:x});return N.event}Qe.fromNodeEventEmitter=I;function k(y,T,g=w=>w){let w=(...Z)=>N.fire(g(...Z)),E=()=>y.addEventListener(T,w),x=()=>y.removeEventListener(T,w),N=new v({onWillAddFirstListener:E,onDidRemoveLastListener:x});return N.event}Qe.fromDOMEventEmitter=k;function P(y){return new Promise(T=>i(y)(T))}Qe.toPromise=P;function oe(y){let T=new v;return y.then(g=>{T.fire(g)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}Qe.fromPromise=oe;function Me(y,T){return y(g=>T.fire(g))}Qe.forward=Me;function Pe(y,T,g){return T(g),y(w=>T(w))}Qe.runAndSubscribe=Pe;class Ke{constructor(T,g){this._observable=T;this._counter=0;this._hasChanged=!1;let w={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};g||t(w),this.emitter=new v(w),g&&g.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,g){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function di(y,T){return new Ke(y,T).emitter.event}Qe.fromObservable=di;function V(y){return(T,g,w)=>{let E=0,x=!1,N={beginUpdate(){E++},endUpdate(){E--,E===0&&(y.reportChanges(),x&&(x=!1,T.call(g)))},handlePossibleChange(){},handleChange(){x=!0}};y.addObserver(N),y.reportChanges();let Z={dispose(){y.removeObserver(N)}};return w instanceof Ee?w.add(Z):Array.isArray(w)&&w.push(Z),Z}}Qe.fromObservableLight=V})($||={});var Mt=class Mt{constructor(t){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${t}_${Mt._idPool++}`,Mt.all.add(this)}start(t){this._stopWatch=new mr,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Mt.all=new Set,Mt._idPool=0;var $n=Mt,po=-1;var br=class br{constructor(t,e,i=(br._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=t;this.threshold=e;this.name=i;this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,e){let i=this.threshold;if(i<=0||e<i)return;this._stacks||(this._stacks=new Map);let r=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=i*.5;let[n,o]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${o}):`;console.warn(l),console.warn(n);let a=new qn(l,n);this._errorHandler(a)}return()=>{let n=this._stacks.get(t.value)||0;this._stacks.set(t.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,e=0;for(let[i,r]of this._stacks)(!t||e<r)&&(t=[i,r],e=r);return t}};br._idPool=1;var Vn=br,gi=class s{constructor(t){this.value=t}static create(){let t=new Error;return new s(t.stack??\"\")}print(){console.warn(this.value.split(`\n`).slice(2).join(`\n`))}},qn=class extends Error{constructor(t,e){super(t),this.name=\"ListenerLeakError\",this.stack=e}},Yn=class extends Error{constructor(t,e){super(t),this.name=\"ListenerRefusalError\",this.stack=e}},Vl=0,Pt=class{constructor(t){this.value=t;this.id=Vl++}},ql=2,Yl=(s,t)=>{if(s instanceof Pt)t(s);else for(let e=0;e<s.length;e++){let i=s[e];i&&t(i)}},_r;if(Gl){let s=[];setInterval(()=>{s.length!==0&&(console.warn(\"[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:\"),console.warn(s.join(`\n`)),s.length=0)},3e3),_r=new FinalizationRegistry(t=>{typeof t==\"string\"&&s.push(t)})}var v=class{constructor(t){this._size=0;this._options=t,this._leakageMon=po>0||this._options?.leakWarningThreshold?new Vn(t?.onListenerError??Lt,this._options?.leakWarningThreshold??po):void 0,this._perfMon=this._options?._profName?new $n(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(fo){let t=this._listeners;queueMicrotask(()=>{Yl(t,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,e,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);let u=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],h=new Yn(`${a}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(this._options?.onListenerError||Lt)(h),D.None}if(this._disposed)return D.None;e&&(t=t.bind(e));let r=new Pt(t),n,o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=gi.create(),n=this._leakageMon.check(r.stack,this._size+1)),fo&&(r.stack=o??gi.create()),this._listeners?this._listeners instanceof Pt?(this._deliveryQueue??=new jn,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let l=C(()=>{_r?.unregister(l),n?.(),this._removeListener(r)});if(i instanceof Ee?i.add(l):Array.isArray(i)&&i.push(l),_r){let a=new Error().stack.split(`\n`).slice(2,3).join(`\n`).trim(),u=/(file:|vscode-file:\\/\\/vscode-app)?(\\/[^:]*:\\d+:\\d+)/.exec(a);_r.register(l,u?.[2]??a,l)}return l},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,i=e.indexOf(t);if(i===-1)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,e[i]=void 0;let r=this._deliveryQueue.current===this;if(this._size*ql<=e.length){let n=0;for(let o=0;o<e.length;o++)e[o]?e[n++]=e[o]:r&&(this._deliveryQueue.end--,n<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=n}}_deliver(t,e){if(!t)return;let i=this._options?.onListenerError||Lt;if(!i){t.value(e);return}try{t.value(e)}catch(r){i(r)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Pt)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var jn=class{constructor(){this.i=-1;this.end=0}enqueue(t,e,i){this.i=0,this.end=i,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};var gr=class gr{constructor(){this.mapWindowIdToZoomLevel=new Map;this._onDidChangeZoomLevel=new v;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event;this.mapWindowIdToZoomFactor=new Map;this._onDidChangeFullscreen=new v;this.onDidChangeFullscreen=this._onDidChangeFullscreen.event;this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,e){if(this.getZoomLevel(e)===t)return;let i=this.getWindowId(e);this.mapWindowIdToZoomLevel.set(i,t),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,e){this.mapWindowIdToZoomFactor.set(this.getWindowId(e),t)}setFullscreen(t,e){if(this.isFullscreen(e)===t)return;let i=this.getWindowId(e);this.mapWindowIdToFullScreen.set(i,t),this._onDidChangeFullscreen.fire(i)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};gr.INSTANCE=new gr;var Si=gr;function Xl(s,t,e){typeof t==\"string\"&&(t=s.matchMedia(t)),t.addEventListener(\"change\",e)}var Eu=Si.INSTANCE.onDidChangeZoomLevel;function mo(s){return Si.INSTANCE.getZoomFactor(s)}var Tu=Si.INSTANCE.onDidChangeFullscreen,Ot=typeof navigator==\"object\"?navigator.userAgent:\"\",Ei=Ot.indexOf(\"Firefox\")>=0,Bt=Ot.indexOf(\"AppleWebKit\")>=0,Ti=Ot.indexOf(\"Chrome\")>=0,Sr=!Ti&&Ot.indexOf(\"Safari\")>=0;var Iu=Ot.indexOf(\"Electron/\")>=0,yu=Ot.indexOf(\"Android\")>=0,vr=!1;if(typeof fe.matchMedia==\"function\"){let s=fe.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),t=fe.matchMedia(\"(display-mode: fullscreen)\");vr=s.matches,Xl(fe,s,({matches:e})=>{vr&&t.matches||(vr=e)})}function _o(){return vr}var Nt=\"en\",yr=!1,xr=!1,Ii=!1,Zl=!1,vo=!1,go=!1,Jl=!1,Ql=!1,ea=!1,ta=!1,Tr,Ir=Nt,bo=Nt,ia,$e,Ve=globalThis,xe;typeof Ve.vscode<\"u\"&&typeof Ve.vscode.process<\"u\"?xe=Ve.vscode.process:typeof process<\"u\"&&typeof process?.versions?.node==\"string\"&&(xe=process);var So=typeof xe?.versions?.electron==\"string\",ra=So&&xe?.type===\"renderer\";if(typeof xe==\"object\"){yr=xe.platform===\"win32\",xr=xe.platform===\"darwin\",Ii=xe.platform===\"linux\",Zl=Ii&&!!xe.env.SNAP&&!!xe.env.SNAP_REVISION,Jl=So,ea=!!xe.env.CI||!!xe.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Tr=Nt,Ir=Nt;let s=xe.env.VSCODE_NLS_CONFIG;if(s)try{let t=JSON.parse(s);Tr=t.userLocale,bo=t.osLocale,Ir=t.resolvedLanguage||Nt,ia=t.languagePack?.translationsConfigFile}catch{}vo=!0}else typeof navigator==\"object\"&&!ra?($e=navigator.userAgent,yr=$e.indexOf(\"Windows\")>=0,xr=$e.indexOf(\"Macintosh\")>=0,Ql=($e.indexOf(\"Macintosh\")>=0||$e.indexOf(\"iPad\")>=0||$e.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Ii=$e.indexOf(\"Linux\")>=0,ta=$e?.indexOf(\"Mobi\")>=0,go=!0,Ir=globalThis._VSCODE_NLS_LANGUAGE||Nt,Tr=navigator.language.toLowerCase(),bo=Tr):console.error(\"Unable to resolve platform.\");var Xn=0;xr?Xn=1:yr?Xn=3:Ii&&(Xn=2);var wr=yr,Te=xr,Zn=Ii;var Dr=vo;var na=go&&typeof Ve.importScripts==\"function\",xu=na?Ve.origin:void 0;var Fe=$e,st=Ir,sa;(i=>{function s(){return st}i.value=s;function t(){return st.length===2?st===\"en\":st.length>=3?st[0]===\"e\"&&st[1]===\"n\"&&st[2]===\"-\":!1}i.isDefaultVariant=t;function e(){return st===\"en\"}i.isDefault=e})(sa||={});var oa=typeof Ve.postMessage==\"function\"&&!Ve.importScripts,Eo=(()=>{if(oa){let s=[];Ve.addEventListener(\"message\",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,r=s.length;i<r;i++){let n=s[i];if(n.id===e.data.vscodeScheduleAsyncWork){s.splice(i,1),n.callback();return}}});let t=0;return e=>{let i=++t;s.push({id:i,callback:e}),Ve.postMessage({vscodeScheduleAsyncWork:i},\"*\")}}return s=>setTimeout(s)})();var la=!!(Fe&&Fe.indexOf(\"Chrome\")>=0),wu=!!(Fe&&Fe.indexOf(\"Firefox\")>=0),Du=!!(!la&&Fe&&Fe.indexOf(\"Safari\")>=0),Ru=!!(Fe&&Fe.indexOf(\"Edg/\")>=0),Lu=!!(Fe&&Fe.indexOf(\"Android\")>=0);var ot=typeof navigator==\"object\"?navigator:{},aa={clipboard:{writeText:Dr||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(ot&&ot.clipboard&&ot.clipboard.writeText),readText:Dr||!!(ot&&ot.clipboard&&ot.clipboard.readText)},keyboard:Dr||_o()?0:ot.keyboard||Sr?1:2,touch:\"ontouchstart\"in fe||ot.maxTouchPoints>0,pointerEvents:fe.PointerEvent&&(\"ontouchstart\"in fe||navigator.maxTouchPoints>0)};var yi=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Jn=new yi,To=new yi,Io=new yi,yo=new Array(230);var Qn;(o=>{function s(l){return Jn.keyCodeToStr(l)}o.toString=s;function t(l){return Jn.strToKeyCode(l)}o.fromString=t;function e(l){return To.keyCodeToStr(l)}o.toUserSettingsUS=e;function i(l){return Io.keyCodeToStr(l)}o.toUserSettingsGeneral=i;function r(l){return To.strToKeyCode(l)||Io.strToKeyCode(l)}o.fromUserSettings=r;function n(l){if(l>=98&&l<=113)return null;switch(l){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\"}return Jn.keyCodeToStr(l)}o.toElectronAccelerator=n})(Qn||={});var Rr=class s{constructor(t,e,i,r,n){this.ctrlKey=t;this.shiftKey=e;this.altKey=i;this.metaKey=r;this.keyCode=n}equals(t){return t instanceof s&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?\"1\":\"0\",e=this.shiftKey?\"1\":\"0\",i=this.altKey?\"1\":\"0\",r=this.metaKey?\"1\":\"0\";return`K${t}${e}${i}${r}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new es([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}};var es=class{constructor(t){if(t.length===0)throw eo(\"chords\");this.chords=t}getHashCode(){let t=\"\";for(let e=0,i=this.chords.length;e<i;e++)e!==0&&(t+=\";\"),t+=this.chords[e].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let e=0;e<this.chords.length;e++)if(!this.chords[e].equals(t.chords[e]))return!1;return!0}};function ca(s){if(s.charCode){let e=String.fromCharCode(s.charCode).toUpperCase();return Qn.fromString(e)}let t=s.keyCode;if(t===3)return 7;if(Ei)switch(t){case 59:return 85;case 60:if(Zn)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Te)return 57;break}else if(Bt){if(Te&&t===93)return 57;if(!Te&&t===92)return 57}return yo[t]||0}var ua=Te?256:2048,ha=512,da=1024,fa=Te?2048:256;var ft=class{constructor(t){this._standardKeyboardEventBrand=!0;let e=t;this.browserEvent=e,this.target=e.target,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,this.altGraphKey=e.getModifierState?.(\"AltGraph\"),this.keyCode=ca(e),this.code=e.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let e=0;return this.ctrlKey&&(e|=ua),this.altKey&&(e|=ha),this.shiftKey&&(e|=da),this.metaKey&&(e|=fa),e|=t,e}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new Rr(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}};var wo=new WeakMap;function pa(s){if(!s.parent||s.parent===s)return null;try{let t=s.location,e=s.parent.location;if(t.origin!==\"null\"&&e.origin!==\"null\"&&t.origin!==e.origin)return null}catch{return null}return s.parent}var Lr=class{static getSameOriginWindowChain(t){let e=wo.get(t);if(!e){e=[],wo.set(t,e);let i=t,r;do r=pa(i),r?e.push({window:new WeakRef(i),iframeElement:i.frameElement||null}):e.push({window:new WeakRef(i),iframeElement:null}),i=r;while(i)}return e.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,e){if(!e||t===e)return{top:0,left:0};let i=0,r=0,n=this.getSameOriginWindowChain(t);for(let o of n){let l=o.window.deref();if(i+=l?.scrollY??0,r+=l?.scrollX??0,l===e||!o.iframeElement)break;let a=o.iframeElement.getBoundingClientRect();i+=a.top,r+=a.left}return{top:i,left:r}}};var qe=class{constructor(t,e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=e.button===0,this.middleButton=e.button===1,this.rightButton=e.button===2,this.buttons=e.buttons,this.target=e.target,this.detail=e.detail||1,e.type===\"dblclick\"&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,typeof e.pageX==\"number\"?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=e.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let i=Lr.getPositionOfChildWindowRelativeToAncestorWindow(t,e.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}};var xi=class{constructor(t,e=0,i=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=i,this.deltaX=e;let r=!1;if(Ti){let n=navigator.userAgent.match(/Chrome\\/(\\d+)/);r=(n?parseInt(n[1]):123)<=122}if(t){let n=t,o=t,l=t.view?.devicePixelRatio||1;if(typeof n.wheelDeltaY<\"u\")r?this.deltaY=n.wheelDeltaY/(120*l):this.deltaY=n.wheelDeltaY/120;else if(typeof o.VERTICAL_AXIS<\"u\"&&o.axis===o.VERTICAL_AXIS)this.deltaY=-o.detail/3;else if(t.type===\"wheel\"){let a=t;a.deltaMode===a.DOM_DELTA_LINE?Ei&&!Te?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof n.wheelDeltaX<\"u\")Sr&&wr?this.deltaX=-(n.wheelDeltaX/120):r?this.deltaX=n.wheelDeltaX/(120*l):this.deltaX=n.wheelDeltaX/120;else if(typeof o.HORIZONTAL_AXIS<\"u\"&&o.axis===o.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type===\"wheel\"){let a=t;a.deltaMode===a.DOM_DELTA_LINE?Ei&&!Te?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(r?this.deltaY=t.wheelDelta/(120*l):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}};var Do=Object.freeze(function(s,t){let e=setTimeout(s.bind(t),0);return{dispose(){clearTimeout(e)}}}),ma;(i=>{function s(r){return r===i.None||r===i.Cancelled||r instanceof ts?!0:!r||typeof r!=\"object\"?!1:typeof r.isCancellationRequested==\"boolean\"&&typeof r.onCancellationRequested==\"function\"}i.isCancellationToken=s,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:$.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Do})})(ma||={});var ts=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Do:(this._emitter||(this._emitter=new v),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};var _a=Symbol(\"MicrotaskDelay\");var Ye=class{constructor(t,e){this._isDisposed=!1;this._token=-1,typeof t==\"function\"&&typeof e==\"number\"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new Rt(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new Rt(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},kr=class{constructor(){this.disposable=void 0;this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,e,i=globalThis){if(this.isDisposed)throw new Rt(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();let r=i.setInterval(()=>{t()},e);this.disposable=C(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};var ba,Ar;(function(){typeof globalThis.requestIdleCallback!=\"function\"||typeof globalThis.cancelIdleCallback!=\"function\"?Ar=(s,t)=>{Eo(()=>{if(e)return;let i=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let e=!1;return{dispose(){e||(e=!0)}}}:Ar=(s,t,e)=>{let i=s.requestIdleCallback(t,typeof e==\"number\"?{timeout:e}:void 0),r=!1;return{dispose(){r||(r=!0,s.cancelIdleCallback(i))}}},ba=s=>Ar(globalThis,s)})();var va;(e=>{async function s(i){let r,n=await Promise.all(i.map(o=>o.then(l=>l,l=>{r||(r=l)})));if(typeof r<\"u\")throw r;return n}e.settled=s;function t(i){return new Promise(async(r,n)=>{try{await i(r,n)}catch(o){n(o)}})}e.withAsyncBody=t})(va||={});var _e=class _e{static fromArray(t){return new _e(e=>{e.emitMany(t)})}static fromPromise(t){return new _e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new _e(async e=>{await Promise.all(t.map(async i=>e.emitOne(await i)))})}static merge(t){return new _e(async e=>{await Promise.all(t.map(async i=>{for await(let r of i)e.emitOne(r)}))})}constructor(t,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new v,queueMicrotask(async()=>{let i={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(t(i)),this.resolve()}catch(r){this.reject(r)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await $.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,e){return new _e(async i=>{for await(let r of t)i.emitOne(e(r))})}map(t){return _e.map(this,t)}static filter(t,e){return new _e(async i=>{for await(let r of t)e(r)&&i.emitOne(r)})}filter(t){return _e.filter(this,t)}static coalesce(t){return _e.filter(t,e=>!!e)}coalesce(){return _e.coalesce(this)}static async toPromise(t){let e=[];for await(let i of t)e.push(i);return e}toPromise(){return _e.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};_e.EMPTY=_e.fromArray([]);var Ro=_e;function Lo(s){return 55296<=s&&s<=56319}function is(s){return 56320<=s&&s<=57343}function Ao(s,t){return(s-55296<<10)+(t-56320)+65536}function Mo(s){return ns(s,0)}function ns(s,t){switch(typeof s){case\"object\":return s===null?je(349,t):Array.isArray(s)?Ea(s,t):Ta(s,t);case\"string\":return Po(s,t);case\"boolean\":return Sa(s,t);case\"number\":return je(s,t);case\"undefined\":return je(937,t);default:return je(617,t)}}function je(s,t){return(t<<5)-t+s|0}function Sa(s,t){return je(s?433:863,t)}function Po(s,t){t=je(149417,t);for(let e=0,i=s.length;e<i;e++)t=je(s.charCodeAt(e),t);return t}function Ea(s,t){return t=je(104579,t),s.reduce((e,i)=>ns(i,e),t)}function Ta(s,t){return t=je(181387,t),Object.keys(s).sort().reduce((e,i)=>(e=Po(i,e),ns(s[i],e)),t)}function rs(s,t,e=32){let i=e-t,r=~((1<<i)-1);return(s<<t|(r&s)>>>i)>>>0}function ko(s,t=0,e=s.byteLength,i=0){for(let r=0;r<e;r++)s[t+r]=i}function Ia(s,t,e=\"0\"){for(;s.length<t;)s=e+s;return s}function wi(s,t=32){return s instanceof ArrayBuffer?Array.from(new Uint8Array(s)).map(e=>e.toString(16).padStart(2,\"0\")).join(\"\"):Ia((s>>>0).toString(16),t/4)}var Cr=class Cr{constructor(){this._h0=1732584193;this._h1=4023233417;this._h2=2562383102;this._h3=271733878;this._h4=3285377520;this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(t){let e=t.length;if(e===0)return;let i=this._buff,r=this._buffLen,n=this._leftoverHighSurrogate,o,l;for(n!==0?(o=n,l=-1,n=0):(o=t.charCodeAt(0),l=0);;){let a=o;if(Lo(o))if(l+1<e){let u=t.charCodeAt(l+1);is(u)?(l++,a=Ao(o,u)):a=65533}else{n=o;break}else is(o)&&(a=65533);if(r=this._push(i,r,a),l++,l<e)o=t.charCodeAt(l);else break}this._buffLen=r,this._leftoverHighSurrogate=n}_push(t,e,i){return i<128?t[e++]=i:i<2048?(t[e++]=192|(i&1984)>>>6,t[e++]=128|(i&63)>>>0):i<65536?(t[e++]=224|(i&61440)>>>12,t[e++]=128|(i&4032)>>>6,t[e++]=128|(i&63)>>>0):(t[e++]=240|(i&1835008)>>>18,t[e++]=128|(i&258048)>>>12,t[e++]=128|(i&4032)>>>6,t[e++]=128|(i&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),e}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),wi(this._h0)+wi(this._h1)+wi(this._h2)+wi(this._h3)+wi(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,ko(this._buff,this._buffLen),this._buffLen>56&&(this._step(),ko(this._buff));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=Cr._bigBlock32,e=this._buffDV;for(let c=0;c<64;c+=4)t.setUint32(c,e.getUint32(c,!1),!1);for(let c=64;c<320;c+=4)t.setUint32(c,rs(t.getUint32(c-12,!1)^t.getUint32(c-32,!1)^t.getUint32(c-56,!1)^t.getUint32(c-64,!1),1),!1);let i=this._h0,r=this._h1,n=this._h2,o=this._h3,l=this._h4,a,u,h;for(let c=0;c<80;c++)c<20?(a=r&n|~r&o,u=1518500249):c<40?(a=r^n^o,u=1859775393):c<60?(a=r&n|r&o|n&o,u=2400959708):(a=r^n^o,u=3395469782),h=rs(i,5)+a+l+u+t.getUint32(c*4,!1)&4294967295,l=o,o=n,n=rs(r,30),r=i,i=h;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+n&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+l&4294967295}};Cr._bigBlock32=new DataView(new ArrayBuffer(320));var Co=Cr;var{registerWindow:Bh,getWindow:be,getDocument:Nh,getWindows:Fh,getWindowsCount:Hh,getWindowId:Oo,getWindowById:Wh,hasWindow:Uh,onDidRegisterWindow:No,onWillUnregisterWindow:Kh,onDidUnregisterWindow:zh}=function(){let s=new Map;fe;let t={window:fe,disposables:new Ee};s.set(fe.vscodeWindowId,t);let e=new v,i=new v,r=new v;function n(o,l){return(typeof o==\"number\"?s.get(o):void 0)??(l?t:void 0)}return{onDidRegisterWindow:e.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(o){if(s.has(o.vscodeWindowId))return D.None;let l=new Ee,a={window:o,disposables:l.add(new Ee)};return s.set(o.vscodeWindowId,a),l.add(C(()=>{s.delete(o.vscodeWindowId),i.fire(o)})),l.add(L(o,Y.BEFORE_UNLOAD,()=>{r.fire(o)})),e.fire(a),l},getWindows(){return s.values()},getWindowsCount(){return s.size},getWindowId(o){return o.vscodeWindowId},hasWindow(o){return s.has(o)},getWindowById:n,getWindow(o){let l=o;if(l?.ownerDocument?.defaultView)return l.ownerDocument.defaultView.window;let a=o;return a?.view?a.view.window:fe},getDocument(o){return be(o).document}}}();var ss=class{constructor(t,e,i,r){this._node=t,this._type=e,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function L(s,t,e,i){return new ss(s,t,e,i)}function ya(s,t){return function(e){return t(new qe(s,e))}}function xa(s){return function(t){return s(new ft(t))}}var os=function(t,e,i,r){let n=i;return e===\"click\"||e===\"mousedown\"||e===\"contextmenu\"?n=ya(be(t),i):(e===\"keydown\"||e===\"keypress\"||e===\"keyup\")&&(n=xa(i)),L(t,e,n,r)};var wa,mt;var Mr=class extends kr{constructor(t){super(),this.defaultTarget=t&&be(t)}cancelAndSet(t,e,i){return super.cancelAndSet(t,e,i??this.defaultTarget)}},Di=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Lt(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let s=new Map,t=new Map,e=new Map,i=new Map,r=n=>{e.set(n,!1);let o=s.get(n)??[];for(t.set(n,o),s.set(n,[]),i.set(n,!0);o.length>0;)o.sort(Di.sort),o.shift().execute();i.set(n,!1)};mt=(n,o,l=0)=>{let a=Oo(n),u=new Di(o,l),h=s.get(a);return h||(h=[],s.set(a,h)),h.push(u),e.get(a)||(e.set(a,!0),n.requestAnimationFrame(()=>r(a))),u},wa=(n,o,l)=>{let a=Oo(n);if(i.get(a)){let u=new Di(o,l),h=t.get(a);return h||(h=[],t.set(a,h)),h.push(u),u}else return mt(n,o,l)}})();var pt=class pt{constructor(t,e){this.width=t;this.height=e}with(t=this.width,e=this.height){return t!==this.width||e!==this.height?new pt(t,e):this}static is(t){return typeof t==\"object\"&&typeof t.height==\"number\"&&typeof t.width==\"number\"}static lift(t){return t instanceof pt?t:new pt(t.width,t.height)}static equals(t,e){return t===e?!0:!t||!e?!1:t.width===e.width&&t.height===e.height}};pt.None=new pt(0,0);var Bo=pt;function Fo(s){let t=s.getBoundingClientRect(),e=be(s);return{left:t.left+e.scrollX,top:t.top+e.scrollY,width:t.width,height:t.height}}var Gh=new class{constructor(){this.mutationObservers=new Map}observe(s,t,e){let i=this.mutationObservers.get(s);i||(i=new Map,this.mutationObservers.set(s,i));let r=Mo(e),n=i.get(r);if(n)n.users+=1;else{let o=new v,l=new MutationObserver(u=>o.fire(u));l.observe(s,e);let a=n={users:1,observer:l,onDidMutate:o.event};t.add(C(()=>{a.users-=1,a.users===0&&(o.dispose(),l.disconnect(),i?.delete(r),i?.size===0&&this.mutationObservers.delete(s))})),i.set(r,n)}return n.onDidMutate}};var Y={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",BEFORE_UNLOAD:\"beforeunload\",UNLOAD:\"unload\",PAGE_SHOW:\"pageshow\",PAGE_HIDE:\"pagehide\",PASTE:\"paste\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",FULLSCREEN_CHANGE:\"fullscreenchange\",WK_FULLSCREEN_CHANGE:\"webkitfullscreenchange\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:Bt?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:Bt?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:Bt?\"webkitAnimationIteration\":\"animationiteration\"};var Da=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;function Ho(s,t,e,...i){let r=Da.exec(t);if(!r)throw new Error(\"Bad use of emmet\");let n=r[1]||\"div\",o;return s!==\"http://www.w3.org/1999/xhtml\"?o=document.createElementNS(s,n):o=document.createElement(n),r[3]&&(o.id=r[3]),r[4]&&(o.className=r[4].replace(/\\./g,\" \").trim()),e&&Object.entries(e).forEach(([l,a])=>{typeof a>\"u\"||(/^on\\w+$/.test(l)?o[l]=a:l===\"selected\"?a&&o.setAttribute(l,\"true\"):o.setAttribute(l,a))}),o.append(...i),o}function Ra(s,t,...e){return Ho(\"http://www.w3.org/1999/xhtml\",s,t,...e)}Ra.SVG=function(s,t,...e){return Ho(\"http://www.w3.org/2000/svg\",s,t,...e)};var ls=class{constructor(t){this.domNode=t;this._maxWidth=\"\";this._width=\"\";this._height=\"\";this._top=\"\";this._left=\"\";this._bottom=\"\";this._right=\"\";this._paddingTop=\"\";this._paddingLeft=\"\";this._paddingBottom=\"\";this._paddingRight=\"\";this._fontFamily=\"\";this._fontWeight=\"\";this._fontSize=\"\";this._fontStyle=\"\";this._fontFeatureSettings=\"\";this._fontVariationSettings=\"\";this._textDecoration=\"\";this._lineHeight=\"\";this._letterSpacing=\"\";this._className=\"\";this._display=\"\";this._position=\"\";this._visibility=\"\";this._color=\"\";this._backgroundColor=\"\";this._layerHint=!1;this._contain=\"none\";this._boxShadow=\"\"}setMaxWidth(t){let e=Ie(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=Ie(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=Ie(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=Ie(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=Ie(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=Ie(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=Ie(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=Ie(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=Ie(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=Ie(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=Ie(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=Ie(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=Ie(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=Ie(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Ie(s){return typeof s==\"number\"?`${s}px`:s}function _t(s){return new ls(s)}var Wt=class{constructor(){this._hooks=new Ee;this._pointerMoveCallback=null;this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,t&&i&&i(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,i,r,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=n;let o=t;try{t.setPointerCapture(e),this._hooks.add(C(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{o=be(t)}this._hooks.add(L(o,Y.POINTER_MOVE,l=>{if(l.buttons!==i){this.stopMonitoring(!0);return}l.preventDefault(),this._pointerMoveCallback(l)})),this._hooks.add(L(o,Y.POINTER_UP,l=>this.stopMonitoring(!0)))}};function Wo(s,t,e){let i=null,r=null;if(typeof e.value==\"function\"?(i=\"value\",r=e.value,r.length!==0&&console.warn(\"Memoize should only be used in functions with zero parameters\")):typeof e.get==\"function\"&&(i=\"get\",r=e.get),!r)throw new Error(\"not supported\");let n=`$memoize$${t}`;e[i]=function(...o){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,o)}),this[n]}}var He;(n=>(n.Tap=\"-xterm-gesturetap\",n.Change=\"-xterm-gesturechange\",n.Start=\"-xterm-gesturestart\",n.End=\"-xterm-gesturesend\",n.Contextmenu=\"-xterm-gesturecontextmenu\"))(He||={});var Q=class Q extends D{constructor(){super();this.dispatched=!1;this.targets=new Ct;this.ignoreTargets=new Ct;this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register($.runAndSubscribe(No,({window:e,disposables:i})=>{i.add(L(e.document,\"touchstart\",r=>this.onTouchStart(r),{passive:!1})),i.add(L(e.document,\"touchend\",r=>this.onTouchEnd(e,r))),i.add(L(e.document,\"touchmove\",r=>this.onTouchMove(r),{passive:!1}))},{window:fe,disposables:this._store}))}static addTarget(e){if(!Q.isTouchDevice())return D.None;Q.INSTANCE||(Q.INSTANCE=Gn(new Q));let i=Q.INSTANCE.targets.push(e);return C(i)}static ignoreTarget(e){if(!Q.isTouchDevice())return D.None;Q.INSTANCE||(Q.INSTANCE=Gn(new Q));let i=Q.INSTANCE.ignoreTargets.push(e);return C(i)}static isTouchDevice(){return\"ontouchstart\"in fe||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let r=0,n=e.targetTouches.length;r<n;r++){let o=e.targetTouches.item(r);this.activeTouches[o.identifier]={id:o.identifier,initialTarget:o.target,initialTimeStamp:i,initialPageX:o.pageX,initialPageY:o.pageY,rollingTimestamps:[i],rollingPageX:[o.pageX],rollingPageY:[o.pageY]};let l=this.newGestureEvent(He.Start,o.target);l.pageX=o.pageX,l.pageY=o.pageY,this.dispatchEvent(l)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,i){let r=Date.now(),n=Object.keys(this.activeTouches).length;for(let o=0,l=i.changedTouches.length;o<l;o++){let a=i.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(a.identifier))){console.warn(\"move of an UNKNOWN touch\",a);continue}let u=this.activeTouches[a.identifier],h=Date.now()-u.initialTimeStamp;if(h<Q.HOLD_DELAY&&Math.abs(u.initialPageX-Se(u.rollingPageX))<30&&Math.abs(u.initialPageY-Se(u.rollingPageY))<30){let c=this.newGestureEvent(He.Tap,u.initialTarget);c.pageX=Se(u.rollingPageX),c.pageY=Se(u.rollingPageY),this.dispatchEvent(c)}else if(h>=Q.HOLD_DELAY&&Math.abs(u.initialPageX-Se(u.rollingPageX))<30&&Math.abs(u.initialPageY-Se(u.rollingPageY))<30){let c=this.newGestureEvent(He.Contextmenu,u.initialTarget);c.pageX=Se(u.rollingPageX),c.pageY=Se(u.rollingPageY),this.dispatchEvent(c)}else if(n===1){let c=Se(u.rollingPageX),d=Se(u.rollingPageY),_=Se(u.rollingTimestamps)-u.rollingTimestamps[0],p=c-u.rollingPageX[0],m=d-u.rollingPageY[0],f=[...this.targets].filter(A=>u.initialTarget instanceof Node&&A.contains(u.initialTarget));this.inertia(e,f,r,Math.abs(p)/_,p>0?1:-1,c,Math.abs(m)/_,m>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(He.End,u.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,i){let r=document.createEvent(\"CustomEvent\");return r.initEvent(e,!1,!0),r.initialTarget=i,r.tapCount=0,r}dispatchEvent(e){if(e.type===He.Tap){let i=new Date().getTime(),r=0;i-this._lastSetTapCountTime>Q.CLEAR_TAP_COUNT_TIME?r=1:r=2,this._lastSetTapCountTime=i,e.tapCount=r}else(e.type===He.Change||e.type===He.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let r of this.ignoreTargets)if(r.contains(e.initialTarget))return;let i=[];for(let r of this.targets)if(r.contains(e.initialTarget)){let n=0,o=e.initialTarget;for(;o&&o!==r;)n++,o=o.parentElement;i.push([n,r])}i.sort((r,n)=>r[0]-n[0]);for(let[r,n]of i)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,i,r,n,o,l,a,u,h){this.handle=mt(e,()=>{let c=Date.now(),d=c-r,_=0,p=0,m=!0;n+=Q.SCROLL_FRICTION*d,a+=Q.SCROLL_FRICTION*d,n>0&&(m=!1,_=o*n*d),a>0&&(m=!1,p=u*a*d);let f=this.newGestureEvent(He.Change);f.translationX=_,f.translationY=p,i.forEach(A=>A.dispatchEvent(f)),m||this.inertia(e,i,c,n,o,l+_,a,u,h+p)})}onTouchMove(e){let i=Date.now();for(let r=0,n=e.changedTouches.length;r<n;r++){let o=e.changedTouches.item(r);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(\"end of an UNKNOWN touch\",o);continue}let l=this.activeTouches[o.identifier],a=this.newGestureEvent(He.Change,l.initialTarget);a.translationX=o.pageX-Se(l.rollingPageX),a.translationY=o.pageY-Se(l.rollingPageY),a.pageX=o.pageX,a.pageY=o.pageY,this.dispatchEvent(a),l.rollingPageX.length>3&&(l.rollingPageX.shift(),l.rollingPageY.shift(),l.rollingTimestamps.shift()),l.rollingPageX.push(o.pageX),l.rollingPageY.push(o.pageY),l.rollingTimestamps.push(i)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};Q.SCROLL_FRICTION=-.005,Q.HOLD_DELAY=700,Q.CLEAR_TAP_COUNT_TIME=400,M([Wo],Q,\"isTouchDevice\",1);var Pr=Q;var lt=class extends D{onclick(t,e){this._register(L(t,Y.CLICK,i=>e(new qe(be(t),i))))}onmousedown(t,e){this._register(L(t,Y.MOUSE_DOWN,i=>e(new qe(be(t),i))))}onmouseover(t,e){this._register(L(t,Y.MOUSE_OVER,i=>e(new qe(be(t),i))))}onmouseleave(t,e){this._register(L(t,Y.MOUSE_LEAVE,i=>e(new qe(be(t),i))))}onkeydown(t,e){this._register(L(t,Y.KEY_DOWN,i=>e(new ft(i))))}onkeyup(t,e){this._register(L(t,Y.KEY_UP,i=>e(new ft(i))))}oninput(t,e){this._register(L(t,Y.INPUT,e))}onblur(t,e){this._register(L(t,Y.BLUR,e))}onfocus(t,e){this._register(L(t,Y.FOCUS,e))}onchange(t,e){this._register(L(t,Y.CHANGE,e))}ignoreGesture(t){return Pr.ignoreTarget(t)}};var Uo=11,Or=class extends lt{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=t.bgWidth+\"px\",this.bgDomNode.style.height=t.bgHeight+\"px\",typeof t.top<\"u\"&&(this.bgDomNode.style.top=\"0px\"),typeof t.left<\"u\"&&(this.bgDomNode.style.left=\"0px\"),typeof t.bottom<\"u\"&&(this.bgDomNode.style.bottom=\"0px\"),typeof t.right<\"u\"&&(this.bgDomNode.style.right=\"0px\"),this.domNode=document.createElement(\"div\"),this.domNode.className=t.className,this.domNode.style.position=\"absolute\",this.domNode.style.width=Uo+\"px\",this.domNode.style.height=Uo+\"px\",typeof t.top<\"u\"&&(this.domNode.style.top=t.top+\"px\"),typeof t.left<\"u\"&&(this.domNode.style.left=t.left+\"px\"),typeof t.bottom<\"u\"&&(this.domNode.style.bottom=t.bottom+\"px\"),typeof t.right<\"u\"&&(this.domNode.style.right=t.right+\"px\"),this._pointerMoveMonitor=this._register(new Wt),this._register(os(this.bgDomNode,Y.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(os(this.domNode,Y.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new Mr),this._pointerdownScheduleRepeatTimer=this._register(new Ye)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,be(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}};var cs=class s{constructor(t,e,i,r,n,o,l){this._forceIntegerValues=t;this._scrollStateBrand=void 0;this._forceIntegerValues&&(e=e|0,i=i|0,r=r|0,n=n|0,o=o|0,l=l|0),this.rawScrollLeft=r,this.rawScrollTop=l,e<0&&(e=0),r+e>i&&(r=i-e),r<0&&(r=0),n<0&&(n=0),l+n>o&&(l=o-n),l<0&&(l=0),this.width=e,this.scrollWidth=i,this.scrollLeft=r,this.height=n,this.scrollHeight=o,this.scrollTop=l}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,e){return new s(this._forceIntegerValues,typeof t.width<\"u\"?t.width:this.width,typeof t.scrollWidth<\"u\"?t.scrollWidth:this.scrollWidth,e?this.rawScrollLeft:this.scrollLeft,typeof t.height<\"u\"?t.height:this.height,typeof t.scrollHeight<\"u\"?t.scrollHeight:this.scrollHeight,e?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new s(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<\"u\"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<\"u\"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,e){let i=this.width!==t.width,r=this.scrollWidth!==t.scrollWidth,n=this.scrollLeft!==t.scrollLeft,o=this.height!==t.height,l=this.scrollHeight!==t.scrollHeight,a=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:e,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:n,heightChanged:o,scrollHeightChanged:l,scrollTopChanged:a}}},Ri=class extends D{constructor(e){super();this._scrollableBrand=void 0;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new cs(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,i){let r=this._state.withScrollDimensions(e,i);this._setState(r,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let i=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(e,i){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>\"u\"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>\"u\"?this._smoothScrolling.to.scrollTop:e.scrollTop};let r=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===r.scrollLeft&&this._smoothScrolling.to.scrollTop===r.scrollTop)return;let n;i?n=new Nr(this._smoothScrolling.from,r,this._smoothScrolling.startTime,this._smoothScrolling.duration):n=this._smoothScrolling.combine(this._state,r,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{let r=this._state.withScrollPosition(e);this._smoothScrolling=Nr.start(this._state,r,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),i=this._state.withScrollPosition(e);if(this._setState(i,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,i){let r=this._state;r.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(r,i)))}},Br=class{constructor(t,e,i){this.scrollLeft=t,this.scrollTop=e,this.isDone=i}};function as(s,t){let e=t-s;return function(i){return s+e*ka(i)}}function La(s,t,e){return function(i){return i<e?s(i/e):t((i-e)/(1-e))}}var Nr=class s{constructor(t,e,i,r){this.from=t,this.to=e,this.duration=r,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,e,i){if(Math.abs(t-e)>2.5*i){let n,o;return t<e?(n=t+.75*i,o=e-.75*i):(n=t-.75*i,o=e+.75*i),La(as(t,n),as(o,e),.33)}return as(t,e)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(t){this.to=t.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(t){let e=(t-this.startTime)/this.duration;if(e<1){let i=this.scrollLeft(e),r=this.scrollTop(e);return new Br(i,r,!1)}return new Br(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,e,i){return s.start(t,e,i)}static start(t,e,i){i=i+10;let r=Date.now()-10;return new s(t,e,r,i)}};function Aa(s){return Math.pow(s,3)}function ka(s){return 1-Aa(1-s)}var Fr=class extends D{constructor(t,e,i){super(),this._visibility=t,this._visibleClassName=e,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Ye)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?\" fade\":\"\")))}};var Ca=140,Ut=class extends lt{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new Fr(t.visibility,\"visible scrollbar \"+t.extraScrollbarClassName,\"invisible scrollbar \"+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Wt),this._shouldRender=!0,this.domNode=_t(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(L(this.domNode.domNode,Y.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new Or(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,i,r){this.slider=_t(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(t),this.slider.setLeft(e),typeof i==\"number\"&&this.slider.setWidth(i),typeof r==\"number\"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(L(this.slider.domNode,Y.POINTER_DOWN,n=>{n.button===0&&(n.preventDefault(),this._sliderPointerDown(n))})),this.onclick(this.slider.domNode,n=>{n.leftButton&&n.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,i=e+this._scrollbarState.getSliderPosition(),r=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);i<=n&&n<=r?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,i;if(t.target===this.domNode.domNode&&typeof t.offsetX==\"number\"&&typeof t.offsetY==\"number\")e=t.offsetX,i=t.offsetY;else{let n=Fo(this.domNode.domNode);e=t.pageX-n.left,i=t.pageY-n.top}let r=this._pointerDownRelativePosition(e,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),i=this._sliderOrthogonalPointerPosition(t),r=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,n=>{let o=this._sliderOrthogonalPointerPosition(n),l=Math.abs(o-i);if(wr&&l>Ca){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let u=this._sliderPointerPosition(n)-e;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(u))},()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}};var Kt=class s{constructor(t,e,i,r,n,o){this._scrollbarSize=Math.round(e),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(t),this._visibleSize=r,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new s(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let e=Math.round(t);return this._visibleSize!==e?(this._visibleSize=e,this._refreshComputedValues(),!0):!1}setScrollSize(t){let e=Math.round(t);return this._scrollSize!==e?(this._scrollSize=e,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let e=Math.round(t);return this._scrollPosition!==e?(this._scrollPosition=e,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,e,i,r,n){let o=Math.max(0,i-t),l=Math.max(0,o-2*e),a=r>0&&r>i;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let u=Math.round(Math.max(20,Math.floor(i*l/r))),h=(l-u)/(r-i),c=n*h;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:h,computedSliderPosition:Math.round(c)}}_refreshComputedValues(){let t=s._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let e=t-this._arrowSize-this._computedSliderSize/2;return Math.round(e/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let e=t-this._arrowSize,i=this._scrollPosition;return e<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(t){if(!this._computedIsNeeded)return 0;let e=this._computedSliderPosition+t;return Math.round(e/this._computedSliderRatio)}};var Wr=class extends Ut{constructor(t,e,i){let r=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:i,scrollbarState:new Kt(e.horizontalHasArrows?e.arrowSize:0,e.horizontal===2?0:e.horizontalScrollbarSize,e.vertical===2?0:e.verticalScrollbarSize,r.width,r.scrollWidth,n.scrollLeft),visibility:e.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:t,scrollByPage:e.scrollByPage}),e.horizontalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(Math.floor((e.horizontalScrollbarSize-e.horizontalSliderSize)/2),0,void 0,e.horizontalSliderSize)}_updateSlider(t,e){this.slider.setWidth(t),this.slider.setLeft(e)}_renderDomNode(t,e){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,e){t.scrollLeft=e}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}};var Ur=class extends Ut{constructor(t,e,i){let r=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:i,scrollbarState:new Kt(e.verticalHasArrows?e.arrowSize:0,e.vertical===2?0:e.verticalScrollbarSize,0,r.height,r.scrollHeight,n.scrollTop),visibility:e.vertical,extraScrollbarClassName:\"vertical\",scrollable:t,scrollByPage:e.scrollByPage}),e.verticalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(0,Math.floor((e.verticalScrollbarSize-e.verticalSliderSize)/2),e.verticalSliderSize,void 0)}_updateSlider(t,e){this.slider.setHeight(t),this.slider.setTop(e)}_renderDomNode(t,e){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return e}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,e){t.scrollTop=e}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}};var Ma=500,Ko=50,zo=!0,us=class{constructor(t,e,i){this.timestamp=t,this.deltaX=e,this.deltaY=i,this.score=0}},zr=class zr{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let t=1,e=0,i=1,r=this._rear;do{let n=r===this._front?t:Math.pow(2,-i);if(t-=n,e+=this._memory[r].score*n,r===this._front)break;r=(this._capacity+r-1)%this._capacity,i++}while(!0);return e<=.5}acceptStandardWheelEvent(t){if(Ti){let e=be(t.browserEvent),i=mo(e);this.accept(Date.now(),t.deltaX*i,t.deltaY*i)}else this.accept(Date.now(),t.deltaX,t.deltaY)}accept(t,e,i){let r=null,n=new us(t,e,i);this._front===-1&&this._rear===-1?(this._memory[0]=n,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=n),n.score=this._computeScore(n,r)}_computeScore(t,e){if(Math.abs(t.deltaX)>0&&Math.abs(t.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(i+=.25),e){let r=Math.abs(t.deltaX),n=Math.abs(t.deltaY),o=Math.abs(e.deltaX),l=Math.abs(e.deltaY),a=Math.max(Math.min(r,o),1),u=Math.max(Math.min(n,l),1),h=Math.max(r,o),c=Math.max(n,l);h%a===0&&c%u===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};zr.INSTANCE=new zr;var hs=zr,ds=class extends lt{constructor(e,i,r){super();this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._onWillScroll=this._register(new v);this.onWillScroll=this._onWillScroll.event;this._options=Pa(i),this._scrollable=r,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));let n={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Ur(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new Wr(this._scrollable,this._options,n)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=_t(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=_t(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=_t(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Ye),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Ne(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Te&&(this._options.className+=\" mac\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className}updateOptions(e){typeof e.handleMouseWheel<\"u\"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<\"u\"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<\"u\"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<\"u\"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<\"u\"&&(this._options.horizontal=e.horizontal),typeof e.vertical<\"u\"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<\"u\"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<\"u\"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<\"u\"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new xi(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Ne(this._mouseWheelToDispose),e)){let r=n=>{this._onMouseWheel(new xi(n))};this._mouseWheelToDispose.push(L(this._listenOnDomNode,Y.MOUSE_WHEEL,r,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let i=hs.INSTANCE;zo&&i.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let o=e.deltaY*this._options.mouseWheelScrollSensitivity,l=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&l+o===0?l=o=0:Math.abs(o)>=Math.abs(l)?l=0:o=0),this._options.flipAxes&&([o,l]=[l,o]);let a=!Te&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!l&&(l=o,o=0),e.browserEvent&&e.browserEvent.altKey&&(l=l*this._options.fastScrollSensitivity,o=o*this._options.fastScrollSensitivity);let u=this._scrollable.getFutureScrollPosition(),h={};if(o){let c=Ko*o,d=u.scrollTop-(c<0?Math.floor(c):Math.ceil(c));this._verticalScrollbar.writeScrollPosition(h,d)}if(l){let c=Ko*l,d=u.scrollLeft-(c<0?Math.floor(c):Math.ceil(c));this._horizontalScrollbar.writeScrollPosition(h,d)}h=this._scrollable.validateScrollPosition(h),(u.scrollLeft!==h.scrollLeft||u.scrollTop!==h.scrollTop)&&(zo&&this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),r=!0)}let n=r;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),i=e.scrollTop>0,r=e.scrollLeft>0,n=r?\" left\":\"\",o=i?\" top\":\"\",l=r||i?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${l}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Ma)}};var Kr=class extends ds{constructor(t,e,i){super(t,e,i)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Pa(s){let t={lazyRender:typeof s.lazyRender<\"u\"?s.lazyRender:!1,className:typeof s.className<\"u\"?s.className:\"\",useShadows:typeof s.useShadows<\"u\"?s.useShadows:!0,handleMouseWheel:typeof s.handleMouseWheel<\"u\"?s.handleMouseWheel:!0,flipAxes:typeof s.flipAxes<\"u\"?s.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof s.consumeMouseWheelIfScrollbarIsNeeded<\"u\"?s.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof s.alwaysConsumeMouseWheel<\"u\"?s.alwaysConsumeMouseWheel:!1,scrollYToX:typeof s.scrollYToX<\"u\"?s.scrollYToX:!1,mouseWheelScrollSensitivity:typeof s.mouseWheelScrollSensitivity<\"u\"?s.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof s.fastScrollSensitivity<\"u\"?s.fastScrollSensitivity:5,scrollPredominantAxis:typeof s.scrollPredominantAxis<\"u\"?s.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof s.mouseWheelSmoothScroll<\"u\"?s.mouseWheelSmoothScroll:!0,arrowSize:typeof s.arrowSize<\"u\"?s.arrowSize:11,listenOnDomNode:typeof s.listenOnDomNode<\"u\"?s.listenOnDomNode:null,horizontal:typeof s.horizontal<\"u\"?s.horizontal:1,horizontalScrollbarSize:typeof s.horizontalScrollbarSize<\"u\"?s.horizontalScrollbarSize:10,horizontalSliderSize:typeof s.horizontalSliderSize<\"u\"?s.horizontalSliderSize:0,horizontalHasArrows:typeof s.horizontalHasArrows<\"u\"?s.horizontalHasArrows:!1,vertical:typeof s.vertical<\"u\"?s.vertical:1,verticalScrollbarSize:typeof s.verticalScrollbarSize<\"u\"?s.verticalScrollbarSize:10,verticalHasArrows:typeof s.verticalHasArrows<\"u\"?s.verticalHasArrows:!1,verticalSliderSize:typeof s.verticalSliderSize<\"u\"?s.verticalSliderSize:0,scrollByPage:typeof s.scrollByPage<\"u\"?s.scrollByPage:!1};return t.horizontalSliderSize=typeof s.horizontalSliderSize<\"u\"?s.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof s.verticalSliderSize<\"u\"?s.verticalSliderSize:t.verticalScrollbarSize,Te&&(t.className+=\" mac\"),t}var zt=class extends D{constructor(e,i,r,n,o,l,a,u){super();this._bufferService=r;this._optionsService=a;this._renderService=u;this._onRequestScrollLines=this._register(new v);this.onRequestScrollLines=this._onRequestScrollLines.event;this._isSyncing=!1;this._isHandlingScroll=!1;this._suppressOnScrollHandler=!1;let h=this._register(new Ri({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:c=>mt(n.window,c)}));this._register(this._optionsService.onSpecificOptionChange(\"smoothScrollDuration\",()=>{h.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Kr(i,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},h)),this._register(this._optionsService.onMultipleOptionChange([\"scrollSensitivity\",\"fastScrollSensitivity\",\"overviewRuler\"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(o.onProtocolChange(c=>{this._scrollableElement.updateOptions({handleMouseWheel:!(c&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register($.runAndSubscribe(l.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=l.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(C(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=n.mainDocument.createElement(\"style\"),i.appendChild(this._styleElement),this._register(C(()=>this._styleElement.remove())),this._register($.runAndSubscribe(l.onChangeColors,()=>{this._styleElement.textContent=[\".xterm .xterm-scrollable-element > .scrollbar > .slider {\",` background: ${l.colors.scrollbarSliderBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {\",` background: ${l.colors.scrollbarSliderHoverBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider.active {\",` background: ${l.colors.scrollbarSliderActiveBackground.css};`,\"}\"].join(`\n`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(c=>this._handleScroll(c)))}scrollLines(e){let i=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:i.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,i){i&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!i,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let i=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),r=i-this._bufferService.buffer.ydisp;r!==0&&(this._latestYDisp=i,this._onRequestScrollLines.fire(r)),this._isHandlingScroll=!1}};zt=M([S(2,F),S(3,ae),S(4,rr),S(5,Re),S(6,H),S(7,ce)],zt);var Gt=class extends D{constructor(e,i,r,n,o){super();this._screenElement=e;this._bufferService=i;this._coreBrowserService=r;this._decorationService=n;this._renderService=o;this._decorationElements=new Map;this._altBufferIsActive=!1;this._dimensionsChanged=!1;this._container=document.createElement(\"div\"),this._container.classList.add(\"xterm-decoration-container\"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(l=>this._removeDecoration(l))),this._register(C(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let i=this._coreBrowserService.mainDocument.createElement(\"div\");i.classList.add(\"xterm-decoration\"),i.classList.toggle(\"xterm-decoration-top-layer\",e?.options?.layer===\"top\"),i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let r=e.options.x??0;return r&&r>this._bufferService.cols&&(i.style.display=\"none\"),this._refreshXPosition(e,i),i}_refreshStyle(e){let i=e.marker.line-this._bufferService.buffers.active.ydisp;if(i<0||i>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let r=this._decorationElements.get(e);r||(r=this._createElement(e),e.element=r,this._decorationElements.set(e,r),this._container.appendChild(r),e.onDispose(()=>{this._decorationElements.delete(e),r.remove()})),r.style.display=this._altBufferIsActive?\"none\":\"block\",this._altBufferIsActive||(r.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,r.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,r.style.top=`${i*this._renderService.dimensions.css.cell.height}px`,r.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(r)}}_refreshXPosition(e,i=e.element){if(!i)return;let r=e.options.x??0;(e.options.anchor||\"left\")===\"right\"?i.style.right=r?`${r*this._renderService.dimensions.css.cell.width}px`:\"\":i.style.left=r?`${r*this._renderService.dimensions.css.cell.width}px`:\"\"}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Gt=M([S(1,F),S(2,ae),S(3,Be),S(4,ce)],Gt);var Gr=class{constructor(){this._zones=[];this._zonePool=[];this._zonePoolIndex=0;this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,e){return e>=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,i){return e>=t.startBufferLine-this._linePadding[i||\"full\"]&&e<=t.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}};var We={full:0,left:0,center:0,right:0},at={full:0,left:0,center:0,right:0},Li={full:0,left:0,center:0,right:0},bt=class extends D{constructor(e,i,r,n,o,l,a,u){super();this._viewportElement=e;this._screenElement=i;this._bufferService=r;this._decorationService=n;this._renderService=o;this._optionsService=l;this._themeService=a;this._coreBrowserService=u;this._colorZoneStore=new Gr;this._shouldUpdateDimensions=!0;this._shouldUpdateAnchor=!0;this._lastKnownBufferLength=0;this._canvas=this._coreBrowserService.mainDocument.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-decoration-overview-ruler\"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(C(()=>this._canvas?.remove()));let h=this._canvas.getContext(\"2d\");if(h)this._ctx=h;else throw new Error(\"Ctx cannot be null\");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?\"none\":\"block\"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(\"overviewRuler\",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),i=Math.ceil((this._canvas.width-1)/3);at.full=this._canvas.width,at.left=e,at.center=i,at.right=e,this._refreshDrawHeightConstants(),Li.full=1,Li.left=1,Li.center=1+at.left,Li.right=1+at.left+at.center}_refreshDrawHeightConstants(){We.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,i=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);We.left=i,We.center=i,We.right=i}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*We.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let i of this._decorationService.decorations)this._colorZoneStore.addDecoration(i);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let i of e)i.position!==\"full\"&&this._renderColorZone(i);for(let i of e)i.position===\"full\"&&this._renderColorZone(i);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Li[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-We[e.position||\"full\"]/2),at[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+We[e.position||\"full\"]))}_queueRefresh(e,i){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=i||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};bt=M([S(2,F),S(3,Be),S(4,ce),S(5,H),S(6,Re),S(7,ae)],bt);var b;(E=>(E.NUL=\"\\0\",E.SOH=\"\u0001\",E.STX=\"\u0002\",E.ETX=\"\u0003\",E.EOT=\"\u0004\",E.ENQ=\"\u0005\",E.ACK=\"\u0006\",E.BEL=\"\\x07\",E.BS=\"\\b\",E.HT=\"\t\",E.LF=`\n`,E.VT=\"\\v\",E.FF=\"\\f\",E.CR=\"\\r\",E.SO=\"\u000e\",E.SI=\"\u000f\",E.DLE=\"\u0010\",E.DC1=\"\u0011\",E.DC2=\"\u0012\",E.DC3=\"\u0013\",E.DC4=\"\u0014\",E.NAK=\"\u0015\",E.SYN=\"\u0016\",E.ETB=\"\u0017\",E.CAN=\"\u0018\",E.EM=\"\u0019\",E.SUB=\"\u001a\",E.ESC=\"\\x1B\",E.FS=\"\u001c\",E.GS=\"\u001d\",E.RS=\"\u001e\",E.US=\"\u001f\",E.SP=\" \",E.DEL=\"\\x7F\"))(b||={});var Ai;(g=>(g.PAD=\"\\x80\",g.HOP=\"\\x81\",g.BPH=\"\\x82\",g.NBH=\"\\x83\",g.IND=\"\\x84\",g.NEL=\"\\x85\",g.SSA=\"\\x86\",g.ESA=\"\\x87\",g.HTS=\"\\x88\",g.HTJ=\"\\x89\",g.VTS=\"\\x8A\",g.PLD=\"\\x8B\",g.PLU=\"\\x8C\",g.RI=\"\\x8D\",g.SS2=\"\\x8E\",g.SS3=\"\\x8F\",g.DCS=\"\\x90\",g.PU1=\"\\x91\",g.PU2=\"\\x92\",g.STS=\"\\x93\",g.CCH=\"\\x94\",g.MW=\"\\x95\",g.SPA=\"\\x96\",g.EPA=\"\\x97\",g.SOS=\"\\x98\",g.SGCI=\"\\x99\",g.SCI=\"\\x9A\",g.CSI=\"\\x9B\",g.ST=\"\\x9C\",g.OSC=\"\\x9D\",g.PM=\"\\x9E\",g.APC=\"\\x9F\"))(Ai||={});var fs;(t=>t.ST=`${b.ESC}\\\\`)(fs||={});var $t=class{constructor(t,e,i,r,n,o){this._textarea=t;this._compositionView=e;this._bufferService=i;this._optionsService=r;this._coreService=n;this._renderService=o;this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;e.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(e.start,this._compositionPosition.start):i=this._textarea.value.substring(e.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,i=e.replace(t,\"\");this._dataAlreadySent=i,e.length>t.length?this._coreService.triggerDataEvent(i,!0):e.length<t.length?this._coreService.triggerDataEvent(`${b.DEL}`,!0):e.length===t.length&&e!==t&&this._coreService.triggerDataEvent(e,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.css.cell.height,r=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,n=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=n+\"px\",this._compositionView.style.top=r+\"px\",this._compositionView.style.height=i+\"px\",this._compositionView.style.lineHeight=i+\"px\",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+\"px\";let o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+\"px\",this._textarea.style.top=r+\"px\",this._textarea.style.width=Math.max(o.width,1)+\"px\",this._textarea.style.height=Math.max(o.height,1)+\"px\",this._textarea.style.lineHeight=o.height+\"px\"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};$t=M([S(2,F),S(3,H),S(4,ge),S(5,ce)],$t);var ue=0,he=0,de=0,J=0,ps={css:\"#00000000\",rgba:0},j;(i=>{function s(r,n,o,l){return l!==void 0?`#${vt(r)}${vt(n)}${vt(o)}${vt(l)}`:`#${vt(r)}${vt(n)}${vt(o)}`}i.toCss=s;function t(r,n,o,l=255){return(r<<24|n<<16|o<<8|l)>>>0}i.toRgba=t;function e(r,n,o,l){return{css:i.toCss(r,n,o,l),rgba:i.toRgba(r,n,o,l)}}i.toColor=e})(j||={});var U;(l=>{function s(a,u){if(J=(u.rgba&255)/255,J===1)return{css:u.css,rgba:u.rgba};let h=u.rgba>>24&255,c=u.rgba>>16&255,d=u.rgba>>8&255,_=a.rgba>>24&255,p=a.rgba>>16&255,m=a.rgba>>8&255;ue=_+Math.round((h-_)*J),he=p+Math.round((c-p)*J),de=m+Math.round((d-m)*J);let f=j.toCss(ue,he,de),A=j.toRgba(ue,he,de);return{css:f,rgba:A}}l.blend=s;function t(a){return(a.rgba&255)===255}l.isOpaque=t;function e(a,u,h){let c=$r.ensureContrastRatio(a.rgba,u.rgba,h);if(c)return j.toColor(c>>24&255,c>>16&255,c>>8&255)}l.ensureContrastRatio=e;function i(a){let u=(a.rgba|255)>>>0;return[ue,he,de]=$r.toChannels(u),{css:j.toCss(ue,he,de),rgba:u}}l.opaque=i;function r(a,u){return J=Math.round(u*255),[ue,he,de]=$r.toChannels(a.rgba),{css:j.toCss(ue,he,de,J),rgba:j.toRgba(ue,he,de,J)}}l.opacity=r;function n(a,u){return J=a.rgba&255,r(a,J*u/255)}l.multiplyOpacity=n;function o(a){return[a.rgba>>24&255,a.rgba>>16&255,a.rgba>>8&255]}l.toColorRGB=o})(U||={});var z;(i=>{let s,t;try{let r=document.createElement(\"canvas\");r.width=1,r.height=1;let n=r.getContext(\"2d\",{willReadFrequently:!0});n&&(s=n,s.globalCompositeOperation=\"copy\",t=s.createLinearGradient(0,0,1,1))}catch{}function e(r){if(r.match(/#[\\da-f]{3,8}/i))switch(r.length){case 4:return ue=parseInt(r.slice(1,2).repeat(2),16),he=parseInt(r.slice(2,3).repeat(2),16),de=parseInt(r.slice(3,4).repeat(2),16),j.toColor(ue,he,de);case 5:return ue=parseInt(r.slice(1,2).repeat(2),16),he=parseInt(r.slice(2,3).repeat(2),16),de=parseInt(r.slice(3,4).repeat(2),16),J=parseInt(r.slice(4,5).repeat(2),16),j.toColor(ue,he,de,J);case 7:return{css:r,rgba:(parseInt(r.slice(1),16)<<8|255)>>>0};case 9:return{css:r,rgba:parseInt(r.slice(1),16)>>>0}}let n=r.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(n)return ue=parseInt(n[1]),he=parseInt(n[2]),de=parseInt(n[3]),J=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),j.toColor(ue,he,de,J);if(!s||!t)throw new Error(\"css.toColor: Unsupported css format\");if(s.fillStyle=t,s.fillStyle=r,typeof s.fillStyle!=\"string\")throw new Error(\"css.toColor: Unsupported css format\");if(s.fillRect(0,0,1,1),[ue,he,de,J]=s.getImageData(0,0,1,1).data,J!==255)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:j.toRgba(ue,he,de,J),css:r}}i.toColor=e})(z||={});var ve;(e=>{function s(i){return t(i>>16&255,i>>8&255,i&255)}e.relativeLuminance=s;function t(i,r,n){let o=i/255,l=r/255,a=n/255,u=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),h=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),c=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4);return u*.2126+h*.7152+c*.0722}e.relativeLuminance2=t})(ve||={});var $r;(n=>{function s(o,l){if(J=(l&255)/255,J===1)return l;let a=l>>24&255,u=l>>16&255,h=l>>8&255,c=o>>24&255,d=o>>16&255,_=o>>8&255;return ue=c+Math.round((a-c)*J),he=d+Math.round((u-d)*J),de=_+Math.round((h-_)*J),j.toRgba(ue,he,de)}n.blend=s;function t(o,l,a){let u=ve.relativeLuminance(o>>8),h=ve.relativeLuminance(l>>8);if(Xe(u,h)<a){if(h<u){let p=e(o,l,a),m=Xe(u,ve.relativeLuminance(p>>8));if(m<a){let f=i(o,l,a),A=Xe(u,ve.relativeLuminance(f>>8));return m>A?p:f}return p}let d=i(o,l,a),_=Xe(u,ve.relativeLuminance(d>>8));if(_<a){let p=e(o,l,a),m=Xe(u,ve.relativeLuminance(p>>8));return _>m?d:p}return d}}n.ensureContrastRatio=t;function e(o,l,a){let u=o>>24&255,h=o>>16&255,c=o>>8&255,d=l>>24&255,_=l>>16&255,p=l>>8&255,m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));for(;m<a&&(d>0||_>0||p>0);)d-=Math.max(0,Math.ceil(d*.1)),_-=Math.max(0,Math.ceil(_*.1)),p-=Math.max(0,Math.ceil(p*.1)),m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));return(d<<24|_<<16|p<<8|255)>>>0}n.reduceLuminance=e;function i(o,l,a){let u=o>>24&255,h=o>>16&255,c=o>>8&255,d=l>>24&255,_=l>>16&255,p=l>>8&255,m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));for(;m<a&&(d<255||_<255||p<255);)d=Math.min(255,d+Math.ceil((255-d)*.1)),_=Math.min(255,_+Math.ceil((255-_)*.1)),p=Math.min(255,p+Math.ceil((255-p)*.1)),m=Xe(ve.relativeLuminance2(d,_,p),ve.relativeLuminance2(u,h,c));return(d<<24|_<<16|p<<8|255)>>>0}n.increaseLuminance=i;function r(o){return[o>>24&255,o>>16&255,o>>8&255,o&255]}n.toChannels=r})($r||={});function vt(s){let t=s.toString(16);return t.length<2?\"0\"+t:t}function Xe(s,t){return s<t?(t+.05)/(s+.05):(s+.05)/(t+.05)}var Vr=class extends De{constructor(e,i,r){super();this.content=0;this.combinedData=\"\";this.fg=e.fg,this.bg=e.bg,this.combinedData=i,this._width=r}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ct=class{constructor(t){this._bufferService=t;this._characterJoiners=[];this._nextCharacterJoinerId=0;this._workCell=new q}register(t){let e={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(e),e.id}deregister(t){for(let e=0;e<this._characterJoiners.length;e++)if(this._characterJoiners[e].id===t)return this._characterJoiners.splice(e,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let e=this._bufferService.buffer.lines.get(t);if(!e||e.length===0)return[];let i=[],r=e.translateToString(!0),n=0,o=0,l=0,a=e.getFg(0),u=e.getBg(0);for(let h=0;h<e.getTrimmedLength();h++)if(e.loadCell(h,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==a||this._workCell.bg!==u){if(h-n>1){let c=this._getJoinedRanges(r,l,o,e,n);for(let d=0;d<c.length;d++)i.push(c[d])}n=h,l=o,a=this._workCell.fg,u=this._workCell.bg}o+=this._workCell.getChars().length||we.length}if(this._bufferService.cols-n>1){let h=this._getJoinedRanges(r,l,o,e,n);for(let c=0;c<h.length;c++)i.push(h[c])}return i}_getJoinedRanges(t,e,i,r,n){let o=t.substring(e,i),l=[];try{l=this._characterJoiners[0].handler(o)}catch(a){console.error(a)}for(let a=1;a<this._characterJoiners.length;a++)try{let u=this._characterJoiners[a].handler(o);for(let h=0;h<u.length;h++)ct._mergeRanges(l,u[h])}catch(u){console.error(u)}return this._stringRangesToCellRanges(l,r,n),l}_stringRangesToCellRanges(t,e,i){let r=0,n=!1,o=0,l=t[r];if(l){for(let a=i;a<this._bufferService.cols;a++){let u=e.getWidth(a),h=e.getString(a).length||we.length;if(u!==0){if(!n&&l[0]<=o&&(l[0]=a,n=!0),l[1]<=o){if(l[1]=a,l=t[++r],!l)break;l[0]<=o?(l[0]=a,n=!0):n=!1}o+=h}}l&&(l[1]=this._bufferService.cols)}}static _mergeRanges(t,e){let i=!1;for(let r=0;r<t.length;r++){let n=t[r];if(i){if(e[1]<=n[0])return t[r-1][1]=e[1],t;if(e[1]<=n[1])return t[r-1][1]=Math.max(e[1],n[1]),t.splice(r,1),t;t.splice(r,1),r--}else{if(e[1]<=n[0])return t.splice(r,0,e),t;if(e[1]<=n[1])return n[0]=Math.min(e[0],n[0]),t;e[0]<n[1]&&(n[0]=Math.min(e[0],n[0]),i=!0);continue}}return i?t[t.length-1][1]=e[1]:t.push(e),t}};ct=M([S(0,F)],ct);function Oa(s){return 57508<=s&&s<=57558}function Ba(s){return 9472<=s&&s<=9631}function $o(s){return Oa(s)||Ba(s)}function Vo(){return{css:{canvas:qr(),cell:qr()},device:{canvas:qr(),cell:qr(),char:{width:0,height:0,left:0,top:0}}}}function qr(){return{width:0,height:0}}var Vt=class{constructor(t,e,i,r,n,o,l){this._document=t;this._characterJoinerService=e;this._optionsService=i;this._coreBrowserService=r;this._coreService=n;this._decorationService=o;this._themeService=l;this._workCell=new q;this._columnSelectMode=!1;this.defaultSpacing=0}handleSelectionChanged(t,e,i){this._selectionStart=t,this._selectionEnd=e,this._columnSelectMode=i}createRow(t,e,i,r,n,o,l,a,u,h,c){let d=[],_=this._characterJoinerService.getJoinedCharacters(e),p=this._themeService.colors,m=t.getNoBgTrimmedLength();i&&m<o+1&&(m=o+1);let f,A=0,R=\"\",O=0,I=0,k=0,P=0,oe=!1,Me=0,Pe=!1,Ke=0,di=0,V=[],Qe=h!==-1&&c!==-1;for(let y=0;y<m;y++){t.loadCell(y,this._workCell);let T=this._workCell.getWidth();if(T===0)continue;let g=!1,w=y>=di,E=y,x=this._workCell;if(_.length>0&&y===_[0][0]&&w){let W=_.shift(),An=this._isCellInSelection(W[0],e);for(O=W[0]+1;O<W[1];O++)w&&=An===this._isCellInSelection(O,e);w&&=!i||o<W[0]||o>=W[1],w?(g=!0,x=new Vr(this._workCell,t.translateToString(!0,W[0],W[1]),W[1]-W[0]),E=W[1]-1,T=x.getWidth()):di=W[1]}let N=this._isCellInSelection(y,e),Z=i&&y===o,te=Qe&&y>=h&&y<=c,Oe=!1;this._decorationService.forEachDecorationAtCell(y,e,void 0,W=>{Oe=!0});let ze=x.getChars()||we;if(ze===\" \"&&(x.isUnderline()||x.isOverline())&&(ze=\"\\xA0\"),Ke=T*a-u.get(ze,x.isBold(),x.isItalic()),!f)f=this._document.createElement(\"span\");else if(A&&(N&&Pe||!N&&!Pe&&x.bg===I)&&(N&&Pe&&p.selectionForeground||x.fg===k)&&x.extended.ext===P&&te===oe&&Ke===Me&&!Z&&!g&&!Oe&&w){x.isInvisible()?R+=we:R+=ze,A++;continue}else A&&(f.textContent=R),f=this._document.createElement(\"span\"),A=0,R=\"\";if(I=x.bg,k=x.fg,P=x.extended.ext,oe=te,Me=Ke,Pe=N,g&&o>=y&&o<=E&&(o=y),!this._coreService.isCursorHidden&&Z&&this._coreService.isCursorInitialized){if(V.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)l&&V.push(\"xterm-cursor-blink\"),V.push(r===\"bar\"?\"xterm-cursor-bar\":r===\"underline\"?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(n)switch(n){case\"outline\":V.push(\"xterm-cursor-outline\");break;case\"block\":V.push(\"xterm-cursor-block\");break;case\"bar\":V.push(\"xterm-cursor-bar\");break;case\"underline\":V.push(\"xterm-cursor-underline\");break;default:break}}if(x.isBold()&&V.push(\"xterm-bold\"),x.isItalic()&&V.push(\"xterm-italic\"),x.isDim()&&V.push(\"xterm-dim\"),x.isInvisible()?R=we:R=x.getChars()||we,x.isUnderline()&&(V.push(`xterm-underline-${x.extended.underlineStyle}`),R===\" \"&&(R=\"\\xA0\"),!x.isUnderlineColorDefault()))if(x.isUnderlineColorRGB())f.style.textDecorationColor=`rgb(${De.toColorRGB(x.getUnderlineColor()).join(\",\")})`;else{let W=x.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&x.isBold()&&W<8&&(W+=8),f.style.textDecorationColor=p.ansi[W].css}x.isOverline()&&(V.push(\"xterm-overline\"),R===\" \"&&(R=\"\\xA0\")),x.isStrikethrough()&&V.push(\"xterm-strikethrough\"),te&&(f.style.textDecoration=\"underline\");let le=x.getFgColor(),et=x.getFgColorMode(),me=x.getBgColor(),ht=x.getBgColorMode(),fi=!!x.isInverse();if(fi){let W=le;le=me,me=W;let An=et;et=ht,ht=An}let tt,Qi,pi=!1;this._decorationService.forEachDecorationAtCell(y,e,void 0,W=>{W.options.layer!==\"top\"&&pi||(W.backgroundColorRGB&&(ht=50331648,me=W.backgroundColorRGB.rgba>>8&16777215,tt=W.backgroundColorRGB),W.foregroundColorRGB&&(et=50331648,le=W.foregroundColorRGB.rgba>>8&16777215,Qi=W.foregroundColorRGB),pi=W.options.layer===\"top\")}),!pi&&N&&(tt=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,me=tt.rgba>>8&16777215,ht=50331648,pi=!0,p.selectionForeground&&(et=50331648,le=p.selectionForeground.rgba>>8&16777215,Qi=p.selectionForeground)),pi&&V.push(\"xterm-decoration-top\");let it;switch(ht){case 16777216:case 33554432:it=p.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:it=j.toColor(me>>16,me>>8&255,me&255),this._addStyle(f,`background-color:#${qo((me>>>0).toString(16),\"0\",6)}`);break;case 0:default:fi?(it=p.foreground,V.push(`xterm-bg-${257}`)):it=p.background}switch(tt||x.isDim()&&(tt=U.multiplyOpacity(it,.5)),et){case 16777216:case 33554432:x.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(f,it,p.ansi[le],x,tt,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let W=j.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(f,it,W,x,tt,Qi)||this._addStyle(f,`color:#${qo(le.toString(16),\"0\",6)}`);break;case 0:default:this._applyMinimumContrast(f,it,p.foreground,x,tt,Qi)||fi&&V.push(`xterm-fg-${257}`)}V.length&&(f.className=V.join(\" \"),V.length=0),!Z&&!g&&!Oe&&w?A++:f.textContent=R,Ke!==this.defaultSpacing&&(f.style.letterSpacing=`${Ke}px`),d.push(f),y=E}return f&&A&&(f.textContent=R),d}_applyMinimumContrast(t,e,i,r,n,o){if(this._optionsService.rawOptions.minimumContrastRatio===1||$o(r.getCode()))return!1;let l=this._getContrastCache(r),a;if(!n&&!o&&(a=l.getColor(e.rgba,i.rgba)),a===void 0){let u=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);a=U.ensureContrastRatio(n||e,o||i,u),l.setColor((n||e).rgba,(o||i).rgba,a??null)}return a?(this._addStyle(t,`color:${a.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute(\"style\",`${t.getAttribute(\"style\")||\"\"}${e};`)}_isCellInSelection(t,e){let i=this._selectionStart,r=this._selectionEnd;return!i||!r?!1:this._columnSelectMode?i[0]<=r[0]?t>=i[0]&&e>=i[1]&&t<r[0]&&e<=r[1]:t<i[0]&&e>=i[1]&&t>=r[0]&&e<=r[1]:e>i[1]&&e<r[1]||i[1]===r[1]&&e===i[1]&&t>=i[0]&&t<r[0]||i[1]<r[1]&&e===r[1]&&t<r[0]||i[1]<r[1]&&e===i[1]&&t>=i[0]}};Vt=M([S(1,or),S(2,H),S(3,ae),S(4,ge),S(5,Be),S(6,Re)],Vt);function qo(s,t,e){for(;s.length<e;)s=t+s;return s}var Yr=class{constructor(t,e){this._flat=new Float32Array(256);this._font=\"\";this._fontSize=0;this._weight=\"normal\";this._weightBold=\"bold\";this._measureElements=[];this._container=t.createElement(\"div\"),this._container.classList.add(\"xterm-width-cache-measure-container\"),this._container.setAttribute(\"aria-hidden\",\"true\"),this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";let i=t.createElement(\"span\");i.classList.add(\"xterm-char-measure-element\");let r=t.createElement(\"span\");r.classList.add(\"xterm-char-measure-element\"),r.style.fontWeight=\"bold\";let n=t.createElement(\"span\");n.classList.add(\"xterm-char-measure-element\"),n.style.fontStyle=\"italic\";let o=t.createElement(\"span\");o.classList.add(\"xterm-char-measure-element\"),o.style.fontWeight=\"bold\",o.style.fontStyle=\"italic\",this._measureElements=[i,r,n,o],this._container.appendChild(i),this._container.appendChild(r),this._container.appendChild(n),this._container.appendChild(o),e.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,e,i,r){t===this._font&&e===this._fontSize&&i===this._weight&&r===this._weightBold||(this._font=t,this._fontSize=e,this._weight=i,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(t,e,i){let r=0;if(!e&&!i&&t.length===1&&(r=t.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let l=this._measure(t,0);return l>0&&(this._flat[r]=l),l}let n=t;e&&(n+=\"B\"),i&&(n+=\"I\");let o=this._holey.get(n);if(o===void 0){let l=0;e&&(l|=1),i&&(l|=2),o=this._measure(t,l),o>0&&this._holey.set(n,o)}return o}_measure(t,e){let i=this._measureElements[e];return i.textContent=t.repeat(32),i.offsetWidth/32}};var ms=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,i,r=!1){if(this.selectionStart=e,this.selectionEnd=i,!e||!i||e[0]===i[0]&&e[1]===i[1]){this.clear();return}let n=t.buffers.active.ydisp,o=e[1]-n,l=i[1]-n,a=Math.max(o,0),u=Math.min(l,t.rows-1);if(a>=t.rows||u<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=o,this.viewportEndRow=l,this.viewportCappedStartRow=a,this.viewportCappedEndRow=u,this.startCol=e[0],this.endCol=i[0]}isCellSelected(t,e,i){return this.hasSelection?(i-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&i>=this.viewportCappedStartRow&&e<this.endCol&&i<=this.viewportCappedEndRow:e<this.startCol&&i>=this.viewportCappedStartRow&&e>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&e>=this.startCol&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&e>=this.startCol):!1}};function Yo(){return new ms}var _s=\"xterm-dom-renderer-owner-\",Le=\"xterm-rows\",jr=\"xterm-fg-\",jo=\"xterm-bg-\",ki=\"xterm-focus\",Xr=\"xterm-selection\",Na=1,Yt=class extends D{constructor(e,i,r,n,o,l,a,u,h,c,d,_,p,m){super();this._terminal=e;this._document=i;this._element=r;this._screenElement=n;this._viewportElement=o;this._helperContainer=l;this._linkifier2=a;this._charSizeService=h;this._optionsService=c;this._bufferService=d;this._coreService=_;this._coreBrowserService=p;this._themeService=m;this._terminalClass=Na++;this._rowElements=[];this._selectionRenderModel=Yo();this.onRequestRedraw=this._register(new v).event;this._rowContainer=this._document.createElement(\"div\"),this._rowContainer.classList.add(Le),this._rowContainer.style.lineHeight=\"normal\",this._rowContainer.setAttribute(\"aria-hidden\",\"true\"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(\"div\"),this._selectionContainer.classList.add(Xr),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=Vo(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(f=>this._injectCss(f))),this._injectCss(this._themeService.colors),this._rowFactory=u.createInstance(Vt,document),this._element.classList.add(_s+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(f=>this._handleLinkHover(f))),this._register(this._linkifier2.onHideLinkUnderline(f=>this._handleLinkLeave(f))),this._register(C(()=>{this._element.classList.remove(_s+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Yr(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let r of this._rowElements)r.style.width=`${this.dimensions.css.canvas.width}px`,r.style.height=`${this.dimensions.css.cell.height}px`,r.style.lineHeight=`${this.dimensions.css.cell.height}px`,r.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));let i=`${this._terminalSelector} .${Le} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=i,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let i=`${this._terminalSelector} .${Le} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;i+=`${this._terminalSelector} .${Le} .xterm-dim { color: ${U.multiplyOpacity(e.foreground,.5).css};}`,i+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let r=`blink_underline_${this._terminalClass}`,n=`blink_bar_${this._terminalClass}`,o=`blink_block_${this._terminalClass}`;i+=`@keyframes ${r} { 50% { border-bottom-style: hidden; }}`,i+=`@keyframes ${n} { 50% { box-shadow: none; }}`,i+=`@keyframes ${o} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,i+=`${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Le}.${ki} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${o} 1s step-end infinite;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Le} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,i+=`${this._terminalSelector} .${Xr} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Xr} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Xr} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[l,a]of e.ansi.entries())i+=`${this._terminalSelector} .${jr}${l} { color: ${a.css}; }${this._terminalSelector} .${jr}${l}.xterm-dim { color: ${U.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${jo}${l} { background-color: ${a.css}; }`;i+=`${this._terminalSelector} .${jr}${257} { color: ${U.opaque(e.background).css}; }${this._terminalSelector} .${jr}${257}.xterm-dim { color: ${U.multiplyOpacity(U.opaque(e.background),.5).css}; }${this._terminalSelector} .${jo}${257} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=i}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,i){for(let r=this._rowElements.length;r<=i;r++){let n=this._document.createElement(\"div\");this._rowContainer.appendChild(n),this._rowElements.push(n)}for(;this._rowElements.length>i;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,i){this._refreshRowElements(e,i),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(ki),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(ki),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,i,r){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,i,r),this.renderRows(0,this._bufferService.rows-1),!e||!i||(this._selectionRenderModel.update(this._terminal,e,i,r),!this._selectionRenderModel.hasSelection))return;let n=this._selectionRenderModel.viewportStartRow,o=this._selectionRenderModel.viewportEndRow,l=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,u=this._document.createDocumentFragment();if(r){let h=e[0]>i[0];u.appendChild(this._createSelectionElement(l,h?i[0]:e[0],h?e[0]:i[0],a-l+1))}else{let h=n===l?e[0]:0,c=l===o?i[0]:this._bufferService.cols;u.appendChild(this._createSelectionElement(l,h,c));let d=a-l-1;if(u.appendChild(this._createSelectionElement(l+1,0,this._bufferService.cols,d)),l!==a){let _=o===a?i[0]:this._bufferService.cols;u.appendChild(this._createSelectionElement(a,0,_))}}this._selectionContainer.appendChild(u)}_createSelectionElement(e,i,r,n=1){let o=this._document.createElement(\"div\"),l=i*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(r-i);return l+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-l),o.style.height=`${n*this.dimensions.css.cell.height}px`,o.style.top=`${e*this.dimensions.css.cell.height}px`,o.style.left=`${l}px`,o.style.width=`${a}px`,o}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,i){let r=this._bufferService.buffer,n=r.ybase+r.y,o=Math.min(r.x,this._bufferService.cols-1),l=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,u=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=i;h++){let c=h+r.ydisp,d=this._rowElements[h],_=r.lines.get(c);if(!d||!_)break;d.replaceChildren(...this._rowFactory.createRow(_,c,c===n,a,u,o,l,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${_s}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,i,r,n,o,l){r<0&&(e=0),n<0&&(i=0);let a=this._bufferService.rows-1;r=Math.max(Math.min(r,a),0),n=Math.max(Math.min(n,a),0),o=Math.min(o,this._bufferService.cols);let u=this._bufferService.buffer,h=u.ybase+u.y,c=Math.min(u.x,o-1),d=this._optionsService.rawOptions.cursorBlink,_=this._optionsService.rawOptions.cursorStyle,p=this._optionsService.rawOptions.cursorInactiveStyle;for(let m=r;m<=n;++m){let f=m+u.ydisp,A=this._rowElements[m],R=u.lines.get(f);if(!A||!R)break;A.replaceChildren(...this._rowFactory.createRow(R,f,f===h,_,p,c,d,this.dimensions.css.cell.width,this._widthCache,l?m===r?e:0:-1,l?(m===n?i:o)-1:-1))}}};Yt=M([S(7,xt),S(8,nt),S(9,H),S(10,F),S(11,ge),S(12,ae),S(13,Re)],Yt);var jt=class extends D{constructor(e,i,r){super();this._optionsService=r;this.width=0;this.height=0;this._onCharSizeChange=this._register(new v);this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new vs(this._optionsService))}catch{this._measureStrategy=this._register(new bs(e,i,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};jt=M([S(2,H)],jt);var Zr=class extends D{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(e,i){e!==void 0&&e>0&&i!==void 0&&i>0&&(this._result.width=e,this._result.height=i)}},bs=class extends Zr{constructor(e,i,r){super();this._document=e;this._parentElement=i;this._optionsService=r;this._measureElement=this._document.createElement(\"span\"),this._measureElement.classList.add(\"xterm-char-measure-element\"),this._measureElement.textContent=\"W\".repeat(32),this._measureElement.setAttribute(\"aria-hidden\",\"true\"),this._measureElement.style.whiteSpace=\"pre\",this._measureElement.style.fontKerning=\"none\",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},vs=class extends Zr{constructor(e){super();this._optionsService=e;this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(\"2d\");let i=this._ctx.measureText(\"W\");if(!(\"width\"in i&&\"fontBoundingBoxAscent\"in i&&\"fontBoundingBoxDescent\"in i))throw new Error(\"Required font metrics not supported\")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(\"W\");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}};var Jr=class extends D{constructor(e,i,r){super();this._textarea=e;this._window=i;this.mainDocument=r;this._isFocused=!1;this._cachedIsFocused=void 0;this._screenDprMonitor=this._register(new gs(this._window));this._onDprChange=this._register(new v);this.onDprChange=this._onDprChange.event;this._onWindowChange=this._register(new v);this.onWindowChange=this._onWindowChange.event;this._register(this.onWindowChange(n=>this._screenDprMonitor.setWindow(n))),this._register($.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(L(this._textarea,\"focus\",()=>this._isFocused=!0)),this._register(L(this._textarea,\"blur\",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},gs=class extends D{constructor(e){super();this._parentWindow=e;this._windowResizeListener=this._register(new ye);this._onDprChange=this._register(new v);this.onDprChange=this._onDprChange.event;this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(C(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=L(this._parentWindow,\"resize\",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}};var Qr=class extends D{constructor(){super();this.linkProviders=[];this._register(C(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let i=this.linkProviders.indexOf(e);i!==-1&&this.linkProviders.splice(i,1)}}}};function Ci(s,t,e){let i=e.getBoundingClientRect(),r=s.getComputedStyle(e),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-i.left-n,t.clientY-i.top-o]}function Xo(s,t,e,i,r,n,o,l,a){if(!n)return;let u=Ci(s,t,e);if(u)return u[0]=Math.ceil((u[0]+(a?o/2:0))/o),u[1]=Math.ceil(u[1]/l),u[0]=Math.min(Math.max(u[0],1),i+(a?1:0)),u[1]=Math.min(Math.max(u[1],1),r),u}var Xt=class{constructor(t,e){this._renderService=t;this._charSizeService=e}getCoords(t,e,i,r,n){return Xo(window,t,e,i,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,n)}getMouseReportCoords(t,e){let i=Ci(window,t,e);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};Xt=M([S(0,ce),S(1,nt)],Xt);var en=class{constructor(t,e){this._renderCallback=t;this._coreBrowserService=e;this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}};var tn={};Ll(tn,{getSafariVersion:()=>Ha,isChromeOS:()=>Ts,isFirefox:()=>Ss,isIpad:()=>Wa,isIphone:()=>Ua,isLegacyEdge:()=>Fa,isLinux:()=>Bi,isMac:()=>Zt,isNode:()=>Mi,isSafari:()=>Zo,isWindows:()=>Es});var Mi=typeof process<\"u\"&&\"title\"in process,Pi=Mi?\"node\":navigator.userAgent,Oi=Mi?\"node\":navigator.platform,Ss=Pi.includes(\"Firefox\"),Fa=Pi.includes(\"Edge\"),Zo=/^((?!chrome|android).)*safari/i.test(Pi);function Ha(){if(!Zo)return 0;let s=Pi.match(/Version\\/(\\d+)/);return s===null||s.length<2?0:parseInt(s[1])}var Zt=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(Oi),Wa=Oi===\"iPad\",Ua=Oi===\"iPhone\",Es=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(Oi),Bi=Oi.indexOf(\"Linux\")>=0,Ts=/\\bCrOS\\b/.test(Pi);var rn=class{constructor(){this._tasks=[];this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let e=0,i=0,r=t.timeRemaining(),n=0;for(;this._i<this._tasks.length;){if(e=performance.now(),this._tasks[this._i]()||this._i++,e=Math.max(1,performance.now()-e),i=Math.max(e,i),n=t.timeRemaining(),i*1.5>n){r-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-e))}ms`),this._start();return}r=n}this.clear()}},Is=class extends rn{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},ys=class extends rn{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},Jt=!Mi&&\"requestIdleCallback\"in window?ys:Is,nn=class{constructor(){this._queue=new Jt}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}};var Qt=class extends D{constructor(e,i,r,n,o,l,a,u,h){super();this._rowCount=e;this._optionsService=r;this._charSizeService=n;this._coreService=o;this._coreBrowserService=u;this._renderer=this._register(new ye);this._pausedResizeTask=new nn;this._observerDisposable=this._register(new ye);this._isPaused=!1;this._needsFullRefresh=!1;this._isNextRenderRedrawOnly=!0;this._needsSelectionRefresh=!1;this._canvasWidth=0;this._canvasHeight=0;this._selectionState={start:void 0,end:void 0,columnSelectMode:!1};this._onDimensionsChange=this._register(new v);this.onDimensionsChange=this._onDimensionsChange.event;this._onRenderedViewportChange=this._register(new v);this.onRenderedViewportChange=this._onRenderedViewportChange.event;this._onRender=this._register(new v);this.onRender=this._onRender.event;this._onRefreshRequest=this._register(new v);this.onRefreshRequest=this._onRefreshRequest.event;this._renderDebouncer=new en((c,d)=>this._renderRows(c,d),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new xs(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(C(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(l.onDecorationRegistered(()=>this._fullRefresh())),this._register(l.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\",\"rescaleOverlappingGlyphs\"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(h.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,i),this._register(this._coreBrowserService.onWindowChange(c=>this._registerIntersectionObserver(c,i)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,i){if(\"IntersectionObserver\"in e){let r=new e.IntersectionObserver(n=>this._handleIntersectionChange(n[n.length-1]),{threshold:0});r.observe(i),this._observerDisposable.value=C(()=>r.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,i,r=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,i);return}let n=this._syncOutputHandler.flush();n&&(e=Math.min(e,n.start),i=Math.max(i,n.end)),r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,i,this._rowCount)}_renderRows(e,i){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,i);return}e=Math.min(e,this._rowCount-1),i=Math.min(i,this._rowCount-1),this._renderer.value.renderRows(e,i),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:i}),this._onRender.fire({start:e,end:i}),this._isNextRenderRedrawOnly=!0}}resize(e,i){this._rowCount=i,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(i=>this.refreshRows(i.start,i.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,i){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,i)):this._renderer.value.handleResize(e,i),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,i,r){this._selectionState.start=e,this._selectionState.end=i,this._selectionState.columnSelectMode=r,this._renderer.value?.handleSelectionChanged(e,i,r)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};Qt=M([S(2,H),S(3,nt),S(4,ge),S(5,Be),S(6,F),S(7,ae),S(8,Re)],Qt);var xs=class{constructor(t,e,i){this._coreBrowserService=t;this._coreService=e;this._onTimeout=i;this._start=0;this._end=0;this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Jo(s,t,e,i){let r=e.buffer.x,n=e.buffer.y;if(!e.buffer.hasScrollback)return Ga(r,n,s,t,e,i)+sn(n,t,e,i)+$a(r,n,s,t,e,i);let o;if(n===t)return o=r>s?\"D\":\"C\",Fi(Math.abs(r-s),Ni(o,i));o=n>t?\"D\":\"C\";let l=Math.abs(n-t),a=za(n>t?s:r,e)+(l-1)*e.cols+1+Ka(n>t?r:s,e);return Fi(a,Ni(o,i))}function Ka(s,t){return s-1}function za(s,t){return t.cols-s}function Ga(s,t,e,i,r,n){return sn(t,i,r,n).length===0?\"\":Fi(el(s,t,s,t-gt(t,r),!1,r).length,Ni(\"D\",n))}function sn(s,t,e,i){let r=s-gt(s,e),n=t-gt(t,e),o=Math.abs(r-n)-Va(s,t,e);return Fi(o,Ni(Qo(s,t),i))}function $a(s,t,e,i,r,n){let o;sn(t,i,r,n).length>0?o=i-gt(i,r):o=t;let l=i,a=qa(s,t,e,i,r,n);return Fi(el(s,o,e,l,a===\"C\",r).length,Ni(a,n))}function Va(s,t,e){let i=0,r=s-gt(s,e),n=t-gt(t,e);for(let o=0;o<Math.abs(r-n);o++){let l=Qo(s,t)===\"A\"?-1:1;e.buffer.lines.get(r+l*o)?.isWrapped&&i++}return i}function gt(s,t){let e=0,i=t.buffer.lines.get(s),r=i?.isWrapped;for(;r&&s>=0&&s<t.rows;)e++,i=t.buffer.lines.get(--s),r=i?.isWrapped;return e}function qa(s,t,e,i,r,n){let o;return sn(e,i,r,n).length>0?o=i-gt(i,r):o=t,s<e&&o<=i||s>=e&&o<i?\"C\":\"D\"}function Qo(s,t){return s>t?\"A\":\"B\"}function el(s,t,e,i,r,n){let o=s,l=t,a=\"\";for(;(o!==e||l!==i)&&l>=0&&l<n.buffer.lines.length;)o+=r?1:-1,r&&o>n.cols-1?(a+=n.buffer.translateBufferLineToString(l,!1,s,o),o=0,s=0,l++):!r&&o<0&&(a+=n.buffer.translateBufferLineToString(l,!1,0,s+1),o=n.cols-1,s=o,l--);return a+n.buffer.translateBufferLineToString(l,!1,s,o)}function Ni(s,t){let e=t?\"O\":\"[\";return b.ESC+e+s}function Fi(s,t){s=Math.floor(s);let e=\"\";for(let i=0;i<s;i++)e+=t;return e}var on=class{constructor(t){this._bufferService=t;this.isSelectAllActive=!1;this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function ws(s,t){if(s.start.y>s.end.y)throw new Error(`Buffer range end (${s.end.x}, ${s.end.y}) cannot be before start (${s.start.x}, ${s.start.y})`);return t*(s.end.y-s.start.y)+(s.end.x-s.start.x+1)}var Ds=50,Ya=15,ja=50,Xa=500,Za=\"\\xA0\",Ja=new RegExp(Za,\"g\");var ei=class extends D{constructor(e,i,r,n,o,l,a,u,h){super();this._element=e;this._screenElement=i;this._linkifier=r;this._bufferService=n;this._coreService=o;this._mouseService=l;this._optionsService=a;this._renderService=u;this._coreBrowserService=h;this._dragScrollAmount=0;this._enabled=!0;this._workCell=new q;this._mouseDownTimeStamp=0;this._oldHasSelection=!1;this._oldSelectionStart=void 0;this._oldSelectionEnd=void 0;this._onLinuxMouseSelection=this._register(new v);this.onLinuxMouseSelection=this._onLinuxMouseSelection.event;this._onRedrawRequest=this._register(new v);this.onRequestRedraw=this._onRedrawRequest.event;this._onSelectionChange=this._register(new v);this.onSelectionChange=this._onSelectionChange.event;this._onRequestScrollLines=this._register(new v);this.onRequestScrollLines=this._onRequestScrollLines.event;this._mouseMoveListener=c=>this._handleMouseMove(c),this._mouseUpListener=c=>this._handleMouseUp(c),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(c=>this._handleTrim(c)),this._register(this._bufferService.buffers.onBufferActivate(c=>this._handleBufferActivate(c))),this.enable(),this._model=new on(this._bufferService),this._activeSelectionMode=0,this._register(C(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(c=>{c.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!e||!i?!1:e[0]!==i[0]||e[1]!==i[1]}get selectionText(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;if(!e||!i)return\"\";let r=this._bufferService.buffer,n=[];if(this._activeSelectionMode===3){if(e[0]===i[0])return\"\";let l=e[0]<i[0]?e[0]:i[0],a=e[0]<i[0]?i[0]:e[0];for(let u=e[1];u<=i[1];u++){let h=r.translateBufferLineToString(u,!0,l,a);n.push(h)}}else{let l=e[1]===i[1]?i[0]:void 0;n.push(r.translateBufferLineToString(e[1],!0,e[0],l));for(let a=e[1]+1;a<=i[1]-1;a++){let u=r.lines.get(a),h=r.translateBufferLineToString(a,!0);u?.isWrapped?n[n.length-1]+=h:n.push(h)}if(e[1]!==i[1]){let a=r.lines.get(i[1]),u=r.translateBufferLineToString(i[1],!0,0,i[0]);a&&a.isWrapped?n[n.length-1]+=u:n.push(u)}}return n.map(l=>l.replace(Ja,\" \")).join(Es?`\\r\n`:`\n`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),Bi&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let i=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n||!i?!1:this._areCoordsInSelection(i,r,n)}isCellInSelection(e,i){let r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n?!1:this._areCoordsInSelection([e,i],r,n)}_areCoordsInSelection(e,i,r){return e[1]>i[1]&&e[1]<r[1]||i[1]===r[1]&&e[1]===i[1]&&e[0]>=i[0]&&e[0]<r[0]||i[1]<r[1]&&e[1]===r[1]&&e[0]<r[0]||i[1]<r[1]&&e[1]===i[1]&&e[0]>=i[0]}_selectWordAtCursor(e,i){let r=this._linkifier.currentLink?.link?.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=ws(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let n=this._getMouseBufferCoords(e);return n?(this._selectWordAt(n,i),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,i){this._model.clearSelection(),e=Math.max(e,0),i=Math.min(i,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,i],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let i=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(i)return i[0]--,i[1]--,i[1]+=this._bufferService.buffer.ydisp,i}_getMouseEventScrollAmount(e){let i=Ci(this._coreBrowserService.window,e,this._screenElement)[1],r=this._renderService.dimensions.css.canvas.height;return i>=0&&i<=r?0:(i>r&&(i-=r),i=Math.min(Math.max(i,-Ds),Ds),i/=Ds,i/Math.abs(i)+Math.round(i*(Ya-1)))}shouldForceSelection(e){return Zt?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),ja)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let i=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);i&&i.length!==this._model.selectionStart[0]&&i.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let i=this._getMouseBufferCoords(e);i&&(this._activeSelectionMode=2,this._selectLineAt(i[1]))}shouldColumnSelect(e){return e.altKey&&!(Zt&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let i=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let r=this._bufferService.buffer;if(this._model.selectionEnd[1]<r.lines.length){let n=r.lines.get(this._model.selectionEnd[1]);n&&n.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!i||i[0]!==this._model.selectionEnd[0]||i[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let i=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&i<Xa&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&r[0]!==void 0&&r[1]!==void 0){let n=Jo(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(n,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,i=this._model.finalSelectionEnd,r=!!e&&!!i&&(e[0]!==i[0]||e[1]!==i[1]);if(!r){this._oldHasSelection&&this._fireOnSelectionChange(e,i,r);return}!e||!i||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||i[0]!==this._oldSelectionEnd[0]||i[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,i,r)}_fireOnSelectionChange(e,i,r){this._oldSelectionStart=e,this._oldSelectionEnd=i,this._oldHasSelection=r,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(i=>this._handleTrim(i))}_convertViewportColToCharacterIndex(e,i){let r=i;for(let n=0;i>=n;n++){let o=e.loadCell(n,this._workCell).getChars().length;this._workCell.getWidth()===0?r--:o>1&&i!==n&&(r+=o-1)}return r}setSelection(e,i,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,i],this._model.selectionStartLength=r,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,i,r=!0,n=!0){if(e[0]>=this._bufferService.cols)return;let o=this._bufferService.buffer,l=o.lines.get(e[1]);if(!l)return;let a=o.translateBufferLineToString(e[1],!1),u=this._convertViewportColToCharacterIndex(l,e[0]),h=u,c=e[0]-u,d=0,_=0,p=0,m=0;if(a.charAt(u)===\" \"){for(;u>0&&a.charAt(u-1)===\" \";)u--;for(;h<a.length&&a.charAt(h+1)===\" \";)h++}else{let R=e[0],O=e[0];l.getWidth(R)===0&&(d++,R--),l.getWidth(O)===2&&(_++,O++);let I=l.getString(O).length;for(I>1&&(m+=I-1,h+=I-1);R>0&&u>0&&!this._isCharWordSeparator(l.loadCell(R-1,this._workCell));){l.loadCell(R-1,this._workCell);let k=this._workCell.getChars().length;this._workCell.getWidth()===0?(d++,R--):k>1&&(p+=k-1,u-=k-1),u--,R--}for(;O<l.length&&h+1<a.length&&!this._isCharWordSeparator(l.loadCell(O+1,this._workCell));){l.loadCell(O+1,this._workCell);let k=this._workCell.getChars().length;this._workCell.getWidth()===2?(_++,O++):k>1&&(m+=k-1,h+=k-1),h++,O++}}h++;let f=u+c-d+p,A=Math.min(this._bufferService.cols,h-u+d+_-p-m);if(!(!i&&a.slice(u,h).trim()===\"\")){if(r&&f===0&&l.getCodePoint(0)!==32){let R=o.lines.get(e[1]-1);if(R&&l.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let O=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(O){let I=this._bufferService.cols-O.start;f-=I,A+=I}}}if(n&&f+A===this._bufferService.cols&&l.getCodePoint(this._bufferService.cols-1)!==32){let R=o.lines.get(e[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let O=this._getWordAt([0,e[1]+1],!1,!1,!0);O&&(A+=O.length)}}return{start:f,length:A}}}_selectWordAt(e,i){let r=this._getWordAt(e,i);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}}_selectToWordAt(e){let i=this._getWordAt(e,!0);if(i){let r=e[1];for(;i.start<0;)i.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;i.start+i.length>this._bufferService.cols;)i.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?i.start:i.start+i.length,r]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let i=this._bufferService.buffer.getWrappedRangeForLine(e),r={start:{x:0,y:i.first},end:{x:this._bufferService.cols-1,y:i.last}};this._model.selectionStart=[0,i.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=ws(r,this._bufferService.cols)}};ei=M([S(3,F),S(4,ge),S(5,Dt),S(6,H),S(7,ce),S(8,ae)],ei);var Hi=class{constructor(){this._data={}}set(t,e,i){this._data[t]||(this._data[t]={}),this._data[t][e]=i}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}};var Wi=class{constructor(){this._color=new Hi;this._css=new Hi}setCss(t,e,i){this._css.set(t,e,i)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,i){this._color.set(t,e,i)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}};var re=Object.freeze((()=>{let s=[z.toColor(\"#2e3436\"),z.toColor(\"#cc0000\"),z.toColor(\"#4e9a06\"),z.toColor(\"#c4a000\"),z.toColor(\"#3465a4\"),z.toColor(\"#75507b\"),z.toColor(\"#06989a\"),z.toColor(\"#d3d7cf\"),z.toColor(\"#555753\"),z.toColor(\"#ef2929\"),z.toColor(\"#8ae234\"),z.toColor(\"#fce94f\"),z.toColor(\"#729fcf\"),z.toColor(\"#ad7fa8\"),z.toColor(\"#34e2e2\"),z.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let e=0;e<216;e++){let i=t[e/36%6|0],r=t[e/6%6|0],n=t[e%6];s.push({css:j.toCss(i,r,n),rgba:j.toRgba(i,r,n)})}for(let e=0;e<24;e++){let i=8+e*10;s.push({css:j.toCss(i,i,i),rgba:j.toRgba(i,i,i)})}return s})());var St=z.toColor(\"#ffffff\"),Ki=z.toColor(\"#000000\"),tl=z.toColor(\"#ffffff\"),il=Ki,Ui={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117},Qa=St,ti=class extends D{constructor(e){super();this._optionsService=e;this._contrastCache=new Wi;this._halfContrastCache=new Wi;this._onChangeColors=this._register(new v);this.onChangeColors=this._onChangeColors.event;this._colors={foreground:St,background:Ki,cursor:tl,cursorAccent:il,selectionForeground:void 0,selectionBackgroundTransparent:Ui,selectionBackgroundOpaque:U.blend(Ki,Ui),selectionInactiveBackgroundTransparent:Ui,selectionInactiveBackgroundOpaque:U.blend(Ki,Ui),scrollbarSliderBackground:U.opacity(St,.2),scrollbarSliderHoverBackground:U.opacity(St,.4),scrollbarSliderActiveBackground:U.opacity(St,.5),overviewRulerBorder:St,ansi:re.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(\"minimumContrastRatio\",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(\"theme\",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let i=this._colors;if(i.foreground=K(e.foreground,St),i.background=K(e.background,Ki),i.cursor=U.blend(i.background,K(e.cursor,tl)),i.cursorAccent=U.blend(i.background,K(e.cursorAccent,il)),i.selectionBackgroundTransparent=K(e.selectionBackground,Ui),i.selectionBackgroundOpaque=U.blend(i.background,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundTransparent=K(e.selectionInactiveBackground,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundOpaque=U.blend(i.background,i.selectionInactiveBackgroundTransparent),i.selectionForeground=e.selectionForeground?K(e.selectionForeground,ps):void 0,i.selectionForeground===ps&&(i.selectionForeground=void 0),U.isOpaque(i.selectionBackgroundTransparent)&&(i.selectionBackgroundTransparent=U.opacity(i.selectionBackgroundTransparent,.3)),U.isOpaque(i.selectionInactiveBackgroundTransparent)&&(i.selectionInactiveBackgroundTransparent=U.opacity(i.selectionInactiveBackgroundTransparent,.3)),i.scrollbarSliderBackground=K(e.scrollbarSliderBackground,U.opacity(i.foreground,.2)),i.scrollbarSliderHoverBackground=K(e.scrollbarSliderHoverBackground,U.opacity(i.foreground,.4)),i.scrollbarSliderActiveBackground=K(e.scrollbarSliderActiveBackground,U.opacity(i.foreground,.5)),i.overviewRulerBorder=K(e.overviewRulerBorder,Qa),i.ansi=re.slice(),i.ansi[0]=K(e.black,re[0]),i.ansi[1]=K(e.red,re[1]),i.ansi[2]=K(e.green,re[2]),i.ansi[3]=K(e.yellow,re[3]),i.ansi[4]=K(e.blue,re[4]),i.ansi[5]=K(e.magenta,re[5]),i.ansi[6]=K(e.cyan,re[6]),i.ansi[7]=K(e.white,re[7]),i.ansi[8]=K(e.brightBlack,re[8]),i.ansi[9]=K(e.brightRed,re[9]),i.ansi[10]=K(e.brightGreen,re[10]),i.ansi[11]=K(e.brightYellow,re[11]),i.ansi[12]=K(e.brightBlue,re[12]),i.ansi[13]=K(e.brightMagenta,re[13]),i.ansi[14]=K(e.brightCyan,re[14]),i.ansi[15]=K(e.brightWhite,re[15]),e.extendedAnsi){let r=Math.min(i.ansi.length-16,e.extendedAnsi.length);for(let n=0;n<r;n++)i.ansi[n+16]=K(e.extendedAnsi[n],re[n+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let i=0;i<this._restoreColors.ansi.length;++i)this._colors.ansi[i]=this._restoreColors.ansi[i];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};ti=M([S(0,H)],ti);function K(s,t){if(s!==void 0)try{return z.toColor(s)}catch{}return t}var Rs=class{constructor(...t){this._entries=new Map;for(let[e,i]of t)this.set(e,i)}set(t,e){let i=this._entries.get(t);return this._entries.set(t,e),i}forEach(t){for(let[e,i]of this._entries.entries())t(e,i)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},ln=class{constructor(){this._services=new Rs;this._services.set(xt,this)}setService(t,e){this._services.set(t,e)}getService(t){return this._services.get(t)}createInstance(t,...e){let i=Xs(t).sort((o,l)=>o.index-l.index),r=[];for(let o of i){let l=this._services.get(o.id);if(!l)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${o.id._id}.`);r.push(l)}let n=i.length>0?i[0].index:e.length;if(e.length!==n)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${n+1} conflicts with ${e.length} static arguments`);return new t(...e,...r)}};var ec={trace:0,debug:1,info:2,warn:3,error:4,off:5},tc=\"xterm.js: \",ii=class extends D{constructor(e){super();this._optionsService=e;this._logLevel=5;this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(\"logLevel\",()=>this._updateLogLevel())),ic=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ec[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let i=0;i<e.length;i++)typeof e[i]==\"function\"&&(e[i]=e[i]())}_log(e,i,r){this._evalLazyOptionalParams(r),e.call(console,(this._optionsService.options.logger?\"\":tc)+i,...r)}trace(e,...i){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,i)}debug(e,...i){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,i)}info(e,...i){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,i)}warn(e,...i){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,i)}error(e,...i){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,i)}};ii=M([S(0,H)],ii);var ic;var zi=class extends D{constructor(e){super();this._maxLength=e;this.onDeleteEmitter=this._register(new v);this.onDelete=this.onDeleteEmitter.event;this.onInsertEmitter=this._register(new v);this.onInsert=this.onInsertEmitter.event;this.onTrimEmitter=this._register(new v);this.onTrim=this.onTrimEmitter.event;this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let i=new Array(e);for(let r=0;r<Math.min(e,this.length);r++)i[r]=this._array[this._getCyclicIndex(r)];this._array=i,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let i=this._length;i<e;i++)this._array[i]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,i){this._array[this._getCyclicIndex(e)]=i}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,i,...r){if(i){for(let n=e;n<this._length-i;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+i)];this._length-=i,this.onDeleteEmitter.fire({index:e,amount:i})}for(let n=this._length-1;n>=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(let n=0;n<r.length;n++)this._array[this._getCyclicIndex(e+n)]=r[n];if(r.length&&this.onInsertEmitter.fire({index:e,amount:r.length}),this._length+r.length>this._maxLength){let n=this._length+r.length-this._maxLength;this._startIndex+=n,this._length=this._maxLength,this.onTrimEmitter.fire(n)}else this._length+=r.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,i,r){if(!(i<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+r<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(r>0){for(let o=i-1;o>=0;o--)this.set(e+o+r,this.get(e+o));let n=e+i+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let n=0;n<i;n++)this.set(e+n+r,this.get(e+n))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}};var B=3;var X=Object.freeze(new De),an=0,Ls=2,Ze=class s{constructor(t,e,i=!1){this.isWrapped=i;this._combined={};this._extendedAttrs={};this._data=new Uint32Array(t*B);let r=e||q.fromCharData([0,ir,1,0]);for(let n=0;n<t;++n)this.setCell(n,r);this.length=t}get(t){let e=this._data[t*B+0],i=e&2097151;return[this._data[t*B+1],e&2097152?this._combined[t]:i?Ce(i):\"\",e>>22,e&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):i]}set(t,e){this._data[t*B+1]=e[0],e[1].length>1?(this._combined[t]=e[1],this._data[t*B+0]=t|2097152|e[2]<<22):this._data[t*B+0]=e[1].charCodeAt(0)|e[2]<<22}getWidth(t){return this._data[t*B+0]>>22}hasWidth(t){return this._data[t*B+0]&12582912}getFg(t){return this._data[t*B+1]}getBg(t){return this._data[t*B+2]}hasContent(t){return this._data[t*B+0]&4194303}getCodePoint(t){let e=this._data[t*B+0];return e&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):e&2097151}isCombined(t){return this._data[t*B+0]&2097152}getString(t){let e=this._data[t*B+0];return e&2097152?this._combined[t]:e&2097151?Ce(e&2097151):\"\"}isProtected(t){return this._data[t*B+2]&536870912}loadCell(t,e){return an=t*B,e.content=this._data[an+0],e.fg=this._data[an+1],e.bg=this._data[an+2],e.content&2097152&&(e.combinedData=this._combined[t]),e.bg&268435456&&(e.extended=this._extendedAttrs[t]),e}setCell(t,e){e.content&2097152&&(this._combined[t]=e.combinedData),e.bg&268435456&&(this._extendedAttrs[t]=e.extended),this._data[t*B+0]=e.content,this._data[t*B+1]=e.fg,this._data[t*B+2]=e.bg}setCellFromCodepoint(t,e,i,r){r.bg&268435456&&(this._extendedAttrs[t]=r.extended),this._data[t*B+0]=e|i<<22,this._data[t*B+1]=r.fg,this._data[t*B+2]=r.bg}addCodepointToCell(t,e,i){let r=this._data[t*B+0];r&2097152?this._combined[t]+=Ce(e):r&2097151?(this._combined[t]=Ce(r&2097151)+Ce(e),r&=-2097152,r|=2097152):r=e|1<<22,i&&(r&=-12582913,r|=i<<22),this._data[t*B+0]=r}insertCells(t,e,i){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length-t){let r=new q;for(let n=this.length-t-e-1;n>=0;--n)this.setCell(t+e+n,this.loadCell(t+n,r));for(let n=0;n<e;++n)this.setCell(t+n,i)}else for(let r=t;r<this.length;++r)this.setCell(r,i);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(t,e,i){if(t%=this.length,e<this.length-t){let r=new q;for(let n=0;n<this.length-t-e;++n)this.setCell(t+n,this.loadCell(t+e+n,r));for(let n=this.length-e;n<this.length;++n)this.setCell(n,i)}else for(let r=t;r<this.length;++r)this.setCell(r,i);t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),this.getWidth(t)===0&&!this.hasContent(t)&&this.setCellFromCodepoint(t,0,1,i)}replaceCells(t,e,i,r=!1){if(r){for(t&&this.getWidth(t-1)===2&&!this.isProtected(t-1)&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length&&this.getWidth(e-1)===2&&!this.isProtected(e)&&this.setCellFromCodepoint(e,0,1,i);t<e&&t<this.length;)this.isProtected(t)||this.setCell(t,i),t++;return}for(t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),e<this.length&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e,0,1,i);t<e&&t<this.length;)this.setCell(t++,i)}resize(t,e){if(t===this.length)return this._data.length*4*Ls<this._data.buffer.byteLength;let i=t*B;if(t>this.length){if(this._data.buffer.byteLength>=i*4)this._data=new Uint32Array(this._data.buffer,0,i);else{let r=new Uint32Array(i);r.set(this._data),this._data=r}for(let r=this.length;r<t;++r)this.setCell(r,e)}else{this._data=this._data.subarray(0,i);let r=Object.keys(this._combined);for(let o=0;o<r.length;o++){let l=parseInt(r[o],10);l>=t&&delete this._combined[l]}let n=Object.keys(this._extendedAttrs);for(let o=0;o<n.length;o++){let l=parseInt(n[o],10);l>=t&&delete this._extendedAttrs[l]}}return this.length=t,i*4*Ls<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Ls<this._data.buffer.byteLength){let t=new Uint32Array(this._data.length);return t.set(this._data),this._data=t,1}return 0}fill(t,e=!1){if(e){for(let i=0;i<this.length;++i)this.isProtected(i)||this.setCell(i,t);return}this._combined={},this._extendedAttrs={};for(let i=0;i<this.length;++i)this.setCell(i,t)}copyFrom(t){this.length!==t.length?this._data=new Uint32Array(t._data):this._data.set(t._data),this.length=t.length,this._combined={};for(let e in t._combined)this._combined[e]=t._combined[e];this._extendedAttrs={};for(let e in t._extendedAttrs)this._extendedAttrs[e]=t._extendedAttrs[e];this.isWrapped=t.isWrapped}clone(){let t=new s(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*B+0]&4194303)return t+(this._data[t*B+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*B+0]&4194303||this._data[t*B+2]&50331648)return t+(this._data[t*B+0]>>22);return 0}copyCellsFrom(t,e,i,r,n){let o=t._data;if(n)for(let a=r-1;a>=0;a--){for(let u=0;u<B;u++)this._data[(i+a)*B+u]=o[(e+a)*B+u];o[(e+a)*B+2]&268435456&&(this._extendedAttrs[i+a]=t._extendedAttrs[e+a])}else for(let a=0;a<r;a++){for(let u=0;u<B;u++)this._data[(i+a)*B+u]=o[(e+a)*B+u];o[(e+a)*B+2]&268435456&&(this._extendedAttrs[i+a]=t._extendedAttrs[e+a])}let l=Object.keys(t._combined);for(let a=0;a<l.length;a++){let u=parseInt(l[a],10);u>=e&&(this._combined[u-e+i]=t._combined[u])}}translateToString(t,e,i,r){e=e??0,i=i??this.length,t&&(i=Math.min(i,this.getTrimmedLength())),r&&(r.length=0);let n=\"\";for(;e<i;){let o=this._data[e*B+0],l=o&2097151,a=o&2097152?this._combined[e]:l?Ce(l):we;if(n+=a,r)for(let u=0;u<a.length;++u)r.push(e);e+=o>>22||1}return r&&r.push(e),n}};function sl(s,t,e,i,r,n){let o=[];for(let l=0;l<s.length-1;l++){let a=l,u=s.get(++a);if(!u.isWrapped)continue;let h=[s.get(l)];for(;a<s.length&&u.isWrapped;)h.push(u),u=s.get(++a);if(!n&&i>=l&&i<a){l+=h.length-1;continue}let c=0,d=ri(h,c,t),_=1,p=0;for(;_<h.length;){let f=ri(h,_,t),A=f-p,R=e-d,O=Math.min(A,R);h[c].copyCellsFrom(h[_],p,d,O,!1),d+=O,d===e&&(c++,d=0),p+=O,p===f&&(_++,p=0),d===0&&c!==0&&h[c-1].getWidth(e-1)===2&&(h[c].copyCellsFrom(h[c-1],e-1,d++,1,!1),h[c-1].setCell(e-1,r))}h[c].replaceCells(d,e,r);let m=0;for(let f=h.length-1;f>0&&(f>c||h[f].getTrimmedLength()===0);f--)m++;m>0&&(o.push(l+h.length-m),o.push(m)),l+=h.length-1}return o}function ol(s,t){let e=[],i=0,r=t[i],n=0;for(let o=0;o<s.length;o++)if(r===o){let l=t[++i];s.onDeleteEmitter.fire({index:o-n,amount:l}),o+=l-1,n+=l,r=t[++i]}else e.push(o);return{layout:e,countRemoved:n}}function ll(s,t){let e=[];for(let i=0;i<t.length;i++)e.push(s.get(t[i]));for(let i=0;i<e.length;i++)s.set(i,e[i]);s.length=t.length}function al(s,t,e){let i=[],r=s.map((a,u)=>ri(s,u,t)).reduce((a,u)=>a+u),n=0,o=0,l=0;for(;l<r;){if(r-l<e){i.push(r-l);break}n+=e;let a=ri(s,o,t);n>a&&(n-=a,o++);let u=s[o].getWidth(n-1)===2;u&&n--;let h=u?e-1:e;i.push(h),l+=h}return i}function ri(s,t,e){if(t===s.length-1)return s[t].getTrimmedLength();let i=!s[t].hasContent(e-1)&&s[t].getWidth(e-1)===1,r=s[t+1].getWidth(0)===2;return i&&r?e-1:e}var un=class un{constructor(t){this.line=t;this.isDisposed=!1;this._disposables=[];this._id=un._nextId++;this._onDispose=this.register(new v);this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Ne(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};un._nextId=1;var cn=un;var ne={},Je=ne.B;ne[0]={\"`\":\"\\u25C6\",a:\"\\u2592\",b:\"\\u2409\",c:\"\\u240C\",d:\"\\u240D\",e:\"\\u240A\",f:\"\\xB0\",g:\"\\xB1\",h:\"\\u2424\",i:\"\\u240B\",j:\"\\u2518\",k:\"\\u2510\",l:\"\\u250C\",m:\"\\u2514\",n:\"\\u253C\",o:\"\\u23BA\",p:\"\\u23BB\",q:\"\\u2500\",r:\"\\u23BC\",s:\"\\u23BD\",t:\"\\u251C\",u:\"\\u2524\",v:\"\\u2534\",w:\"\\u252C\",x:\"\\u2502\",y:\"\\u2264\",z:\"\\u2265\",\"{\":\"\\u03C0\",\"|\":\"\\u2260\",\"}\":\"\\xA3\",\"~\":\"\\xB7\"};ne.A={\"#\":\"\\xA3\"};ne.B=void 0;ne[4]={\"#\":\"\\xA3\",\"@\":\"\\xBE\",\"[\":\"ij\",\"\\\\\":\"\\xBD\",\"]\":\"|\",\"{\":\"\\xA8\",\"|\":\"f\",\"}\":\"\\xBC\",\"~\":\"\\xB4\"};ne.C=ne[5]={\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE9\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne.R={\"#\":\"\\xA3\",\"@\":\"\\xE0\",\"[\":\"\\xB0\",\"\\\\\":\"\\xE7\",\"]\":\"\\xA7\",\"{\":\"\\xE9\",\"|\":\"\\xF9\",\"}\":\"\\xE8\",\"~\":\"\\xA8\"};ne.Q={\"@\":\"\\xE0\",\"[\":\"\\xE2\",\"\\\\\":\"\\xE7\",\"]\":\"\\xEA\",\"^\":\"\\xEE\",\"`\":\"\\xF4\",\"{\":\"\\xE9\",\"|\":\"\\xF9\",\"}\":\"\\xE8\",\"~\":\"\\xFB\"};ne.K={\"@\":\"\\xA7\",\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xDC\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xFC\",\"~\":\"\\xDF\"};ne.Y={\"#\":\"\\xA3\",\"@\":\"\\xA7\",\"[\":\"\\xB0\",\"\\\\\":\"\\xE7\",\"]\":\"\\xE9\",\"`\":\"\\xF9\",\"{\":\"\\xE0\",\"|\":\"\\xF2\",\"}\":\"\\xE8\",\"~\":\"\\xEC\"};ne.E=ne[6]={\"@\":\"\\xC4\",\"[\":\"\\xC6\",\"\\\\\":\"\\xD8\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE4\",\"{\":\"\\xE6\",\"|\":\"\\xF8\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne.Z={\"#\":\"\\xA3\",\"@\":\"\\xA7\",\"[\":\"\\xA1\",\"\\\\\":\"\\xD1\",\"]\":\"\\xBF\",\"{\":\"\\xB0\",\"|\":\"\\xF1\",\"}\":\"\\xE7\"};ne.H=ne[7]={\"@\":\"\\xC9\",\"[\":\"\\xC4\",\"\\\\\":\"\\xD6\",\"]\":\"\\xC5\",\"^\":\"\\xDC\",\"`\":\"\\xE9\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xE5\",\"~\":\"\\xFC\"};ne[\"=\"]={\"#\":\"\\xF9\",\"@\":\"\\xE0\",\"[\":\"\\xE9\",\"\\\\\":\"\\xE7\",\"]\":\"\\xEA\",\"^\":\"\\xEE\",_:\"\\xE8\",\"`\":\"\\xF4\",\"{\":\"\\xE4\",\"|\":\"\\xF6\",\"}\":\"\\xFC\",\"~\":\"\\xFB\"};var cl=4294967295,$i=class{constructor(t,e,i){this._hasScrollback=t;this._optionsService=e;this._bufferService=i;this.ydisp=0;this.ybase=0;this.y=0;this.x=0;this.tabs={};this.savedY=0;this.savedX=0;this.savedCurAttrData=X.clone();this.savedCharset=Je;this.markers=[];this._nullCell=q.fromCharData([0,ir,1,0]);this._whitespaceCell=q.fromCharData([0,we,1,32]);this._isClearing=!1;this._memoryCleanupQueue=new Jt;this._memoryCleanupPosition=0;this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new zi(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new rt),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new rt),this._whitespaceCell}getBlankLine(t,e){return new Ze(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let e=t+this._optionsService.rawOptions.scrollback;return e>cl?cl:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=X);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new zi(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let i=this.getNullCell(X),r=0,n=this._getCorrectBufferLength(e);if(n>this.lines.maxLength&&(this.lines.maxLength=n),this.lines.length>0){if(this._cols<t)for(let l=0;l<this.lines.length;l++)r+=+this.lines.get(l).resize(t,i);let o=0;if(this._rows<e)for(let l=this._rows;l<e;l++)this.lines.length<e+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Ze(t,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+o+1?(this.ybase--,o++,this.ydisp>0&&this.ydisp--):this.lines.push(new Ze(t,i)));else for(let l=this._rows;l>e;l--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(n<this.lines.maxLength){let l=this.lines.length-n;l>0&&(this.lines.trimStart(l),this.ybase=Math.max(this.ybase-l,0),this.ydisp=Math.max(this.ydisp-l,0),this.savedY=Math.max(this.savedY-l,0)),this.lines.maxLength=n}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),o&&(this.y+=o),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let o=0;o<this.lines.length;o++)r+=+this.lines.get(o).resize(t,i);this._cols=t,this._rows=e,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition<this.lines.length;)if(e+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),e>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend===\"conpty\"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=sl(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(X),i);if(r.length>0){let n=ol(this.lines,r);ll(this.lines,n.layout),this._reflowLargerAdjustViewport(t,e,n.countRemoved)}}_reflowLargerAdjustViewport(t,e,i){let r=this.getNullCell(X),n=i;for(;n-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<e&&this.lines.push(new Ze(t,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(X),n=[],o=0;for(let l=this.lines.length-1;l>=0;l--){let a=this.lines.get(l);if(!a||!a.isWrapped&&a.getTrimmedLength()<=t)continue;let u=[a];for(;a.isWrapped&&l>0;)a=this.lines.get(--l),u.unshift(a);if(!i){let I=this.ybase+this.y;if(I>=l&&I<l+u.length)continue}let h=u[u.length-1].getTrimmedLength(),c=al(u,this._cols,t),d=c.length-u.length,_;this.ybase===0&&this.y!==this.lines.length-1?_=Math.max(0,this.y-this.lines.maxLength+d):_=Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let I=0;I<d;I++){let k=this.getBlankLine(X,!0);p.push(k)}p.length>0&&(n.push({start:l+u.length+o,newLines:p}),o+=p.length),u.push(...p);let m=c.length-1,f=c[m];f===0&&(m--,f=c[m]);let A=u.length-d-1,R=h;for(;A>=0;){let I=Math.min(R,f);if(u[m]===void 0)break;if(u[m].copyCellsFrom(u[A],R-I,f-I,I,!0),f-=I,f===0&&(m--,f=c[m]),R-=I,R===0){A--;let k=Math.max(A,0);R=ri(u,k,this._cols)}}for(let I=0;I<u.length;I++)c[I]<t&&u[I].setCell(c[I],r);let O=d-_;for(;O-- >0;)this.ybase===0?this.y<e-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-e&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+e-1)}if(n.length>0){let l=[],a=[];for(let f=0;f<this.lines.length;f++)a.push(this.lines.get(f));let u=this.lines.length,h=u-1,c=0,d=n[c];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);let _=0;for(let f=Math.min(this.lines.maxLength-1,u+o-1);f>=0;f--)if(d&&d.start>h+_){for(let A=d.newLines.length-1;A>=0;A--)this.lines.set(f--,d.newLines[A]);f++,l.push({index:h+1,amount:d.newLines.length}),_+=d.newLines.length,d=n[++c]}else this.lines.set(f,a[h--]);let p=0;for(let f=l.length-1;f>=0;f--)l[f].index+=p,this.lines.onInsertEmitter.fire(l[f]),p+=l[f].amount;let m=Math.max(0,u+o-this.lines.maxLength);m>0&&this.lines.onTrimEmitter.fire(m)}}translateBufferLineToString(t,e,i=0,r){let n=this.lines.get(t);return n?n.translateToString(e,i,r):\"\"}getWrappedRangeForLine(t){let e=t,i=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:e,last:i}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].line===t&&(this.markers[e].dispose(),this.markers.splice(e--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let e=new cn(t);return this.markers.push(e),e.register(this.lines.onTrim(i=>{e.line-=i,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(i=>{e.line>=i.index&&(e.line+=i.amount)})),e.register(this.lines.onDelete(i=>{e.line>=i.index&&e.line<i.index+i.amount&&e.dispose(),e.line>i.index&&(e.line-=i.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}};var hn=class extends D{constructor(e,i){super();this._optionsService=e;this._bufferService=i;this._onBufferActivate=this._register(new v);this.onBufferActivate=this._onBufferActivate.event;this.reset(),this._register(this._optionsService.onSpecificOptionChange(\"scrollback\",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",()=>this.setupTabStops()))}reset(){this._normal=new $i(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new $i(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,i){this._normal.resize(e,i),this._alt.resize(e,i),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}};var ks=2,Cs=1,ni=class extends D{constructor(e){super();this.isUserScrolling=!1;this._onResize=this._register(new v);this.onResize=this._onResize.event;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this.cols=Math.max(e.rawOptions.cols||0,ks),this.rows=Math.max(e.rawOptions.rows||0,Cs),this.buffers=this._register(new hn(e,this)),this._register(this.buffers.onBufferActivate(i=>{this._onScroll.fire(i.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,i){let r=this.cols!==e,n=this.rows!==i;this.cols=e,this.rows=i,this.buffers.resize(e,i),this._onResize.fire({cols:e,rows:i,colsChanged:r,rowsChanged:n})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,i=!1){let r=this.buffer,n;n=this._cachedBlankLine,(!n||n.length!==this.cols||n.getFg(0)!==e.fg||n.getBg(0)!==e.bg)&&(n=r.getBlankLine(e,i),this._cachedBlankLine=n),n.isWrapped=i;let o=r.ybase+r.scrollTop,l=r.ybase+r.scrollBottom;if(r.scrollTop===0){let a=r.lines.isFull;l===r.lines.length-1?a?r.lines.recycle().copyFrom(n):r.lines.push(n.clone()):r.lines.splice(l+1,0,n.clone()),a?this.isUserScrolling&&(r.ydisp=Math.max(r.ydisp-1,0)):(r.ybase++,this.isUserScrolling||r.ydisp++)}else{let a=l-o+1;r.lines.shiftElements(o+1,a-1,-1),r.lines.set(l,n.clone())}this.isUserScrolling||(r.ydisp=r.ybase),this._onScroll.fire(r.ydisp)}scrollLines(e,i){let r=this.buffer;if(e<0){if(r.ydisp===0)return;this.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this.isUserScrolling=!1);let n=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),n!==r.ydisp&&(i||this._onScroll.fire(r.ydisp))}};ni=M([S(0,H)],ni);var si={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Zt,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRuler:{}},nc=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],dn=class extends D{constructor(e){super();this._onOptionChange=this._register(new v);this.onOptionChange=this._onOptionChange.event;let i={...si};for(let r in e)if(r in i)try{let n=e[r];i[r]=this._sanitizeAndValidateOption(r,n)}catch(n){console.error(n)}this.rawOptions=i,this.options={...i},this._setupOptions(),this._register(C(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,i){return this.onOptionChange(r=>{r===e&&i(this.rawOptions[e])})}onMultipleOptionChange(e,i){return this.onOptionChange(r=>{e.indexOf(r)!==-1&&i()})}_setupOptions(){let e=r=>{if(!(r in si))throw new Error(`No option with key \"${r}\"`);return this.rawOptions[r]},i=(r,n)=>{if(!(r in si))throw new Error(`No option with key \"${r}\"`);n=this._sanitizeAndValidateOption(r,n),this.rawOptions[r]!==n&&(this.rawOptions[r]=n,this._onOptionChange.fire(r))};for(let r in this.rawOptions){let n={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this.options,r,n)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=si[e]),!sc(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=si[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(typeof i==\"number\"&&1<=i&&i<=1e3)break;i=nc.includes(i)?i:si[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(i*10)/10));break;case\"scrollback\":if(i=Math.min(i,4294967295),i<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&i!==0)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{};break}return i}};function sc(s){return s===\"block\"||s===\"underline\"||s===\"bar\"}function oi(s,t=5){if(typeof s!=\"object\")return s;let e=Array.isArray(s)?[]:{};for(let i in s)e[i]=t<=1?s[i]:s[i]&&oi(s[i],t-1);return e}var ul=Object.freeze({insertMode:!1}),hl=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),li=class extends D{constructor(e,i,r){super();this._bufferService=e;this._logService=i;this._optionsService=r;this.isCursorInitialized=!1;this.isCursorHidden=!1;this._onData=this._register(new v);this.onData=this._onData.event;this._onUserInput=this._register(new v);this.onUserInput=this._onUserInput.event;this._onBinary=this._register(new v);this.onBinary=this._onBinary.event;this._onRequestScrollToBottom=this._register(new v);this.onRequestScrollToBottom=this._onRequestScrollToBottom.event;this.modes=oi(ul),this.decPrivateModes=oi(hl)}reset(){this.modes=oi(ul),this.decPrivateModes=oi(hl)}triggerDataEvent(e,i=!1){if(this._optionsService.rawOptions.disableStdin)return;let r=this._bufferService.buffer;i&&this._optionsService.rawOptions.scrollOnUserInput&&r.ybase!==r.ydisp&&this._onRequestScrollToBottom.fire(),i&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`),this._logService.trace(\"sending data (codes)\",()=>e.split(\"\").map(n=>n.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`),this._logService.trace(\"sending binary (codes)\",()=>e.split(\"\").map(i=>i.charCodeAt(0))),this._onBinary.fire(e))}};li=M([S(0,F),S(1,nr),S(2,H)],li);var dl={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:s=>s.button===4||s.action!==1?!1:(s.ctrl=!1,s.alt=!1,s.shift=!1,!0)},VT200:{events:19,restrict:s=>s.action!==32},DRAG:{events:23,restrict:s=>!(s.action===32&&s.button===3)},ANY:{events:31,restrict:s=>!0}};function Ms(s,t){let e=(s.ctrl?16:0)|(s.shift?4:0)|(s.alt?8:0);return s.button===4?(e|=64,e|=s.action):(e|=s.button&3,s.button&4&&(e|=64),s.button&8&&(e|=128),s.action===32?e|=32:s.action===0&&!t&&(e|=3)),e}var Ps=String.fromCharCode,fl={DEFAULT:s=>{let t=[Ms(s,!1)+32,s.col+32,s.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\\x1B[M${Ps(t[0])}${Ps(t[1])}${Ps(t[2])}`},SGR:s=>{let t=s.action===0&&s.button!==4?\"m\":\"M\";return`\\x1B[<${Ms(s,!0)};${s.col};${s.row}${t}`},SGR_PIXELS:s=>{let t=s.action===0&&s.button!==4?\"m\":\"M\";return`\\x1B[<${Ms(s,!0)};${s.x};${s.y}${t}`}},ai=class extends D{constructor(e,i,r){super();this._bufferService=e;this._coreService=i;this._optionsService=r;this._protocols={};this._encodings={};this._activeProtocol=\"\";this._activeEncoding=\"\";this._lastEvent=null;this._wheelPartialScroll=0;this._onProtocolChange=this._register(new v);this.onProtocolChange=this._onProtocolChange.event;for(let n of Object.keys(dl))this.addProtocol(n,dl[n]);for(let n of Object.keys(fl))this.addEncoding(n,fl[n]);this.reset()}addProtocol(e,i){this._protocols[e]=i}addEncoding(e,i){this._encodings[e]=i}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,i,r){if(e.deltaY===0||e.shiftKey||i===void 0||r===void 0)return 0;let n=i/r,o=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(o/=n+0,Math.abs(e.deltaY)<50&&(o*=.3),this._wheelPartialScroll+=o,o=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(o*=this._bufferService.rows),o}_applyScrollModifier(e,i){return i.altKey||i.ctrlKey||i.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===\"SGR_PIXELS\"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let i=this._encodings[this._activeEncoding](e);return i&&(this._activeEncoding===\"DEFAULT\"?this._coreService.triggerBinaryEvent(i):this._coreService.triggerDataEvent(i,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,i,r){if(r){if(e.x!==i.x||e.y!==i.y)return!1}else if(e.col!==i.col||e.row!==i.row)return!1;return!(e.button!==i.button||e.action!==i.action||e.ctrl!==i.ctrl||e.alt!==i.alt||e.shift!==i.shift)}};ai=M([S(0,F),S(1,ge),S(2,H)],ai);var Os=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],ac=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],se;function cc(s,t){let e=0,i=t.length-1,r;if(s<t[0][0]||s>t[i][1])return!1;for(;i>=e;)if(r=e+i>>1,s>t[r][1])e=r+1;else if(s<t[r][0])i=r-1;else return!0;return!1}var fn=class{constructor(){this.version=\"6\";if(!se){se=new Uint8Array(65536),se.fill(1),se[0]=0,se.fill(0,1,32),se.fill(0,127,160),se.fill(2,4352,4448),se[9001]=2,se[9002]=2,se.fill(2,11904,42192),se[12351]=1,se.fill(2,44032,55204),se.fill(2,63744,64256),se.fill(2,65040,65050),se.fill(2,65072,65136),se.fill(2,65280,65377),se.fill(2,65504,65511);for(let t=0;t<Os.length;++t)se.fill(0,Os[t][0],Os[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?se[t]:cc(t,ac)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let i=this.wcwidth(t),r=i===0&&e!==0;if(r){let n=Ae.extractWidth(e);n===0?r=!1:n>i&&(i=n)}return Ae.createPropertyValue(0,i,r)}};var Ae=class s{constructor(){this._providers=Object.create(null);this._active=\"\";this._onChange=new v;this.onChange=this._onChange.event;let t=new fn;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,e,i=!1){return(t&16777215)<<3|(e&3)<<1|(i?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version \"${t}\"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let e=0,i=0,r=t.length;for(let n=0;n<r;++n){let o=t.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=r)return e+this.wcwidth(o);let u=t.charCodeAt(n);56320<=u&&u<=57343?o=(o-55296)*1024+u-56320+65536:e+=this.wcwidth(u)}let l=this.charProperties(o,i),a=s.extractWidth(l);s.extractShouldJoin(l)&&(a-=s.extractWidth(i)),e+=a,i=l}return e}charProperties(t,e){return this._activeProvider.charProperties(t,e)}};var pn=class{constructor(){this.glevel=0;this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function Bs(s){let e=s.buffer.lines.get(s.buffer.ybase+s.buffer.y-1)?.get(s.cols-1),i=s.buffer.lines.get(s.buffer.ybase+s.buffer.y);i&&e&&(i.isWrapped=e[3]!==0&&e[3]!==32)}var Vi=2147483647,uc=256,ci=class s{constructor(t=32,e=32){this.maxLength=t;this.maxSubParamsLength=e;if(e>uc)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(e),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let e=new s;if(!t.length)return e;for(let i=Array.isArray(t[0])?1:0;i<t.length;++i){let r=t[i];if(Array.isArray(r))for(let n=0;n<r.length;++n)e.addSubParam(r[n]);else e.addParam(r)}return e}clone(){let t=new s(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let t=[];for(let e=0;e<this.length;++e){t.push(this.params[e]);let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;r-i>0&&t.push(Array.prototype.slice.call(this._subParams,i,r))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>Vi?Vi:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=t>Vi?Vi:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let e=this._subParamsIdx[t]>>8,i=this._subParamsIdx[t]&255;return i-e>0?this._subParams.subarray(e,i):null}getSubParamsAll(){let t={};for(let e=0;e<this.length;++e){let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;r-i>0&&(t[e]=this._subParams.slice(i,r))}return t}addDigit(t){let e;if(this._rejectDigits||!(e=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let i=this._digitIsSub?this._subParams:this.params,r=i[e-1];i[e-1]=~r?Math.min(r*10+t,Vi):t}};var qi=[],mn=class{constructor(){this._state=0;this._active=qi;this._id=-1;this._handlers=Object.create(null);this._handlerFb=()=>{};this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=qi}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=qi,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||qi,!this._active.length)this._handlerFb(this._id,\"START\");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,i){if(!this._active.length)this._handlerFb(this._id,\"PUT\",It(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}start(){this.reset(),this._state=1}put(t,e,i){if(this._state!==3){if(this._state===1)for(;e<i;){let r=t[e++];if(r===59){this._state=2,this._start();break}if(r<48||57<r){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+r-48}this._state===2&&i-e>0&&this._put(t,e,i)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,\"END\",t);else{let i=!1,r=this._active.length-1,n=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&i===!1){for(;r>=0&&(i=this._active[r].end(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=qi,this._id=-1,this._state=0}}},pe=class{constructor(t){this._handler=t;this._data=\"\";this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=It(t,e,i),this._data.length>1e7&&(this._data=\"\",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(i=>(this._data=\"\",this._hitLimit=!1,i));return this._data=\"\",this._hitLimit=!1,e}};var Yi=[],_n=class{constructor(){this._handlers=Object.create(null);this._active=Yi;this._ident=0;this._handlerFb=()=>{};this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Yi}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Yi,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Yi,!this._active.length)this._handlerFb(this._ident,\"HOOK\",e);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(e)}put(t,e,i){if(!this._active.length)this._handlerFb(this._ident,\"PUT\",It(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,\"UNHOOK\",t);else{let i=!1,r=this._active.length-1,n=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,n=this._stack.fallThrough,this._stack.paused=!1),!n&&i===!1){for(;r>=0&&(i=this._active[r].unhook(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=Yi,this._ident=0}},ji=new ci;ji.addParam(0);var Xi=class{constructor(t){this._handler=t;this._data=\"\";this._params=ji;this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():ji,this._data=\"\",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=It(t,e,i),this._data.length>1e7&&(this._data=\"\",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(i=>(this._params=ji,this._data=\"\",this._hitLimit=!1,i));return this._params=ji,this._data=\"\",this._hitLimit=!1,e}};var Fs=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,i,r){this.table[e<<8|t]=i<<4|r}addMany(t,e,i,r){for(let n=0;n<t.length;n++)this.table[e<<8|t[n]]=i<<4|r}},ke=160,hc=function(){let s=new Fs(4095),e=Array.apply(null,Array(256)).map((a,u)=>u),i=(a,u)=>e.slice(a,u),r=i(32,127),n=i(0,24);n.push(25),n.push.apply(n,i(28,32));let o=i(0,14),l;s.setDefault(1,0),s.addMany(r,0,2,0);for(l in o)s.addMany([24,26,153,154],l,3,0),s.addMany(i(128,144),l,3,0),s.addMany(i(144,152),l,3,0),s.add(156,l,0,0),s.add(27,l,11,1),s.add(157,l,4,8),s.addMany([152,158,159],l,0,7),s.add(155,l,11,3),s.add(144,l,11,9);return s.addMany(n,0,3,0),s.addMany(n,1,3,1),s.add(127,1,0,1),s.addMany(n,8,0,8),s.addMany(n,3,3,3),s.add(127,3,0,3),s.addMany(n,4,3,4),s.add(127,4,0,4),s.addMany(n,6,3,6),s.addMany(n,5,3,5),s.add(127,5,0,5),s.addMany(n,2,3,2),s.add(127,2,0,2),s.add(93,1,4,8),s.addMany(r,8,5,8),s.add(127,8,5,8),s.addMany([156,27,24,26,7],8,6,0),s.addMany(i(28,32),8,0,8),s.addMany([88,94,95],1,0,7),s.addMany(r,7,0,7),s.addMany(n,7,0,7),s.add(156,7,0,0),s.add(127,7,0,7),s.add(91,1,11,3),s.addMany(i(64,127),3,7,0),s.addMany(i(48,60),3,8,4),s.addMany([60,61,62,63],3,9,4),s.addMany(i(48,60),4,8,4),s.addMany(i(64,127),4,7,0),s.addMany([60,61,62,63],4,0,6),s.addMany(i(32,64),6,0,6),s.add(127,6,0,6),s.addMany(i(64,127),6,0,0),s.addMany(i(32,48),3,9,5),s.addMany(i(32,48),5,9,5),s.addMany(i(48,64),5,0,6),s.addMany(i(64,127),5,7,0),s.addMany(i(32,48),4,9,5),s.addMany(i(32,48),1,9,2),s.addMany(i(32,48),2,9,2),s.addMany(i(48,127),2,10,0),s.addMany(i(48,80),1,10,0),s.addMany(i(81,88),1,10,0),s.addMany([89,90,92],1,10,0),s.addMany(i(96,127),1,10,0),s.add(80,1,11,9),s.addMany(n,9,0,9),s.add(127,9,0,9),s.addMany(i(28,32),9,0,9),s.addMany(i(32,48),9,9,12),s.addMany(i(48,60),9,8,10),s.addMany([60,61,62,63],9,9,10),s.addMany(n,11,0,11),s.addMany(i(32,128),11,0,11),s.addMany(i(28,32),11,0,11),s.addMany(n,10,0,10),s.add(127,10,0,10),s.addMany(i(28,32),10,0,10),s.addMany(i(48,60),10,8,10),s.addMany([60,61,62,63],10,0,11),s.addMany(i(32,48),10,9,12),s.addMany(n,12,0,12),s.add(127,12,0,12),s.addMany(i(28,32),12,0,12),s.addMany(i(32,48),12,9,12),s.addMany(i(48,64),12,0,11),s.addMany(i(64,127),12,12,13),s.addMany(i(64,127),10,12,13),s.addMany(i(64,127),9,12,13),s.addMany(n,13,13,13),s.addMany(r,13,13,13),s.add(127,13,0,13),s.addMany([27,156,24,26],13,14,0),s.add(ke,0,2,0),s.add(ke,8,5,8),s.add(ke,6,0,6),s.add(ke,11,0,11),s.add(ke,13,13,13),s}(),bn=class extends D{constructor(e=hc){super();this._transitions=e;this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0};this.initialState=0,this.currentState=this.initialState,this._params=new ci,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(i,r,n)=>{},this._executeHandlerFb=i=>{},this._csiHandlerFb=(i,r)=>{},this._escHandlerFb=i=>{},this._errorHandlerFb=i=>i,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(C(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new mn),this._dcsParser=this._register(new _n),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},()=>!0)}_identifier(e,i=[64,126]){let r=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(r=e.prefix.charCodeAt(0),r&&60>r||r>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let o=0;o<e.intermediates.length;++o){let l=e.intermediates.charCodeAt(o);if(32>l||l>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");r<<=8,r|=l}}if(e.final.length!==1)throw new Error(\"final must be a single byte\");let n=e.final.charCodeAt(0);if(i[0]>n||n>i[1])throw new Error(`final must be in range ${i[0]} .. ${i[1]}`);return r<<=8,r|=n,r}identToString(e){let i=[];for(;e;)i.push(String.fromCharCode(e&255)),e>>=8;return i.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,i){let r=this._identifier(e,[48,126]);this._escHandlers[r]===void 0&&(this._escHandlers[r]=[]);let n=this._escHandlers[r];return n.push(i),{dispose:()=>{let o=n.indexOf(i);o!==-1&&n.splice(o,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,i){this._executeHandlers[e.charCodeAt(0)]=i}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,i){let r=this._identifier(e);this._csiHandlers[r]===void 0&&(this._csiHandlers[r]=[]);let n=this._csiHandlers[r];return n.push(i),{dispose:()=>{let o=n.indexOf(i);o!==-1&&n.splice(o,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,i){return this._dcsParser.registerHandler(this._identifier(e),i)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,i){return this._oscParser.registerHandler(e,i)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,i,r,n,o){this._parseStack.state=e,this._parseStack.handlers=i,this._parseStack.handlerPos=r,this._parseStack.transition=n,this._parseStack.chunkPos=o}parse(e,i,r){let n=0,o=0,l=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,l=this._parseStack.chunkPos+1;else{if(r===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");let u=this._parseStack.handlers,h=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(r===!1&&h>-1){for(;h>=0&&(a=u[h](this._params),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 4:if(r===!1&&h>-1){for(;h>=0&&(a=u[h](),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],a=this._dcsParser.unhook(n!==24&&n!==26,r),a)return a;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],a=this._oscParser.end(n!==24&&n!==26,r),a)return a;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,l=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let u=l;u<i;++u){switch(n=e[u],o=this._transitions.table[this.currentState<<8|(n<160?n:ke)],o>>4){case 2:for(let m=u+1;;++m){if(m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}if(++m>=i||(n=e[m])<32||n>126&&n<ke){this._printHandler(e,u,m),u=m-1;break}}break;case 3:this._executeHandlers[n]?this._executeHandlers[n]():this._executeHandlerFb(n),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:u,code:n,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let c=this._csiHandlers[this._collect<<8|n],d=c?c.length-1:-1;for(;d>=0&&(a=c[d](this._params),a!==!0);d--)if(a instanceof Promise)return this._preserveStack(3,c,d,o,u),a;d<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingJoinState=0;break;case 8:do switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}while(++u<i&&(n=e[u])>47&&n<60);u--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:let _=this._escHandlers[this._collect<<8|n],p=_?_.length-1:-1;for(;p>=0&&(a=_[p](),a!==!0);p--)if(a instanceof Promise)return this._preserveStack(4,_,p,o,u),a;p<0&&this._escHandlerFb(this._collect<<8|n),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(let m=u+1;;++m)if(m>=i||(n=e[m])===24||n===26||n===27||n>127&&n<ke){this._dcsParser.put(e,u,m),u=m-1;break}break;case 14:if(a=this._dcsParser.unhook(n!==24&&n!==26),a)return this._preserveStack(6,[],0,o,u),a;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let m=u+1;;m++)if(m>=i||(n=e[m])<32||n>127&&n<ke){this._oscParser.put(e,u,m),u=m-1;break}break;case 6:if(a=this._oscParser.end(n!==24&&n!==26),a)return this._preserveStack(5,[],0,o,u),a;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=o&15}}};var dc=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,fc=/^[\\da-f]+$/;function Ws(s){if(!s)return;let t=s.toLowerCase();if(t.indexOf(\"rgb:\")===0){t=t.slice(4);let e=dc.exec(t);if(e){let i=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/i*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/i*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/i*255)]}}else if(t.indexOf(\"#\")===0&&(t=t.slice(1),fc.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,i=[0,0,0];for(let r=0;r<3;++r){let n=parseInt(t.slice(e*r,e*r+e),16);i[r]=e===1?n<<4:e===2?n:e===3?n>>4:n>>8}return i}}function Hs(s,t){let e=s.toString(16),i=e.length<2?\"0\"+e:e;switch(t){case 4:return e[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}function ml(s,t=16){let[e,i,r]=s;return`rgb:${Hs(e,t)}/${Hs(i,t)}/${Hs(r,t)}`}var mc={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},ut=131072,_l=10;function bl(s,t){if(s>24)return t.setWinLines||!1;switch(s){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var vl=5e3,gl=0,vn=class extends D{constructor(e,i,r,n,o,l,a,u,h=new bn){super();this._bufferService=e;this._charsetService=i;this._coreService=r;this._logService=n;this._optionsService=o;this._oscLinkService=l;this._coreMouseService=a;this._unicodeService=u;this._parser=h;this._parseBuffer=new Uint32Array(4096);this._stringDecoder=new er;this._utf8Decoder=new tr;this._windowTitle=\"\";this._iconName=\"\";this._windowTitleStack=[];this._iconNameStack=[];this._curAttrData=X.clone();this._eraseAttrDataInternal=X.clone();this._onRequestBell=this._register(new v);this.onRequestBell=this._onRequestBell.event;this._onRequestRefreshRows=this._register(new v);this.onRequestRefreshRows=this._onRequestRefreshRows.event;this._onRequestReset=this._register(new v);this.onRequestReset=this._onRequestReset.event;this._onRequestSendFocus=this._register(new v);this.onRequestSendFocus=this._onRequestSendFocus.event;this._onRequestSyncScrollBar=this._register(new v);this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event;this._onRequestWindowsOptionsReport=this._register(new v);this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event;this._onA11yChar=this._register(new v);this.onA11yChar=this._onA11yChar.event;this._onA11yTab=this._register(new v);this.onA11yTab=this._onA11yTab.event;this._onCursorMove=this._register(new v);this.onCursorMove=this._onCursorMove.event;this._onLineFeed=this._register(new v);this.onLineFeed=this._onLineFeed.event;this._onScroll=this._register(new v);this.onScroll=this._onScroll.event;this._onTitleChange=this._register(new v);this.onTitleChange=this._onTitleChange.event;this._onColor=this._register(new v);this.onColor=this._onColor.event;this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0};this._specialColors=[256,257,258];this._register(this._parser),this._dirtyRowTracker=new Zi(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(c=>this._activeBuffer=c.activeBuffer)),this._parser.setCsiHandlerFallback((c,d)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(c),params:d.toArray()})}),this._parser.setEscHandlerFallback(c=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(c)})}),this._parser.setExecuteHandlerFallback(c=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:c})}),this._parser.setOscHandlerFallback((c,d,_)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:c,action:d,data:_})}),this._parser.setDcsHandlerFallback((c,d,_)=>{d===\"HOOK\"&&(_=_.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(c),action:d,payload:_})}),this._parser.setPrintHandler((c,d,_)=>this.print(c,d,_)),this._parser.registerCsiHandler({final:\"@\"},c=>this.insertChars(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},c=>this.scrollLeft(c)),this._parser.registerCsiHandler({final:\"A\"},c=>this.cursorUp(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},c=>this.scrollRight(c)),this._parser.registerCsiHandler({final:\"B\"},c=>this.cursorDown(c)),this._parser.registerCsiHandler({final:\"C\"},c=>this.cursorForward(c)),this._parser.registerCsiHandler({final:\"D\"},c=>this.cursorBackward(c)),this._parser.registerCsiHandler({final:\"E\"},c=>this.cursorNextLine(c)),this._parser.registerCsiHandler({final:\"F\"},c=>this.cursorPrecedingLine(c)),this._parser.registerCsiHandler({final:\"G\"},c=>this.cursorCharAbsolute(c)),this._parser.registerCsiHandler({final:\"H\"},c=>this.cursorPosition(c)),this._parser.registerCsiHandler({final:\"I\"},c=>this.cursorForwardTab(c)),this._parser.registerCsiHandler({final:\"J\"},c=>this.eraseInDisplay(c,!1)),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},c=>this.eraseInDisplay(c,!0)),this._parser.registerCsiHandler({final:\"K\"},c=>this.eraseInLine(c,!1)),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},c=>this.eraseInLine(c,!0)),this._parser.registerCsiHandler({final:\"L\"},c=>this.insertLines(c)),this._parser.registerCsiHandler({final:\"M\"},c=>this.deleteLines(c)),this._parser.registerCsiHandler({final:\"P\"},c=>this.deleteChars(c)),this._parser.registerCsiHandler({final:\"S\"},c=>this.scrollUp(c)),this._parser.registerCsiHandler({final:\"T\"},c=>this.scrollDown(c)),this._parser.registerCsiHandler({final:\"X\"},c=>this.eraseChars(c)),this._parser.registerCsiHandler({final:\"Z\"},c=>this.cursorBackwardTab(c)),this._parser.registerCsiHandler({final:\"`\"},c=>this.charPosAbsolute(c)),this._parser.registerCsiHandler({final:\"a\"},c=>this.hPositionRelative(c)),this._parser.registerCsiHandler({final:\"b\"},c=>this.repeatPrecedingCharacter(c)),this._parser.registerCsiHandler({final:\"c\"},c=>this.sendDeviceAttributesPrimary(c)),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},c=>this.sendDeviceAttributesSecondary(c)),this._parser.registerCsiHandler({final:\"d\"},c=>this.linePosAbsolute(c)),this._parser.registerCsiHandler({final:\"e\"},c=>this.vPositionRelative(c)),this._parser.registerCsiHandler({final:\"f\"},c=>this.hVPosition(c)),this._parser.registerCsiHandler({final:\"g\"},c=>this.tabClear(c)),this._parser.registerCsiHandler({final:\"h\"},c=>this.setMode(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},c=>this.setModePrivate(c)),this._parser.registerCsiHandler({final:\"l\"},c=>this.resetMode(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},c=>this.resetModePrivate(c)),this._parser.registerCsiHandler({final:\"m\"},c=>this.charAttributes(c)),this._parser.registerCsiHandler({final:\"n\"},c=>this.deviceStatus(c)),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},c=>this.deviceStatusPrivate(c)),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},c=>this.softReset(c)),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},c=>this.setCursorStyle(c)),this._parser.registerCsiHandler({final:\"r\"},c=>this.setScrollRegion(c)),this._parser.registerCsiHandler({final:\"s\"},c=>this.saveCursor(c)),this._parser.registerCsiHandler({final:\"t\"},c=>this.windowOptions(c)),this._parser.registerCsiHandler({final:\"u\"},c=>this.restoreCursor(c)),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},c=>this.insertColumns(c)),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},c=>this.deleteColumns(c)),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},c=>this.selectProtected(c)),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},c=>this.requestMode(c,!0)),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},c=>this.requestMode(c,!1)),this._parser.setExecuteHandler(b.BEL,()=>this.bell()),this._parser.setExecuteHandler(b.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(b.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(b.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(b.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(b.BS,()=>this.backspace()),this._parser.setExecuteHandler(b.HT,()=>this.tab()),this._parser.setExecuteHandler(b.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(b.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Ai.IND,()=>this.index()),this._parser.setExecuteHandler(Ai.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Ai.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new pe(c=>(this.setTitle(c),this.setIconName(c),!0))),this._parser.registerOscHandler(1,new pe(c=>this.setIconName(c))),this._parser.registerOscHandler(2,new pe(c=>this.setTitle(c))),this._parser.registerOscHandler(4,new pe(c=>this.setOrReportIndexedColor(c))),this._parser.registerOscHandler(8,new pe(c=>this.setHyperlink(c))),this._parser.registerOscHandler(10,new pe(c=>this.setOrReportFgColor(c))),this._parser.registerOscHandler(11,new pe(c=>this.setOrReportBgColor(c))),this._parser.registerOscHandler(12,new pe(c=>this.setOrReportCursorColor(c))),this._parser.registerOscHandler(104,new pe(c=>this.restoreIndexedColor(c))),this._parser.registerOscHandler(110,new pe(c=>this.restoreFgColor(c))),this._parser.registerOscHandler(111,new pe(c=>this.restoreBgColor(c))),this._parser.registerOscHandler(112,new pe(c=>this.restoreCursorColor(c))),this._parser.registerEscHandler({final:\"7\"},()=>this.saveCursor()),this._parser.registerEscHandler({final:\"8\"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:\"D\"},()=>this.index()),this._parser.registerEscHandler({final:\"E\"},()=>this.nextLine()),this._parser.registerEscHandler({final:\"H\"},()=>this.tabSet()),this._parser.registerEscHandler({final:\"M\"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:\"=\"},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:\">\"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:\"c\"},()=>this.fullReset()),this._parser.registerEscHandler({final:\"n\"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:\"o\"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:\"|\"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:\"}\"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:\"~\"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},()=>this.selectDefaultCharset());for(let c in ne)this._parser.registerEscHandler({intermediates:\"(\",final:c},()=>this.selectCharset(\"(\"+c)),this._parser.registerEscHandler({intermediates:\")\",final:c},()=>this.selectCharset(\")\"+c)),this._parser.registerEscHandler({intermediates:\"*\",final:c},()=>this.selectCharset(\"*\"+c)),this._parser.registerEscHandler({intermediates:\"+\",final:c},()=>this.selectCharset(\"+\"+c)),this._parser.registerEscHandler({intermediates:\"-\",final:c},()=>this.selectCharset(\"-\"+c)),this._parser.registerEscHandler({intermediates:\".\",final:c},()=>this.selectCharset(\".\"+c)),this._parser.registerEscHandler({intermediates:\"/\",final:c},()=>this.selectCharset(\"/\"+c));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(c=>(this._logService.error(\"Parsing error: \",c),c)),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new Xi((c,d)=>this.requestStatusString(c,d)))}getAttrData(){return this._curAttrData}_preserveStack(e,i,r,n){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=i,this._parseStack.decodedLength=r,this._parseStack.position=n}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((i,r)=>setTimeout(()=>r(\"#SLOW_TIMEOUT\"),vl))]).catch(i=>{if(i!==\"#SLOW_TIMEOUT\")throw i;console.warn(`async parser handler taking longer than ${vl} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,i){let r,n=this._activeBuffer.x,o=this._activeBuffer.y,l=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,i))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>ut&&(l=this._parseStack.position+ut)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==\"string\"?` \"${e}\"`:` \"${Array.prototype.map.call(e,c=>String.fromCharCode(c)).join(\"\")}\"`}`),this._logService.logLevel===0&&this._logService.trace(\"parsing data (codes)\",typeof e==\"string\"?e.split(\"\").map(c=>c.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<ut&&(this._parseBuffer=new Uint32Array(Math.min(e.length,ut))),a||this._dirtyRowTracker.clearRange(),e.length>ut)for(let c=l;c<e.length;c+=ut){let d=c+ut<e.length?c+ut:e.length,_=typeof e==\"string\"?this._stringDecoder.decode(e.substring(c,d),this._parseBuffer):this._utf8Decoder.decode(e.subarray(c,d),this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,_))return this._preserveStack(n,o,_,c),this._logSlowResolvingAsync(r),r}else if(!a){let c=typeof e==\"string\"?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,c))return this._preserveStack(n,o,c,0),this._logSlowResolvingAsync(r),r}(this._activeBuffer.x!==n||this._activeBuffer.y!==o)&&this._onCursorMove.fire();let u=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),h=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);h<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(h,this._bufferService.rows-1),end:Math.min(u,this._bufferService.rows-1)})}print(e,i,r){let n,o,l=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,u=this._bufferService.cols,h=this._coreService.decPrivateModes.wraparound,c=this._coreService.modes.insertMode,d=this._curAttrData,_=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&r-i>0&&_.getWidth(this._activeBuffer.x-1)===2&&_.setCellFromCodepoint(this._activeBuffer.x-1,0,1,d);let p=this._parser.precedingJoinState;for(let m=i;m<r;++m){if(n=e[m],n<127&&l){let O=l[String.fromCharCode(n)];O&&(n=O.charCodeAt(0))}let f=this._unicodeService.charProperties(n,p);o=Ae.extractWidth(f);let A=Ae.extractShouldJoin(f),R=A?Ae.extractWidth(p):0;if(p=f,a&&this._onA11yChar.fire(Ce(n)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+o-R>u){if(h){let O=_,I=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),_=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&_ instanceof Ze&&_.copyCellsFrom(O,I,0,R,!1);I<u;)O.setCellFromCodepoint(I++,0,1,d)}else if(this._activeBuffer.x=u-1,o===2)continue}if(A&&this._activeBuffer.x){let O=_.getWidth(this._activeBuffer.x-1)?1:2;_.addCodepointToCell(this._activeBuffer.x-O,n,o);for(let I=o-R;--I>=0;)_.setCellFromCodepoint(this._activeBuffer.x++,0,0,d);continue}if(c&&(_.insertCells(this._activeBuffer.x,o-R,this._activeBuffer.getNullCell(d)),_.getWidth(u-1)===2&&_.setCellFromCodepoint(u-1,0,1,d)),_.setCellFromCodepoint(this._activeBuffer.x++,n,o,d),o>0)for(;--o;)_.setCellFromCodepoint(this._activeBuffer.x++,0,0,d)}this._parser.precedingJoinState=p,this._activeBuffer.x<u&&r-i>0&&_.getWidth(this._activeBuffer.x)===0&&!_.hasContent(this._activeBuffer.x)&&_.setCellFromCodepoint(this._activeBuffer.x,0,1,d),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,i){return e.final===\"t\"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,r=>bl(r.params[0],this._optionsService.rawOptions.windowOptions)?i(r):!0):this._parser.registerCsiHandler(e,i)}registerDcsHandler(e,i){return this._parser.registerDcsHandler(e,new Xi(i))}registerEscHandler(e,i){return this._parser.registerEscHandler(e,i)}registerOscHandler(e,i){return this._parser.registerOscHandler(e,new pe(i))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,i){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+i):(this._activeBuffer.x=e,this._activeBuffer.y=i),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,i){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+i)}cursorUp(e){let i=this._activeBuffer.y-this._activeBuffer.scrollTop;return i>=0?this._moveCursor(0,-Math.min(i,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let i=this._activeBuffer.scrollBottom-this._activeBuffer.y;return i>=0?this._moveCursor(0,Math.min(i,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let i=e.params[0];return i===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:i===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let i=e.params[0]||1;for(;i--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let i=e.params[0]||1;for(;i--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let i=e.params[0];return i===1&&(this._curAttrData.bg|=536870912),(i===2||i===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,i,r,n=!1,o=!1){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);l.replaceCells(i,r,this._activeBuffer.getNullCell(this._eraseAttrData()),o),n&&(l.isWrapped=!1)}_resetBufferLine(e,i=!1){let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);r&&(r.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),i),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),r.isWrapped=!1)}eraseInDisplay(e,i=!1){this._restrictCursor(this._bufferService.cols);let r;switch(e.params[0]){case 0:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,i);r<this._bufferService.rows;r++)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(r);break;case 1:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r,0,this._activeBuffer.x+1,!0,i),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(r+1).isWrapped=!1);r--;)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(r=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,r-1);r--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+r)?.getTrimmedLength(););for(;r>=0;r--)this._bufferService.scroll(this._eraseAttrData())}else{for(r=this._bufferService.rows,this._dirtyRowTracker.markDirty(r-1);r--;)this._resetBufferLine(r,i);this._dirtyRowTracker.markDirty(0)}break;case 3:let n=this._activeBuffer.lines.length-this._bufferService.rows;n>0&&(this._activeBuffer.lines.trimStart(n),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-n,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-n,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,i=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,i);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,i);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,i);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let i=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,o=this._bufferService.rows-1+this._activeBuffer.ybase-n+1;for(;i--;)this._activeBuffer.lines.splice(o-1,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let i=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n;for(n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-n;i--;)this._activeBuffer.lines.splice(r,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let i=e.params[0]||1;for(;i--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let i=e.params[0]||1;for(;i--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(X));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(0,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(0,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(this._activeBuffer.x,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(this._activeBuffer.x,i,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return i&&(i.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let i=this._parser.precedingJoinState;if(!i)return!0;let r=e.params[0]||1,n=Ae.extractWidth(i),o=this._activeBuffer.x-n,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(o),u=new Uint32Array(a.length*r),h=0;for(let d=0;d<a.length;){let _=a.codePointAt(d)||0;u[h++]=_,d+=_>65535?2:1}let c=h;for(let d=1;d<r;++d)u.copyWithin(c,0,h),c+=h;return this.print(u,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(b.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(b.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(b.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(b.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(b.ESC+\"[>83;40003;0c\")),!0}_is(e){return(this._optionsService.rawOptions.termName+\"\").indexOf(e)===0}setMode(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Je),this._charsetService.setgCharset(1,Je),this._charsetService.setgCharset(2,Je),this._charsetService.setgCharset(3,Je);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let i=0;i<e.length;i++)switch(e.params[i]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[i]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,i){let r;(P=>(P[P.NOT_RECOGNIZED=0]=\"NOT_RECOGNIZED\",P[P.SET=1]=\"SET\",P[P.RESET=2]=\"RESET\",P[P.PERMANENTLY_SET=3]=\"PERMANENTLY_SET\",P[P.PERMANENTLY_RESET=4]=\"PERMANENTLY_RESET\"))(r||={});let n=this._coreService.decPrivateModes,{activeProtocol:o,activeEncoding:l}=this._coreMouseService,a=this._coreService,{buffers:u,cols:h}=this._bufferService,{active:c,alt:d}=u,_=this._optionsService.rawOptions,p=(A,R)=>(a.triggerDataEvent(`${b.ESC}[${i?\"\":\"?\"}${A};${R}$y`),!0),m=A=>A?1:2,f=e.params[0];return i?f===2?p(f,4):f===4?p(f,m(a.modes.insertMode)):f===12?p(f,3):f===20?p(f,m(_.convertEol)):p(f,0):f===1?p(f,m(n.applicationCursorKeys)):f===3?p(f,_.windowOptions.setWinLines?h===80?2:h===132?1:0:0):f===6?p(f,m(n.origin)):f===7?p(f,m(n.wraparound)):f===8?p(f,3):f===9?p(f,m(o===\"X10\")):f===12?p(f,m(_.cursorBlink)):f===25?p(f,m(!a.isCursorHidden)):f===45?p(f,m(n.reverseWraparound)):f===66?p(f,m(n.applicationKeypad)):f===67?p(f,4):f===1e3?p(f,m(o===\"VT200\")):f===1002?p(f,m(o===\"DRAG\")):f===1003?p(f,m(o===\"ANY\")):f===1004?p(f,m(n.sendFocus)):f===1005?p(f,4):f===1006?p(f,m(l===\"SGR\")):f===1015?p(f,4):f===1016?p(f,m(l===\"SGR_PIXELS\")):f===1048?p(f,1):f===47||f===1047||f===1049?p(f,m(c===d)):f===2004?p(f,m(n.bracketedPasteMode)):f===2026?p(f,m(n.synchronizedOutput)):p(f,0)}_updateAttrColor(e,i,r,n,o){return i===2?(e|=50331648,e&=-16777216,e|=De.fromColorRGB([r,n,o])):i===5&&(e&=-50331904,e|=33554432|r&255),e}_extractColor(e,i,r){let n=[0,0,-1,0,0,0],o=0,l=0;do{if(n[l+o]=e.params[i+l],e.hasSubParams(i+l)){let a=e.getSubParams(i+l),u=0;do n[1]===5&&(o=1),n[l+u+1+o]=a[u];while(++u<a.length&&u+l+1+o<n.length);break}if(n[1]===5&&l+o>=2||n[1]===2&&l+o>=5)break;n[1]&&(o=1)}while(++l+i<e.length&&l+o<n.length);for(let a=2;a<n.length;++a)n[a]===-1&&(n[a]=0);switch(n[0]){case 38:r.fg=this._updateAttrColor(r.fg,n[1],n[3],n[4],n[5]);break;case 48:r.bg=this._updateAttrColor(r.bg,n[1],n[3],n[4],n[5]);break;case 58:r.extended=r.extended.clone(),r.extended.underlineColor=this._updateAttrColor(r.extended.underlineColor,n[1],n[3],n[4],n[5])}return l}_processUnderline(e,i){i.extended=i.extended.clone(),(!~e||e>5)&&(e=1),i.extended.underlineStyle=e,i.fg|=268435456,e===0&&(i.fg&=-268435457),i.updateExtended()}_processSGR0(e){e.fg=X.fg,e.bg=X.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let i=e.length,r,n=this._curAttrData;for(let o=0;o<i;o++)r=e.params[o],r>=30&&r<=37?(n.fg&=-50331904,n.fg|=16777216|r-30):r>=40&&r<=47?(n.bg&=-50331904,n.bg|=16777216|r-40):r>=90&&r<=97?(n.fg&=-50331904,n.fg|=16777216|r-90|8):r>=100&&r<=107?(n.bg&=-50331904,n.bg|=16777216|r-100|8):r===0?this._processSGR0(n):r===1?n.fg|=134217728:r===3?n.bg|=67108864:r===4?(n.fg|=268435456,this._processUnderline(e.hasSubParams(o)?e.getSubParams(o)[0]:1,n)):r===5?n.fg|=536870912:r===7?n.fg|=67108864:r===8?n.fg|=1073741824:r===9?n.fg|=2147483648:r===2?n.bg|=134217728:r===21?this._processUnderline(2,n):r===22?(n.fg&=-134217729,n.bg&=-134217729):r===23?n.bg&=-67108865:r===24?(n.fg&=-268435457,this._processUnderline(0,n)):r===25?n.fg&=-536870913:r===27?n.fg&=-67108865:r===28?n.fg&=-1073741825:r===29?n.fg&=2147483647:r===39?(n.fg&=-67108864,n.fg|=X.fg&16777215):r===49?(n.bg&=-67108864,n.bg|=X.bg&16777215):r===38||r===48||r===58?o+=this._extractColor(e,o,n):r===53?n.bg|=1073741824:r===55?n.bg&=-1073741825:r===59?(n.extended=n.extended.clone(),n.extended.underlineColor=-1,n.updateExtended()):r===100?(n.fg&=-67108864,n.fg|=X.fg&16777215,n.bg&=-67108864,n.bg|=X.bg&16777215):this._logService.debug(\"Unknown SGR attribute: %d.\",r);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${b.ESC}[0n`);break;case 6:let i=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${b.ESC}[${i};${r}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let i=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${b.ESC}[?${i};${r}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=X.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let i=e.length===0?1:e.params[0];if(i===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(i){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=\"block\";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=\"underline\";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=\"bar\";break}let r=i%2===1;this._coreService.decPrivateModes.cursorBlink=r}return!0}setScrollRegion(e){let i=e.params[0]||1,r;return(e.length<2||(r=e.params[1])>this._bufferService.rows||r===0)&&(r=this._bufferService.rows),r>i&&(this._activeBuffer.scrollTop=i-1,this._activeBuffer.scrollBottom=r-1,this._setCursor(0,0)),!0}windowOptions(e){if(!bl(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let i=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:i!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${b.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(i===0||i===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>_l&&this._windowTitleStack.shift()),(i===0||i===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>_l&&this._iconNameStack.shift());break;case 23:(i===0||i===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(i===0||i===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let i=[],r=e.split(\";\");for(;r.length>1;){let n=r.shift(),o=r.shift();if(/^\\d+$/.exec(n)){let l=parseInt(n);if(Sl(l))if(o===\"?\")i.push({type:0,index:l});else{let a=Ws(o);a&&i.push({type:1,index:l,color:a})}}}return i.length&&this._onColor.fire(i),!0}setHyperlink(e){let i=e.indexOf(\";\");if(i===-1)return!0;let r=e.slice(0,i).trim(),n=e.slice(i+1);return n?this._createHyperlink(r,n):r.trim()?!1:this._finishHyperlink()}_createHyperlink(e,i){this._getCurrentLinkId()&&this._finishHyperlink();let r=e.split(\":\"),n,o=r.findIndex(l=>l.startsWith(\"id=\"));return o!==-1&&(n=r[o].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:n,uri:i}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,i){let r=e.split(\";\");for(let n=0;n<r.length&&!(i>=this._specialColors.length);++n,++i)if(r[n]===\"?\")this._onColor.fire([{type:0,index:this._specialColors[i]}]);else{let o=Ws(r[n]);o&&this._onColor.fire([{type:1,index:this._specialColors[i],color:o}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let i=[],r=e.split(\";\");for(let n=0;n<r.length;++n)if(/^\\d+$/.exec(r[n])){let o=parseInt(r[n]);Sl(o)&&i.push({type:2,index:o})}return i.length&&this._onColor.fire(i),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Je),!0}selectCharset(e){return e.length!==2?(this.selectDefaultCharset(),!0):(e[0]===\"/\"||this._charsetService.setgCharset(mc[e[0]],ne[e[1]]||Je),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=X.clone(),this._eraseAttrDataInternal=X.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new q;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let i=0;i<this._bufferService.rows;++i){let r=this._activeBuffer.ybase+this._activeBuffer.y+i,n=this._activeBuffer.lines.get(r);n&&(n.fill(e),n.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,i){let r=a=>(this._coreService.triggerDataEvent(`${b.ESC}${a}${b.ESC}\\\\`),!0),n=this._bufferService.buffer,o=this._optionsService.rawOptions,l={block:2,underline:4,bar:6};return r(e==='\"q'?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:e==='\"p'?'P1$r61;1\"p':e===\"r\"?`P1$r${n.scrollTop+1};${n.scrollBottom+1}r`:e===\"m\"?\"P1$r0m\":e===\" q\"?`P1$r${l[o.cursorStyle]-(o.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,i){this._dirtyRowTracker.markRangeDirty(e,i)}},Zi=class{constructor(t){this._bufferService=t;this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(gl=t,t=e,e=gl),t<this.start&&(this.start=t),e>this.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Zi=M([S(0,F)],Zi);function Sl(s){return 0<=s&&s<256}var _c=5e7,El=12,bc=50,gn=class extends D{constructor(e){super();this._action=e;this._writeBuffer=[];this._callbacks=[];this._pendingData=0;this._bufferOffset=0;this._isSyncWriting=!1;this._syncCalls=0;this._didUserInput=!1;this._onWriteParsed=this._register(new v);this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,i){if(i!==void 0&&this._syncCalls>i){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let r;for(;r=this._writeBuffer.shift();){this._action(r);let n=this._callbacks.shift();n&&n()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,i){if(this._pendingData>_c)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(i),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(i)}_innerWrite(e=0,i=!0){let r=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let n=this._writeBuffer[this._bufferOffset],o=this._action(n,i);if(o){let a=u=>performance.now()-r>=El?setTimeout(()=>this._innerWrite(0,u)):this._innerWrite(r,u);o.catch(u=>(queueMicrotask(()=>{throw u}),Promise.resolve(!1))).then(a);return}let l=this._callbacks[this._bufferOffset];if(l&&l(),this._bufferOffset++,this._pendingData-=n.length,performance.now()-r>=El)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>bc&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}};var ui=class{constructor(t){this._bufferService=t;this._nextId=1;this._entriesWithId=new Map;this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let a=e.addMarker(e.ybase+e.y),u={data:t,id:this._nextId++,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(u,a)),this._dataByLinkId.set(u.id,u),u.id}let i=t,r=this._getEntryIdKey(i),n=this._entriesWithId.get(r);if(n)return this.addLineToLink(n.id,e.ybase+e.y),n.id;let o=e.addMarker(e.ybase+e.y),l={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(l,o)),this._entriesWithId.set(l.key,l),this._dataByLinkId.set(l.id,l),l.id}addLineToLink(t,e){let i=this._dataByLinkId.get(t);if(i&&i.lines.every(r=>r.line!==e)){let r=this._bufferService.buffer.addMarker(e);i.lines.push(r),r.onDispose(()=>this._removeMarkerFromLink(i,r))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let i=t.lines.indexOf(e);i!==-1&&(t.lines.splice(i,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};ui=M([S(0,F)],ui);var Tl=!1,Sn=class extends D{constructor(e){super();this._windowsWrappingHeuristics=this._register(new ye);this._onBinary=this._register(new v);this.onBinary=this._onBinary.event;this._onData=this._register(new v);this.onData=this._onData.event;this._onLineFeed=this._register(new v);this.onLineFeed=this._onLineFeed.event;this._onResize=this._register(new v);this.onResize=this._onResize.event;this._onWriteParsed=this._register(new v);this.onWriteParsed=this._onWriteParsed.event;this._onScroll=this._register(new v);this._instantiationService=new ln,this.optionsService=this._register(new dn(e)),this._instantiationService.setService(H,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ni)),this._instantiationService.setService(F,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ii)),this._instantiationService.setService(nr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(li)),this._instantiationService.setService(ge,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(ai)),this._instantiationService.setService(rr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Ae)),this._instantiationService.setService(Js,this.unicodeService),this._charsetService=this._instantiationService.createInstance(pn),this._instantiationService.setService(Zs,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(ui),this._instantiationService.setService(sr,this._oscLinkService),this._inputHandler=this._register(new vn(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register($.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register($.forward(this._bufferService.onResize,this._onResize)),this._register($.forward(this.coreService.onData,this._onData)),this._register($.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new gn((i,r)=>this._inputHandler.parse(i,r))),this._register($.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new v),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let i in e)this.optionsService.options[i]=e[i]}write(e,i){this._writeBuffer.write(e,i)}writeSync(e,i){this._logService.logLevel<=3&&!Tl&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),Tl=!0),this._writeBuffer.writeSync(e,i)}input(e,i=!0){this.coreService.triggerDataEvent(e,i)}resize(e,i){isNaN(e)||isNaN(i)||(e=Math.max(e,ks),i=Math.max(i,Cs),this._bufferService.resize(e,i))}scroll(e,i=!1){this._bufferService.scroll(e,i)}scrollLines(e,i){this._bufferService.scrollLines(e,i)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let i=e-this._bufferService.buffer.ydisp;i!==0&&this.scrollLines(i)}registerEscHandler(e,i){return this._inputHandler.registerEscHandler(e,i)}registerDcsHandler(e,i){return this._inputHandler.registerDcsHandler(e,i)}registerCsiHandler(e,i){return this._inputHandler.registerCsiHandler(e,i)}registerOscHandler(e,i){return this._inputHandler.registerOscHandler(e,i)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,i=this.optionsService.rawOptions.windowsPty;i&&i.buildNumber!==void 0&&i.buildNumber!==void 0?e=i.backend===\"conpty\"&&i.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(Bs.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},()=>(Bs(this._bufferService),!1))),this._windowsWrappingHeuristics.value=C(()=>{for(let i of e)i.dispose()})}}};var gc={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']};function Il(s,t,e,i){let r={type:0,cancel:!1,key:void 0},n=(s.shiftKey?1:0)|(s.altKey?2:0)|(s.ctrlKey?4:0)|(s.metaKey?8:0);switch(s.keyCode){case 0:s.key===\"UIKeyInputUpArrow\"?t?r.key=b.ESC+\"OA\":r.key=b.ESC+\"[A\":s.key===\"UIKeyInputLeftArrow\"?t?r.key=b.ESC+\"OD\":r.key=b.ESC+\"[D\":s.key===\"UIKeyInputRightArrow\"?t?r.key=b.ESC+\"OC\":r.key=b.ESC+\"[C\":s.key===\"UIKeyInputDownArrow\"&&(t?r.key=b.ESC+\"OB\":r.key=b.ESC+\"[B\");break;case 8:r.key=s.ctrlKey?\"\\b\":b.DEL,s.altKey&&(r.key=b.ESC+r.key);break;case 9:if(s.shiftKey){r.key=b.ESC+\"[Z\";break}r.key=b.HT,r.cancel=!0;break;case 13:r.key=s.altKey?b.ESC+b.CR:b.CR,r.cancel=!0;break;case 27:r.key=b.ESC,s.altKey&&(r.key=b.ESC+b.ESC),r.cancel=!0;break;case 37:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"D\":t?r.key=b.ESC+\"OD\":r.key=b.ESC+\"[D\";break;case 39:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"C\":t?r.key=b.ESC+\"OC\":r.key=b.ESC+\"[C\";break;case 38:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"A\":t?r.key=b.ESC+\"OA\":r.key=b.ESC+\"[A\";break;case 40:if(s.metaKey)break;n?r.key=b.ESC+\"[1;\"+(n+1)+\"B\":t?r.key=b.ESC+\"OB\":r.key=b.ESC+\"[B\";break;case 45:!s.shiftKey&&!s.ctrlKey&&(r.key=b.ESC+\"[2~\");break;case 46:n?r.key=b.ESC+\"[3;\"+(n+1)+\"~\":r.key=b.ESC+\"[3~\";break;case 36:n?r.key=b.ESC+\"[1;\"+(n+1)+\"H\":t?r.key=b.ESC+\"OH\":r.key=b.ESC+\"[H\";break;case 35:n?r.key=b.ESC+\"[1;\"+(n+1)+\"F\":t?r.key=b.ESC+\"OF\":r.key=b.ESC+\"[F\";break;case 33:s.shiftKey?r.type=2:s.ctrlKey?r.key=b.ESC+\"[5;\"+(n+1)+\"~\":r.key=b.ESC+\"[5~\";break;case 34:s.shiftKey?r.type=3:s.ctrlKey?r.key=b.ESC+\"[6;\"+(n+1)+\"~\":r.key=b.ESC+\"[6~\";break;case 112:n?r.key=b.ESC+\"[1;\"+(n+1)+\"P\":r.key=b.ESC+\"OP\";break;case 113:n?r.key=b.ESC+\"[1;\"+(n+1)+\"Q\":r.key=b.ESC+\"OQ\";break;case 114:n?r.key=b.ESC+\"[1;\"+(n+1)+\"R\":r.key=b.ESC+\"OR\";break;case 115:n?r.key=b.ESC+\"[1;\"+(n+1)+\"S\":r.key=b.ESC+\"OS\";break;case 116:n?r.key=b.ESC+\"[15;\"+(n+1)+\"~\":r.key=b.ESC+\"[15~\";break;case 117:n?r.key=b.ESC+\"[17;\"+(n+1)+\"~\":r.key=b.ESC+\"[17~\";break;case 118:n?r.key=b.ESC+\"[18;\"+(n+1)+\"~\":r.key=b.ESC+\"[18~\";break;case 119:n?r.key=b.ESC+\"[19;\"+(n+1)+\"~\":r.key=b.ESC+\"[19~\";break;case 120:n?r.key=b.ESC+\"[20;\"+(n+1)+\"~\":r.key=b.ESC+\"[20~\";break;case 121:n?r.key=b.ESC+\"[21;\"+(n+1)+\"~\":r.key=b.ESC+\"[21~\";break;case 122:n?r.key=b.ESC+\"[23;\"+(n+1)+\"~\":r.key=b.ESC+\"[23~\";break;case 123:n?r.key=b.ESC+\"[24;\"+(n+1)+\"~\":r.key=b.ESC+\"[24~\";break;default:if(s.ctrlKey&&!s.shiftKey&&!s.altKey&&!s.metaKey)s.keyCode>=65&&s.keyCode<=90?r.key=String.fromCharCode(s.keyCode-64):s.keyCode===32?r.key=b.NUL:s.keyCode>=51&&s.keyCode<=55?r.key=String.fromCharCode(s.keyCode-51+27):s.keyCode===56?r.key=b.DEL:s.keyCode===219?r.key=b.ESC:s.keyCode===220?r.key=b.FS:s.keyCode===221&&(r.key=b.GS);else if((!e||i)&&s.altKey&&!s.metaKey){let l=gc[s.keyCode]?.[s.shiftKey?1:0];if(l)r.key=b.ESC+l;else if(s.keyCode>=65&&s.keyCode<=90){let a=s.ctrlKey?s.keyCode-64:s.keyCode+32,u=String.fromCharCode(a);s.shiftKey&&(u=u.toUpperCase()),r.key=b.ESC+u}else if(s.keyCode===32)r.key=b.ESC+(s.ctrlKey?b.NUL:\" \");else if(s.key===\"Dead\"&&s.code.startsWith(\"Key\")){let a=s.code.slice(3,4);s.shiftKey||(a=a.toLowerCase()),r.key=b.ESC+a,r.cancel=!0}}else e&&!s.altKey&&!s.ctrlKey&&!s.shiftKey&&s.metaKey?s.keyCode===65&&(r.type=1):s.key&&!s.ctrlKey&&!s.altKey&&!s.metaKey&&s.keyCode>=48&&s.key.length===1?r.key=s.key:s.key&&s.ctrlKey&&(s.key===\"_\"&&(r.key=b.US),s.key===\"@\"&&(r.key=b.NUL));break}return r}var ee=0,En=class{constructor(t){this._getKey=t;this._array=[];this._insertedValues=[];this._flushInsertedTask=new Jt;this._isFlushingInserted=!1;this._deletedIndices=[];this._flushDeletedTask=new Jt;this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((n,o)=>this._getKey(n)-this._getKey(o)),e=0,i=0,r=new Array(this._array.length+this._insertedValues.length);for(let n=0;n<r.length;n++)i>=this._array.length||this._getKey(t[e])<=this._getKey(this._array[i])?(r[n]=t[e],e++):r[n]=this._array[i++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(ee=this._search(e),ee===-1)||this._getKey(this._array[ee])!==e)return!1;do if(this._array[ee]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ee),!0;while(++ee<this._array.length&&this._getKey(this._array[ee])===e);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((n,o)=>n-o),e=0,i=new Array(this._array.length-t.length),r=0;for(let n=0;n<this._array.length;n++)t[e]===n?e++:i[r++]=this._array[n];this._array=i,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ee=this._search(t),!(ee<0||ee>=this._array.length)&&this._getKey(this._array[ee])===t))do yield this._array[ee];while(++ee<this._array.length&&this._getKey(this._array[ee])===t)}forEachByKey(t,e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ee=this._search(t),!(ee<0||ee>=this._array.length)&&this._getKey(this._array[ee])===t))do e(this._array[ee]);while(++ee<this._array.length&&this._getKey(this._array[ee])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let e=0,i=this._array.length-1;for(;i>=e;){let r=e+i>>1,n=this._getKey(this._array[r]);if(n>t)i=r-1;else if(n<t)e=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===t;)r--;return r}}return e}};var Us=0,yl=0,Tn=class extends D{constructor(){super();this._decorations=new En(e=>e?.marker.line);this._onDecorationRegistered=this._register(new v);this.onDecorationRegistered=this._onDecorationRegistered.event;this._onDecorationRemoved=this._register(new v);this.onDecorationRemoved=this._onDecorationRemoved.event;this._register(C(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let i=new Ks(e);if(i){let r=i.marker.onDispose(()=>i.dispose()),n=i.onDispose(()=>{n.dispose(),i&&(this._decorations.delete(i)&&this._onDecorationRemoved.fire(i),r.dispose())});this._decorations.insert(i),this._onDecorationRegistered.fire(i)}return i}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,i,r){let n=0,o=0;for(let l of this._decorations.getKeyIterator(i))n=l.options.x??0,o=n+(l.options.width??1),e>=n&&e<o&&(!r||(l.options.layer??\"bottom\")===r)&&(yield l)}forEachDecorationAtCell(e,i,r,n){this._decorations.forEachByKey(i,o=>{Us=o.options.x??0,yl=Us+(o.options.width??1),e>=Us&&e<yl&&(!r||(o.options.layer??\"bottom\")===r)&&n(o)})}},Ks=class extends Ee{constructor(e){super();this.options=e;this.onRenderEmitter=this.add(new v);this.onRender=this.onRenderEmitter.event;this._onDispose=this.add(new v);this.onDispose=this._onDispose.event;this._cachedBg=null;this._cachedFg=null;this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=\"full\")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=z.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=z.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}};var Sc=1e3,In=class{constructor(t,e=Sc){this._renderCallback=t;this._debounceThresholdMS=e;this._lastRefreshMs=0;this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e;let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let n=r-this._lastRefreshMs,o=this._debounceThresholdMS-n;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},o)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}};var xl=20;var wl=!1,Tt=class extends D{constructor(e,i,r,n){super();this._terminal=e;this._coreBrowserService=r;this._renderService=n;this._rowColumns=new WeakMap;this._liveRegionLineCount=0;this._charsToConsume=[];this._charsToAnnounce=\"\";let o=this._coreBrowserService.mainDocument;this._accessibilityContainer=o.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=o.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let l=0;l<this._terminal.rows;l++)this._rowElements[l]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[l]);if(this._topBoundaryFocusListener=l=>this._handleBoundaryFocus(l,0),this._bottomBoundaryFocusListener=l=>this._handleBoundaryFocus(l,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=o.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new In(this._renderRows.bind(this))),!this._terminal.element)throw new Error(\"Cannot enable accessibility before Terminal.open\");wl?(this._accessibilityContainer.classList.add(\"debug\"),this._rowContainer.classList.add(\"debug\"),this._debugRootContainer=o.createElement(\"div\"),this._debugRootContainer.classList.add(\"xterm\"),this._debugRootContainer.appendChild(o.createTextNode(\"------start a11y------\")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(o.createTextNode(\"------end a11y------\")),this._terminal.element.insertAdjacentElement(\"afterend\",this._debugRootContainer)):this._terminal.element.insertAdjacentElement(\"afterbegin\",this._accessibilityContainer),this._register(this._terminal.onResize(l=>this._handleResize(l.rows))),this._register(this._terminal.onRender(l=>this._refreshRows(l.start,l.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(l=>this._handleChar(l))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`\n`))),this._register(this._terminal.onA11yTab(l=>this._handleTab(l))),this._register(this._terminal.onKey(l=>this._handleKey(l.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(L(o,\"selectionchange\",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(C(()=>{wl?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let i=0;i<e;i++)this._handleChar(\" \")}_handleChar(e){this._liveRegionLineCount<xl+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`\n`&&(this._liveRegionLineCount++,this._liveRegionLineCount===xl+1&&(this._liveRegion.textContent+=_i.get())))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,i){this._liveRegionDebouncer.refresh(e,i,this._terminal.rows)}_renderRows(e,i){let r=this._terminal.buffer,n=r.lines.length.toString();for(let o=e;o<=i;o++){let l=r.lines.get(r.ydisp+o),a=[],u=l?.translateToString(!0,void 0,void 0,a)||\"\",h=(r.ydisp+o+1).toString(),c=this._rowElements[o];c&&(u.length===0?(c.textContent=\"\\xA0\",this._rowColumns.set(c,[0,1])):(c.textContent=u,this._rowColumns.set(c,a)),c.setAttribute(\"aria-posinset\",h),c.setAttribute(\"aria-setsize\",n),this._alignRowWidth(c))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,i){let r=e.target,n=this._rowElements[i===0?1:this._rowElements.length-2],o=r.getAttribute(\"aria-posinset\"),l=i===0?\"1\":`${this._terminal.buffer.lines.length}`;if(o===l||e.relatedTarget!==n)return;let a,u;if(i===0?(a=r,u=this._rowElements.pop(),this._rowContainer.removeChild(u)):(a=this._rowElements.shift(),u=r,this._rowContainer.removeChild(a)),a.removeEventListener(\"focus\",this._topBoundaryFocusListener),u.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),i===0){let h=this._createAccessibilityTreeNode();this._rowElements.unshift(h),this._rowContainer.insertAdjacentElement(\"afterbegin\",h)}else{let h=this._createAccessibilityTreeNode();this._rowElements.push(h),this._rowContainer.appendChild(h)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(i===0?-1:1),this._rowElements[i===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(\"anchorNode and/or focusNode are null\");return}let i={node:e.anchorNode,offset:e.anchorOffset},r={node:e.focusNode,offset:e.focusOffset};if((i.node.compareDocumentPosition(r.node)&Node.DOCUMENT_POSITION_PRECEDING||i.node===r.node&&i.offset>r.offset)&&([i,r]=[r,i]),i.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(i={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(i.node))return;let n=this._rowElements.slice(-1)[0];if(r.node.compareDocumentPosition(n)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(r={node:n,offset:n.textContent?.length??0}),!this._rowContainer.contains(r.node))return;let o=({node:u,offset:h})=>{let c=u instanceof Text?u.parentNode:u,d=parseInt(c?.getAttribute(\"aria-posinset\"),10)-1;if(isNaN(d))return console.warn(\"row is invalid. Race condition?\"),null;let _=this._rowColumns.get(c);if(!_)return console.warn(\"columns is null. Race condition?\"),null;let p=h<_.length?_[h]:_.slice(-1)[0]+1;return p>=this._terminal.cols&&(++d,p=0),{row:d,column:p}},l=o(i),a=o(r);if(!(!l||!a)){if(l.row>a.row||l.row===a.row&&l.column>=a.column)throw new Error(\"invalid range\");this._terminal.select(l.column,l.row,(a.row-l.row)*this._terminal.cols-l.column+a.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let i=this._rowContainer.children.length;i<this._terminal.rows;i++)this._rowElements[i]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[i]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=\"\";let i=e.getBoundingClientRect().width,r=this._rowColumns.get(e)?.slice(-1)?.[0];if(!r)return;let n=r*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${n/i})`}};Tt=M([S(1,xt),S(2,ae),S(3,ce)],Tt);var hi=class extends D{constructor(e,i,r,n,o){super();this._element=e;this._mouseService=i;this._renderService=r;this._bufferService=n;this._linkProviderService=o;this._linkCacheDisposables=[];this._isMouseOut=!0;this._wasResized=!1;this._activeLine=-1;this._onShowLinkUnderline=this._register(new v);this.onShowLinkUnderline=this._onShowLinkUnderline.event;this._onHideLinkUnderline=this._register(new v);this.onHideLinkUnderline=this._onHideLinkUnderline.event;this._register(C(()=>{Ne(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(L(this._element,\"mouseleave\",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(L(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this._register(L(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this._register(L(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let i=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!i)return;this._isMouseOut=!1;let r=e.composedPath();for(let n=0;n<r.length;n++){let o=r[n];if(o.classList.contains(\"xterm\"))break;if(o.classList.contains(\"xterm-hover\"))return}(!this._lastBufferCell||i.x!==this._lastBufferCell.x||i.y!==this._lastBufferCell.y)&&(this._handleHover(i),this._lastBufferCell=i)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,i){(!this._activeProviderReplies||!i)&&(this._activeProviderReplies?.forEach(n=>{n?.forEach(o=>{o.link.dispose&&o.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(let[n,o]of this._linkProviderService.linkProviders.entries())i?this._activeProviderReplies?.get(n)&&(r=this._checkLinkProviderResult(n,e,r)):o.provideLinks(e.y,l=>{if(this._isMouseOut)return;let a=l?.map(u=>({link:u}));this._activeProviderReplies?.set(n,a),r=this._checkLinkProviderResult(n,e,r),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,i){let r=new Set;for(let n=0;n<i.size;n++){let o=i.get(n);if(o)for(let l=0;l<o.length;l++){let a=o[l],u=a.link.range.start.y<e?0:a.link.range.start.x,h=a.link.range.end.y>e?this._bufferService.cols:a.link.range.end.x;for(let c=u;c<=h;c++){if(r.has(c)){o.splice(l--,1);break}r.add(c)}}}}_checkLinkProviderResult(e,i,r){if(!this._activeProviderReplies)return r;let n=this._activeProviderReplies.get(e),o=!1;for(let l=0;l<e;l++)(!this._activeProviderReplies.has(l)||this._activeProviderReplies.get(l))&&(o=!0);if(!o&&n){let l=n.find(a=>this._linkAtPosition(a.link,i));l&&(r=!0,this._handleNewLink(l))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!r)for(let l=0;l<this._activeProviderReplies.size;l++){let a=this._activeProviderReplies.get(l)?.find(u=>this._linkAtPosition(u.link,i));if(a){r=!0,this._handleNewLink(a);break}}return r}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let i=this._positionFromMouseEvent(e,this._element,this._mouseService);i&&this._mouseDownLink&&Ec(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,i)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,i){!this._currentLink||!this._lastMouseEvent||(!e||!i||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=i)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Ne(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let i=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);i&&this._linkAtPosition(e.link,i)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:r=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==r&&(this._currentLink.state.decorations.pointerCursor=r,this._currentLink.state.isHovered&&this._element.classList.toggle(\"xterm-cursor-pointer\",r))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:r=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==r&&(this._currentLink.state.decorations.underline=r,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,r))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(r=>{if(!this._currentLink)return;let n=r.start===0?0:r.start+1+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.ydisp+1+r.end;if(this._currentLink.link.range.start.y>=n&&this._currentLink.link.range.end.y<=o&&(this._clearCurrentLink(n,o),this._lastMouseEvent)){let l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._askForLink(l,!1)}})))}_linkHover(e,i,r){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(i,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),i.hover&&i.hover(r,i.text)}_fireUnderlineEvent(e,i){let r=e.range,n=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-n-1,r.end.x,r.end.y-n-1,void 0);(i?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)}_linkLeave(e,i,r){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(i,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),i.leave&&i.leave(r,i.text)}_linkAtPosition(e,i){let r=e.range.start.y*this._bufferService.cols+e.range.start.x,n=e.range.end.y*this._bufferService.cols+e.range.end.x,o=i.y*this._bufferService.cols+i.x;return r<=o&&o<=n}_positionFromMouseEvent(e,i,r){let n=r.getCoords(e,i,this._bufferService.cols,this._bufferService.rows);if(n)return{x:n[0],y:n[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,i,r,n,o){return{x1:e,y1:i,x2:r,y2:n,cols:this._bufferService.cols,fg:o}}};hi=M([S(1,Dt),S(2,ce),S(3,F),S(4,lr)],hi);function Ec(s,t){return s.text===t.text&&s.range.start.x===t.range.start.x&&s.range.start.y===t.range.start.y&&s.range.end.x===t.range.end.x&&s.range.end.y===t.range.end.y}var yn=class extends Sn{constructor(e={}){super(e);this._linkifier=this._register(new ye);this.browser=tn;this._keyDownHandled=!1;this._keyDownSeen=!1;this._keyPressHandled=!1;this._unprocessedDeadKey=!1;this._accessibilityManager=this._register(new ye);this._onCursorMove=this._register(new v);this.onCursorMove=this._onCursorMove.event;this._onKey=this._register(new v);this.onKey=this._onKey.event;this._onRender=this._register(new v);this.onRender=this._onRender.event;this._onSelectionChange=this._register(new v);this.onSelectionChange=this._onSelectionChange.event;this._onTitleChange=this._register(new v);this.onTitleChange=this._onTitleChange.event;this._onBell=this._register(new v);this.onBell=this._onBell.event;this._onFocus=this._register(new v);this._onBlur=this._register(new v);this._onA11yCharEmitter=this._register(new v);this._onA11yTabEmitter=this._register(new v);this._onWillOpen=this._register(new v);this._setup(),this._decorationService=this._instantiationService.createInstance(Tn),this._instantiationService.setService(Be,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Qr),this._instantiationService.setService(lr,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(wt)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(i=>this.refresh(i?.start??0,i?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(i=>this._reportWindowsOptions(i))),this._register(this._inputHandler.onColor(i=>this._handleColorEvent(i))),this._register($.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register($.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register($.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register($.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(i=>this._afterResize(i.cols,i.rows))),this._register(C(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let i of e){let r,n=\"\";switch(i.index){case 256:r=\"foreground\",n=\"10\";break;case 257:r=\"background\",n=\"11\";break;case 258:r=\"cursor\",n=\"12\";break;default:r=\"ansi\",n=\"4;\"+i.index}switch(i.type){case 0:let o=U.toColorRGB(r===\"ansi\"?this._themeService.colors.ansi[i.index]:this._themeService.colors[r]);this.coreService.triggerDataEvent(`${b.ESC}]${n};${ml(o)}${fs.ST}`);break;case 1:if(r===\"ansi\")this._themeService.modifyColors(l=>l.ansi[i.index]=j.toColor(...i.color));else{let l=r;this._themeService.modifyColors(a=>a[l]=j.toColor(...i.color))}break;case 2:this._themeService.restoreColor(i.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Tt,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(b.ESC+\"[I\"),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(b.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,i=this.buffer.lines.get(e);if(!i)return;let r=Math.min(this.buffer.x,this.cols-1),n=this._renderService.dimensions.css.cell.height,o=i.getWidth(r),l=this._renderService.dimensions.css.cell.width*o,a=this.buffer.y*this._renderService.dimensions.css.cell.height,u=r*this._renderService.dimensions.css.cell.width;this.textarea.style.left=u+\"px\",this.textarea.style.top=a+\"px\",this.textarea.style.width=l+\"px\",this.textarea.style.height=n+\"px\",this.textarea.style.lineHeight=n+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this._register(L(this.element,\"copy\",i=>{this.hasSelection()&&Vs(i,this._selectionService)}));let e=i=>qs(i,this.textarea,this.coreService,this.optionsService);this._register(L(this.textarea,\"paste\",e)),this._register(L(this.element,\"paste\",e)),Ss?this._register(L(this.element,\"mousedown\",i=>{i.button===2&&Pn(i,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(L(this.element,\"contextmenu\",i=>{Pn(i,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Bi&&this._register(L(this.element,\"auxclick\",i=>{i.button===1&&Mn(i,this.textarea,this.screenElement)}))}_bindKeys(){this._register(L(this.textarea,\"keyup\",e=>this._keyUp(e),!0)),this._register(L(this.textarea,\"keydown\",e=>this._keyDown(e),!0)),this._register(L(this.textarea,\"keypress\",e=>this._keyPress(e),!0)),this._register(L(this.textarea,\"compositionstart\",()=>this._compositionHelper.compositionstart())),this._register(L(this.textarea,\"compositionupdate\",e=>this._compositionHelper.compositionupdate(e))),this._register(L(this.textarea,\"compositionend\",()=>this._compositionHelper.compositionend())),this._register(L(this.textarea,\"input\",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw new Error(\"Terminal requires a parent element.\");if(e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(\"div\"),this.element.dir=\"ltr\",this.element.classList.add(\"terminal\"),this.element.classList.add(\"xterm\"),e.appendChild(this.element);let i=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),i.appendChild(this._viewportElement),this.screenElement=this._document.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this._register(L(this.screenElement,\"mousemove\",o=>this.updateCursorStyle(o))),this._helperContainer=this._document.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),i.appendChild(this.screenElement);let r=this.textarea=this._document.createElement(\"textarea\");this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",mi.get()),Ts||this.textarea.setAttribute(\"aria-multiline\",\"false\"),this.textarea.setAttribute(\"autocorrect\",\"off\"),this.textarea.setAttribute(\"autocapitalize\",\"off\"),this.textarea.setAttribute(\"spellcheck\",\"false\"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(\"disableStdin\",()=>r.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Jr,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<\"u\"?window.document:null)),this._instantiationService.setService(ae,this._coreBrowserService),this._register(L(this.textarea,\"focus\",o=>this._handleTextAreaFocus(o))),this._register(L(this.textarea,\"blur\",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(jt,this._document,this._helperContainer),this._instantiationService.setService(nt,this._charSizeService),this._themeService=this._instantiationService.createInstance(ti),this._instantiationService.setService(Re,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(ct),this._instantiationService.setService(or,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Qt,this.rows,this.screenElement)),this._instantiationService.setService(ce,this._renderService),this._register(this._renderService.onRenderedViewportChange(o=>this._onRender.fire(o))),this.onResize(o=>this._renderService.resize(o.cols,o.rows)),this._compositionView=this._document.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance($t,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Xt),this._instantiationService.setService(Dt,this._mouseService);let n=this._linkifier.value=this._register(this._instantiationService.createInstance(hi,this.screenElement));this.element.appendChild(i);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(zt,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(o=>{super.scrollLines(o,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ei,this.element,this.screenElement,n)),this._instantiationService.setService(Qs,this._selectionService),this._register(this._selectionService.onRequestScrollLines(o=>this.scrollLines(o.amount,o.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(o=>this._renderService.handleSelectionChanged(o.start,o.end,o.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(o=>{this.textarea.value=o,this.textarea.focus(),this.textarea.select()})),this._register($.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gt,this.screenElement)),this._register(L(this.element,\"mousedown\",o=>this._selectionService.handleMouseDown(o))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(\"enable-mouse-events\")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Tt,this)),this._register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",o=>this._handleScreenReaderModeOptionChange(o))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bt,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRuler\",o=>{!this._overviewRulerRenderer&&o&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(bt,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Yt,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,i=this.element;function r(l){let a=e._mouseService.getMouseReportCoords(l,e.screenElement);if(!a)return!1;let u,h;switch(l.overrideType||l.type){case\"mousemove\":h=32,l.buttons===void 0?(u=3,l.button!==void 0&&(u=l.button<3?l.button:3)):u=l.buttons&1?0:l.buttons&4?1:l.buttons&2?2:3;break;case\"mouseup\":h=0,u=l.button<3?l.button:3;break;case\"mousedown\":h=1,u=l.button<3?l.button:3;break;case\"wheel\":if(e._customWheelEventHandler&&e._customWheelEventHandler(l)===!1)return!1;let c=l.deltaY;if(c===0||e.coreMouseService.consumeWheelEvent(l,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;h=c<0?0:1,u=4;break;default:return!1}return h===void 0||u===void 0||u>4?!1:e.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:u,action:h,ctrl:l.ctrlKey,alt:l.altKey,shift:l.shiftKey})}let n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o={mouseup:l=>(r(l),l.buttons||(this._document.removeEventListener(\"mouseup\",n.mouseup),n.mousedrag&&this._document.removeEventListener(\"mousemove\",n.mousedrag)),this.cancel(l)),wheel:l=>(r(l),this.cancel(l,!0)),mousedrag:l=>{l.buttons&&r(l)},mousemove:l=>{l.buttons||r(l)}};this._register(this.coreMouseService.onProtocolChange(l=>{l?(this.optionsService.rawOptions.logLevel===\"debug\"&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(l)),this.element.classList.add(\"enable-mouse-events\"),this._selectionService.disable()):(this._logService.debug(\"Unbinding from mouse events.\"),this.element.classList.remove(\"enable-mouse-events\"),this._selectionService.enable()),l&8?n.mousemove||(i.addEventListener(\"mousemove\",o.mousemove),n.mousemove=o.mousemove):(i.removeEventListener(\"mousemove\",n.mousemove),n.mousemove=null),l&16?n.wheel||(i.addEventListener(\"wheel\",o.wheel,{passive:!1}),n.wheel=o.wheel):(i.removeEventListener(\"wheel\",n.wheel),n.wheel=null),l&2?n.mouseup||(n.mouseup=o.mouseup):(this._document.removeEventListener(\"mouseup\",n.mouseup),n.mouseup=null),l&4?n.mousedrag||(n.mousedrag=o.mousedrag):(this._document.removeEventListener(\"mousemove\",n.mousedrag),n.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(L(i,\"mousedown\",l=>{if(l.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(l)))return r(l),n.mouseup&&this._document.addEventListener(\"mouseup\",n.mouseup),n.mousedrag&&this._document.addEventListener(\"mousemove\",n.mousedrag),this.cancel(l)})),this._register(L(i,\"wheel\",l=>{if(!n.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(l)===!1)return!1;if(!this.buffer.hasScrollback){if(l.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(l,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(l,!0);let h=b.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(l.deltaY<0?\"A\":\"B\");return this.coreService.triggerDataEvent(h,!0),this.cancel(l,!0)}}},{passive:!1}))}refresh(e,i){this._renderService?.refreshRows(e,i)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(\"column-select\"):this.element.classList.remove(\"column-select\")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,i){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,i),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let i=e-this._bufferService.buffer.ydisp;i!==0&&this.scrollLines(i)}paste(e){Cn(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");let i=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),i}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,i,r){this._selectionService.setSelection(e,i,r)}getSelection(){return this._selectionService?this._selectionService.selectionText:\"\"}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,i){this._selectionService?.selectLines(e,i)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let i=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!i&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!i&&(e.key===\"Dead\"||e.key===\"AltGraph\")&&(this._unprocessedDeadKey=!0);let r=Il(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),r.type===3||r.type===2){let n=this.rows-1;return this.scrollLines(r.type===2?-n:n),this.cancel(e,!0)}if(r.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(r.cancel&&this.cancel(e,!0),!r.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((r.key===b.ETX||r.key===b.CR)&&(this.textarea.value=\"\"),this._onKey.fire({key:r.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(r.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,i){let r=e.isMac&&!this.options.macOptionIsMeta&&i.altKey&&!i.ctrlKey&&!i.metaKey||e.isWindows&&i.altKey&&i.ctrlKey&&!i.metaKey||e.isWindows&&i.getModifierState(\"AltGraph\");return i.type===\"keypress\"?r:r&&(!i.keyCode||i.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Tc(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let i;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)i=e.charCode;else if(e.which===null||e.which===void 0)i=e.keyCode;else if(e.which!==0&&e.charCode!==0)i=e.which;else return!1;return!i||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(i=String.fromCharCode(i),this._onKey.fire({key:i,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===\"insertText\"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let i=e.data;return this.coreService.triggerDataEvent(i,!0),this.cancel(e),!0}return!1}resize(e,i){if(e===this.cols&&i===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,i)}_afterResize(e,i){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(X));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(\"focus\")?this.coreService.triggerDataEvent(b.ESC+\"[I\"):this.coreService.triggerDataEvent(b.ESC+\"[O\")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let i=this._renderService.dimensions.css.canvas.width.toFixed(0),r=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${b.ESC}[4;${r};${i}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),o=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${b.ESC}[6;${o};${n}t`);break}}cancel(e,i){if(!(!this.options.cancelEvents&&!i))return e.preventDefault(),e.stopPropagation(),!1}};function Tc(s){return s.keyCode===16||s.keyCode===17||s.keyCode===18}var xn=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let i={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(i),e.dispose=()=>this._wrappedAddonDispose(i),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===t){e=i;break}if(e===-1)throw new Error(\"Could not dispose an addon that has not been loaded\");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(e,1)}};var wn=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,e){if(!(t<0||t>=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new q)}translateToString(t,e,i){return this._line.translateToString(t,e,i)}};var Ji=class{constructor(t,e){this._buffer=t;this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new wn(e)}getNullCell(){return new q}};var Dn=class extends D{constructor(e){super();this._core=e;this._onBufferChange=this._register(new v);this.onBufferChange=this._onBufferChange.event;this._normal=new Ji(this._core.buffers.normal,\"normal\"),this._alternate=new Ji(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}};var Rn=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,i=>e(i.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(i,r)=>e(i,r.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}};var Ln=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}};var Ic=[\"cols\",\"rows\"],Ue=0,Dl=class extends D{constructor(t){super(),this._core=this._register(new yn(t)),this._addonManager=this._register(new xn),this._publicOptions={...this._core.options};let e=r=>this._core.options[r],i=(r,n)=>{this._checkReadonlyOptions(r),this._core.options[r]=n};for(let r in this._core.options){let n={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this._publicOptions,r,n)}}_checkReadonlyOptions(t){if(Ic.includes(t))throw new Error(`Option \"${t}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Rn(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Ln(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Dn(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":e=\"x10\";break;case\"VT200\":e=\"vt200\";break;case\"DRAG\":e=\"drag\";break;case\"ANY\":e=\"any\";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,i){this._verifyIntegers(t,e,i),this._core.select(t,e,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\\r\n`,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return mi.get()},set promptLabel(t){mi.set(t)},get tooMuchOutput(){return _i.get()},set tooMuchOutput(t){_i.set(t)}}}_verifyIntegers(...t){for(Ue of t)if(Ue===1/0||isNaN(Ue)||Ue%1!==0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...t){for(Ue of t)if(Ue&&(Ue===1/0||isNaN(Ue)||Ue%1!==0||Ue<0))throw new Error(\"This API only accepts positive integers\")}};export{Dl as Terminal};\n//# sourceMappingURL=xterm.mjs.map\n","/**\n * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.\n * @license MIT\n *\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * @license MIT\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar h=2,_=1,o=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(r.getPropertyValue(\"height\")),a=Math.max(0,parseInt(r.getPropertyValue(\"width\"))),i=window.getComputedStyle(this._terminal.element),n={top:parseInt(i.getPropertyValue(\"padding-top\")),bottom:parseInt(i.getPropertyValue(\"padding-bottom\")),right:parseInt(i.getPropertyValue(\"padding-right\")),left:parseInt(i.getPropertyValue(\"padding-left\"))},m=n.top+n.bottom,d=n.right+n.left,c=l-m,p=a-d-s;return{cols:Math.max(h,Math.floor(p/t.css.cell.width)),rows:Math.max(_,Math.floor(c/t.css.cell.height))}}};export{o as FitAddon};\n//# sourceMappingURL=addon-fit.mjs.map\n","\nexport function indexAfterAppend<T>(list: readonly T[]): number {\n return list.length;\n}\n\nexport function clampPaneIndex(index: number, tabCount: number): number {\n if (tabCount <= 0) return -1;\n if (index < 0) return -1;\n return Math.min(index, tabCount - 1);\n}\n\nexport function paneIndexAfterClose(index: number, closedAt: number, newCount: number): number {\n if (index === closedAt) return clampPaneIndex(closedAt, newCount);\n if (index > closedAt) return clampPaneIndex(index - 1, newCount);\n return clampPaneIndex(index, newCount);\n}\n\nexport function rightPaneSeed(leftPane: number, tabCount: number): number {\n const candidate = Array.from({ length: tabCount }, (_, i) => i).find((i) => i !== leftPane);\n return candidate ?? -1;\n}\n","\nexport interface ArchivableAgent {\n id: string;\n workspaceMissing?: boolean;\n}\n\nexport function pickAfterArchive(\n remaining: readonly ArchivableAgent[],\n removed: ReadonlySet<string>,\n): ArchivableAgent | null {\n const rest = remaining.filter((a) => !removed.has(a.id));\n return rest.find((a) => !a.workspaceMissing) ?? rest[0] ?? null;\n}\n","\nexport interface ComposerKeyState {\n key: string;\n shiftKey: boolean;\n composing: boolean;\n maximized: boolean;\n}\n\nexport function shouldSendOnKey(s: ComposerKeyState): boolean {\n if (s.key !== \"Enter\") return false;\n if (s.shiftKey) return false;\n if (s.composing) return false;\n if (s.maximized) return false;\n return true;\n}\n\nexport function shouldRestoreAfterSend(maximized: boolean): boolean {\n return maximized;\n}\n","\nexport type CopyResult = \"copied\" | \"unsupported\" | \"failed\";\n\nexport interface StagingTextarea {\n value: string;\n style: { position: string; opacity: string };\n select(): void;\n remove(): void;\n}\n\nexport interface CopyDeps {\n clipboard?: { writeText(text: string): Promise<void> } | null;\n execCommand?: (cmd: string) => boolean;\n makeTextarea?: () => StagingTextarea;\n}\n\nexport async function copyText(text: string, deps: CopyDeps = {}): Promise<CopyResult> {\n if (!text) return \"unsupported\";\n\n const clipboard =\n deps.clipboard !== undefined\n ? deps.clipboard\n : typeof navigator !== \"undefined\"\n ? (navigator.clipboard ?? null)\n : null;\n const execCommand =\n deps.execCommand ?? (typeof document !== \"undefined\" ? document.execCommand.bind(document) : undefined);\n const makeTextarea =\n deps.makeTextarea ??\n (() => {\n const el = document.createElement(\"textarea\");\n document.body.appendChild(el);\n return {\n set value(v: string) {\n el.value = v;\n },\n get value(): string {\n return el.value;\n },\n style: { get position() { return el.style.position; }, set position(v: string) { el.style.position = v; },\n get opacity() { return el.style.opacity; }, set opacity(v: string) { el.style.opacity = v; } },\n select: () => el.select(),\n remove: () => el.remove(),\n };\n });\n\n const writeText = clipboard?.writeText;\n if (typeof writeText === \"function\") {\n try {\n await writeText.call(clipboard, text);\n return \"copied\";\n } catch {\n }\n }\n\n let ta: StagingTextarea | null = null;\n try {\n const staging: StagingTextarea = makeTextarea();\n ta = staging;\n staging.value = text;\n staging.style.position = \"fixed\";\n staging.style.opacity = \"0\";\n staging.select();\n if (!execCommand) return \"failed\";\n return execCommand(\"copy\") ? \"copied\" : \"failed\";\n } catch {\n return \"failed\";\n } finally {\n ta?.remove();\n }\n}\n","import { Show, createSignal } from \"solid-js\";\nimport { copyText } from \"../lib/clipboard\";\n\nexport function IconBtn(props: {\n icon: string;\n title: string;\n onClick?: (e: MouseEvent) => void;\n active?: boolean;\n class?: string;\n style?: string;\n}) {\n return (\n <button\n type=\"button\"\n class={\"iconbtn\" + (props.active ? \" active\" : \"\") + (props.class ? \" \" + props.class : \"\")}\n title={props.title}\n onclick={props.onClick}\n style={props.style}\n >\n <span class=\"iconbtn-glyph\">{props.icon}</span>\n </button>\n );\n}\n\nexport function CopyBtn(props: { text: string; label?: string; title?: string }) {\n const [done, setDone] = createSignal(false);\n const [failed, setFailed] = createSignal(false);\n const copy = (e: MouseEvent) => {\n e.preventDefault(); \n e.stopPropagation();\n void copyText(props.text ?? \"\").then((result) => {\n if (result === \"unsupported\" || result === \"failed\") {\n setFailed(true); \n setTimeout(() => setFailed(false), 1200);\n return;\n }\n setDone(true);\n setTimeout(() => setDone(false), 900);\n });\n };\n return (\n <button\n class=\"copybtn\"\n title={props.title ?? \"copy to clipboard\"}\n onclick={copy}\n >{done() ? \"✓\" : failed() ? \"✗\" : props.label ?? \"⧉\"}</button>\n );\n}\n\nexport function Modal(props: { title: string; onClose: () => void; children: any }) {\n return (\n <div class=\"overlay\" onclick={(e: Event) => e.target === e.currentTarget && props.onClose()}>\n <div class=\"modal\">\n <div class=\"modal-head\">\n <b>{props.title}</b>\n <button class=\"iconbtn\" onclick={props.onClose}>✕</button>\n </div>\n {props.children}\n </div>\n </div>\n );\n}\n","\nexport interface AnsiRun {\n text: string;\n classes: string[];\n}\n\ninterface SgrState {\n fg?: string;\n bg?: string;\n bold: boolean;\n dim: boolean;\n italic: boolean;\n underline: boolean;\n inverse: boolean;\n}\n\nconst EMPTY: SgrState = {\n fg: undefined,\n bg: undefined,\n bold: false,\n dim: false,\n italic: false,\n underline: false,\n inverse: false,\n};\n\nconst BASIC = [\"black\", \"red\", \"green\", \"yellow\", \"blue\", \"magenta\", \"cyan\", \"white\"] as const;\n\nfunction classesFor(s: SgrState): string[] {\n const out: string[] = [];\n if (s.fg) out.push(`ansi-fg-${s.fg}`);\n if (s.bg) out.push(`ansi-bg-${s.bg}`);\n if (s.bold) out.push(\"ansi-bold\");\n if (s.dim) out.push(\"ansi-dim\");\n if (s.italic) out.push(\"ansi-italic\");\n if (s.underline) out.push(\"ansi-underline\");\n if (s.inverse) out.push(\"ansi-inverse\");\n return out;\n}\n\nfunction applySgr(state: SgrState, params: number[]): SgrState {\n const next: SgrState = { ...state };\n if (params.length === 0) params = [0];\n for (let i = 0; i < params.length; i++) {\n const p = params[i]!;\n if (p === 0) {\n next.fg = undefined;\n next.bg = undefined;\n next.bold = false;\n next.dim = false;\n next.italic = false;\n next.underline = false;\n next.inverse = false;\n } else if (p === 1) next.bold = true;\n else if (p === 2) next.dim = true;\n else if (p === 3) next.italic = true;\n else if (p === 4) next.underline = true;\n else if (p === 7) next.inverse = true;\n else if (p === 21 || p === 22) {\n next.bold = false;\n next.dim = false;\n } else if (p === 23) next.italic = false;\n else if (p === 24) next.underline = false;\n else if (p === 27) next.inverse = false;\n else if (p >= 30 && p <= 37) next.fg = BASIC[p - 30]!;\n else if (p >= 90 && p <= 97) next.fg = `bright-${BASIC[p - 90]!}`;\n else if (p === 39) next.fg = undefined;\n else if (p >= 40 && p <= 47) next.bg = BASIC[p - 40]!;\n else if (p >= 100 && p <= 107) next.bg = `bright-${BASIC[p - 100]!}`;\n else if (p === 49) next.bg = undefined;\n else if (p === 38 || p === 48) {\n const kind = params[i + 1];\n const target = p === 38 ? \"fg\" : \"bg\";\n if (kind === 5 && params[i + 2] !== undefined) {\n next[target] = \"ext\";\n i += 2;\n } else if (kind === 2 && params[i + 4] !== undefined) {\n next[target] = \"ext\";\n i += 4;\n } else {\n next[target] = \"ext\";\n i += 1;\n }\n }\n }\n return next;\n}\n\nconst SGR = /\\x1b\\[([0-9;]*)m/;\n\nexport function ansiRuns(input: string): AnsiRun[] {\n if (!input) return [];\n const runs: AnsiRun[] = [];\n let state: SgrState = { ...EMPTY };\n let buf = \"\";\n\n const flush = () => {\n if (!buf) return;\n const classes = classesFor(state);\n const prev = runs[runs.length - 1];\n if (prev && prev.classes.join(\" \") === classes.join(\" \")) prev.text += buf;\n else runs.push({ text: buf, classes });\n buf = \"\";\n };\n\n for (let i = 0; i < input.length; i++) {\n const c = input[i]!;\n if (c === \"\\x1b\") {\n const rest = input.slice(i);\n const m = SGR.exec(rest);\n if (m) {\n flush();\n const params = (m[1] ?? \"\")\n .split(\";\")\n .filter((s) => s !== \"\")\n .map((s) => Number(s))\n .filter((n) => Number.isFinite(n));\n state = applySgr(state, params);\n i += m[0].length - 1;\n continue;\n }\n const csi = /^\\x1b\\[[0-9;?]*[A-Za-z]/.exec(rest);\n if (csi) {\n i += csi[0].length - 1;\n continue;\n }\n const osc = /^\\x1b\\][^\\x07\\x1b]*(?:\\x07|\\x1b\\\\)/.exec(rest);\n if (osc) {\n i += osc[0].length - 1;\n continue;\n }\n continue;\n }\n if (c === \"\\r\") {\n if (input[i + 1] === \"\\n\") {\n buf += \"\\n\";\n i++;\n continue;\n }\n buf = \"\";\n continue;\n }\n buf += c;\n }\n flush();\n return runs;\n}\n\nexport function stripAnsi(input: string): string {\n return ansiRuns(input)\n .map((r) => r.text)\n .join(\"\");\n}\n\nexport function hasAnsi(input: string): boolean {\n return input.includes(\"\\x1b\");\n}\n","\nconst MAX = 400;\nconst cache = new Map<string, string>();\n\nexport function highlightedHtml(key: string): string | undefined {\n return cache.get(key);\n}\n\nexport function cacheHighlighted(key: string, html: string): void {\n if (cache.size >= MAX) {\n const oldest = cache.keys().next();\n if (!oldest.done) cache.delete(oldest.value);\n }\n cache.set(key, html);\n}\n\nexport function highlightCacheSize(): number {\n return cache.size;\n}\n","import { For, Show, createEffect, createMemo, createSignal, onCleanup, onMount } from \"solid-js\";\nimport { ansiRuns, hasAnsi } from \"../lib/ansi\";\nimport { fmtDur } from \"../lib/format\";\nimport { cacheHighlighted, highlightedHtml } from \"../lib/highlight-cache\";\n\nexport function BashElapsed(props: { startedAt: string; inline?: boolean; timeoutMs?: number }) {\n const start = new Date(props.startedAt).getTime();\n const [now, setNow] = createSignal(Date.now());\n onMount(() => {\n const t = setInterval(() => setNow(Date.now()), 500);\n onCleanup(() => clearInterval(t));\n });\n const txt = () => fmtDur(Math.max(0, now() - start));\n if (props.inline) {\n return (\n <span class=\"bashelapsed\">\n running… {txt()}\n {props.timeoutMs ? ` · timeout ${Math.round(props.timeoutMs / 1000)}s` : \"\"}\n </span>\n );\n } return <span class=\"bashelapsed\">{txt()} elapsed</span>;\n}\n\nexport function ThinkingTimer(props: { startedAt: number }) {\n const [now, setNow] = createSignal(Date.now());\n onMount(() => {\n const t = setInterval(() => setNow(Date.now()), 500);\n onCleanup(() => clearInterval(t));\n });\n const txt = () => {\n if (!props.startedAt) return null;\n const elapsed = Math.max(0, now() - props.startedAt);\n if (elapsed > 24 * 60 * 60 * 1000) return null; \n return fmtDur(elapsed);\n };\n return (\n <Show when={txt() !== null} fallback={null}>\n <span class=\"thinktimer\">{txt()}</span>\n </Show>\n );\n}\n\nexport function AnsiText(props: { text: string }) {\n const runs = createMemo(() => (hasAnsi(props.text) ? ansiRuns(props.text) : null));\n return (\n <Show\n when={runs()}\n fallback={<pre class=\"mono toolbody\">{props.text}</pre>}\n >\n <pre class=\"mono toolbody ansi\">\n <For each={runs()!}>\n {(r) => (r.classes.length ? <span class={r.classes.join(\" \")}>{r.text}</span> : r.text)}\n </For>\n </pre>\n </Show>\n );\n}\n\nexport function HighlightedCode(props: { text: string; lang?: string }) {\n const key = () => (props.lang ? `${props.lang}::${props.text.length}::${props.text}` : \"\");\n const cached = () => (props.lang ? highlightedHtml(key()) : undefined);\n const [html, setHtml] = createSignal(cached() ?? \"\");\n createEffect(() => {\n const k = key();\n const text = props.text;\n const lang = props.lang;\n if (!lang || !text.trim()) { setHtml(\"\"); return; }\n const hit = highlightedHtml(k);\n if (hit !== undefined) { setHtml(hit); return; }\n void (async () => {\n try {\n const { highlightLangChunks } = await import(\"../lib/shiki\");\n let acc = \"\";\n for await (const chunk of highlightLangChunks(lang, text)) acc += chunk;\n if (!acc) return;\n cacheHighlighted(k, acc);\n if (key() === k) setHtml(acc);\n } catch {\n }\n })();\n });\n return (\n <Show when={!!html()} fallback={<pre class=\"mono toolbody\">{props.text}</pre>}>\n {}\n <div class=\"toolbody shiki\" innerHTML={html()} />\n </Show>\n );\n}\n","export type ThemeMeta = {\n key: string;\n label: string;\n mode: \"dark\" | \"light\";\n sw: [string, string, string];\n};\n\nexport const THEMES: ThemeMeta[] = [\n { key: \"dark\", label: \"Dark\", mode: \"dark\", sw: [\"#1a1c22\", \"#2b2e39\", \"#5865f2\"] },\n { key: \"midnight\", label: \"Midnight\", mode: \"dark\", sw: [\"#0d0f18\", \"#252a42\", \"#8b7cf7\"] },\n { key: \"tea\", label: \"Milk Tea\", mode: \"dark\", sw: [\"#241c16\", \"#493b2d\", \"#d98e32\"] },\n { key: \"coffee\", label: \"Coffee\", mode: \"dark\", sw: [\"#191410\", \"#403527\", \"#c68a4b\"] },\n { key: \"matcha\", label: \"Matcha\", mode: \"dark\", sw: [\"#1b2217\", \"#3c4a33\", \"#8db64e\"] },\n { key: \"matrix\", label: \"Matrix\", mode: \"dark\", sw: [\"#060a06\", \"#18301d\", \"#2fd558\"] },\n { key: \"sunset\", label: \"Sunset\", mode: \"dark\", sw: [\"#1c1422\", \"#452f52\", \"#f2784b\"] },\n { key: \"light\", label: \"Light\", mode: \"light\", sw: [\"#eceef4\", \"#ffffff\", \"#4757d8\"] },\n { key: \"strawberry\", label: \"Strawberry\", mode: \"light\", sw: [\"#fbe4ea\", \"#fffafb\", \"#e05575\"] },\n { key: \"ramune\", label: \"Ramune\", mode: \"light\", sw: [\"#ddeff7\", \"#fbfeff\", \"#1d86ae\"] },\n];\n","export async function api(path: string, opts?: RequestInit) {\n const token = localStorage.getItem(\"teapot.token\");\n const headers = new Headers(opts?.headers);\n if (token && !headers.has(\"authorization\")) headers.set(\"authorization\", `Bearer ${token}`);\n const res = await fetch(path, { ...opts, headers });\n if (!res.ok) {\n if (res.status === 401) window.dispatchEvent(new CustomEvent(\"teapot:unauthorized\"));\n let body: unknown = null;\n try { body = await res.json(); } catch { }\n const detail =\n (body && typeof body === \"object\" && \"error\" in body ? String((body as any).error) : \"\") ||\n `${path}: HTTP ${res.status}`;\n throw Object.assign(new Error(detail), { payload: body });\n }\n return res.json();\n}\n","\nexport interface PreviewLayers {\n dim: number;\n panel: number;\n raised: number;\n}\n\nconst DEFAULT_ALPHA = 0.82;\nconst DEFAULT_DIM = 0.9;\n\nconst clamp01 = (n: number): number | undefined => {\n if (!Number.isFinite(n)) return undefined;\n return n < 0 ? 0 : n > 1 ? 1 : n;\n};\n\nexport function previewLayers(surfaceAlpha?: number, backgroundDim?: number): PreviewLayers {\n const base = clamp01(surfaceAlpha ?? DEFAULT_ALPHA) ?? DEFAULT_ALPHA;\n const dim = clamp01(backgroundDim ?? DEFAULT_DIM) ?? DEFAULT_DIM;\n return {\n dim,\n panel: Math.max(0, Math.min(1, base - 0.05)),\n raised: Math.max(0, Math.min(1, base + 0.06)),\n };\n}\n\nexport function veilColour(surface: string, dim: number): string {\n const pct = Math.round((clamp01(dim) ?? DEFAULT_DIM) * 100);\n return `color-mix(in srgb, ${surface} ${pct}%, transparent)`;\n}\n\nexport function backgroundImageValue(image?: string): string | undefined {\n const v = image?.trim();\n if (!v) return undefined;\n return `url(\"${v.replace(/\"/g, \"%22\")}\")`;\n}\n","import { For, Show, createSignal, onCleanup } from \"solid-js\";\nimport { renderMarkdownCached } from \"../lib/markdown\";\nimport { previewLayers, veilColour, backgroundImageValue } from \"../lib/theme-preview\";\nimport type { ThemePalette } from \"../lib/theme-store\";\n\nexport function TodoEditor(props: {\n\n draft: string;\n preview: boolean;\n onDraft: (text: string) => void;\n}) {\n const stored = Number(localStorage.getItem(\"teapot.todoH\") ?? \"\");\n const [todoHeight, setTodoHeight] = createSignal<number>(\n Number.isFinite(stored) && stored > 0 ? stored : 0,\n );\n const heightStyle = () => (todoHeight() > 0 ? { height: `${todoHeight()}px` } : undefined);\n const trackHeight = (el: HTMLElement) => {\n const ro = new ResizeObserver(() => {\n const h = el.offsetHeight;\n if (h <= 0) return;\n setTodoHeight((cur) => {\n if (Math.abs(cur - h) < 1) return cur; \n localStorage.setItem(\"teapot.todoH\", String(h));\n return h;\n });\n });\n ro.observe(el);\n onCleanup(() => ro.disconnect());\n };\n\n return (\n <Show\n when={props.preview}\n fallback={\n <textarea\n id=\"todo-input\"\n class=\"mono todopane-edit\"\n rows={5}\n style={heightStyle()}\n ref={trackHeight}\n placeholder={\"- [ ] task one\\n- [ ] task two\"}\n value={props.draft}\n oninput={(e) => props.onDraft(e.currentTarget.value)}\n title=\"shared with the agent \\u2014 it may check items off via set_todo; your unsaved edits win until you save\"\n />\n }\n >\n {}\n <div\n class=\"content mdpreview todopane\"\n style={heightStyle()}\n ref={trackHeight}\n innerHTML={renderMarkdownCached(props.draft)}\n />\n </Show>\n );\n}\n\nexport function CodePreview(props: { path: string; content: string; html: string; pending: boolean; truncated: boolean }) {\n return (\n <>\n <Show\n when={props.html}\n fallback={\n props.pending ? (\n <div class=\"muted\" style=\"padding:8px;font-size:12px\">\n ✨ highlighting {props.path.split(\"/\").pop()}…\n </div>\n ) : (\n <pre class=\"mono\" style=\"max-height:62vh;overflow:auto;white-space:pre-wrap;margin:0\">\n {props.content}\n </pre>\n )\n }\n >\n {}\n <div class=\"filepreview shikiwrap\" innerHTML={props.html} />\n </Show>\n <Show when={props.truncated}>\n <div class=\"muted\" style=\"padding-top:6px;font-size:11.5px\">… truncated (first 100 KB)</div>\n </Show>\n </>\n );\n}\n\nexport function NumberField(props: {\n label: string;\n value: number;\n onValue: (v: number) => void;\n hint?: string;\n}) {\n return (\n <label title={props.hint}>\n {props.label}\n <input\n type=\"number\"\n min=\"0\"\n value={props.value}\n oninput={(e) => props.onValue(Number(e.currentTarget.value))}\n />\n </label>\n );\n}\n\nexport function ThemePreview(props: {\n palette: ThemePalette;\n backgroundImage?: string;\n surfaceAlpha?: number;\n backgroundDim?: number;\n}) {\n const p = () => props.palette;\n const layers = () => previewLayers(props.surfaceAlpha, props.backgroundDim);\n return (\n <span class=\"tprev\" style={{ background: p().bgDark }}>\n <Show when={props.backgroundImage}>\n <span class=\"tprev-bg\" style={{ \"background-image\": backgroundImageValue(props.backgroundImage) }} />\n {}\n <span\n class=\"tprev-veil\"\n style={{ background: veilColour(p().bgDark, layers().dim) }}\n />\n </Show>\n <span\n class=\"tprev-nav\"\n style={{ background: p().bgDarkest, opacity: props.backgroundImage ? String(layers().panel) : \"1\" }}\n />\n <span\n class=\"tprev-head\"\n style={{ background: p().bgDarkest, opacity: props.backgroundImage ? String(layers().panel) : \"1\" }}\n />\n <span\n class=\"tprev-panel\"\n style={{ background: p().bgMid, opacity: props.backgroundImage ? String(layers().raised) : \"1\" }}\n />\n {}\n <span class=\"tprev-line\" style={{ left: \"32%\", top: \"38%\", width: \"34%\", background: p().fg, opacity: 0.85 }} />\n <span class=\"tprev-line\" style={{ left: \"32%\", top: \"50%\", width: \"22%\", background: p().acc }} />\n <span class=\"tprev-line\" style={{ left: \"32%\", top: \"62%\", width: \"40%\", background: p().dim }} />\n {}\n <span class=\"tprev-dot\" style={{ left: \"6%\", top: \"20%\", background: p().acc }} />\n <span class=\"tprev-dot\" style={{ left: \"6%\", top: \"40%\", background: p().dim }} />\n <span class=\"tprev-dot\" style={{ left: \"6%\", top: \"60%\", background: p().ok }} />\n <span class=\"tprev-dot\" style={{ left: \"70%\", top: \"12%\", background: p().warn }} />\n <span class=\"tprev-dot\" style={{ left: \"84%\", top: \"12%\", background: p().err }} />\n </span>\n );\n}\n","import { createSignal } from \"solid-js\";\n\nconst [flash, setFlash] = createSignal(\"\");\nlet flashTimer: ReturnType<typeof setTimeout> | undefined;\nconst flashHint = (msg: string) => {\n setFlash(msg);\n clearTimeout(flashTimer);\n flashTimer = setTimeout(() => setFlash(\"\"), 3200);\n};\n\nexport const flashMsg = flash;\nexport { flashHint };\n","/**\n * Turn a stored image reference into a URL the browser can load.\n *\n * A session logs `blobs/<sha256>.<ext>` beside `chat.jsonl` — the bytes must live outside the JSONL,\n * and the session must be deletable in one `rm -r`. Those references are NOT browser paths:\n * MEASURED before this mapping existed, `<img src=\"blobs/3220fc….png\">` resolved against\n * `/session/blobs/…`, 404'd, and every attachment on the timeline rendered broken\n * (`naturalWidth: 0`).\n *\n * Anything that is already loadable — an `http(s)` URL from a remote image, or a `data:` URL from an\n * older session — is returned untouched, so logs written before `blobs/` keep rendering.\n */\nexport function blobUrl(agentId: string | undefined, ref: string): string {\n if (!ref.startsWith(\"blobs/\")) return ref;\n if (!agentId) return ref;\n const name = ref.slice(\"blobs/\".length);\n return `/api/agents/${encodeURIComponent(agentId)}/blobs/${encodeURIComponent(name)}`;\n}\n\n/** The name inside a `blobs/` reference, or null when the value is not one. */\nexport function blobName(ref: string): string | null {\n if (!ref.startsWith(\"blobs/\")) return null;\n const name = ref.slice(\"blobs/\".length);\n return name && name === name.replace(/[/\\\\]/g, \"\") ? name : null;\n}\n","import { truncate } from \"./format\";\n\nexport interface Ev {\n id: string; seq: number; ts: string; session: string; branch: string;\n type: string; parent: string | null; data: any;\n}\n\nexport const AUTHORS: Record<string, { name: string; icon: string; color: string }> = {\n prompt: { name: \"you\", icon: \"🟧\", color: \"#faa81a\" },\n user: { name: \"you\", icon: \"🟧\", color: \"#faa81a\" },\n message: { name: \"agent\", icon: \"🫖\", color: \"#5865f2\" },\n progress: { name: \"progress\", icon: \"📈\", color: \"#3ba55d\" },\n question: { name: \"agent\", icon: \"❓️\", color: \"#5865f2\" }, \n};\n\nexport const HARNESS_AUTH = { name: \"harness\", icon: \"📣\", color: \"#3ba55d\" };\n\nexport const AUTHOR_TONES = [\"you\", \"agent\", \"progress\", \"harness\", \"tool\"] as const;\nexport type AuthorTone = (typeof AUTHOR_TONES)[number];\n\nconst TONE_OF: Record<string, AuthorTone> = {\n \"#faa81a\": \"you\",\n \"#5865f2\": \"agent\",\n \"#3ba55d\": \"progress\",\n \"#3ba0c9\": \"tool\",\n};\n\nexport const toneOf = (color: string): AuthorTone => TONE_OF[color] ?? \"agent\";\n\nexport const authorOf = (e: Ev) => {\n if (e.data?.actor) return { name: `@${String(e.data.actor)}`, icon: \"🧩\", color: \"#3ba0c9\" };\n if (e.type === \"tool_call\" || e.type === \"tool_result\")\n return { name: String(e.data?.name ?? \"tool\"), icon: \"⚙️\", color: \"#3ba0c9\" };\n if (e.type === \"prompt\") {\n const src = String(e.data?.source ?? \"user\");\n if (src === \"user\") return AUTHORS.prompt;\n return src.startsWith(\"scheduler:\") ? { name: src.slice(10), icon: \"📣\", color: \"#3ba55d\" } : HARNESS_AUTH;\n }\n return AUTHORS[e.type] ?? { name: e.type, icon: \"•\", color: \"#9298a5\" };\n};\n\nexport const fmtTs = (iso: string) => {\n const d = new Date(iso);\n return `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n};\n\nexport function rawOf(e: Ev): string {\n const d = e.data ?? {};\n if (e.type === \"prompt\") return String(d.text ?? \"\");\n if (e.type === \"message\") {\n const r = typeof d.reasoning === \"string\" && d.reasoning.trim()\n ? `<reasoning>\\n${d.reasoning}\\n</reasoning>\\n\\n`\n : \"\";\n return `${r}${String(d.content ?? \"\")}`;\n }\n if (e.type === \"tool_call\") {\n return \"\";\n }\n return \"\";\n}\n\nexport function fmtK(n: number): string {\n if (n >= 1e9) return `${+(n / 1e9).toFixed(1)}b`;\n if (n >= 1e6) return `${+(n / 1e6).toFixed(1)}m`;\n if (n >= 10_000) return `${Math.round(n / 1000)}k`;\n if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;\n return String(n);\n}\n\nexport function oneLine(s: string, n: number): string {\n const line = s.replace(/\\s+/g, \" \").trim();\n return truncate(line, n);\n}\n","\nexport interface RowLike {\n type: string;\n session?: string;\n branch?: string;\n data?: {\n name?: unknown;\n actor?: unknown;\n source?: unknown;\n pending?: unknown;\n cancelled?: unknown;\n [other: string]: unknown;\n };\n}\n\nfunction authorBucketOf(ev: RowLike): string {\n if (ev.type === \"prompt\" && ev.data?.source === \"user\") return \"you\";\n if (ev.type === \"message\") return \"agent\";\n return \"harness\";\n}\n\nfunction actorKeyOf(ev: RowLike): string {\n const d = ev.data ?? {};\n if (ev.data?.actor) return `sub:${String(ev.data.actor)}`;\n if (ev.type === \"tool_call\" || ev.type === \"tool_result\") {\n const name = typeof d.name === \"string\" ? d.name : \"\";\n return name === \"load_skill\" ? \"agent-skill\" : `tool:${name}`;\n }\n if (ev.type === \"prompt\") return `src:${String(d.source ?? \"user\")}`;\n return `type:${ev.type}`;\n}\n\nexport function groupedWith(prev: RowLike | undefined, e: RowLike): boolean {\n return !!(\n prev &&\n !e.data?.pending &&\n !prev.data?.pending &&\n !e.data?.cancelled &&\n actorKeyOf(prev) === actorKeyOf(e) &&\n authorBucketOf(prev) === authorBucketOf(e) &&\n e.session === prev.session &&\n e.branch === prev.branch\n );\n}\n","\nexport type ShellOutcome = \"timeout\" | \"aborted\" | \"exit\" | \"ok\" | \"empty\";\n\nexport function shellOutcome(\n ok: boolean | undefined,\n result: string | null | undefined,\n): ShellOutcome {\n const text = String(result ?? \"\");\n if (/^TIMEOUT after\\b/.test(text)) return \"timeout\";\n if (/^ABORTED\\b/.test(text)) return \"aborted\";\n if (/^exit=\\d+/.test(text)) return \"exit\";\n if (ok === false) return \"exit\";\n return text.trim() ? \"ok\" : \"empty\";\n}\n\nexport function outcomeMarker(outcome: ShellOutcome): string {\n switch (outcome) {\n case \"timeout\":\n return \" · TIMED OUT\";\n case \"aborted\":\n return \" · ABORTED\";\n case \"exit\":\n return \" · FAILED\";\n default:\n return \"\";\n }\n}\n\nexport function shellHint(opts: {\n outcome: ShellOutcome;\n durationMs: number | undefined;\n timeoutMs: number | undefined;\n fmtDur: (ms: number | undefined) => string;\n}): string {\n const parts: string[] = [];\n if (opts.outcome !== \"empty\") parts.push(opts.fmtDur(opts.durationMs));\n if (opts.timeoutMs) parts.push(`timeout ${Math.round(opts.timeoutMs / 1000)}s`);\n const marker = outcomeMarker(opts.outcome).replace(/^\\s*·\\s*/, \"\");\n if (marker) parts.push(marker);\n return parts.join(\" · \");\n}\n","export function outputLang(text: string): string | undefined {\n const t = text.trim();\n if (!t) return undefined;\n const first = t[0];\n if (first !== \"{\" && first !== \"[\" && first !== '\"') return undefined;\n try {\n const v: unknown = JSON.parse(t);\n return v !== null && typeof v === \"object\" ? \"json\" : undefined;\n } catch {\n return undefined;\n }\n}\n\nexport function formatToolOutput(text: string): string {\n if (outputLang(text) !== \"json\") return text;\n try {\n const value: unknown = JSON.parse(text.trim());\n const pretty = JSON.stringify(value, null, 1);\n return text.trim().split(\"\\n\").length > 1 ? text : pretty;\n } catch {\n return text;\n }\n}\n","\nexport const BASH_DEFAULT_TIMEOUT_MS = 120_000;\n\nexport const BASH_MAX_TIMEOUT_MS = 600_000;\n\nexport const effectiveBashTimeout = (timeoutMs: unknown): number => {\n const n = Number(timeoutMs);\n return Math.min(Number.isFinite(n) && n > 0 ? n : BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS);\n};\n","import { For, Show, createMemo, createSignal } from \"solid-js\";\nimport { AnsiText, BashElapsed, HighlightedCode } from \"./code\";\nimport { Card } from \"./card\";\nimport { CopyBtn, IconBtn } from \"./chrome\";\nimport { api } from \"../lib/api\";\nimport { flashHint } from \"../lib/flash\";\nimport { hasAnsi, stripAnsi } from \"../lib/ansi\";\nimport { fmtDur, truncate } from \"../lib/format\";\nimport { blobUrl } from \"../lib/blob-url\";\nimport { goalLine } from \"../lib/goal-timeline\";\nimport { toneOf } from \"../lib/timeline-row\";\nimport { renderMarkdown } from \"../md\";\nimport { renderMarkdownCached } from \"../lib/markdown\";\nimport { groupedWith, type RowLike } from \"../lib/row-grouping\";\nimport { outcomeMarker, shellHint, shellOutcome } from \"../lib/shell-outcome\";\nimport { authorOf, fmtK, fmtTs, oneLine, rawOf, type Ev } from \"../lib/timeline-row\";\nimport { formatToolOutput, outputLang } from \"../lib/tool-output-lang\";\nimport { effectiveBashTimeout } from \"../lib/bash-timeout\";\n\nexport function FreeTextAnswer(props: { answered: boolean; onOption?: (t: string) => void }) {\n const [val, setVal] = createSignal(\"\");\n const submit = () => {\n const t = val().trim();\n if (!t || props.answered) return;\n setVal(\"\");\n props.onOption?.(t);\n };\n return (\n <div class=\"qfree\">\n <input\n type=\"text\"\n placeholder={props.answered ? \"answered\" : \"or type your own answer…\"}\n disabled={props.answered}\n value={val()}\n oninput={(e) => setVal(e.currentTarget.value)}\n onkeydown={(e: KeyboardEvent) => {\n if (e.key === \"Enter\" && !e.isComposing) { e.preventDefault(); submit(); }\n }}\n />\n <button disabled={props.answered || !val().trim()} onclick={submit}>reply</button>\n </div>\n );\n}\n\nexport function ToolRow(props: { e: Ev; prev?: Ev; res?: () => Ev | undefined; orphan?: boolean; agentActive?: boolean; onResize?: () => void; agentId?: string }) {\n const e = props.e;\n const grouped = groupedWith(props.prev as RowLike | undefined, e as RowLike);\n const resEv = createMemo(() => props.res?.(), undefined, {\n equals: (a, b) => a?.id === b?.id,\n });\n const res = () => resEv();\n\n const staleDone = () => !props.agentActive && !res();\n const d = e.data ?? {};\n const name = String(d.name ?? \"tool\");\n const out = () => String(res()?.data?.result ?? \"\");\n\n const argStr = (k: string) => String(d.args?.[k] ?? \"\");\n const cmdText = () => {\n if (name === \"bash\") return argStr(\"command\");\n return argStr(\"path\") || JSON.stringify(d.args ?? {}, null, 1);\n };\n const effTimeout = () => {\n if (name === \"bash\") return effectiveBashTimeout(argStr(\"timeout_ms\"));\n if (name === \"wait_children\") return Number(argStr(\"timeout_ms\")) || 300_000;\n return Number(argStr(\"timeout_ms\")) || undefined;\n };\n /**\n * A tool's ARGUMENT text, in FULL — same rule as its output.\n *\n * It used to truncate at 1500 chars, so `write_file`'s content was cut with `…` while `bash` and\n * `edit_file` showed everything. The operator's reason for the difference being wrong is that the\n * row is ALREADY a `<details>`: opening the card is the request to see it, and `.toolbody` scrolls\n * vertically for a tall one. A second limit inside an explicit open discards what was just asked\n * for, and a `write_file` is exactly the case where the whole content is the thing under review.\n */\n const codeBlock = (text: string, _max?: number, lang?: string) => (\n <HighlightedCode text={text} lang={lang} />\n );\n /** the ARGUMENT block: same surface as the output, and JSON-highlighted when it is an object */\n const argsBlock = () => <HighlightedCode text={JSON.stringify(d.args ?? {}, null, 1)} lang=\"json\" />;\n /**\n * The tool's output, in FULL.\n *\n * Not truncated, and not folded either: a tool row is ALREADY a `<details>`, so the operator\n * opens the card deliberately — a second fold behind the first is another gate, and a character\n * budget discards what they just asked to see.\n *\n * Measured over 91,048 real tool results: median 293 chars, p90 2,364, p99 8,000, max 8,000 —\n * the server caps a result at 8,000, so \"show it all\" is bounded and cheap. `.toolbody` keeps its\n * own max-height with a scrollbar for the rare tall one.\n */\n const resultBlock = () =>\n (() => {\n const r = res();\n return r ? (\n <>\n {hasAnsi(out()) ? (\n <AnsiText text={out()} />\n ) : (\n <HighlightedCode text={formatToolOutput(out())} lang={outputLang(out())} />\n )}\n <div class=\"meta\">\n {fmtDur(r.data?.durationMs)}\n {}\n {name === \"bash\"\n ? outcomeMarker(shellOutcome(r.data?.ok, String(r.data?.result ?? \"\")))\n : r.data?.ok === false\n ? \" · FAILED\"\n : \"\"}\n {}\n <CopyBtn text={hasAnsi(out()) ? stripAnsi(out()) : formatToolOutput(out())} />\n </div>\n <ToolImages data={r.data} agentId={props.agentId} />\n </>\n ) : (\n <div class=\"meta\">waiting for output…</div>\n );\n })();\n\n // this whole derivation depends on the result, so it must be a MEMO. It used to\n // run once in the component body, which is why a row created before its result\n // arrived kept the pre-result label and body for good: only the class (re-read\n // from the prop) changed. See the note on `res` above.\n /**\n * The per-tool summary AND its body, built once per RESULT.\n *\n * `body` is a JSX value, so every re-run of this memo builds a NEW element tree — and a\n * `<pre>` replaced that way loses its scroll offset even when the row element itself is\n * reused. MEASURED: a scrolled bash-output block reset whenever an unrelated message\n * arrived, with `ownerWasReused=true`.\n *\n * Two things were needed:\n *\n * 1. read `res()` through a local so the memo's dependencies are explicit;\n * 2. give `createMemo` an `equals` that compares the RESULT ID. Without it the memo's\n * return value is a fresh `{label, hint, body}` object every run, which never equals\n * the previous one, so Solid re-rendered the body on every `pairInfo()` recompute —\n * and `pairInfo()` recomputes on every append, because its `resFor` Map is new even\n * when the `Ev` inside it is the same object.\n *\n * With the `equals`, the only re-run left is a result that actually changed, which is\n * exactly when the body must be rebuilt.\n */\n const derived = createMemo(\n () => {\n const r = res();\n void r;\n let label = name;\n let hint: string | null = \"\";\n let body: any = argsBlock();\n try {\n switch (name) {\n case \"bash\": {\n const cmd = argStr(\"command\");\n const isBg = d.args?.background === true;\n const bgJob = isBg ? (String(out()).match(/job (bg\\d+)/)?.[1] ?? \"\") : \"\";\n label = (isBg ? \"⏳ \" : \"$ \") + oneLine(cmd, 96);\n const timeoutMs = argStr(\"timeout_ms\") ? Number(argStr(\"timeout_ms\")) : undefined;\n const r = res();\n const outcome = shellOutcome(r?.data?.ok, r ? String(r.data?.result ?? \"\") : \"\");\n hint = r\n ? isBg\n ? `background job${bgJob ? ` ${bgJob}` : \"\"}${timeoutMs ? ` · timeout ${Math.round(timeoutMs / 1000)}s` : \"\"}`\n : shellHint({ outcome, durationMs: r.data?.durationMs, timeoutMs, fmtDur })\n : null; \n body = (\n <>\n {isBg ? (\n <div class=\"meta bgjob-note\">\n runs in background — poll with <b>bash_output(job_id="{bgJob || \"?\"}")</b>\n {bgJob ? <> · kill with <b>action=\"kill\"</b></> : null}\n </div>\n ) : null}\n {}\n {cmd !== label.slice(isBg ? 2 : 2) ? (\n <HighlightedCode text={cmd} lang=\"shellscript\" />\n ) : null}\n {resultBlock()}\n </>\n );\n break;\n }\n case \"read_file\": {\n label = argStr(\"path\") || \"(no path)\";\n const bits: string[] = [];\n if (argStr(\"pattern\")) bits.push(`grep /${oneLine(argStr(\"pattern\"), 40)}/`);\n if (Number(d.args?.offset) < 0) bits.push(`last ${-Number(d.args.offset)} lines`);\n else if (d.args?.offset) bits.push(`from L${d.args.offset}`);\n if (d.args?.limit) bits.push(`≤${d.args.limit} lines`);\n hint = bits.join(\" · \");\n body = resultBlock();\n break;\n }\n case \"write_file\": {\n const content = String(d.args?.content ?? \"\");\n label = argStr(\"path\") || \"(no path)\";\n hint = `${fmtK(content.length)} bytes`;\n body = (\n <>\n {codeBlock(content)}\n {res() ? <div class=\"meta\">{oneLine(out(), 160)}</div> : <div class=\"meta\">writing…</div>}\n </>\n );\n break;\n }\n case \"edit_file\": {\n label = argStr(\"path\") || \"(no path)\";\n hint = d.args?.replace_all === true ? \"replace all\" : \"unique spot\";\n body = (\n <>\n {/* full text, for the same reason the output is: the card is already an explicit open,\n and `.toolbody` scrolls. A 900-char cut hid the exact line being reviewed. */}\n <pre class=\"mono toolbody del\">{\"- \" + argStr(\"old_text\")}</pre>\n <pre class=\"mono toolbody add\">{\"+ \" + argStr(\"new_text\")}</pre>\n {res() ? (\n <div class=\"meta\">\n {oneLine(out(), 120)} · {fmtDur(res()!.data?.durationMs)}\n </div>\n ) : (\n <div class=\"meta\">applying…</div>\n )}\n </>\n );\n break;\n }\n case \"apply_patch\": {\n const patchLines = argStr(\"patch\").split(\"\\n\").filter((l) => l && !/^---$/.test(l.trim()));\n const files = patchLines\n .map((l) => l.match(/^\\*\\*\\* (?:Add|Update|Delete) File: (.+)$/)?.[1])\n .filter(Boolean) as string[];\n label = files.length ? `${files.length} file${files.length > 1 ? \"s\" : \"\"}: ${oneLine(files.join(\", \"), 80)}` : \"patch\";\n /**\n * Every line, with no per-line cut.\n *\n * This capped the body at 60 lines and each line at 240 chars, so a patch that touched several\n * files showed its beginning and then an elision note — the operator reviewing a patch is\n * exactly who needs the rest, and `.toolbody.patch` already scrolls.\n */\n body = (\n <>\n <pre class=\"mono toolbody patch\">\n {patchLines.map((l) => {\n const cls = l.startsWith(\"+\") ? \" add\" : l.startsWith(\"-\") ? \" del\" : /^\\*\\*\\*|^@@/.test(l) ? \" meta\" : \"\";\n return <div class={\"pline\" + cls}>{l}</div>;\n })}\n </pre>\n {res() ? <div class=\"meta\">{oneLine(out().split(\"\\n\")[0] ?? \"\", 140)}{res()!.data?.ok === false ? \" · FAILED\" : \"\"}</div> : <div class=\"meta\">validating…</div>}\n </>\n );\n break;\n }\n case \"list_dir\": {\n label = argStr(\"path\") || \".\";\n body = resultBlock();\n break;\n }\n case \"read_url\": {\n let host = argStr(\"url\");\n try { const u = new URL(host); host = u.host + u.pathname; } catch { }\n label = oneLine(host, 70);\n hint = \"web\";\n body = (\n <>\n <div class=\"meta\">\n <Show\n when={/^https?:/i.test(argStr(\"url\"))}\n fallback={<span class=\"muted\">{oneLine(argStr(\"url\"), 80)}</span>}\n >\n <a href={argStr(\"url\")} target=\"_blank\" rel=\"noopener noreferrer\" referrerPolicy=\"no-referrer\">open ↗</a>\n </Show>\n </div>\n {resultBlock()}\n </>\n );\n break;\n }\n case \"bash_output\": {\n const action = argStr(\"action\") || \"read\";\n const jobId = argStr(\"job_id\") || \"(?)\";\n label = `bash_output ${jobId}`;\n hint = action;\n body = resultBlock();\n break;\n }\n case \"load_skill\": {\n label = `skill: ${argStr(\"name\")}`;\n const mdBody = out().replace(/^---\\r?\\n[\\s\\S]*?\\r?\\n---\\r?\\n?/, \"\"); \n body = res() ? (\n <>\n <div class=\"content\" innerHTML={renderMarkdown(mdBody)} />\n <div class=\"meta\">{fmtDur(res()!.data?.durationMs)}</div>\n </>\n ) : (\n <div class=\"meta\">loading…</div>\n );\n break;\n }\n case \"save_skill\": {\n label = `skill: ${argStr(\"name\")}`;\n hint = oneLine(argStr(\"description\"), 60);\n const files = Array.isArray(d.args?.files) ? d.args.files.map((f: any) => f?.name).filter(Boolean) : [];\n body = (\n <>\n {files.length ? <div class=\"meta\">bundled: {files.join(\", \")}</div> : null}\n {res() ? <div class=\"meta\">{oneLine(out(), 160)} · {fmtDur(res()!.data?.durationMs)}</div> : <div class=\"meta\">saving…</div>}\n </>\n);\n break;\n }\n case \"search_tools\": {\n // the operator must be able to see WHICH tools were surfaced — the tool_id is opaque\n label = `🔎 ${oneLine(argStr(\"query\") || \"(browse)\", 60)}`;\n const hits = (() => {\n try {\n const j = JSON.parse(out()) as { tools?: { name?: string; server?: string }[]; totalMatches?: number };\n return { names: (j.tools ?? []).map((t) => `${t.server ?? \"?\"}/${t.name ?? \"?\"}`), total: j.totalMatches ?? 0 };\n } catch {\n return { names: [] as string[], total: 0 };\n }\n })();\n hint = res() ? `${hits.total} match${hits.total === 1 ? \"\" : \"es\"}` : null;\n body = (\n <>\n {argsBlock()}\n {res() ? (\n hits.names.length ? (\n <div class=\"meta\">found: {hits.names.join(\", \")}</div>\n ) : (\n <div class=\"meta\">no matches</div>\n )\n ) : null}\n {resultBlock()}\n </>\n );\n break;\n }\n case \"run_tool\": {\n // the tool_id is JSON [server, name]; show the human half\n const id = argStr(\"tool_id\");\n const parts = (() => {\n try {\n const j = JSON.parse(id) as unknown;\n return Array.isArray(j) && j.length === 2 ? `${String(j[0])}/${String(j[1])}` : id;\n } catch {\n return id;\n }\n })();\n label = `⚡️ ${parts || \"(no tool_id)\"}`;\n hint = res() ? fmtDur(res()!.data?.durationMs) : null;\n body = (\n <>\n {argsBlock()}\n {resultBlock()}\n </>\n );\n break;\n }\n default: {\n /**\n * An MCP tool gets a row of its own, not the fallback JSON dump.\n *\n * `mcp__<server>__<tool>` is the flat name the request uses, and the operator asked for these to\n * look like ordinary tools — the raw `{...}` args block was the only thing distinguishing them,\n * which reads as \"unsupported\" rather than \"a tool that lives elsewhere\".\n */\n const mcp = /^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(name);\n if (mcp) {\n const [, server, tool] = mcp;\n label = `${tool}`;\n hint = `[MCP: ${server}]${res() ? ` · ${fmtDur(res()!.data?.durationMs)}` : \"\"}`;\n body = (\n <>\n {Object.keys(d.args ?? {}).length ? argsBlock() : null}\n {resultBlock()}\n </>\n );\n break;\n }\n label = name;\n hint = res() ? fmtDur(res()!.data?.durationMs) : null;\n body = (\n <>\n {argsBlock()}\n {resultBlock()}\n </>\n );\n break;\n }\n }\n } catch {\n }\n // `key` is what the memo's `equals` compares: the RESULT's identity plus the label. Two\n // runs that would build the same body must produce the same key, or the `<pre>` inside is\n // discarded and its scroll offset with it.\n return { label, hint, body, key: `${res()?.id ?? \"none\"}|${label}|${hint ?? \"\"}` };\n },\n undefined,\n {\n equals: (a, b) => (a as { key?: string }).key === (b as { key?: string }).key,\n },\n );\n\n return (\n <details\n class={\"embed\" + (grouped ? \" grouped\" : \"\") + (res() ? (res()!.data?.ok === false ? \" fail\" : \" done\") : staleDone() ? \" done\" : \" running\")}\n title={`${name}${derived().hint ? \" — \" + derived().hint : \"\"}`}\n onToggle={(ev: ToggleEvent) => {\n if ((ev.target as HTMLDetailsElement).open) props.onResize?.();\n }}\n >\n <summary>\n {}\n <b>{derived().label}</b>\n <Show when={e.data?.actor}>\n <span class=\"actor\">@{String(e.data.actor)}</span>\n </Show>\n <span class=\"meta\">\n {res()\n ? derived().hint || \"\"\n : staleDone()\n ? \"(result missed)\"\n : name === \"bash\" || effTimeout()\n ? \n <BashElapsed startedAt={e.ts} inline timeoutMs={effTimeout()} /> // visible while folded\n : \"running…\"}\n </span>\n {}\n <span class=\"toolcopy\">\n <CopyBtn text={cmdText()} label=\"⧉ cmd\" title={`copy the ${name} arguments`} />\n <Show when={res()}>\n <CopyBtn\n text={hasAnsi(out()) ? stripAnsi(out()) : out()}\n label=\"⧉ out\"\n title=\"copy this tool's full output (escapes removed)\"\n />\n </Show>\n </span>\n </summary>\n {derived().body}\n </details>\n );\n}\n\nexport function MessageRow(props: { e: Ev; prev?: () => Ev | undefined; next?: () => Ev | undefined; res?: () => Ev | undefined; orphan?: boolean; showBranch?: boolean; onEdit?: () => void; onCancel?: () => void; onOption?: (text: string) => void; answeredIds?: () => Set<string>; onAnswered?: (callId: string) => void; agentActive?: boolean; onResize?: () => void; agentId?: string }) {\n const e = props.e;\n const a = authorOf(e);\n const grouped = () => groupedWith(props.prev?.() as RowLike | undefined, e as RowLike);\n const nextGrouped = () => {\n const n = props.next?.();\n return !!n && groupedWith(e as RowLike, n as RowLike);\n };\n\n if (e.type === \"fork\") {\n const d = e.data ?? {};\n return (\n <div class=\"divider-msg\">\n ⑂ forked from {String(d.fromBranch ?? \"?\")} → {String(d.newBranch ?? e.branch)}\n </div>\n );\n }\n if (e.type === \"goal\") {\n const line = goalLine(e.data ?? {});\n return (\n <div class={\"goalline \" + (line.tone === \"err\" ? \"err\" : line.tone === \"warn\" ? \"warn\" : \"\")}>\n <div class=\"goalline-label\">{line.label}</div>\n {}\n <Show when={line.hasCard}>\n <Card\n tone={line.tone === \"ok\" ? \"ok\" : line.tone === \"warn\" ? \"warn\" : \"tool\"}\n markdown={line.markdown}\n body={line.detail}\n />\n </Show>\n </div>\n );\n }\n /**\n * One step of the completion audit.\n *\n * The auditor runs in its own conversation, so without these rows the timeline showed\n * `audit-started` and then only the verdict — an audit that produced NO verdict was\n * indistinguishable from one that never ran (measured: three silent audits, then an abandonment\n * that read like a provider fault). These are the auditor's own steps, attributed to it.\n */\n if (e.type === \"audit_step\") {\n const st = String(e.data?.step ?? \"\");\n const name = String(e.data?.name ?? \"\");\n const label =\n st === \"started\"\n ? \"🔍️ auditor started\"\n : st === \"tool\"\n ? `🔍️ auditor → ${name}`\n : st === \"tool_done\"\n ? `🔍️ auditor ← ${name} ${e.data?.ok === false ? \"failed\" : `${String(e.data?.chars ?? 0)} chars`}`\n : st === \"reply\"\n ? \"🔍️ auditor replied\"\n : \"🔍️ auditor\";\n /**\n * Only a `<details>` when there is something to expand — the same rule the compaction card follows.\n *\n * `started`, `verdict` and the audit's own bookkeeping rows carry neither `text` nor `args`, so the\n * card had a disclosure triangle that opened onto nothing and grew the row by a few pixels. MEASURED\n * as the same complaint that produced the compaction fix: \"中身が空なのに展開してちょっと縦に伸びる\".\n */\n const expandable = (st === \"reply\" && !!e.data?.text) || (st === \"tool\" && !!e.data?.args);\n if (!expandable) {\n return (\n <div class=\"embed auditstep\">\n <span class=\"meta\">{label}</span>\n </div>\n );\n }\n return (\n <details class=\"embed auditstep\">\n <summary>\n <span class=\"meta\">{label}</span>\n <Show when={st === \"tool\" && e.data?.args}>\n <span class=\"meta muted\">{truncate(String(e.data?.args ?? \"\"), 120)}</span>\n </Show>\n </summary>\n <Show when={st === \"reply\" && e.data?.text}>\n <pre class=\"mono toolbody\">{String(e.data?.text ?? \"\")}</pre>\n </Show>\n <Show when={st === \"tool\" && e.data?.args}>\n <pre class=\"mono toolbody\">{String(e.data?.args ?? \"\")}</pre>\n </Show>\n </details>\n );\n }\n if (e.type === \"todo\") {\n return <div class=\"divider-msg\">✅ tasks updated ({String(e.data?.by ?? \"human\")})</div>;\n }\n if (e.type === \"state\") {\n if (e.data.from === e.data.to) return null;\n return (\n <div class={\"divider-msg\" + (e.data.to === \"error\" ? \" err\" : \"\")}>\n {e.data.from} → {e.data.to}{e.data.reason ? ` — ${e.data.reason}` : \"\"}\n </div>\n );\n }\n // system_note MUST resolve here (before the .msg wrapper): the wrapper\n // always renders an avatar + empty body, so notes handled only inside\n // SwitchContent appeared as mysterious EMPTY rows on the timeline.\n // Most notes are log-only; these few earn a visible divider/embed row.\n if (e.type === \"system_note\") {\n const ev = String(e.data?.event ?? \"\");\n if (ev === \"runaway-detected\") {\n return (\n <div class=\"embed fail\" title={`${e.data?.failures} consecutive tool failures hit the configured limit (${e.data?.limit})`}>\n <div class=\"mono\">🛑 runaway: {String(e.data?.failures)} tool failures in a row (limit {String(e.data?.limit)})</div>\n <div class=\"meta\">last: {String(e.data?.lastTool)} — {String(e.data?.lastError ?? \"\").slice(0, 200)}</div>\n </div>\n );\n }\n if (ev === \"error-retry\") {\n return (\n <div class=\"embed warn-embed\" title=\"a round-fatal API error occurred; auto-retry is waiting, then a fresh round starts (onError: retry)\">\n <div class=\"mono\">↻ API error — retrying (attempt {String(e.data?.attempt)}) in {Math.round(Number(e.data?.waitMs) / 1000)}s…</div>\n </div>\n );\n }\n if (ev === \"background-exit\") {\n const failed = e.data?.failed === true;\n const secs = Math.round(Number(e.data?.durationMs ?? 0) / 1000);\n return (\n <div class={\"divider-msg\" + (failed ? \" err\" : \"\")} title={String(e.data?.cmd ?? \"\")}>\n {(failed ? \"⚠ background job \" : \"✓ background job \") +\n String(e.data?.jobId ?? \"?\") + \" \" +\n (failed ? `FAILED (exit ${String(e.data?.code ?? \"?\")})` : `finished (${secs}s)`)}\n </div>\n );\n }\n if (ev === \"context-compacted\") {\n return (\n <div class=\"divider-msg\">\n 🗜 compacted: {String(e.data?.tokensBefore ?? \"?\")} → {String(e.data?.tokensAfter ?? \"?\")} tok ({String(e.data?.mode ?? \"\")})\n </div>\n );\n }\n // the START of the pass, logged before the (slow) summarizer runs so\n // the timeline shows the conversation being rewritten rather than going\n // quiet for the whole summarize. The completion divider above carries the\n // after-figures; this one only claims what was already known.\n if (ev === \"context-compaction-started\") {\n return (\n <div class=\"divider-msg\" title=\"compaction is rewriting older history — the agent is not stuck\">\n 🗜 compacting: summarizing {String(e.data?.messages ?? \"?\")} earlier messages from{\" \"}\n {String(e.data?.tokensBefore ?? \"?\")} tok ({String(e.data?.reason ?? \"auto\")})…\n </div>\n );\n }\n return null; // log-only notes (prompt-delivered, llm-retry, …)\n }\n\n return (\n <div\n class={\n \"msg\" +\n (grouped() ? \" grouped\" : \"\") +\n (nextGrouped() ? \" next-grouped\" : \"\") +\n (e.data?.pending ? \" pending\" : \"\") +\n (e.data?.cancelled ? \" withdrawn\" : \"\")\n }\n data-eid={e.id}\n >\n {}\n {}\n <div\n class={`avatar avghost tone-${toneOf(a.color)}` + (grouped() ? \" ghosted\" : \"\")}\n title={grouped() ? `${fmtTs(e.ts)} · ${e.branch}` : undefined}\n >\n {grouped() ? \"\" : a.icon}\n </div>\n <div class=\"msg-body\">\n {grouped() && <span class=\"grouptime\" title={`${fmtTs(e.ts)} · ${e.branch}`} />}\n <Show when={!grouped()}>\n <div class=\"msg-head\">\n <span class={`author tone-${toneOf(a.color)}`}>{a.name}</span>\n <Show when={e.data?.actor}>\n <span class=\"actor\">@{String(e.data.actor)}</span>\n </Show>\n <span class=\"ts\">{e.data?.pending ? \"queued…\" : e.data?.cancelled ? \"withdrawn\" : fmtTs(e.ts)}</span>\n {}\n <Show when={props.showBranch}>\n <span class=\"ts\">{e.branch}</span>\n </Show>\n <Show when={props.onCancel}>\n <button\n class=\"editbtn\"\n title=\"withdraw this message — it has not reached the model yet; the text goes back to the input box\"\n onclick={(ev: MouseEvent) => { ev.stopPropagation(); props.onCancel!(); }}\n >✕ cancel</button>\n </Show>\n {}\n <Show when={e.type !== \"tool_call\"}>\n <CopyBtn text={rawOf(e)} label=\"⧉ copy\" title=\"copy the RAW text of this message (no markdown rendering)\" />\n </Show>\n <Show when={props.onEdit}>\n <button\n class=\"editbtn\"\n title=\"edit this prompt — forks the conversation here (later events are dropped or summarized)\"\n onclick={(ev: MouseEvent) => { ev.stopPropagation(); props.onEdit!(); }}\n >✎ edit</button>\n </Show>\n </div>\n </Show>\n\n <SwitchContent e={e} prev={props.prev?.()} res={props.res} orphan={props.orphan} onOption={props.onOption} answeredIds={props.answeredIds} onAnswered={props.onAnswered} agentActive={props.agentActive} onResize={props.onResize} agentId={props.agentId} />\n </div>\n </div>\n );\n}\n\n/**\n * Images a tool returned, e.g. `read_file` on a picture.\n *\n * The bytes are logged as `blobs/<sha256>` and served by `/api/agents/:id/blobs/:name`; without this\n * the timeline showed only the explanatory text (\"the image itself is attached…\") and the operator\n * could not see what the agent was told it was looking at.\n */\nfunction ToolImages(props: { data?: { images?: unknown }; agentId?: string }) {\n const srcs = (): string[] =>\n (Array.isArray(props.data?.images) ? props.data!.images : [])\n .map((i: unknown) => (typeof i === \"string\" ? i : (i as { url?: unknown })?.url))\n .filter((u: unknown): u is string => typeof u === \"string\" && u.length > 0)\n .map((u: string) => blobUrl(props.agentId, u));\n return (\n <Show when={srcs().length}>\n <div class=\"promptimgs\">\n <For each={srcs()}>{(src) => <img src={src} class=\"promptimg\" alt=\"tool image\" loading=\"lazy\" />}</For>\n </div>\n </Show>\n );\n}\n\nexport function SwitchContent(props: { e: Ev; prev?: Ev; res?: () => Ev | undefined; orphan?: boolean; onOption?: (text: string) => void; answeredIds?: () => Set<string>; onAnswered?: (callId: string) => void; agentActive?: boolean; onResize?: () => void; agentId?: string }) {\n const e = props.e;\n switch (e.type) {\n case \"prompt\": {\n /**\n * The log stores `{ url, name }`, not a bare URL.\n *\n * `images.map((i) => ({ url: i.url, name: i.name }))` is what `Agent.enqueuePrompt` writes, and\n * the renderer passed each entry straight to `src=` — MEASURED on a real prompt row:\n * `src=\"[object Object]\"`, i.e. no image at all. Older entries may still be plain strings, so\n * both shapes are accepted.\n */\n const imgs: string[] = (e.data?.images ?? [])\n .map((i: unknown) => (typeof i === \"string\" ? i : (i as { url?: unknown })?.url))\n .filter((u: unknown): u is string => typeof u === \"string\" && u.length > 0)\n // `blobs/<hash>` is a stored reference, not a browser path (#blobs)\n ;\n return (\n <>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.text ?? \"\"))} />\n <Show when={imgs.length}>\n <div class=\"promptimgs\">\n <For each={imgs}>{(src) => <img src={src} class=\"promptimg\" alt=\"attachment\" />}</For>\n </div>\n </Show>\n </>\n );\n }\n case \"message\":\n return (\n <>\n <Show when={typeof e.data.reasoning === \"string\" && e.data.reasoning.trim()}>\n <details class=\"reasoning\">\n {}\n <summary>💭 thinking</summary>\n <div class=\"mono\">{String(e.data.reasoning)}</div>\n </details>\n </Show>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.content ?? \"\"))} />\n <Show when={e.data.interrupted}>\n <div class=\"interrupted\">⚠ interrupted — partial output kept</div>\n </Show>\n <Show when={e.data.final}>\n <div class=\"msgfoot\"><CopyBtn text={String(e.data.content ?? \"\")} /><span>copy summary</span></div>\n </Show>\n </>\n );\n case \"tool_call\":\n // `prev` must be FORWARDED (grouping #75): without it ToolRow cannot know it\n // continues the previous actor's run, which is what made every consecutive\n // bash row render its own icon + label.\n return <ToolRow e={e} prev={props.prev} res={props.res} orphan={props.orphan} agentActive={props.agentActive} onResize={props.onResize} agentId={props.agentId} />;\n case \"tool_result\": {\n const out = String(e.data.result ?? \"\");\n const name = String(e.data.name ?? \"tool\");\n const ok = e.data.ok !== false;\n return (\n <details class={\"embed \" + (ok ? \"\" : \"fail\")} open={props.orphan}>\n <summary>\n <span class=\"meta\">\n {}\n {name === \"bash\" ? `$ (bash, call evicted)` : name}\n </span>\n <CopyBtn text={out} />\n </summary>\n {}\n <div class=\"mono\">{out}</div>\n <div class=\"meta\">\n {fmtDur(e.data.durationMs)}\n {name === \"bash\"\n ? outcomeMarker(shellOutcome(e.data.ok, out))\n : ok\n ? \"\"\n : \" · FAILED\"}\n </div>\n <Show when={props.orphan}>\n <div class=\"meta\">its call is no longer in the loaded events — the run itself finished</div>\n </Show>\n </details>\n );\n }\n case \"decision\": {\n const alts = Array.isArray(e.data?.alternatives) ? (e.data.alternatives as string[]) : [];\n return (\n <details class=\"embed decision\">\n <summary>\n <b>📌 <span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data?.decision ?? \"\"))} /></b>\n <span class=\"meta\">decision logged</span>\n </summary>\n {}\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data?.rationale ?? \"\"))} />\n <Show when={alts.length}>\n <div class=\"content muted\">Rejected: {alts.join(\" / \")}</div>\n </Show>\n </details>\n );\n }\n case \"question\": {\n const opts = Array.isArray(e.data?.options) ? (e.data.options as string[]) : [];\n const callId = e.data?.callId ? String(e.data.callId) : \"\";\n const answered = () => props.answeredIds?.().has(callId) ?? false;\n return (\n <div class={\"embed question\" + (answered() ? \" answered\" : \"\")}>\n {}\n <div>❓️ <div class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data?.question ?? \"\"))} /></div>\n <Show when={answered()}>\n <div class=\"meta answerdone\">✓ answered — continuing below</div>\n </Show>\n <Show when={opts.length > 0}>\n <div class=\"qopts\">\n <For each={opts}>\n {(o) => (\n <button\n class=\"qopt\"\n disabled={answered()}\n onclick={() => {\n props.onAnswered?.(callId);\n const actor = e.data?.actor;\n if (actor) {\n void api(`/api/agents/${encodeURIComponent(String(actor))}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: o, start: true }),\n }).then(() => flashHint(`→ answered @${String(e.data.actor)}`)).catch(() => flashHint(\"answer failed\"));\n } else {\n props.onOption?.(o);\n }\n }}\n >{o}</button>\n )}\n </For>\n </div>\n </Show>\n <FreeTextAnswer answered={answered()} onOption={props.onOption} />\n </div>\n );\n }\n case \"progress\":\n return (\n <div class=\"embed progembed\">\n {}\n <div>📈 <div class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.doing ?? \"\"))} /></div>\n <Show when={e.data.goalStatus}><div class=\"progrow\"><b>goal</b><span>{String(e.data.goalStatus)}</span></div></Show>\n <Show when={e.data.recent}><div class=\"progrow\"><b>recent</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.recent))} /></div></Show>\n <Show when={e.data.problems}><div class=\"progrow warn\"><b>⚠ problems</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.problems))} /></div></Show>\n <Show when={e.data.next}><div class=\"progrow\"><b>next</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(String(e.data.next))} /></div></Show>\n </div>\n );\n case \"error\":\n return <div class=\"embed fail\"><div class=\"mono\">⚠ {String(e.data.message ?? \"\")}</div></div>;\n case \"compaction\":\n /**\n * Only a `<details>` when there is something to expand.\n *\n * A summary-pass FAILURE still logs a compaction event with no `summary`, and the disclosure\n * triangle then expanded to nothing — reported as \"compactionのカードの中身が空なのにクリックで\n * 展開できるせいでちょっとだけ広がる\". The row is a plain embed in that case, so there is no\n * affordance that promises content it does not have.\n */\n if (!e.data.summary)\n return (\n <div class=\"embed compaction\">\n <b>🗜 context compacted</b>\n <span class=\"meta\">\n {String(e.data.mode ?? \"\")} · {fmtK(Number(e.data.tokensBefore ?? 0))} → {fmtK(Number(e.data.tokensAfter ?? 0))} tok\n {\" · \"}{e.data.summarized ? `${e.data.summarized} summarized` : `${e.data.dropped} dropped`}\n {String(e.data.mode ?? \"\") === \"truncate\" ? \" · older history dropped\" : \"\"}\n </span>\n <Show when={String(e.data.mode ?? \"\") === \"truncate\"}>\n <div class=\"muted compactnote\">\n the summary pass produced nothing, so the oldest messages were dropped instead — the\n session continues with the recent tail intact\n </div>\n </Show>\n </div>\n );\n return (\n <details class=\"embed compaction\">\n <summary>\n <b>🗜 context compacted</b>\n <span class=\"meta\">\n {String(e.data.mode ?? \"\")} · {fmtK(Number(e.data.tokensBefore ?? 0))} → {fmtK(Number(e.data.tokensAfter ?? 0))} tok\n {\" · \"}{e.data.summarized ? `${e.data.summarized} summarized` : `${e.data.dropped} dropped`}\n </span>\n </summary>\n <Show when={e.data.summary}>\n <div class=\"vtitle compactkept\">what the agent kept</div>\n <div class=\"content\" innerHTML={renderMarkdownCached(String(e.data.summary))} />\n </Show>\n </details>\n );\n default:\n return <div class=\"content muted\">{truncate(JSON.stringify(e.data), 200)}</div>;\n }\n}\n","\nexport type OAuthStateLike = {\n required?: boolean;\n authorized?: boolean;\n hasRefreshToken?: boolean;\n flow?: { phase: string; url?: string };\n};\n\nexport const oauthStateFrom = (\n map: Record<string, OAuthStateLike> | undefined,\n name: string,\n): OAuthStateLike | null => {\n const key = String(name ?? \"\").trim();\n if (!key) return null;\n if (/^\\d+$/.test(key)) return null; \n return map?.[key] ?? null;\n};\n","export type ProviderPreset = {\n key: string;\n label: string;\n url: string;\n model: string;\n hint?: string;\n};\n\nexport const PROVIDER_PRESETS: ProviderPreset[] = [\n {\n key: \"openrouter\",\n label: \"OpenRouter\",\n url: \"https://openrouter.ai/api/v1\",\n model: \"\",\n hint: \"400+ models behind one key — teapot sends app-attribution headers automatically\",\n },\n {\n key: \"orcarouter\",\n label: \"OrcaRouter\",\n url: \"https://api.orcarouter.ai/v1\",\n model: \"\",\n hint: \"zero-markup routing gateway — 'orcarouter/auto' grades each prompt and picks the model\",\n },\n {\n key: \"openai\",\n label: \"OpenAI\",\n url: \"https://api.openai.com/v1\",\n model: \"\",\n hint: \"your account's models — pick from the list once the endpoint answers\",\n },\n {\n key: \"opencode-go\",\n label: \"OpenCode Go\",\n url: \"https://opencode.ai/zen/go/v1\",\n model: \"\",\n hint: \"OpenCode's open-model subscription — teapot sends the required x-opencode-session header; choose a chat/completions model\",\n },\n {\n key: \"llamacpp\",\n label: \"llama.cpp server\",\n url: \"http://localhost:8080/v1\",\n model: \"\",\n hint: \"free & local — start it with: llama-server -m ./model.gguf (any model name works)\",\n },\n];\n","\nexport type AppearanceMode = \"dark\" | \"light\";\n\nexport interface SlotTarget {\n slot: \"fixed\" | \"dark\" | \"light\";\n key: string;\n}\n\nexport function slotForSelection(auto: boolean, mode: AppearanceMode): SlotTarget {\n if (!auto) return { slot: \"fixed\", key: \"teapot.theme\" };\n return mode === \"dark\"\n ? { slot: \"dark\", key: \"teapot.theme.dark\" }\n : { slot: \"light\", key: \"teapot.theme.light\" };\n}\n\nexport function paintedIdFor(state: {\n auto: boolean;\n fixed: string;\n dark: string;\n light: string;\n prefersLight: boolean;\n}): string {\n if (!state.auto) return state.fixed;\n return state.prefersLight ? state.light : state.dark;\n}\n","import { For, Index, Show, createEffect, createMemo, createSignal, onMount } from \"solid-js\";\nimport { IconBtn, Modal } from \"./chrome\";\nimport { CodePreview, NumberField, ThemePreview, TodoEditor } from \"./settings-parts\";\nimport { api } from \"../lib/api\";\nimport { bgSrc, bgSrcSet } from \"../lib/bg-srcset\";\nimport { flashHint } from \"../lib/flash\";\nimport { oauthStateFrom } from \"../lib/mcp-oauth-key\";\nimport { relTime } from \"../lib/format\";\nimport { renderMarkdownCached } from \"../lib/markdown\";\nimport { PROVIDER_PRESETS } from \"../lib/provider-presets\";\nimport { paintedIdFor, slotForSelection } from \"../lib/theme-slots\";\nimport {\n DEFAULT_PALETTE,\n PALETTE_KEYS,\n PRESET_PALETTES,\n applyCustomTheme,\n newThemeId,\n normalizeColour,\n opaque,\n sanitizeTheme,\n saveCustomThemes,\n type CustomTheme,\n type ThemePalette,\n} from \"../lib/theme-store\";\nimport { THEMES } from \"../lib/themes-presets\";\n\ndeclare const __APP_VERSION__: string;\n\nexport function ThemeEditor(props: {\n themes: () => CustomTheme[];\n activeId: string;\n paintedId: string;\n onChange: (next: CustomTheme[]) => void;\n onPick: (id: string) => void;\n}) {\n const [editingId, setEditingId] = createSignal<string>(\n props.themes().some((t) => t.id === props.activeId) ? props.activeId : (props.themes()[0]?.id ?? \"\"),\n );\n const editing = () => {\n const list = props.themes();\n return (\n list.find((t) => t.id === editingId()) ??\n list.find((t) => t.id === props.activeId) ??\n list[0]\n );\n };\n const [hexDraft, setHexDraft] = createSignal<Record<string, string>>({});\n let filePick: HTMLInputElement | undefined;\n\n const patch = (fn: (t: CustomTheme) => CustomTheme) => {\n const id = editing()?.id;\n if (!id) return;\n const next = props.themes().map((t) => (t.id === id ? fn(t) : t));\n props.onChange(next);\n };\n const setColour = (key: keyof ThemePalette, raw: string) => {\n const norm = normalizeColour(raw);\n if (!norm) return;\n patch((t) => ({ ...t, palette: { ...t.palette, [key]: norm } }));\n };\n\n const duplicatePreset = () => {\n const activeCustom = props.themes().find((t) => t.id === props.paintedId);\n const activePreset = THEMES.find((t) => t.key === props.paintedId);\n const base = activeCustom ?? activePreset ?? THEMES[0]!;\n const cs = getComputedStyle(document.documentElement);\n const palette = { ...DEFAULT_PALETTE } as ThemePalette;\n for (const { key, cssVar } of PALETTE_KEYS) {\n const v = normalizeColour(cs.getPropertyValue(cssVar));\n if (v) palette[key] = v;\n }\n const id = newThemeId(props.themes().map((t) => t.id).concat(THEMES.map((t) => t.key)));\n const theme: CustomTheme = {\n id,\n label: `${base.label}${activeCustom ? \"\" : \" copy\"}`.slice(0, 40),\n mode: base.mode,\n palette,\n ...(activeCustom?.backgroundImage\n ? {\n backgroundImage: activeCustom.backgroundImage,\n backgroundDim: activeCustom.backgroundDim,\n surfaceAlpha: activeCustom.surfaceAlpha,\n }\n : {}),\n };\n props.onChange([...props.themes(), theme]);\n setEditingId(id);\n props.onPick(id);\n };\n\n const importFile = async (file: File | undefined) => {\n if (!file) return;\n if (!/^image\\//.test(file.type)) {\n flashHint(`that file is ${JSON.stringify(file.type || \"unknown\")} — pick an image`);\n return;\n }\n flashHint(`uploading ${file.name} (${Math.round(file.size / 1024)}KB)…`);\n try {\n const r = (await fetch(\"/api/assets\", {\n method: \"POST\",\n headers: { \"content-type\": file.type },\n body: file,\n }).then(async (res) => ({ ok: res.ok, body: await res.json().catch(() => null) }))) as {\n ok: boolean;\n body: { url?: string; bytes?: number; error?: string } | null;\n };\n if (!r.ok || !r.body?.url) {\n flashHint(r.body?.error ?? \"upload failed\");\n return;\n }\n patch((t) => ({ ...t, backgroundImage: r.body!.url!, backgroundImageBytes: r.body!.bytes }));\n const id = editing()?.id;\n if (id) props.onPick(id);\n flashHint(\"background image set\");\n } catch (ex) {\n flashHint(`upload failed: ${(ex as Error).message}`);\n }\n };\n\n return (\n <div class=\"themeeditor\">\n <h4 class=\"cfgsub\">your themes</h4>\n <div class=\"btnrow\">\n <button type=\"button\" onclick={duplicatePreset} title=\"copy the theme you are using into a new editable one — presets themselves are never modified\">\n + duplicate current\n </button>\n {}\n </div>\n\n <Show\n when={editing() && props.themes().some((t) => t.id === props.activeId) ? editing() : null}\n fallback={\n <div class=\"muted\" style=\"margin:6px 0\">\n {props.themes().length === 0\n ? <>no custom themes yet — press <b>+ duplicate current</b> to start from the palette you are using.</>\n : <>the editor shows when one of your themes is ACTIVE — pick one under \"your themes\" above (or press <b>+ duplicate current</b>).</>}\n </div>\n }\n >\n {(t) => (\n <>\n <div class=\"cfggrid\" style=\"margin-top:8px\">\n {}\n <label class=\"trow\">appearance\n <select\n value={editing()!.mode}\n onchange={(e) => patch((cur) => ({ ...cur, mode: e.currentTarget.value as \"dark\" | \"light\" }))}\n >\n <option value=\"dark\">dark</option>\n <option value=\"light\">light</option>\n </select>\n </label>\n </div>\n\n <div class=\"paletterows\">\n <For each={PALETTE_KEYS}>\n {(k) => (\n <label class=\"paletterow\" title={k.cssVar}>\n <input\n type=\"color\"\n value={normalizeColour(editing()!.palette[k.key]) ?? \"#000000\"}\n oninput={(e) => setColour(k.key, e.currentTarget.value)}\n />\n <span class=\"paletterow-label\">{k.label}</span>\n <input\n class=\"mono paletterow-hex\"\n value={hexDraft()[k.key] ?? editing()!.palette[k.key]}\n spellcheck={false}\n oninput={(e) => {\n const raw = e.currentTarget.value;\n setHexDraft((d) => ({ ...d, [k.key]: raw }));\n setColour(k.key, raw);\n }}\n onblur={() =>\n setHexDraft((d) => {\n const next = { ...d };\n delete next[k.key];\n return next;\n })\n }\n />\n </label>\n )}\n </For>\n </div>\n <div class=\"btnrow\">\n <button\n type=\"button\"\n title=\"put every colour back to the palette this theme was created from\"\n onclick={() => patch((cur) => ({ ...cur, palette: { ...DEFAULT_PALETTE } }))}\n >\n ↺ reset palette\n </button>\n <button\n type=\"button\"\n onclick={() => {\n const doomed = editing()?.id;\n if (!doomed) return;\n props.onChange(props.themes().filter((x) => x.id !== doomed));\n setEditingId(props.themes().find((x) => x.id !== doomed)?.id ?? \"\");\n }}\n title=\"delete this custom theme\"\n >\n 🗑 delete\n </button>\n </div>\n\n <h4 class=\"cfgsub\">background image</h4>\n <div class=\"cfggrid\">\n {}\n <button\n type=\"button\"\n class={\"bgpick\" + (editing()!.backgroundImage ? \" has\" : \"\")}\n onclick={() => filePick?.click()}\n title={\n editing()!.backgroundImage\n ? \"click to replace this background image (PNG/JPG/WebP)\"\n : \"choose a background image (PNG/JPG/WebP)\"\n }\n >\n <Show\n when={editing()!.backgroundImage}\n fallback={<span class=\"bgpick-empty\">🖼 choose a background image…</span>}\n >\n {}\n <img\n src={bgSrc(editing()!.backgroundImage)}\n srcset={bgSrcSet(editing()!.backgroundImage)}\n sizes=\"260px\"\n alt=\"current background\"\n decoding=\"async\"\n loading=\"lazy\"\n />\n <span class=\"bgpick-hint\">🖼 replace…</span>\n </Show>\n </button>\n <input\n ref={filePick}\n type=\"file\"\n accept=\"image/*\"\n style=\"display:none\"\n oninput={(e) => e.stopPropagation()}\n onchange={(e) => {\n e.stopPropagation();\n importFile(e.currentTarget.files?.[0]);\n e.currentTarget.value = \"\";\n }}\n />\n <Show when={editing()!.backgroundImage}>\n <div class=\"bgpreview\">\n {}\n <span class=\"muted\" title=\"this image is served from the server; the theme stores only its URL\">\n ✓ image set{(() => {\n const b = editing()?.backgroundImageBytes;\n return b ? ` — ${Math.max(1, Math.round(b / 1024))} KB` : \"\";\n })()}\n </span>\n <div class=\"btnrow\">\n <label class=\"trow\" title=\"how much the image is dimmed so text stays readable\">\n dim\n <input\n type=\"range\"\n min=\"0\"\n max=\"0.9\"\n step=\"0.05\"\n value={editing()!.backgroundDim ?? 0.55}\n oninput={(e) => patch((cur) => ({ ...cur, backgroundDim: Number(e.currentTarget.value) }))}\n />\n <span class=\"muted mono\">{Math.round((editing()!.backgroundDim ?? 0.55) * 100)}%</span>\n </label>\n {}\n <label title=\"how much of the background shows through code blocks and tool cards — lower is more transparent\">\n surfaces\n <input\n type=\"range\"\n min=\"0.35\"\n max=\"1\"\n step=\"0.01\"\n value={editing()!.surfaceAlpha ?? 0.82}\n oninput={(e) =>\n patch((cur) => ({ ...cur, surfaceAlpha: Number(e.currentTarget.value) }))\n }\n />\n <span class=\"muted mono\">\n {Math.round((editing()!.surfaceAlpha ?? 0.82) * 100)}%\n </span>\n </label>\n <button type=\"button\" onclick={() => patch((cur) => ({ ...cur, backgroundImage: undefined }))}>\n ✕ remove\n </button>\n </div>\n </div>\n </Show>\n </div>\n <div class=\"muted\" style=\"margin-top:6px;font-size:var(--text-xs)\">\n the image is uploaded to the server and sits behind the panels, dimmed so text\n stays readable. No size limit — it is a file now, not browser storage.\n </div>\n </>\n )}\n </Show>\n </div>\n );\n}\n\nexport function ConfigModal(props: {\n cfg: any;\n onClose: () => void;\n onSaved: () => void;\n announcedOAuth: Set<string>;\n skills: { name: string; description: string }[];\n hasSelection: boolean;\n agentId: string | null;\n features: {\n imageResize: { available: boolean; tool: string | null; maxEdge: number; found: { name: string; present: boolean }[] };\n pty: { available: boolean; provider: string | null };\n } | null;\n theme: {\n themes: () => CustomTheme[];\n activeId: () => string;\n paintedId: () => string;\n auto: () => boolean;\n setAuto: (v: boolean) => void;\n dark: () => string;\n setDark: (v: string) => void;\n light: () => string;\n setLight: (v: string) => void;\n setThemes: (v: CustomTheme[]) => void;\n setActive: (v: string) => void;\n commitAppearance: (v: { auto: boolean; dark: string; light: string; fixed: string }) => void;\n preview: (id: string | null) => void;\n };\n}) {\n type PRow = { name: string; baseUrl: string; apiKeys: string[]; model: string };\n const rowOf = (name: string, v: any): PRow => {\n const keys: string[] = Array.isArray(v?.apiKeys) && v.apiKeys.length\n ? v.apiKeys.filter((k: unknown) => typeof k === \"string\" && k.trim())\n : v?.apiKey\n ? [String(v.apiKey)]\n : [\"\"];\n return { name, baseUrl: v?.baseUrl ?? \"\", apiKeys: keys.length ? keys : [\"\"], model: v?.model ?? \"\" };\n };\n const [providers, setProviders] = createSignal<PRow[]>(\n Object.entries(props.cfg.providers ?? {}).map(([name, v]: [string, any]) => rowOf(name, v)),\n );\n const [defaultProvider, setDefaultProvider] = createSignal(props.cfg.defaultProvider ?? \"\");\n const cfgDefaultProvider = () => props.cfg.defaultProvider ?? \"\";\n const providerNames = (): string[] => {\n const names = [...new Set(providers().map((p) => p.name.trim()).filter(Boolean))];\n const cur = defaultProvider();\n if (cur && !names.includes(cur)) names.push(cur);\n return names;\n };\n const staleDefaultProvider = (): string => {\n const cur = defaultProvider();\n if (!cur) return \"\";\n return providers().some((p) => p.name.trim() === cur) ? \"\" : cur;\n };\n const [intervalMin, setIntervalMin] = createSignal(Math.round((props.cfg.progressIntervalMs ?? 600000) / 60000));\n const [minChars, setMinChars] = createSignal(props.cfg.progressMinChars ?? 4000);\n const [ctxBudgetK, setCtxBudgetK] = createSignal<number | null>(\n props.cfg.contextTokenBudget != null ? Math.round(props.cfg.contextTokenBudget / 1000) : null,\n );\n const [ctxWinK, setCtxWinK] = createSignal(props.cfg.contextWindowTokens ? Math.round(props.cfg.contextWindowTokens / 1000) : 0);\n const [maxDepth, setMaxDepth] = createSignal(props.cfg.maxSpawnDepth ?? 3);\n const [shortContext, setShortContext] = createSignal(Boolean(props.cfg.shortContext));\n const [apiPassword, setApiPassword] = createSignal(\"\");\n const [apiPasswordDirty, setApiPasswordDirty] = createSignal(false);\n const [tasks, setTasks] = createSignal<any[]>((props.cfg.tasks ?? []).map((t: any) => ({ ...t })));\n const [mcpServers, setMcpServers] = createSignal<any[]>(\n (props.cfg.mcpServers ?? []).map((m: any) => ({ ...m })),\n );\n const [mcpHeadersText, setMcpHeadersText] = createSignal<Record<number, string>>(\n Object.fromEntries(\n (props.cfg.mcpServers ?? []).map((m: any, i: number) => [\n i,\n m.headers ? JSON.stringify(m.headers) : \"\",\n ]),\n ),\n );\n const [mcpHeaderErr, setMcpHeaderErr] = createSignal<Record<number, string>>({});\n const [mcpAuthKind, setMcpAuthKind] = createSignal<\n Record<number, \"none\" | \"bearer\" | \"header\" | \"json\">\n >(\n Object.fromEntries(\n (props.cfg.mcpServers ?? []).map((m: any, i: number) => {\n const h = (m.headers ?? {}) as Record<string, string>;\n const keys = Object.keys(h);\n if (!keys.length) return [i, \"none\"];\n const only = keys.length === 1 ? keys[0]! : \"\";\n if (only === \"Authorization\" && /^Bearer /i.test(h[only] ?? \"\")) return [i, \"bearer\"];\n return [i, keys.length === 1 ? \"header\" : \"json\"];\n }),\n ),\n );\n const [mcpAuthValue, setMcpAuthValue] = createSignal<Record<number, string>>(\n Object.fromEntries(\n (props.cfg.mcpServers ?? []).map((m: any, i: number) => {\n const h = (m.headers ?? {}) as Record<string, string>;\n const keys = Object.keys(h);\n if (keys.length !== 1) return [i, \"\"];\n const only = keys[0]!;\n return [i, only === \"Authorization\" ? (h[only] ?? \"\").replace(/^Bearer /i, \"\") : (h[only] ?? \"\")];\n }),\n ),\n );\n const [mcpHeaderName, setMcpHeaderName] = createSignal<Record<number, string>>(\n Object.fromEntries(\n (props.cfg.mcpServers ?? []).map((m: any, i: number) => {\n const keys = Object.keys((m.headers ?? {}) as Record<string, string>);\n const only = keys.length === 1 ? keys[0]! : \"\";\n return [i, only && only !== \"Authorization\" ? only : \"\"];\n }),\n ),\n );\n const [mcpStatus, setMcpStatus] = createSignal<\n Record<\n number,\n {\n kind: \"testing\" | \"ok\" | \"err\";\n text: string;\n tools?: { name: string; description?: string }[];\n needsOAuth?: boolean;\n }\n >\n >({});\n const urlProbeTimers: Record<number, ReturnType<typeof setTimeout> | undefined> = {};\n const probeOAuth = async (i: number, cfg: Record<string, unknown>) => {\n if (!mcpServers()[i]) return; \n const r = (await api(\"/api/mcp/test\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(cfg),\n }).catch(() => null)) as { ok?: boolean; error?: string; needsOAuth?: boolean; tools?: unknown[] } | null;\n if (!mcpServers()[i]) return;\n if (!r) return;\n setMcpStatus((m) => ({\n ...m,\n [i]: r.ok\n ? { kind: \"ok\", text: `${(r.tools as unknown[] | undefined)?.length ?? 0} tools` }\n : {\n kind: \"err\",\n text: r.needsOAuth ? \"needs authorization — press 🔑\" : r.error ?? \"no response\",\n ...(r.needsOAuth ? { needsOAuth: true } : {}),\n },\n }));\n };\n const [mcpStates, setMcpStates] = createSignal<Record<string, any>>({});\n const [mcpOAuth, setMcpOAuth] = createSignal<\n Record<string, { required?: boolean; authorized?: boolean; hasRefreshToken?: boolean; flow?: { phase: string; url?: string } }>\n >({});\n const oauthState = (name: string) => {\n const st = oauthStateFrom(mcpOAuth(), name);\n return st && (st.required || st.authorized) ? st : null;\n };\n const refreshMcpStates = async () => {\n const r = (await api(\"/api/mcp\").catch(() => null)) as { states?: any[] } | null;\n setMcpStates(Object.fromEntries((r?.states ?? []).map((s: any) => [s.name, s])));\n };\n const refreshMcpOAuth = async (name: string) => {\n const key = String(name ?? \"\").trim();\n if (!key) return;\n\n const r = (await api(`/api/mcp/oauth/status?name=${encodeURIComponent(key)}`).catch(\n () => null,\n )) as any;\n if (r && !r.error) setMcpOAuth((m) => ({ ...m, [key]: r }));\n };\n const startMcpOAuth = async (i: number, srv: any) => {\n if (!srv.name) {\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"err\", text: \"give it a name first\" } }));\n return;\n }\n setMcpStatus((m) => ({\n ...m,\n [i]: { kind: \"testing\", text: \"discovering the authorization server…\" },\n }));\n const r = (await api(\"/api/mcp/oauth/start\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ name: srv.name, url: srv.url }),\n }).catch(() => null)) as\n | { ok?: boolean; url?: string; error?: string; alreadyAuthorized?: boolean }\n | null;\n if (r?.alreadyAuthorized) {\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"ok\", text: \"already authorized\" } }));\n await refreshMcpOAuth(srv.name);\n await refreshMcpStates();\n return;\n }\n if (!r?.ok || !r.url) {\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"err\", text: r?.error ?? \"no response\" } }));\n await refreshMcpOAuth(srv.name);\n return;\n }\n window.open(r.url, \"_blank\", \"noopener\");\n setMcpStatus((m) => ({\n ...m,\n [i]: { kind: \"testing\", text: \"waiting for you to finish in the browser…\" },\n }));\n const deadline = Date.now() + 5 * 60_000;\n while (Date.now() < deadline) {\n await new Promise((res) => setTimeout(res, 1000));\n const st = (await api(`/api/mcp/oauth/status?name=${encodeURIComponent(srv.name)}`).catch(\n () => null,\n )) as any;\n if (!st || st.error) continue;\n setMcpOAuth((m) => ({ ...m, [srv.name]: st }));\n if (st.authorized) {\n setMcpStatus((m) => ({\n ...m,\n [i]: { kind: \"ok\", text: \"authorized — the tools are available now\" },\n }));\n await refreshMcpStates();\n props.onSaved();\n return;\n }\n if (st.flow?.phase === \"error\") {\n setMcpStatus((m) => ({\n ...m,\n [i]: { kind: \"err\", text: st.flow.message ?? st.lastError ?? \"authorization failed\" },\n }));\n return;\n }\n }\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"err\", text: \"authorization timed out\" } }));\n };\n createEffect(() => {\n if (section() !== \"mcp\") return;\n void refreshMcpStates();\n mcpServers().forEach((m, i) => {\n if (m.name) void refreshMcpOAuth(m.name);\n });\n });\n const [err, setErr] = createSignal(\"\");\n\n type Section = \"providers\" | \"runtime\" | \"appearance\" | \"mcp\" | \"tasks\" | \"archive\" | \"agents\" | \"update\" | \"skills\" | \"help\";\n const [section, setSection] = createSignal<Section>(\"providers\");\n const pickThemeCard = (id: string, mode: \"dark\" | \"light\") => {\n const { slot } = slotForSelection(props.theme.auto(), mode);\n if (slot === \"dark\") setSysDarkTheme(id);\n else if (slot === \"light\") setSysLightTheme(id);\n else setFixedTheme(id);\n };\n const themeCardChosen = (id: string) =>\n props.theme.auto()\n ? id === props.theme.dark() || id === props.theme.light()\n : id === props.theme.activeId();\n const [archived, setArchived] = createSignal<\n {\n id: string;\n workspace: string;\n archivedAt?: number;\n sessions: number;\n parent?: string;\n subs?: number;\n }[]\n >([]);\n const refreshArchived = async () => {\n const r = (await api(\"/api/archived\").catch(() => null)) as {\n agents?: {\n id: string;\n workspace: string;\n archivedAt?: number;\n sessions: number;\n parent?: string;\n subs?: number;\n }[];\n } | null;\n setArchived(r?.agents ?? []);\n };\n const archivedTop = () => archived().filter((a) => !a.parent);\n createEffect(() => {\n if (section() === \"archive\") void refreshArchived();\n });\n const SECTIONS: { key: Section; label: string; hint: string }[] = [\n { key: \"providers\", label: \"🧦 providers\", hint: \"endpoints, API keys, default models\" },\n { key: \"appearance\", label: \"🎨 appearance\", hint: \"theme, custom palettes, background image\" },\n { key: \"runtime\", label: \"⚙️ runtime\", hint: \"context budget, retries, spawn depth\" },\n { key: \"tasks\", label: \"⏰ scheduled tasks\", hint: \"cron prompts run against an agent\" },\n { key: \"mcp\", label: \"🔌 MCP servers\", hint: \"external tool servers exposed to every agent\" },\n { key: \"archive\", label: \"🗄 archive\", hint: \"agents you put away — restore or delete for good\" },\n { key: \"agents\", label: \"👥 agents\", hint: \"what exists (read-only)\" },\n { key: \"update\", label: \"⬆️ live update\", hint: \"restart onto a newer build\" },\n { key: \"skills\", label: \"🧠 skills\", hint: \"reusable playbooks available to the selected session\" },\n { key: \"help\", label: \"❔️ help\", hint: \"keyboard shortcuts and what each toggle does\" },\n ];\n\n const agentIds = () => (props.cfg.agents ?? []).map((a: any) => a.id);\n\n const customThemes = () => props.theme.themes();\n const fixedTheme = () => props.theme.activeId();\n const storedAppearance = {\n auto: localStorage.getItem(\"teapot.theme.auto\") === \"1\",\n dark: localStorage.getItem(\"teapot.theme.dark\") ?? \"dark\",\n light: localStorage.getItem(\"teapot.theme.light\") ?? \"light\",\n fixed: localStorage.getItem(\"teapot.theme\") ?? \"dark\",\n };\n const draft = createSignal(storedAppearance);\n const draftOf = draft[0];\n const applyDraft = (next: Partial<ReturnType<typeof draftOf>>) => {\n const merged = { ...draftOf(), ...next };\n draft[1](merged);\n props.theme.setAuto(merged.auto);\n props.theme.setDark(merged.dark);\n props.theme.setLight(merged.light);\n props.theme.setActive(merged.fixed);\n const chosen = next.dark ?? next.light ?? next.fixed;\n if (chosen) props.theme.preview(chosen);\n };\n const setFixedTheme = (v: string) => applyDraft({ fixed: v });\n const themeAuto = () => draftOf().auto;\n const setThemeAuto = (v: boolean) => applyDraft({ auto: v });\n const sysDarkTheme = () => draftOf().dark;\n const setSysDarkTheme = (v: string) => applyDraft({ dark: v });\n const sysLightTheme = () => draftOf().light;\n const setSysLightTheme = (v: string) => applyDraft({ light: v });\n const setCustomThemes = (v: CustomTheme[]) => props.theme.setThemes(v);\n\n const revertAppearance = () => {\n const s = storedAppearance;\n props.theme.setAuto(s.auto);\n props.theme.setDark(s.dark);\n props.theme.setLight(s.light);\n props.theme.setActive(s.fixed);\n props.theme.preview(null);\n };\n\n const presetPalette = (key: string): ThemePalette => PRESET_PALETTES[key] ?? DEFAULT_PALETTE;\n\n const saveProviders = (): Record<string, any> | null => {\n const out: Record<string, any> = {};\n for (const p of providers()) {\n if (!p.name.trim()) { setErr(\"provider name is required\"); return null; }\n if (p.baseUrl && !/^https?:\\/\\//.test(p.baseUrl)) { setErr(`provider ${p.name}: baseUrl must start with http(s)://`); return null; }\n const keys = p.apiKeys.map((k) => k.trim()).filter(Boolean);\n out[p.name.trim()] = {\n baseUrl: p.baseUrl,\n ...(keys.length ? { apiKeys: keys, apiKey: keys[0] } : {}),\n ...(p.model ? { model: p.model } : {}),\n };\n }\n return out;\n };\n\n const [saveState, setSaveState] = createSignal<\"idle\" | \"saving\" | \"saved\" | \"error\">(\"idle\");\n\n const failSave = (message: string) => {\n setErr(message);\n setSaveState((s) => (s === \"saving\" ? \"idle\" : s));\n };\n\n const save = async (e: Event) => {\n e.preventDefault(); setErr(\"\");\n setSaveState(\"saving\");\n const providers = saveProviders();\n if (!providers) return setSaveState(\"idle\");\n const cleanTasks = tasks()\n .filter((t) => t.id?.trim() || t.prompt?.trim())\n .map((t, i) => ({ id: t.id?.trim() || `task-${i + 1}`, agent: t.agent, schedule: t.schedule, prompt: t.prompt, ...(t.forked ? { forked: true } : {}) }));\n for (const t of cleanTasks) {\n if (!t.agent) return failSave(`task \"${t.id}\": agent is required`);\n if (!t.schedule?.trim()) return failSave(`task \"${t.id}\": schedule is required`);\n }\n const cleanMcp: any[] = [];\n const seenMcp = new Set<string>();\n for (const m of mcpServers()) {\n const name = String(m.name ?? \"\").trim();\n const url = String(m.url ?? \"\").trim();\n const transport = m.transport ?? \"http\";\n const command = String(m.command ?? \"\").trim();\n if (!name && !url && !command) continue; \n if (!name) return failSave(\"MCP: a server needs a name\");\n if (seenMcp.has(name)) return failSave(`MCP: two servers are named \"${name}\"`);\n seenMcp.add(name);\n if (transport === \"stdio\" ? !command : !url) {\n return failSave(\n `MCP \"${name}\": ${transport === \"stdio\" ? \"a command is\" : \"a url is\"} required`,\n );\n }\n cleanMcp.push({\n name,\n transport,\n enabled: m.enabled !== false,\n /**\n * The save path rebuilds each server from a whitelist, so a field not listed here is silently\n * dropped — which is how the description box \"existed\" but never reached the config, and\n * therefore never reached the model's prompt.\n */\n ...(String(m.description ?? \"\").trim() ? { description: String(m.description).trim() } : {}),\n ...(url ? { url } : {}),\n ...(transport === \"stdio\"\n ? { command, ...(m.args?.length ? { args: m.args } : {}) }\n : {}),\n ...(m.headers && Object.keys(m.headers).length ? { headers: m.headers } : {}),\n });\n }\n try {\n await api(\"/api/config\", {\n method: \"PUT\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n providers,\n defaultProvider: defaultProvider() || undefined,\n progressIntervalMs: Math.max(1, intervalMin()) * 60000,\n progressMinChars: Math.max(100, minChars()),\n ...(ctxBudgetK() != null ? { contextTokenBudget: Math.max(1, ctxBudgetK()!) * 1000 } : {}),\n ...(ctxWinK() > 0 ? { contextWindowTokens: ctxWinK() * 1000 } : {}),\n maxSpawnDepth: Math.max(0, maxDepth()),\n shortContext: shortContext(),\n ...(apiPasswordDirty() ? { password: apiPassword() } : {}),\n tasks: cleanTasks,\n mcpServers: cleanMcp,\n }),\n });\n await refreshMcpStates();\n await Promise.all(\n cleanMcp.map((m, i) => (m.name ? refreshMcpOAuth(m.name) : Promise.resolve())),\n );\n setTimeout(() => {\n void refreshMcpStates();\n cleanMcp.forEach((m, i) => {\n if (m.name) void refreshMcpOAuth(m.name);\n });\n }, 1200);\n props.onSaved();\n const savedNames = new Set(cleanMcp.map((m) => m.name).filter(Boolean));\n const needing = mcpServers().filter((m) => {\n const key = String(m.name ?? \"\").trim();\n return (\n savedNames.has(key) && mcpOAuth()[key]?.required && !mcpOAuth()[key]?.authorized\n );\n });\n const newlyNeeding = needing.filter((m) => !props.announcedOAuth.has(String(m.name ?? \"\")));\n const needsAction = newlyNeeding.length > 0;\n if (needsAction) {\n for (const m of newlyNeeding) props.announcedOAuth.add(String(m.name ?? \"\"));\n const names = newlyNeeding.map((m) => String(m.name ?? \"\").trim()).filter(Boolean);\n flashHint(\n `${names.join(\", \") || \"a saved MCP server\"} needs authorization — 🔑 authorize in MCP servers`,\n );\n }\n props.theme.commitAppearance(draftOf());\n props.theme.preview(null); \n setSaveState(\"saved\");\n Object.assign(storedAppearance, draftOf());\n setTimeout(() => {\n setSaveState(\"idle\");\n props.onClose();\n }, 400);\n } catch (ex) {\n setErr((ex as Error).message);\n setSaveState(\"error\");\n setTimeout(() => setSaveState(\"idle\"), 1600);\n }\n };\n\n return (\n <Modal\n title=\"settings\"\n onClose={() => {\n revertAppearance();\n props.onClose();\n }}\n >\n <form onsubmit={save} style=\"display:flex;flex-direction:column;gap:12px;min-height:0\">\n {}\n <div class=\"cfgbody\">\n <nav class=\"cfgmenu\" aria-label=\"settings sections\">\n <For each={SECTIONS}>\n {(sec) => (\n <button\n type=\"button\"\n class={\"cfgmenu-item\" + (section() === sec.key ? \" on\" : \"\")}\n title={sec.hint}\n aria-current={section() === sec.key ? \"page\" : undefined}\n onclick={() => setSection(sec.key)}\n >\n <span class=\"cfgmenu-label\">{sec.label}</span>\n </button>\n )}\n </For>\n </nav>\n <div class=\"cfgpanel\">\n <fieldset classList={{ hide: section() !== \"providers\" }}>\n <legend>providers</legend>\n {}\n <Index each={providers()}>\n {(p, i) => (\n <div class=\"cfgrow\">\n <input class=\"cfgname\" placeholder=\"name\" value={p().name} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, name: e.currentTarget.value } : x)))} />\n <input placeholder=\"https://…/v1\" value={p().baseUrl} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, baseUrl: e.currentTarget.value } : x)))} />\n <input placeholder=\"default model\" value={p().model} oninput={(e) => setProviders(providers().map((x, j) => (j === i ? { ...x, model: e.currentTarget.value } : x)))} />\n <button type=\"button\" class=\"danger\" title=\"remove provider\" onclick={() => setProviders(providers().filter((_, j) => j !== i))}>✕</button>\n {}\n <div class=\"cfgkeys\">\n <For each={p().apiKeys}>\n {(k, ki) => (\n <div class=\"cfgkeyrow\">\n <input\n placeholder={ki() === 0 ? \"api key\" : \"api key (backup)\"}\n type=\"password\"\n value={k}\n oninput={(e) =>\n setProviders(\n providers().map((x, j) =>\n j === i\n ? { ...x, apiKeys: x.apiKeys.map((v, m) => (m === ki() ? e.currentTarget.value : v)) }\n : x,\n ),\n )\n }\n />\n <Show when={p().apiKeys.length > 1}>\n <button\n type=\"button\"\n title=\"remove this key\"\n onclick={() =>\n setProviders(\n providers().map((x, j) =>\n j === i ? { ...x, apiKeys: x.apiKeys.filter((_, m) => m !== ki()) } : x,\n ),\n )\n }\n >−</button>\n </Show>\n </div>\n )}\n </For>\n <button\n type=\"button\"\n title=\"add another key for this provider — they are rotated round-robin, and a rate-limited key is skipped for a minute\"\n onclick={() =>\n setProviders(providers().map((x, j) => (j === i ? { ...x, apiKeys: [...x.apiKeys, \"\"] } : x)))\n }\n >+ key</button>\n </div>\n </div>\n )}\n </Index>\n <button type=\"button\" onclick={() => setProviders([...providers(), { name: \"\", baseUrl: \"\", apiKeys: [\"\"], model: \"\" }])}>+ add custom</button>\n <div style=\"display:flex;gap:6px;flex-wrap:wrap;margin-top:6px\">\n <span class=\"muted\" style=\"font-size:11.5px\">quick-add:</span>\n <For each={PROVIDER_PRESETS}>\n {(p) => (\n <button\n type=\"button\"\n title={`fill a ${p.label} row — ${p.url}${p.model ? ` (model: ${p.model})` : \"\"}`}\n onclick={() => {\n const rest = providers().filter((x) => x.name !== p.key);\n setProviders([...rest, { name: p.key, baseUrl: p.url, apiKeys: [\"\"], model: p.model }]);\n if (!defaultProvider()) setDefaultProvider(p.key);\n }}\n >+ {p.label}</button>\n )}\n </For>\n </div>\n <div><label style=\"display:flex;align-items:center;gap:6px;margin-top:6px\" title=\"agents without an explicit provider use this one\">\n default provider\n <select\n value={defaultProvider()}\n onchange={(e) => setDefaultProvider(e.currentTarget.value)}\n >\n <option value=\"\">(none — first provider wins)</option>\n <For each={providerNames()}>\n {(n) => <option value={n}>{n}</option>}\n </For>\n </select>\n </label></div>\n <Show when={staleDefaultProvider()}>\n <div class=\"muted\" style=\"font-size:11.5px;margin-top:4px\">\n ⚠ configured default provider <code>{staleDefaultProvider()}</code> has no provider row here\n {staleDefaultProvider() === cfgDefaultProvider()\n ? \" — the dropdown above cannot show it.\"\n : \" — it was replaced by your selection.\"}{\" \"}\n Add a provider named <code>{staleDefaultProvider()}</code> or pick a default below; otherwise agents\n fall back to the first provider.\n </div>\n </Show>\n </fieldset>\n\n {}\n <fieldset classList={{ hide: section() !== \"appearance\" }}>\n <legend>appearance</legend>\n\n <div class=\"cfggrid\">\n <label class=\"trow\">follow the system\n <input\n type=\"checkbox\"\n checked={themeAuto()}\n onchange={(e) => {\n setThemeAuto(e.currentTarget.checked);\n }}\n />\n </label>\n </div>\n {}\n <Show when={themeAuto()}>\n <div class=\"cfggrid\" style=\"margin-top:8px\">\n <label class=\"trow\">dark theme →\n <select\n class=\"w100\"\n value={sysDarkTheme()}\n onchange={(e) => {\n setSysDarkTheme(e.currentTarget.value);\n }}\n >\n <For each={customThemes().filter((t) => t.mode === \"dark\").map((t) => ({ key: t.id, label: `${t.label} (custom)` })).concat(THEMES.filter((t) => t.mode === \"dark\"))}>\n {(t) => <option value={t.key}>{t.label}</option>}\n </For>\n </select>\n </label>\n <label class=\"trow\">light theme →\n <select\n class=\"w100\"\n value={sysLightTheme()}\n onchange={(e) => {\n setSysLightTheme(e.currentTarget.value);\n }}\n >\n <For each={customThemes().filter((t) => t.mode === \"light\").map((t) => ({ key: t.id, label: `${t.label} (custom)` })).concat(THEMES.filter((t) => t.mode === \"light\"))}>\n {(t) => <option value={t.key}>{t.label}</option>}\n </For>\n </select>\n </label>\n </div>\n </Show>\n\n <h4 class=\"cfgsub\">themes</h4>\n {}\n <For each={[{ mode: \"dark\" as const, title: \"dark themes\" }, { mode: \"light\" as const, title: \"light themes\" }]}>\n {(group) => (\n <Show when={[...customThemes(), ...THEMES].some((t) => t.mode === group.mode)}>\n <div class=\"cfgsub\" style=\"margin-bottom:var(--space-1)\">{group.title}</div>\n <div class=\"themepick\">\n <For each={customThemes().filter((t) => t.mode === group.mode)}>\n {(t) => (\n <button\n type=\"button\"\n class={\"themecard\" + (themeCardChosen(t.id) ? \" on\" : \"\")}\n title={`${t.label} (custom)${t.backgroundImage ? \" · with a background image\" : \"\"}`}\n aria-pressed={themeCardChosen(t.id)}\n onclick={() => pickThemeCard(t.id, t.mode)}\n >\n <span class=\"themecard-preview\"><ThemePreview palette={t.palette} backgroundImage={t.backgroundImage} surfaceAlpha={t.surfaceAlpha} backgroundDim={t.backgroundDim} /></span>\n <span class=\"themecard-label\">{t.label} ★</span>\n </button>\n )}\n </For>\n <For each={THEMES.filter((t) => t.mode === group.mode)}>\n {(t) => (\n <button\n type=\"button\"\n class={\"themecard\" + (themeCardChosen(t.key) ? \" on\" : \"\")}\n title={`${t.label} (${t.mode})`}\n aria-pressed={themeCardChosen(t.key)}\n onclick={() => pickThemeCard(t.key, t.mode)}\n >\n <span class=\"themecard-preview\">\n <ThemePreview palette={presetPalette(t.key)} />\n </span>\n <span class=\"themecard-label\">{t.label}</span>\n </button>\n )}\n </For>\n </div>\n </Show>\n )}\n </For>\n\n <ThemeEditor\n themes={customThemes}\n activeId={fixedTheme()}\n paintedId={props.theme.paintedId()}\n onChange={(requested) => {\n let saved = saveCustomThemes(requested);\n let adopted = requested;\n if (!saved.ok) {\n const stripped = requested.map((t) =>\n t.backgroundImage\n ? {\n ...t,\n backgroundImage: undefined,\n backgroundDim: undefined,\n surfaceAlpha: undefined,\n backgroundImageBytes: undefined,\n }\n : t,\n );\n const retry = saveCustomThemes(stripped);\n if (retry.ok) {\n adopted = stripped;\n flashHint(\"storage was full — saved without the background image(s)\");\n } else {\n flashHint(retry.error ?? \"could not save theme\");\n return;\n }\n }\n setCustomThemes(adopted);\n const alive = (id: string) =>\n adopted.some((t) => t.id === id) || THEMES.some((t) => t.key === id);\n if (!alive(fixedTheme())) {\n setFixedTheme(\"dark\");\n localStorage.setItem(\"teapot.theme\", \"dark\");\n }\n if (!alive(sysDarkTheme())) {\n setSysDarkTheme(\"dark\");\n localStorage.setItem(\"teapot.theme.dark\", \"dark\");\n }\n if (!alive(sysLightTheme())) {\n setSysLightTheme(\"light\");\n localStorage.setItem(\"teapot.theme.light\", \"light\");\n }\n }}\n onPick={(id) => {\n const mode =\n customThemes().find((t) => t.id === id)?.mode ??\n THEMES.find((t) => t.key === id)?.mode ??\n \"dark\";\n const target = slotForSelection(themeAuto(), mode);\n if (target.slot === \"dark\") setSysDarkTheme(id);\n else if (target.slot === \"light\") setSysLightTheme(id);\n else setFixedTheme(id);\n }}\n />\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"runtime\" }}>\n <legend>agent runtime</legend>\n <div class=\"cfgrow\">\n <label style=\"flex:1\">\n API password\n <input\n type=\"password\"\n class=\"w100\"\n placeholder={props.cfg.hasPassword ? \"(unchanged — type to replace)\" : \"(none — loopback only)\"}\n value={apiPassword()}\n oninput={(e) => {\n setApiPassword(e.currentTarget.value);\n setApiPasswordDirty(true);\n }}\n />\n </label>\n <span class=\"muted\" style=\"font-size:11.5px;max-width:34ch\">\n bearer token for /api. empty = loopback only.\n </span>\n </div>\n <div class=\"cfggrid\">\n <NumberField label=\"progress interval (min)\" value={intervalMin()} onValue={(v) => setIntervalMin(v)} hint=\"how often the harness asks for a progress report\" />\n <NumberField label=\"progress min chars\" value={minChars()} onValue={(v) => setMinChars(v)} hint=\"progress prompts wait for this much real output\" />\n <label title=\"auto-compact threshold in k tokens. Leave EMPTY to derive per model (75% of its context window) — recommended, since models differ wildly in window size. Set only to force an absolute cap across all models.\">\n compact budget (k tok)\n <input\n type=\"number\"\n min=\"0\"\n placeholder=\"(derive: 75% of window)\"\n value={ctxBudgetK() ?? \"\"}\n oninput={(e) => setCtxBudgetK(e.currentTarget.value === \"\" ? null : Number(e.currentTarget.value))}\n />\n </label>\n <NumberField label=\"context window (k tok)\" value={ctxWinK()} onValue={(v) => setCtxWinK(v)} hint=\"model's real window — 0/blank hides the % gauge\" />\n <NumberField label=\"max spawn depth\" value={maxDepth()} onValue={(v) => setMaxDepth(v)} hint=\"sub-agent nesting limit (0 = no spawning)\" />\n </div>\n {}\n <label class=\"cfgtoggle\" title=\"prune old tool output early (at 60% of the budget) instead of waiting for the window to fill. Meant for small-window models — on a large window it throws away context you had room for.\">\n <input\n type=\"checkbox\"\n checked={shortContext()}\n onchange={(e) => setShortContext(e.currentTarget.checked)}\n />\n short-context mode\n {}\n </label>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"mcp\" }}>\n <legend>MCP servers — external tools, shared by every agent</legend>\n {}\n <div class=\"muted\" style=\"font-size:11.5px;margin-bottom:8px\">\n each tool becomes <code class=\"mono\">mcp__server__tool</code> for every agent.\n saving connects them; the status shown here is live.\n </div>\n <Show\n when={mcpServers().length > 0}\n fallback={\n <div class=\"muted\" style=\"font-size:12.5px\">\n no MCP servers. add one below — a remote url, or a local command for stdio.\n </div>\n }\n >\n <Index each={mcpServers()}>\n {(srv, i) => {\n const st = () => mcpStates()[srv().name];\n const upd = (patch: Record<string, any>) =>\n setMcpServers(mcpServers().map((x, j) => (j === i ? { ...x, ...patch } : x)));\n return (\n <div class=\"cfgcol mcpcard\">\n <div class=\"cfgrow\">\n <input\n class=\"cfgname\"\n placeholder=\"name\"\n value={srv().name}\n oninput={(e) => upd({ name: e.currentTarget.value })}\n title=\"the name that appears inside mcp__<name>__ in tool names\"\n />\n <input\n placeholder=\"https://example.com/mcp (or leave empty for a stdio command)\"\n value={srv().url ?? \"\"}\n oninput={(e) => {\n upd({ url: e.currentTarget.value });\n const mine = e.currentTarget.value.trim();\n clearTimeout(urlProbeTimers[i]);\n if (!/^https?:\\/\\//.test(mine)) return;\n urlProbeTimers[i] = setTimeout(() => {\n void probeOAuth(i, { ...mcpServers()[i], url: mine });\n }, 700);\n }}\n />\n <label style=\"display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px\">\n <input\n type=\"checkbox\"\n checked={srv().enabled !== false}\n onchange={(e) => upd({ enabled: e.currentTarget.checked })}\n />on\n </label>\n <button\n type=\"button\"\n class=\"danger\"\n onclick={() => setMcpServers(mcpServers().filter((_, j) => j !== i))}\n >✕</button>\n </div>\n <div class=\"cfgrow\">\n <input\n placeholder=\"what this server is for — e.g. reverse engineering: decompile, disassemble\"\n value={srv().description ?? \"\"}\n oninput={(e) => upd({ description: e.currentTarget.value })}\n title={\n \"shown to the model when the MCP catalog is too large to send, so it can search \" +\n \"for the right tool instead of guessing keywords\"\n }\n />\n </div>\n <div class=\"cfgrow\">\n <select\n value={srv().transport ?? \"http\"}\n onchange={(e) => upd({ transport: e.currentTarget.value })}\n title=\"streamable HTTP is the current spec; legacy SSE is the 2024-11-05 handshake; stdio spawns a local process\"\n >\n <option value=\"http\">streamable http</option>\n <option value=\"sse\">legacy http+sse</option>\n <option value=\"stdio\">stdio (local command)</option>\n </select>\n <Show when={srv().transport === \"stdio\"}>\n <>\n <input\n placeholder=\"command (e.g. npx)\"\n value={srv().command ?? \"\"}\n oninput={(e) => upd({ command: e.currentTarget.value })}\n />\n <input\n placeholder=\"args, space separated\"\n value={(srv().args ?? []).join(\" \")}\n oninput={(e) =>\n upd({ args: e.currentTarget.value.split(\" \").filter(Boolean) })\n }\n />\n </>\n </Show>\n </div>\n {}\n <div class=\"cfgrow\">\n <select\n value={oauthState(String(srv().name ?? \"\")) ? \"oauth\" : (mcpAuthKind()[i] ?? \"none\")}\n onchange={(e) => {\n const kind = e.currentTarget.value as \"none\" | \"bearer\" | \"header\" | \"json\";\n setMcpAuthKind((m) => ({ ...m, [i]: kind }));\n if (kind === \"none\") upd({ headers: undefined });\n else if (kind === \"bearer\") {\n const v = mcpAuthValue()[i] ?? \"\";\n upd({ headers: v ? { Authorization: `Bearer ${v}` } : undefined });\n } else if (kind === \"header\") {\n const hname = mcpHeaderName()[i] ?? \"\";\n const v = mcpAuthValue()[i] ?? \"\";\n upd({ headers: hname && v ? { [hname]: v } : undefined });\n }\n }}\n title=\"how this server authenticates\"\n >\n {}\n <Show when={oauthState(String(srv().name ?? \"\"))}>\n {(st) => (\n <option value=\"oauth\" selected>\n {st().authorized ? \"OAuth — authorized\" : \"OAuth — authorization needed\"}\n </option>\n )}\n </Show>\n <option value=\"none\">no auth</option>\n <option value=\"bearer\">bearer token</option>\n <option value=\"header\">custom header</option>\n <option value=\"json\">headers as JSON (advanced)</option>\n </select>\n <Show when={mcpAuthKind()[i] === \"bearer\"}>\n <input\n type=\"password\"\n placeholder=\"paste the token\"\n value={mcpAuthValue()[i] ?? \"\"}\n oninput={(e) => {\n const v = e.currentTarget.value;\n setMcpAuthValue((m) => ({ ...m, [i]: v }));\n upd({ headers: v ? { Authorization: `Bearer ${v}` } : undefined });\n }}\n title=\"sent as Authorization: Bearer <token>\"\n style=\"flex:1\"\n />\n </Show>\n <Show when={mcpAuthKind()[i] === \"header\"}>\n <input\n placeholder=\"header name\"\n value={mcpHeaderName()[i] ?? \"\"}\n oninput={(e) => {\n const hname = e.currentTarget.value;\n setMcpHeaderName((m) => ({ ...m, [i]: hname }));\n const v = mcpAuthValue()[i] ?? \"\";\n upd({ headers: hname && v ? { [hname]: v } : undefined });\n }}\n style=\"flex:0 1 150px\"\n />\n <input\n type=\"password\"\n placeholder=\"value\"\n value={mcpAuthValue()[i] ?? \"\"}\n oninput={(e) => {\n const v = e.currentTarget.value;\n setMcpAuthValue((m) => ({ ...m, [i]: v }));\n const hname = mcpHeaderName()[i] ?? \"\";\n upd({ headers: hname && v ? { [hname]: v } : undefined });\n }}\n style=\"flex:1\"\n />\n </Show>\n </div>\n <Show when={mcpAuthKind()[i] === \"json\"}>\n <div class=\"cfgrow\">\n <textarea\n class=\"mono\"\n rows={2}\n placeholder={'{\"Authorization\": \"Bearer …\", \"X-Team\": \"infra\"}'}\n value={mcpHeadersText()[i] ?? \"\"}\n oninput={(e) => {\n const t = e.currentTarget.value;\n setMcpHeadersText((m) => ({ ...m, [i]: t }));\n if (!t.trim()) upd({ headers: undefined });\n else {\n try {\n const parsed = JSON.parse(t);\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n throw new Error(\"not an object\");\n }\n upd({ headers: parsed });\n setMcpHeaderErr((m) => ({ ...m, [i]: \"\" }));\n } catch {\n setMcpHeaderErr((m) => ({ ...m, [i]: \"must be a JSON object — not applied\" }));\n }\n }\n }}\n title=\"static headers for every request. Use the bearer option unless the server needs something unusual.\"\n style=\"flex:1\"\n />\n </div>\n </Show>\n <div class=\"cfgrow\">\n <button\n type=\"button\"\n onclick={async () => {\n const patch = mcpServers()[i];\n if (!patch.name) {\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"err\", text: \"give it a name first\" } }));\n return;\n }\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"testing\", text: \"connecting…\" } }));\n const r = (await api(\"/api/mcp/test\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(patch),\n }).catch(() => null)) as\n | {\n ok?: boolean;\n tools?: { name: string; description?: string }[];\n error?: string;\n needsOAuth?: boolean;\n }\n | null;\n setMcpStatus((m) => ({\n ...m,\n [i]: r?.ok\n ? {\n kind: \"ok\",\n text: `${r.tools?.length ?? 0} tool${r.tools?.length === 1 ? \"\" : \"s\"}`,\n tools: r.tools ?? [],\n }\n : {\n kind: \"err\",\n text: r?.error ?? \"no response\",\n ...(r?.needsOAuth ? { needsOAuth: true } : {}),\n },\n }));\n if (!r?.ok) await refreshMcpOAuth(patch.name);\n }}\n title=\"connect now and list the tools — nothing is saved\"\n >test</button>\n {}\n <Show when={oauthStateFrom(mcpOAuth(), String(srv().name ?? \"\"))?.required && !oauthStateFrom(mcpOAuth(), String(srv().name ?? \"\"))?.authorized}>\n <button\n type=\"button\"\n class=\"mcpauthorize\"\n onclick={() => void startMcpOAuth(i, srv())}\n title=\"start the OAuth flow: a browser tab opens, and the tools appear when you finish\"\n >🔑 authorize</button>\n </Show>\n <Show when={oauthStateFrom(mcpOAuth(), String(srv().name ?? \"\"))?.authorized}>\n {}\n <span class=\"mcpstate connected\" title=\"an OAuth access token is usable — disconnect it under the server's details\">\n 🔑 authorized\n </span>\n </Show>\n <Show when={st()}>\n <span\n class={\"mcpstate \" + (st()?.status ?? \"\")}\n title={st()?.lastError ?? \"\"}\n >\n {st()?.status === \"connected\"\n ? `● ${st()?.tools} tools`\n : st()?.status === \"error\"\n ? \"● error\"\n : st()?.status === \"disabled\"\n ? \"● off\"\n : \"● idle\"}\n </span>\n </Show>\n </div>\n <Show when={mcpHeaderErr()[i]}>\n <div class=\"muted\" style=\"font-size:11px;color:var(--warn)\">{mcpHeaderErr()[i]}</div>\n </Show>\n <Show when={mcpStatus()[i]}>\n {(st2) => (\n <div class={\"mcpresult \" + (st2().kind === \"err\" ? \"err\" : \"ok\")}>\n <div class=\"mcpresult-head\">\n <b>{st2().text}</b>\n <Show when={st2().needsOAuth}>\n <span class=\"muted\"> · needs a grant (🔑 authorize)</span>\n </Show>\n </div>\n {}\n {}\n <Show when={(st2().tools?.length ?? 0) > 0}>\n <details class=\"mcptools-wrap\">\n <summary>show {st2().tools?.length} tool{st2().tools?.length === 1 ? \"\" : \"s\"}</summary>\n <ul class=\"mcptools\">\n <For each={st2().tools ?? []}>\n {(t2) => (\n <li title={t2.description ?? \"\"}>\n <code class=\"mono\">{t2.name}</code>\n <Show when={t2.description}>\n <span class=\"mcptool-desc\">{t2.description}</span>\n </Show>\n </li>\n )}\n </For>\n </ul>\n </details>\n </Show>\n {}\n <Show when={oauthStateFrom(mcpOAuth(), String(srv().name ?? \"\"))?.authorized}>\n <div class=\"mcpdanger\">\n <span class=\"muted\">OAuth grant</span>\n <button\n type=\"button\"\n class=\"mcpdisconnect\"\n onclick={async () => {\n if (!confirm(`Disconnect ${srv().name}?\\n\\nThe stored OAuth grant is deleted and you will have to authorize again in a browser.`)) return;\n await api(\"/api/mcp/oauth/disconnect\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ name: srv().name }),\n }).catch(() => {});\n await refreshMcpOAuth(srv().name);\n setMcpStatus((m) => ({ ...m, [i]: { kind: \"ok\", text: \"disconnected\" } }));\n }}\n title=\"forget the stored grant (the refresh token is deleted, so authorizing again needs a browser)\"\n >disconnect</button>\n </div>\n </Show>\n </div>\n )}\n </Show>\n </div>\n );\n }}\n </Index>\n </Show>\n <button\n type=\"button\"\n onclick={() => setMcpServers([...mcpServers(), { name: \"\", url: \"\", transport: \"http\", enabled: true }])}\n >+ add MCP server</button>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"tasks\" }}>\n <legend>scheduled tasks</legend>\n <Show when={tasks().length > 0}>\n <Index each={tasks()}>\n {(t, i) => (\n <div class=\"cfgcol\">\n <div class=\"cfgrow\">\n <input placeholder=\"id\" value={t().id} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, id: e.currentTarget.value } : x)))} />\n <input placeholder=\"agent id\" value={t().agent} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, agent: e.currentTarget.value } : x)))} />\n <input placeholder=\"every 30m / cron\" value={t().schedule} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, schedule: e.currentTarget.value } : x)))} />\n <label style=\"display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px\">\n <input type=\"checkbox\" checked={!!t().forked} onchange={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, forked: e.currentTarget.checked } : x)))} />fork\n </label>\n <button type=\"button\" class=\"danger\" onclick={() => setTasks(tasks().filter((_, j) => j !== i))}>✕</button>\n </div>\n <textarea rows={2} placeholder=\"prompt to send\" value={t().prompt} oninput={(e) => setTasks(tasks().map((x, j) => (j === i ? { ...x, prompt: e.currentTarget.value } : x)))} />\n </div>\n )}\n </Index>\n </Show>\n <button type=\"button\" onclick={() => setTasks([...tasks(), { id: \"\", agent: agentIds()[0] ?? \"\", schedule: \"every 30m\", prompt: \"\" }])}>+ add task</button>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"archive\" }}>\n <legend>archived agents — restore, or delete for good</legend>\n {}\n <Show\n when={archivedTop().length > 0}\n fallback={\n <div class=\"muted\" style=\"font-size:12.5px\">\n nothing archived. 🗄 archive in the controls panel puts an agent away\n without losing its history.\n </div>\n }\n >\n <For each={archivedTop()}>\n {(a) => (\n <div class=\"cfgrow archrow\">\n <div class=\"archmain\">\n <b>{a.id}</b>\n <span class=\"muted\">\n {a.sessions} session{a.sessions === 1 ? \"\" : \"s\"}\n {(a.subs ?? 0) > 0\n ? ` · +${a.subs} sub-agent${a.subs === 1 ? \"\" : \"s\"} (restored together)`\n : \"\"}\n {a.archivedAt ? ` · archived ${relTime(new Date(a.archivedAt).toISOString())}` : \"\"}\n </span>\n <span class=\"muted mono ellip\" title={a.workspace}>{a.workspace}</span>\n </div>\n <button\n type=\"button\"\n class=\"archrestore\"\n onclick={async () => {\n const r = (await api(`/api/agents/${a.id}/restore`, { method: \"POST\" }).catch(\n () => null,\n )) as { live?: boolean; ids?: string[] } | null;\n await refreshArchived();\n props.onSaved();\n const extra = (r?.ids?.length ?? 1) - 1;\n flashHint(\n (r?.live === false\n ? `restored ${a.id} — it could not be started (check its provider)`\n : `restored ${a.id}`) +\n (extra > 0 ? ` + ${extra} sub-agent${extra === 1 ? \"\" : \"s\"}` : \"\"),\n );\n }}\n title=\"bring it back and start it again — its history was never touched\"\n >↩ restore</button>\n <button\n type=\"button\"\n class=\"danger\"\n onclick={async () => {\n if (\n !confirm(\n `PERMANENTLY DELETE ${a.id}?\\n\\n` +\n `${a.sessions} session${a.sessions === 1 ? \"\" : \"s\"} of history will be ` +\n \"erased from disk along with the config entry. This cannot be undone \" +\n \"— archiving was the reversible option.\",\n )\n )\n return;\n await api(`/api/agents/${a.id}/purge`, { method: \"DELETE\" }).catch(() => {});\n await refreshArchived();\n props.onSaved();\n flashHint(`deleted ${a.id} for good`);\n }}\n title=\"erase the config entry AND every session directory — irreversible\"\n >🗑 delete</button>\n </div>\n )}\n </For>\n </Show>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"agents\" }}>\n <legend>agents (read-only — edit config file or use +)</legend>\n <For each={props.cfg.agents ?? []}>\n {(a: any) => (\n <div class=\"cfgrow\">\n <b>{a.id}</b><span class=\"muted\">{a.workspace}</span>\n <Show when={a.parent}><span class=\"muted\">🧩 sub of @{a.parent}</span></Show>\n </div>\n )}\n </For>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"update\" }}>\n <legend>live update</legend>\n <div class=\"cfgrow\">\n <span class=\"muted\">current version: {props.cfg.version ?? \"unknown\"}</span>\n <button\n type=\"button\"\n onclick={async (e) => {\n try {\n setErr(\"\");\n const btn = e.currentTarget as HTMLButtonElement;\n btn.disabled = true;\n btn.textContent = \"updating…\";\n const res = await api(\"/api/update/restart\", { method: \"POST\" });\n if (!res.ok) throw new Error((await res.json()).error ?? \"restart failed\");\n btn.textContent = \"restarting…\";\n let beforeUptime: number | null = null;\n let reloaded = false;\n for (let i = 0; i < 120 && !reloaded; i++) {\n await new Promise((r) => setTimeout(r, 1000));\n try {\n const v = (await api(\"/api/version\")) as {\n version?: string;\n uptimeSeconds?: number;\n };\n if (!v.version) continue;\n if (beforeUptime === null) beforeUptime = v.uptimeSeconds ?? null;\n const restarted =\n v.version !== __APP_VERSION__ ||\n (typeof v.uptimeSeconds === \"number\" &&\n beforeUptime !== null &&\n v.uptimeSeconds < beforeUptime);\n if (restarted) {\n reloaded = true;\n window.location.reload();\n }\n } catch {\n }\n }\n if (!reloaded) throw new Error(\"restart timeout — new server did not come up\");\n } catch (ex) {\n setErr((ex as Error).message);\n } finally {\n (e.currentTarget as HTMLButtonElement).disabled = false;\n (e.currentTarget as HTMLButtonElement).textContent = \"update & restart\";\n }\n }}\n class=\"primarybtn\"\n >\n update & restart\n </button>\n <span class=\"muted\" style=\"margin-left:8px;font-size:12px\">gracefully stops all agents, spawns new process, then reloads this page</span>\n </div>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"skills\" }}>\n <legend>skills</legend>\n {}\n <Show\n when={props.skills.length > 0}\n fallback={\n <div class=\"muted\">\n {props.hasSelection\n ? \"this session has no skills yet — the agent saves them with save_skill once a procedure proves itself\"\n : \"select a session to see the skills available to it\"}\n </div>\n }\n >\n <div class=\"skilllist\">\n <For each={props.skills}>\n {(s) => {\n const [open, setOpen] = createSignal(false);\n const [body, setBody] = createSignal<string | null>(null);\n const [err, setErr] = createSignal(\"\");\n const toggle = async () => {\n if (open()) return setOpen(false);\n setOpen(true);\n if (body() !== null || !props.agentId) return;\n try {\n const r = await api(\n `/api/agents/${props.agentId}/skills/${encodeURIComponent(s.name)}`,\n );\n setBody(String(r.text ?? \"\"));\n } catch (ex) {\n setErr((ex as Error).message);\n }\n };\n return (\n <div classList={{ skillrow: true, open: open() }}>\n <button type=\"button\" class=\"skillhead\" onclick={toggle} title=\"show the playbook\">\n <span class=\"skillcaret\">{open() ? \"▾\" : \"▸\"}</span>\n <b class=\"mono\">{s.name}</b>\n <span class=\"muted\">{s.description}</span>\n </button>\n <Show when={open()}>\n <Show\n when={body() !== null}\n fallback={<div class=\"muted skillbody\">{err() || \"loading…\"}</div>}\n >\n {}\n {}\n <div class=\"skillbody\" innerHTML={renderMarkdownCached(String(body() ?? \"\"))} />\n </Show>\n </Show>\n </div>\n );\n }}\n </For>\n </div>\n </Show>\n </fieldset>\n\n <fieldset classList={{ hide: section() !== \"help\" }}>\n <legend>help</legend>\n {}\n <div class=\"helpsec\">\n <h4 class=\"cfgsub\">this host</h4>\n {}\n <div class=\"featgrid\">\n <div class=\"featrow\">\n <b>image downscaling</b>\n <span class=\"muted\">\n {props.features\n ? props.features.imageResize.available\n ? `on — ${props.features.imageResize.tool}, long edge ≤ ${props.features.imageResize.maxEdge}px`\n : \"off — no ffmpeg / ImageMagick found; uploads are served as-is\"\n : \"checking…\"}\n </span>\n </div>\n <div class=\"featrow\">\n <b>terminal pty</b>\n <span class=\"muted\">\n {props.features\n ? props.features.pty.available\n ? `on — ${props.features.pty.provider}`\n : \"off — no pty provider; terminals run on plain pipes (no resize)\"\n : \"checking…\"}\n </span>\n </div>\n </div>\n </div>\n <div class=\"helpsec\">\n <h4 class=\"cfgsub\">keyboard</h4>\n <div class=\"helprow\"><kbd>enter</kbd><span>send (shift+enter for a newline)</span></div>\n <div class=\"helprow\"><span class=\"kbdgroup\"><kbd>↑</kbd><kbd>↓</kbd></span><span>move between sessions</span></div>\n <div class=\"helprow\"><kbd>/</kbd><span>command palette — commands and focus</span></div>\n <div class=\"helprow\"><kbd>t</kbd><span>open the terminal panel</span></div>\n <div class=\"helprow\"><kbd>d</kbd><span>toggle the details panel</span></div>\n <div class=\"helprow\"><kbd>esc</kbd><span>interrupt the running turn</span></div>\n </div>\n\n <div class=\"helpsec\">\n <h4 class=\"cfgsub\">what the toggles do</h4>\n <div class=\"helprow\">\n <b>auto-continue</b>\n <span>\n fires after a round only when all hold: the toggle is on, a goal is set and its\n status is <code>active</code>, and the round ended cleanly (not an error, not\n stopped). It stops when the goal is marked done, or when you press ■ stop.\n Sending any prompt starts an idle agent regardless.\n </span>\n </div>\n <div class=\"helprow\">\n <b>auto-compact</b>\n <span>\n when the live context passes the budget shown under 📊 runtime, older turns are\n summarized into notes and the recent stretch is kept verbatim, so work continues\n without losing the thread. Off means you compact by hand (<code>/compact</code>).\n </span>\n </div>\n <div class=\"helprow\">\n <b>messages while it works</b>\n <span>\n anything you send queues up and is handed to the model at its next turn\n boundary — the timeline shows it as \"pending (queued)…\" until then. Withdraw it\n with ✕ cancel while it is still queued.\n </span>\n </div>\n <div class=\"helprow\">\n <b>👻 ghost sessions</b>\n <span>\n a session whose workspace directory no longer exists on disk. The session log is\n intact — recreate the directory and it stops being a ghost.\n </span>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n\n {}\n <div class=\"cfgfoot\">\n <Show when={err()}><span style=\"color:var(--err);font-size:13px\">{err()}</span></Show>\n {}\n <button\n type=\"submit\"\n classList={{\n cfgsave: true,\n saved: saveState() === \"saved\",\n error: saveState() === \"error\",\n }}\n disabled={saveState() === \"saving\"}\n >\n {saveState() === \"saving\"\n ? \"saving…\"\n : saveState() === \"saved\"\n ? \"✓ saved\"\n : saveState() === \"error\"\n ? \"✕ failed\"\n : \"save settings\"}\n </button>\n </div>\n </form>\n </Modal>\n );\n}\n","\nexport interface TreeNode {\n name: string;\n path: string;\n dir: boolean;\n size?: number;\n ignored?: boolean;\n}\n\nexport type MediaKind = \"image\" | \"video\" | \"audio\";\nexport const IMAGE_EXT = new Set([\"png\", \"jpg\", \"jpeg\", \"gif\", \"webp\", \"svg\", \"bmp\", \"ico\", \"avif\"]);\nexport const VIDEO_EXT = new Set([\"mp4\", \"webm\", \"mov\", \"mkv\", \"avi\", \"m4v\"]);\nexport const AUDIO_EXT = new Set([\"mp3\", \"wav\", \"ogg\", \"m4a\", \"flac\", \"aac\", \"opus\"]);\nexport function ficon(name: string): string {\n const ext = name.split(\".\").pop()?.toLowerCase() ?? \"\";\n const mk = mediaKindOf(name);\n if (mk === \"image\") return \"🖼\";\n if (mk === \"video\") return \"🎬️\";\n if (mk === \"audio\") return \"🎵\";\n if ([\"ts\", \"tsx\", \"mts\", \"cts\"].includes(ext)) return \"🟦\";\n if ([\"js\", \"mjs\", \"cjs\", \"jsx\"].includes(ext)) return \"🟨\";\n if (ext === \"json\" || ext === \"jsonc\") return \"🧾\";\n if (ext === \"md\" || ext === \"mdx\" || ext === \"markdown\") return \"📝\";\n if (ext === \"css\" || ext === \"scss\" || ext === \"less\") return \"🎨\";\n if (ext === \"html\" || ext === \"htm\" || ext === \"svg\") return \"🌐️\";\n if ([\"py\", \"pyi\"].includes(ext)) return \"🐍\";\n if (ext === \"rs\") return \"🦀\";\n if (ext === \"go\") return \"🐹\";\n if (ext === \"java\" || ext === \"kt\" || ext === \"kts\") return \"☕️\";\n if (ext === \"rb\") return \"💎\";\n if (ext === \"php\") return \"🐘\";\n if (ext === \"c\" || ext === \"h\" || ext === \"cpp\" || ext === \"hpp\" || ext === \"cc\") return \"🧩\";\n if (ext === \"sh\" || ext === \"bash\" || ext === \"zsh\" || ext === \"fish\") return \"🐚\";\n if (ext === \"sql\") return \"🗄\";\n if (ext === \"yml\" || ext === \"yaml\" || ext === \"toml\" || ext === \"ini\" || ext === \"conf\") return \"⚙️\";\n if (ext === \"lock\") return \"🔒️\";\n if (name === \"Dockerfile\" || ext === \"dockerfile\") return \"🐳\";\n if (ext === \"zip\" || ext === \"gz\" || ext === \"tar\" || ext === \"tgz\" || ext === \"bz2\") return \"📦\";\n if (ext === \"pdf\") return \"📕\";\n if (ext === \"txt\" || ext === \"log\") return \"📄\";\n return \"·\";\n}\n\nexport function mediaKindOf(path: string): MediaKind | null {\n const ext = path.split(\".\").pop()?.toLowerCase() ?? \"\";\n if (IMAGE_EXT.has(ext)) return \"image\";\n if (VIDEO_EXT.has(ext)) return \"video\";\n if (AUDIO_EXT.has(ext)) return \"audio\";\n return null;\n}\n\nexport type FileUiState = {\n expanded: Set<string>;\n preview: { path: string; content: string; binary?: boolean; truncated?: boolean } | null;\n media: { path: string; kind: MediaKind } | null;\n viewMode: \"code\" | \"edit\" | \"md\" | \"media\";\n};\nexport const fileUi = new Map<string, FileUiState>();\nexport const fileUiFor = (agentId: string): FileUiState => {\n let s = fileUi.get(agentId);\n if (!s) {\n s = { expanded: new Set(), preview: null, media: null, viewMode: \"code\" };\n fileUi.set(agentId, s);\n }\n return s;\n};\n","import { For, Show, createEffect, createSignal, onCleanup } from \"solid-js\";\nimport { api } from \"../lib/api\";\nimport { flashHint } from \"../lib/flash\";\nimport { IconBtn, Modal } from \"./chrome\";\nimport { CodePreview } from \"./settings-parts\";\nimport { renderMarkdown } from \"../md\";\nimport { highlightChunks } from \"../lib/shiki\";\nimport { ficon, fileUiFor, mediaKindOf, type FileUiState, type TreeNode } from \"../lib/file-tree\";\nimport { fmtK } from \"../lib/timeline-row\";\n\nexport function FilesPanel(props: { agentId: string; workspace: string }) {\n const ui = fileUiFor(props.agentId);\n const [kids, setKids] = createSignal<Map<string, TreeNode[]>>(new Map());\n const [expanded, setExpandedRaw] = createSignal<Set<string>>(ui.expanded);\n const [preview, setPreviewRaw] = createSignal(ui.preview);\n const setPreview = (v: FileUiState[\"preview\"]) => { ui.preview = v; setPreviewRaw(v); };\n const setExpanded = (v: Set<string>) => { ui.expanded = v; setExpandedRaw(v); };\n const [media, setMediaRaw] = createSignal(ui.media);\n const setMedia = (v: FileUiState[\"media\"]) => { ui.media = v; setMediaRaw(v); };\n const [viewMode, setViewModeRaw] = createSignal(ui.viewMode);\n const setViewMode = (v: FileUiState[\"viewMode\"]) => { ui.viewMode = v; setViewModeRaw(v); };\n const [err, setErr] = createSignal(\"\");\n const [ignoreMode, setIgnoreMode] = createSignal(\n localStorage.getItem(\"teapot.ignoreMode\") ?? \"dim\",\n );\n const cycleIgnoreMode = () => {\n const order = [\"dim\", \"hide\", \"show\"] as const;\n const next = order[(order.indexOf(ignoreMode() as any) + 1) % 3];\n setIgnoreMode(next);\n localStorage.setItem(\"teapot.ignoreMode\", next);\n };\n const ignoreFilter = (n: TreeNode) => (ignoreMode() === \"hide\" ? !n.ignored : true);\n const [showHidden, setShowHidden] = createSignal(\n localStorage.getItem(\"teapot.showHidden\") === \"1\",\n );\n const toggleHidden = () => {\n const next = !showHidden();\n const targets = [\"\", ...expanded()];\n void Promise.all(targets.map(async (p) => ({ p, rows: await fetchDirWith(p, next) })))\n .then((results) => {\n setShowHidden(next);\n localStorage.setItem(\"teapot.showHidden\", next ? \"1\" : \"0\");\n for (const { p, rows } of results) if (rows) mergeKids(p, rows);\n });\n };\n\n const parseEntries = (parentPath: string, list: any[]): TreeNode[] =>\n list.map((e) => ({\n name: String(e.name),\n path: parentPath ? `${parentPath}/${e.name}` : String(e.name),\n dir: !!e.dir,\n ...(typeof e.size === \"number\" ? { size: e.size } : {}),\n ...(e.ignored ? { ignored: true } : {}),\n }));\n\n async function fetchDir(path: string): Promise<TreeNode[] | null> {\n return fetchDirWith(path, showHidden());\n }\n\n async function fetchDirWith(path: string, hidden: boolean): Promise<TreeNode[] | null> {\n try {\n const qs = new URLSearchParams();\n if (path) qs.set(\"path\", path);\n if (hidden) qs.set(\"hidden\", \"1\");\n const r = await api(\n `/api/agents/${props.agentId}/tree?${qs.toString()}`,\n );\n return parseEntries(path, r.entries ?? []);\n } catch (ex) {\n setErr((ex as Error).message);\n return null;\n }\n }\n\n const mergeKids = (path: string, rows: TreeNode[]) =>\n setKids((prev) => {\n const old = prev.get(path);\n if (!old) return new Map(prev).set(path, rows);\n const byPath = new Map(old.map((o) => [o.path, o]));\n const merged = rows.map((fresh) => {\n const o = byPath.get(fresh.path);\n return o && o.dir === fresh.dir && o.size === fresh.size &&\n o.ignored === fresh.ignored && o.name === fresh.name\n ? o\n : fresh;\n });\n const kept = merged.filter((m) => rows.some((r) => r.path === m.path) || ui.preview?.path === m.path);\n const next = new Map(prev);\n next.set(path, kept);\n return next;\n });\n\n let kidsFor = \"\";\n createEffect(() => {\n const id = props.agentId;\n if (id === kidsFor) return; \n kidsFor = id;\n setExpanded(new Set<string>());\n setPreview(null);\n setMedia(null);\n setKids(new Map());\n void fetchDir(\"\").then((rows) => {\n if (rows && kidsFor === id) setKids(new Map([[ \"\", rows ]]));\n });\n });\n\n const toggleDir = async (node: TreeNode) => {\n const next = new Set<string>(expanded());\n if (next.has(node.path)) {\n next.delete(node.path);\n setExpanded(next);\n return;\n }\n next.add(node.path);\n setExpanded(next);\n if (!kids().has(node.path)) {\n const rows = await fetchDir(node.path);\n if (rows) mergeKids(node.path, rows);\n }\n };\n\n const [hlHtml, setHlHtml] = createSignal(\"\");\n const [hlPending, setHlPending] = createSignal(false);\n const [editBuf, setEditBuf] = createSignal(\"\");\n const [saving, setSaving] = createSignal(false);\n const isMd = (path: string) => /\\.(md|markdown|mdx)$/i.test(path);\n let hlRun = 0;\n const startHighlighting = async (p: { path: string; content: string; truncated?: boolean }) => {\n const run = ++hlRun;\n setHlHtml(\"\");\n setHlPending(true);\n try {\n const { highlightChunks } = await import(\"../lib/shiki\");\n for await (const chunk of highlightChunks(p.path, p.content)) {\n if (hlRun !== run) return;\n setHlHtml((prev) => prev + chunk);\n }\n } catch {\n if (hlRun === run) setHlHtml(\"\"); \n } finally {\n if (hlRun === run) setHlPending(false);\n }\n };\n onCleanup(() => { hlRun++; });\n\n const openFileWith = async (\n node: TreeNode,\n mode: \"code\" | \"edit\" | \"md\",\n ) => {\n const mk = mediaKindOf(node.path);\n if (mk) {\n setPreview({ path: node.path, content: \"\", binary: true });\n setMedia({ path: node.path, kind: mk });\n setViewMode(\"media\");\n return;\n }\n try {\n const r = await api(\n `/api/agents/${props.agentId}/file?path=${encodeURIComponent(node.path)}`,\n );\n setMedia(null);\n setPreview({ path: node.path, content: r.content ?? \"\", binary: r.binary, truncated: r.truncated });\n setEditBuf(r.content ?? \"\");\n setViewMode(r.binary ? \"code\" : mode);\n if (!r.binary && mode !== \"md\") {\n startHighlighting({ path: node.path, content: r.content ?? \"\", truncated: r.truncated });\n }\n } catch (ex) {\n flashHint(`open failed: ${(ex as Error).message}`);\n }\n };\n\n const saveFile = async () => {\n const pv = preview();\n if (!pv || saving()) return;\n setSaving(true);\n try {\n await api(`/api/agents/${props.agentId}/file?path=${encodeURIComponent(pv.path)}`, {\n method: \"PUT\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ content: editBuf(), baseContent: pv.content }),\n });\n setPreview({ ...pv, content: editBuf() }); \n flashHint(`saved ${pv.path}`);\n } catch (ex) {\n const raw = (ex as { payload?: unknown }).payload;\n const conflict =\n raw && typeof raw === \"object\" && (raw as any).error === \"file changed on disk\"\n ? (raw as { current?: string })\n : null;\n if (conflict?.current !== undefined) {\n const take = confirm(\n \"This file changed on disk since you opened it.\\n\" +\n \"OK = load the disk version into the editor (your edits are discarded)\\n\" +\n \"Cancel = keep editing your copy\",\n );\n if (take) {\n setEditBuf(conflict.current!);\n setPreview({ ...pv, content: conflict.current! });\n flashHint(\"loaded the current file from disk\");\n } else {\n flashHint(\"kept your edits — use Save As via bash to force-write\");\n }\n } else {\n flashHint(`save failed: ${(ex as Error).message}`);\n }\n } finally {\n setSaving(false);\n }\n };\n\n const isEditable = (pv: { binary?: boolean; truncated?: boolean }) =>\n !pv.binary && !pv.truncated;\n\n const row = (node: TreeNode, depth: number): any => (\n <>\n <div\n class={\n \"filerow\" + (node.dir ? \" isdir\" : \"\") +\n (node.ignored && ignoreMode() === \"dim\" ? \" gitignored\" : \"\")\n }\n style={`padding-left:${depth * 13 + 8}px`}\n onclick={() => (node.dir ? void toggleDir(node) : void openFileWith(node, \"code\"))}\n title={node.dir ? `browse ${node.path}` : `preview ${node.path}`}\n >\n <span class=\"ficon\">{node.dir ? (expanded().has(node.path) ? \"▾\" : \"▸\") : ficon(node.name)}</span>\n <span class=\"fname\">{node.name}</span>\n <Show when={!node.dir && node.size !== undefined}>\n <span class=\"fsize\">{fmtK(node.size!)}</span>\n </Show>\n </div>\n <Show when={node.dir && expanded().has(node.path)}>\n <For each={(kids().get(node.path) ?? []).filter(ignoreFilter)}>{(child) => row(child, depth + 1)}</For>\n </Show>\n </>\n );\n\n const wsName = () => props.workspace.split(\"/\").filter(Boolean).pop() ?? props.workspace;\n\n /** refresh root + every expanded dir IN PLACE — mergeKids keeps unchanged\n * row objects, so the tree updates without flicker and an open file popup\n * is never touched (its state lives outside the row list entirely). */\n const [refreshing, setRefreshing] = createSignal(false);\n const refreshTree = async () => {\n if (refreshing()) return;\n setRefreshing(true);\n try {\n const targets = [\"\", ...expanded()];\n const results = await Promise.all(\n targets.map(async (p) => ({ p, rows: await fetchDirWith(p, showHidden()) })),\n );\n for (const { p, rows } of results) if (rows) mergeKids(p, rows);\n } finally {\n setRefreshing(false);\n }\n };\n\n return (\n <>\n <h3 style=\"display:flex;align-items:center;gap:6px\" title=\"the agent's workspace — lazy-loaded, dotfiles hidden; click a folder to expand, a file to preview\">\n 🗂 files <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· {wsName()}</span>\n <IconBtn\n class=\"filetoggle\"\n icon={refreshing() ? \"…\" : \"⟳\"}\n title=\"refresh the tree (root + expanded folders) — open popups are kept\"\n onClick={() => void refreshTree()}\n />\n <IconBtn\n class=\"filetoggle\"\n style=\"margin-left:auto\"\n icon={ignoreMode() === \"hide\" ? \"🙈\" : ignoreMode() === \"dim\" ? \"👁\" : \"✨\"}\n title={`gitignored files: ${ignoreMode()} — click to cycle (dim → hidden → shown)`}\n onClick={cycleIgnoreMode}\n />\n <IconBtn\n class=\"filetoggle\"\n icon={showHidden() ? \"◉.\" : \"○.\"}\n title={showHidden() ? \"dotfiles shown — click to hide\" : \"dotfiles hidden — click to show\"}\n onClick={toggleHidden}\n />\n </h3>\n <div class=\"filebox\">\n <Show\n when={(kids().get(\"\") ?? []).length > 0}\n fallback={<div class=\"muted\" style=\"padding:6px\">{err() || \"empty workspace\"}</div>}\n >\n <For each={(kids().get(\"\") ?? []).filter(ignoreFilter)}>\n {(node) => row(node, 0)}\n </For>\n </Show>\n </div>\n <Show when={preview()}>\n {(pv) => (\n <Modal title={`🗂 ${pv().path}`} onClose={() => { hlRun++; setPreview(null); setMedia(null); }}>\n <Show\n when={media()}\n fallback={\n <>\n <div class=\"filetoolbar\">\n <Show when={isMd(pv().path) && !pv().binary}>\n <button class={viewMode() === \"md\" ? \"on\" : \"\"} onclick={() => setViewMode(\"md\")} title=\"rendered markdown\">👁 preview</button>\n </Show>\n <button class={viewMode() === \"code\" ? \"on\" : \"\"} onclick={() => { setViewMode(\"code\"); if (!hlHtml()) startHighlighting({ path: pv().path, content: pv().content, truncated: pv().truncated }); }} title=\"syntax-highlighted source\">{\"</>\"} code</button>\n <Show when={isEditable(pv())}>\n <button class={viewMode() === \"edit\" ? \"on\" : \"\"} onclick={() => setViewMode(\"edit\")} title=\"edit and save back to the workspace\">✎ edit</button>\n </Show>\n </div>\n <Show\n when={!pv().binary}\n fallback={\n <div class=\"mono\" style=\"margin:0;color:var(--dim)\">\n (binary file — inspect it from the terminal)\n </div>\n }\n >\n <Show when={viewMode() === \"edit\"} fallback={\n <Show when={viewMode() === \"md\" && isMd(pv().path)} fallback={\n <CodePreview\n path={pv().path}\n content={pv().content}\n html={hlHtml()}\n pending={hlPending()}\n truncated={!!pv().truncated}\n />\n }>\n <div class=\"content mdpreview shikiwrap\" innerHTML={renderMarkdown(pv().content)} />\n </Show>\n }>\n <div class=\"fileeditor\">\n <textarea\n class=\"mono\"\n value={editBuf()}\n oninput={(e) => setEditBuf(e.currentTarget.value)}\n spellcheck={false}\n />\n <div class=\"filerow-actions\">\n <span class=\"muted\">{fmtK(editBuf().length)} bytes</span>\n <button class=\"savebtn\" disabled={saving() || editBuf() === pv().content} onclick={() => void saveFile()}>\n {saving() ? \"saving…\" : \"💾 save\"}\n </button>\n </div>\n </div>\n </Show>\n </Show>\n </>\n }\n >\n {}\n <div class=\"mediapreview\">\n <Show when={media()!.kind === \"image\"} fallback={\n <Show when={media()!.kind === \"video\"} fallback={\n <audio controls src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} />\n }>\n <video controls src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} />\n </Show>\n }>\n <img src={`/api/agents/${props.agentId}/raw?path=${encodeURIComponent(media()!.path)}`} alt={media()!.path.split(\"/\").pop()} />\n </Show>\n <div class=\"meta muted\">{media()!.kind} preview</div>\n </div>\n </Show>\n </Modal>\n )}\n </Show>\n </>\n );\n}\n","import { createSignal, onMount, onCleanup, For, Show, createMemo, createEffect, untrack, Index } from \"solid-js\";\nimport { renderMarkdown } from \"./md\";\nimport { needsSettlePin } from \"./lib/scroll-policy\";\nimport { evictOver, weighJson } from \"./lib/retention\";\nimport { renderMarkdownCached } from \"./lib/markdown\";\nimport { fmtDur } from \"./lib/format\";\nimport {\n applyDelta,\n clearLive,\n clearThinkClockIfDone,\n isTurnBoundary,\n isOwnLiveWork,\n pruneDeadLiveBuffers,\n reconcileLiveBuffer,\n} from \"./lib/live-buffer\";\nimport { buildTimelineWithCount, type TimelineEvent, type PendingEchoLike } from \"./lib/timeline\";\nimport { goalLine, isPlaceholderDetail } from \"./lib/goal-timeline\";\nimport { Card } from \"./components/card\";\nimport { slotForSelection, paintedIdFor } from \"./lib/theme-slots\";\nimport { outputLang } from \"./lib/tool-output-lang\";\nimport { mergeThemes } from \"./lib/theme-merge\";\nimport { previewLayers, veilColour, backgroundImageValue } from \"./lib/theme-preview\";\nimport { BG_WIDTHS, bgSrc, bgSrcSet } from \"./lib/bg-srcset\";\nimport { descendantsOf, shouldShowCollapseCaret, subAgentDisplayName } from \"./lib/sidebar-tree\";\nimport { copyText } from \"./lib/clipboard\";\nimport { groupedWith, type RowLike } from \"./lib/row-grouping\";\nimport { answeredQuestionIdsOf, type QuestionEvent } from \"./lib/question-answered\";\nimport { reconcilePending, type PendingEcho } from \"./lib/pending-echo\";\nimport { linkableSessionId, resolveTimelineSession } from \"./lib/session-index\";\nimport { rememberTextareaHeight, storedTextareaHeight, trackTextareaHeight } from \"./lib/textarea-size\";\nimport { deltaBelongsToTimeline, eventBelongsOnTimeline, timelineIsLive } from \"./lib/session-scope\";\nimport { retintTerminal, themeColors } from \"./lib/terminal-theme\";\nimport { shellOutcome, shellHint, outcomeMarker } from \"./lib/shell-outcome\";\nimport {\n treeRowsOf,\n sidebarRowsOf,\n workspaceOf as workspaceOfPure,\n chatGroupKeyOf,\n wsChatCountsOf,\n} from \"./lib/sidebar-tree\";\nimport { effectiveProviderOf, mayResyncProvider, modelOnProviderSwitch, modelPlaceholderFor } from \"./lib/model-selection\";\nimport { composerValueChanged, shouldWriteComposerValue } from \"./lib/composer-ime\";\nimport {\n atTail,\n AT_TAIL_PX,\n classifyScroll,\n distanceToTail,\n gapToTail,\n nextFollowing,\n shouldPin,\n shouldShowJumpToPresent,\n type ScrollCause,\n type TailSample,\n} from \"./lib/scroll-policy\";\nimport { composerHeight } from \"./lib/composer-size\";\nimport { agentLabel, agentLabelWithId } from \"./lib/agent-label\";\nimport { queuedBadgeCount } from \"./lib/queued-count\";\nimport {\n applyCustomTheme,\n loadCustomThemes,\n loadCustomThemesFromServer,\n newThemeId,\n normalizeColour,\n saveCustomThemes,\n DEFAULT_PALETTE,\n MAX_BACKGROUND_BYTES,\n PALETTE_KEYS,\n PRESET_PALETTES,\n resolveActiveTheme,\n type CustomTheme,\n type ThemePalette,\n} from \"./lib/theme-store\";\n\nimport \"@xterm/xterm/css/xterm.css\";\nimport { Terminal } from \"@xterm/xterm\";\nimport { FitAddon } from \"@xterm/addon-fit\";\nimport { clampPaneIndex, indexAfterAppend, paneIndexAfterClose, rightPaneSeed } from \"./lib/term-tabs\";\nimport { pickAfterArchive } from \"./lib/archive-target\";\nimport { shouldSendOnKey, shouldRestoreAfterSend } from \"./lib/composer-keys\";\nimport { IconBtn, CopyBtn, Modal } from \"./components/chrome\";\nimport { AnsiText, BashElapsed, HighlightedCode, ThinkingTimer } from \"./components/code\";\nimport { hasAnsi, stripAnsi } from \"./lib/ansi\";\nimport { THEMES, type ThemeMeta } from \"./lib/themes-presets\";\nimport { PROVIDER_PRESETS } from \"./lib/provider-presets\";\nimport { ficon, fileUiFor, mediaKindOf, type FileUiState, type TreeNode } from \"./lib/file-tree\";\nimport { relTime } from \"./lib/format\";\nimport { api } from \"./lib/api\";\nimport { CodePreview, NumberField, ThemePreview, TodoEditor } from \"./components/settings-parts\";\nimport { FreeTextAnswer, MessageRow, SwitchContent, ToolRow } from \"./components/rows\";\nimport { ConfigModal } from \"./components/ConfigModal\";\nimport { FilesPanel } from \"./components/FilesPanel\";\nimport {\n AUTHORS,\n HARNESS_AUTH,\n authorOf,\n fmtK,\n fmtTs,\n oneLine,\n rawOf,\n type Ev,\n} from \"./lib/timeline-row\";\n\ndeclare const __APP_VERSION__: string;\n\nconst REASONING_EFFORT_OPTIONS = [\"minimal\", \"low\", \"medium\", \"high\"] as const;\n\nconst NARROW_PX = 1100;\n\ninterface Agent {\n id: string; status: string; statusReason: string; workspace: string;\n live?: boolean;\n session: string; branch: string; goal: { status: string; text: string; verify?: string; audit?: { verdict: \"approved\" | \"changes-required\"; feedback: string; at: string } };\n sessionTitle?: string;\n workspaceMissing?: boolean;\n latestProgress: any; stats: any; model: string; provider?: string;\n reasoningEffort?: string; effortSupported?: boolean; effortOptions?: string[];\n pendingPrompts?: number;\n pendingPromptIds?: string[];\n pendingPromptQueue?: { id: string; text: string; source?: string; at?: number; images?: { url: string; name?: string }[] }[];\n todo?: string;\n parent?: string;\n autoContinue?: boolean;\n autoCompact?: boolean;\n ctx?: { usedTokens: number; compactAt: number; window: number; compactAtIsManual?: boolean; compacting?: string };\n}\n\nconst [flash, setFlash] = createSignal(\"\");\nlet flashTimer: ReturnType<typeof setTimeout> | undefined;\nconst flashHint = (msg: string) => {\n setFlash(msg);\n clearTimeout(flashTimer);\n flashTimer = setTimeout(() => setFlash(\"\"), 3200);\n};\n\nlet imeInProgress = false;\n\nconst FEED_TYPES = new Set([\n \"user\", \"message\", \"prompt\", \"tool_call\", \"tool_result\", \"progress\",\n \"state\", \"error\", \"fork\", \"goal\", \"todo\", \"question\", \"decision\", \"compaction\",\n \"audit_step\",\n \"system_note\",\n]);\nconst NOTE_FEED_TYPES = new Set([\"system_note\"]);\n\nconst RENDERED_TYPES = new Set([\n \"user\", \"message\", \"prompt\", \"tool_call\", \"tool_result\", \"progress\",\n \"error\", \"fork\", \"goal\", \"todo\", \"question\", \"decision\", \"compaction\", \"audit_step\",\n]);\n\nconst RENDERED_NOTE_EVENTS = new Set([\n \"runaway-detected\",\n \"error-retry\",\n \"background-exit\",\n \"context-compacted\",\n \"context-compaction-started\",\n]);\n\nconst hashTok = location.hash.match(/[#&]token=([^&]+)/);\nif (hashTok) {\n localStorage.setItem(\"teapot.token\", decodeURIComponent(hashTok[1]));\n history.replaceState(null, \"\", location.pathname + location.search);\n}\nconst wsTokenQuery = () => {\n const t = localStorage.getItem(\"teapot.token\");\n return t ? `?token=${encodeURIComponent(t)}` : \"\";\n};\n\nexport default function App() {\n const [agents, setAgents] = createSignal<Agent[]>([]);\n const [selected, setSelected] = createSignal<string | null>(null);\n const [timelineId, setTimelineId] = createSignal<string>(\"\");\n const [masterSessionIndex, setMasterSessionIndex] = createSignal<Map<string, string>>(new Map());\n const [sessionsByAgent, setSessionsByAgent] = createSignal<Map<string, string[]>>(new Map());\n const [sessionTitles, setSessionTitles] = createSignal<Map<string, string>>(new Map());\n let indexFetched = false;\n let indexInFlight: Promise<void> | null = null;\n async function refreshSessionIndex(force = false): Promise<void> {\n if (indexInFlight) return indexInFlight;\n if (indexFetched && !force) return;\n const run = (async () => {\n try {\n const r = await api(\"/api/sessions\");\n const byId = new Map<string, string>();\n const byAgent = new Map<string, string[]>();\n const titles = new Map<string, string>();\n for (const s of r.sessions ?? []) {\n byId.set(s.id, s.agentId);\n if (typeof s.title === \"string\" && s.title) titles.set(s.id, s.title);\n const list = byAgent.get(s.agentId) ?? [];\n list.push(s.id); \n byAgent.set(s.agentId, list);\n }\n setMasterSessionIndex(byId);\n setSessionsByAgent(byAgent);\n setSessionTitles(titles);\n indexFetched = true;\n } catch {\n }\n })();\n indexInFlight = run;\n try {\n await run;\n } finally {\n if (indexInFlight === run) indexInFlight = null;\n }\n }\n const [events, setEvents] = createSignal<Ev[]>([]);\n const [eventsTotal, setEventsTotal] = createSignal(0); \n const [branches, setBranches] = createSignal<any[]>([]);\n const [metrics, setMetrics] = createSignal<any>(null);\n const drafts = new Map<string, string>();\n const [draft, setDraft] = createSignal(drafts.get(selected() ?? \"\") ?? \"\");\n const saveDraft = (v: string) => {\n setDraft(v);\n const id = selected();\n if (id) {\n if (v) drafts.set(id, v);\n else drafts.delete(id); \n }\n };\n const [cfg, setCfg] = createSignal<any>({ providers: {} });\n const [showNew, setShowNew] = createSignal(false);\n\n const activeBgImage = () => {\n const preview = previewTheme();\n const want =\n preview ??\n (themeAuto()\n ? sysPrefersLight()\n ? sysLightTheme()\n : sysDarkTheme()\n : fixedTheme());\n return customThemes().find((t) => t.id === want)?.backgroundImage ?? \"\";\n };\n const paintedThemeId = () => {\n const want = themeAuto()\n ? sysPrefersLight()\n ? sysLightTheme()\n : sysDarkTheme()\n : fixedTheme();\n return customThemes().some((t) => t.id === want) || THEMES.some((t) => t.key === want)\n ? want\n : \"dark\";\n };\n\n const [showCfg, setShowCfg] = createSignal(false);\n let setupNudged = false;\n createEffect(() => {\n if (setupNudged || !cfg()?.needsSetup) return;\n setupNudged = true;\n requestAnimationFrame(() => {\n loadCfg();\n setShowCfg(true);\n });\n });\n createEffect(() => {\n if (!showCfg() || features()) return;\n api(\"/api/features\")\n .then((f) => setFeatures(f as never))\n .catch(() => setFeatures(null));\n });\n const announcedOAuth = new Set<string>();\n const isNarrow = () => window.innerWidth <= NARROW_PX;\n const [narrow, setNarrow] = createSignal(isNarrow());\n onMount(() => {\n const onResize = () => setNarrow(isNarrow());\n window.addEventListener(\"resize\", onResize);\n onCleanup(() => window.removeEventListener(\"resize\", onResize));\n onResize(); \n });\n\n let lastContentHeight = 0;\n let unskipAnchor: { sel: string; top: number } | null = null;\n let unskipAnchorAt = 0;\n let feedRo: ResizeObserver | undefined;\n let feedRoEl: HTMLElement | undefined;\n let feedRoRaf = 0;\n let feedRoLastBox = \"\";\n const restoreAfterBoxChange = () => {\n feedRoRaf = 0;\n const f = feedEl();\n if (!f) return;\n\n lastSampleHeight = f.scrollHeight;\n lastSampleViewport = f.clientHeight;\n if (atBottom()) {\n pinToTail();\n return;\n }\n const anchorRow = unskipAnchor;\n if (!anchorRow) return;\n const el = f.querySelector<HTMLElement>(anchorRow.sel);\n if (!el) return;\n const delta = el.getBoundingClientRect().top - anchorRow.top;\n if (delta) {\n f.scrollTop += delta;\n ledger = { top: f.scrollTop, height: f.scrollHeight };\n }\n publishGap(tailSample());\n };\n\n function resyncAfterUnskip(f: HTMLElement, anchor: { sel: string; top: number } | null): void {\n if (!anchor) return;\n const el = f.querySelector<HTMLElement>(anchor.sel);\n if (!el) return;\n const delta = el.getBoundingClientRect().top - anchor.top;\n if (Math.abs(delta) < 1) return;\n if (Math.abs(delta) > RESYNC_MAX_DELTA_PX) return;\n f.scrollTop += delta;\n ledger = { top: f.scrollTop, height: f.scrollHeight };\n }\n const scheduleRestore = () => {\n if (feedRoRaf) return;\n feedRoRaf = requestAnimationFrame(restoreAfterBoxChange);\n };\n const attachFeedObserver = (f: HTMLElement | null) => {\n if (!f) return;\n if (f === feedRoEl) return; \n feedRo ??= new ResizeObserver((entries) => {\n const box = entries[0]?.contentRect;\n const key = box ? `${Math.round(box.width)}x${Math.round(box.height)}` : \"\";\n if (key === feedRoLastBox) return; \n feedRoLastBox = key;\n scheduleRestore();\n });\n if (feedRoEl) feedRo.unobserve(feedRoEl);\n feedRoEl = f;\n feedRoLastBox = \"\";\n feedRo.observe(f);\n };\n onMount(() => {\n window.addEventListener(\"resize\", scheduleRestore);\n onCleanup(() => {\n window.removeEventListener(\"resize\", scheduleRestore);\n feedRo?.disconnect();\n feedRo = undefined;\n feedRoEl = undefined;\n if (feedRoRaf) cancelAnimationFrame(feedRoRaf);\n });\n });\n\n function firstVisibleRow(\n f: HTMLElement,\n ): { sel: string; top: number } | null {\n const rows = f.querySelectorAll<HTMLElement>(\"[data-eid]\");\n if (!rows.length) return null;\n const feedTop = f.getBoundingClientRect().top;\n const at = (i: number) => rows[i]!.getBoundingClientRect();\n let lo = 0;\n let hi = rows.length - 1;\n let found = -1;\n while (lo <= hi) {\n const mid = (lo + hi) >> 1;\n if (at(mid).bottom > feedTop) {\n found = mid;\n hi = mid - 1; \n } else {\n lo = mid + 1; \n }\n }\n if (found < 0) return null;\n const eid = rows[found]!.dataset.eid ?? \"\";\n return eid ? { sel: `[data-eid=\"${CSS.escape(eid)}\"]`, top: at(found).top } : null;\n }\n const [showRight, setShowRight] = createSignal(\n localStorage.getItem(\"teapot.panel\") !== null\n ? localStorage.getItem(\"teapot.panel\") === \"1\"\n : window.innerWidth > NARROW_PX,\n );\n const setRight = (next: boolean) => {\n setShowRight(next);\n localStorage.setItem(\"teapot.panel\", next ? \"1\" : \"0\");\n };\n const toggleRight = () => setRight(!showRight());\n const closeRight = () => {\n if (showRight()) setRight(false);\n };\n const [showLeft, setShowLeft] = createSignal(false);\n const closeLeft = () => setShowLeft(false);\n\n const [fixedTheme, setFixedTheme] = createSignal(localStorage.getItem(\"teapot.theme\") ?? \"dark\");\n const [themeAuto, setThemeAuto] = createSignal(localStorage.getItem(\"teapot.theme.auto\") === \"1\");\n const [sysLightTheme, setSysLightTheme] = createSignal(\n localStorage.getItem(\"teapot.theme.light\") ?? \"light\",\n );\n const [previewTheme, setPreviewTheme] = createSignal<string | null>(null);\n const [customThemes, setCustomThemes] = createSignal<CustomTheme[]>(loadCustomThemes());\n onMount(() => {\n void loadCustomThemesFromServer().then((remote) => {\n if (remote === null) return;\n const merged = mergeThemes(customThemes(), remote);\n setCustomThemes(merged);\n saveCustomThemes(merged);\n });\n });\n const [sysDarkTheme, setSysDarkTheme] = createSignal(\n localStorage.getItem(\"teapot.theme.dark\") ?? \"dark\",\n );\n const sysMql =\n typeof window.matchMedia === \"function\"\n ? window.matchMedia(\"(prefers-color-scheme: light)\")\n : null;\n const [sysPrefersLight, setSysPrefersLight] = createSignal(sysMql?.matches ?? false);\n onMount(() => {\n const onChange = (e: MediaQueryListEvent) => setSysPrefersLight(e.matches);\n sysMql?.addEventListener(\"change\", onChange);\n onCleanup(() => sysMql?.removeEventListener(\"change\", onChange));\n });\n createEffect(() => {\n const previewId = previewTheme();\n const want = previewId ?? (themeAuto()\n ? sysPrefersLight()\n ? sysLightTheme()\n : sysDarkTheme()\n : fixedTheme());\n const resolved = resolveActiveTheme({\n want,\n customIds: customThemes().map((t) => t.id),\n presetIds: THEMES.map((t) => t.key),\n fallback: \"dark\",\n });\n const active = resolved.active;\n const custom = customThemes().find((t) => t.id === active) ?? null;\n if (resolved.repaired) {\n if (themeAuto()) localStorage.setItem(sysPrefersLight() ? \"teapot.theme.light\" : \"teapot.theme.dark\", active);\n else localStorage.setItem(\"teapot.theme\", active);\n }\n document.documentElement.dataset.theme = active;\n applyCustomTheme(document.documentElement, custom);\n document.documentElement.dataset.appearance =\n custom?.mode ?? THEMES.find((t) => t.key === active)?.mode ?? \"dark\";\n });\n const [modelProvider, setModelProvider] = createSignal(\"\");\n const [modelDraft, setModelDraft] = createSignal(\"\");\n const [effortDraft, setEffortDraft] = createSignal(\"\");\n createEffect(() => {\n const id = selected();\n setEffortDraft(untrack(() => agents().find((a) => a.id === id)?.reasoningEffort ?? \"\"));\n });\n const [models, setModels] = createSignal<\n { id: string; contextLength?: number; pricing?: { prompt: number; completion: number }; modalities?: { input: string[]; output: string[] } }[]\n >([]);\n const providerList = () => Object.keys(cfg().providers ?? {});\n async function loadModels(prov: string) {\n if (!prov) return;\n try {\n const r = await api(`/api/models?provider=${encodeURIComponent(prov)}`);\n setModels(r.models ?? []);\n } catch { setModels([]); }\n }\n const modalityBadge = (m?: { modalities?: { input: string[]; output: string[] } }): string => {\n const icon: Record<string, string> = {\n text: \"📄\", image: \"🖼️\", audio: \"🔊\", video: \"🎬️\", file: \"📎\",\n };\n const side = (list?: string[]) =>\n (list ?? [\"text\"]).map((k) => icon[k] ?? k).join(\"\");\n if (!m?.modalities) return \"\";\n return `${side(m.modalities.input)} → ${side(m.modalities.output)}`;\n };\n const modelSpec = () => {\n const id = modelDraft().trim() || sel()?.model || \"\";\n if (!id) return \"\";\n const m = models().find((x) => x.id === id);\n if (!m) return \"\";\n const parts: string[] = [];\n const badge = modalityBadge(m);\n if (badge && badge !== \"📄 → 📄\") parts.push(badge); \n if (m.contextLength) parts.push(`ctx ${fmtK(m.contextLength)} tok`);\n const price = (p?: number) =>\n p === undefined ? \"\" : `${p * 1e6 >= 10 ? Math.round(p * 1e6) : +(p * 1e6).toFixed(1)}/M`;\n if (m.pricing) {\n const pin = price(m.pricing.prompt);\n const pout = price(m.pricing.completion);\n if (pin && pout) parts.push(`${pin} in · ${pout} out`);\n else if (pin || pout) parts.push(price(m.pricing.prompt ?? m.pricing.completion));\n }\n return parts.join(\" · \");\n };\n let _prevModelAgent: string | null = null;\n let providerTouched = false;\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const a = agents().find((x) => x.id === id);\n const prov = a?.provider || cfg().defaultProvider || providerList()[0] || \"\";\n if (!a) return;\n if (id !== _prevModelAgent) {\n _prevModelAgent = id;\n providerTouched = false; \n if (untrack(() => modelProvider()) !== prov) {\n setModelProvider(prov);\n loadModels(prov);\n }\n if (untrack(() => modelDraft())) setModelDraft(\"\");\n } else {\n const curProv = untrack(() => modelProvider());\n const curDraft = untrack(() => modelDraft());\n if (!curDraft && curProv !== prov && mayResyncProvider(providerTouched)) {\n setModelProvider(prov);\n loadModels(prov);\n }\n }\n });\n const MAX_COMPOSER_H = 360; \n const [composerMaximized, setComposerMaximized] = createSignal(false);\n const [atBottom, setAtBottom] = createSignal(true);\n let pinSettleTimer: ReturnType<typeof setTimeout> | undefined;\n const [missed, setMissed] = createSignal(0);\n const [gapToTailPx, setGapToTailPx] = createSignal(-1);\n const publishGap = (s: TailSample | null) => setGapToTailPx(s ? gapToTail(s) : -1);\n const [compacting, setCompacting] = createSignal<{ phase: string; summarized?: number } | null>(null);\n const liveIsCompact = () => liveText().startsWith(\"[compact] \");\n const liveBody = () => {\n const body = liveIsCompact() ? liveText().slice(\"[compact] \".length) : liveText();\n const CAP = 1200;\n return body.length > CAP ? \"…\" + body.slice(-CAP) : body;\n };\n createEffect(() => {\n if (!compacting()) setLive((l) => (l?.text.startsWith(\"[compact] \") ? null : l));\n });\n createEffect(() => {\n void events().length;\n void eventsTotal();\n void compacting();\n void chatEvents().length;\n void olderDone();\n void loadingFeed();\n void loadingOlder();\n const f = feedEl();\n if (!f) return;\n const height = f.scrollHeight;\n if (height === lastContentHeight) return;\n lastContentHeight = height;\n /**\n * Two frames is not always enough, and the residual gap is what #188 reports.\n *\n * This effect re-runs when the events change, which is BEFORE images and shiki finish laying out —\n * a picture that decodes a frame later makes the feed taller AFTER the pin, leaving the operator\n * 1-3px short of the bottom with no second pin. So pin again on the next frame if the height moved\n * while we were waiting, and keep the follow decision honest by only doing it while at bottom.\n */\n requestAnimationFrame(() =>\n requestAnimationFrame(() => {\n if (!atBottom()) return;\n pinToTail();\n // a late layout pass (image decode, font swap, shiki) can grow the feed again\n requestAnimationFrame(() => {\n if (!atBottom()) return;\n const h = f.scrollHeight;\n if (h !== lastContentHeight) {\n lastContentHeight = h;\n pinToTail();\n }\n });\n }),\n );\n });\n const [liveByAgent, setLiveByAgent] = createSignal<Map<string, { text: string; reasoning: string; at: number }>>(new Map());\n const live = () => {\n const id = selected();\n return id ? liveByAgent().get(id) ?? null : null;\n };\n const setLive = (patch: { text: string; reasoning: string } | null | ((cur: { text: string; reasoning: string } | null) => { text: string; reasoning: string } | null)) => {\n const id = selected();\n if (!id) return;\n setLiveByAgent((prev) => {\n const m = new Map(prev);\n const next = typeof patch === \"function\" ? patch(prev.get(id) ?? null) : patch;\n if (next) m.set(id, { ...next, at: Date.now() });\n else m.delete(id);\n return m;\n });\n };\n const settleLiveBuffer = () => {\n const buf = live();\n if (!buf) return;\n const next = reconcileLiveBuffer(buf, events(), sel()?.status);\n if (!next) setLive(null);\n else if (next.text !== buf.text || next.reasoning !== buf.reasoning) setLive(next);\n };\n const [liveText, setLiveText] = createSignal(\"\");\n const [thinkStartedAt, setThinkStartedAt] = createSignal(0);\n const liveStartedAt = () => thinkStartedAt();\n const [liveReasoning, setLiveReasoning] = createSignal(\"\");\n let liveRenderTimer: ReturnType<typeof setTimeout> | undefined;\n createEffect(() => {\n const l = live();\n if (!l) {\n clearTimeout(liveRenderTimer);\n liveRenderTimer = undefined;\n setLiveText(\"\");\n setLiveReasoning(\"\");\n return;\n }\n if (liveRenderTimer) return; \n liveRenderTimer = setTimeout(() => {\n liveRenderTimer = undefined;\n setLiveText(live()?.text ?? \"\");\n setLiveReasoning(live()?.reasoning ?? \"\");\n }, (live()?.text.length ?? 0) > 20_000 ? 250 : (live()?.text.length ?? 0) > 6_000 ? 120 : 60);\n });\n onCleanup(() => clearTimeout(liveRenderTimer));\n\n createEffect(() => {\n const list = agents();\n setLiveByAgent((prev) =>\n pruneDeadLiveBuffers(prev, (id) => list.find((x) => x.id === id)?.status),\n );\n setThinkStartedAt((cur) => clearThinkClockIfDone(cur, list, selected(), live()));\n });\n\n createEffect(() => {\n const txt = liveText();\n const rsn = live()?.reasoning ?? \"\";\n if (!txt && !rsn) return;\n requestAnimationFrame(() => {\n if (atBottom()) pinToTail();\n });\n });\n\n createEffect(() => {\n const queued = sel()?.pendingPrompts ?? 0;\n const liveIds = sel()?.pendingPromptIds;\n const key = pendingKey();\n const mine = pendingFor(key);\n const next = reconcilePending(mine, queued, liveIds);\n if (next !== mine) writePending(key, next);\n });\n\n createEffect(() => {\n const queue = sel()?.pendingPromptQueue;\n if (!queue?.length) return;\n const key = sel()?.session || pendingKey();\n const have = new Set(pendingFor(key).map((p) => p.promptId).filter(Boolean));\n const missing = queue.filter((q) => q.id && !have.has(q.id));\n if (!missing.length) return;\n writePending(key, [\n ...missing.map((q) => ({\n id: `p${q.id}`,\n text: q.text,\n at: Number(q.at) || Date.now(),\n promptId: q.id,\n images: q.images?.map((i) => i.url),\n ...(q.source ? { source: q.source } : {}),\n })),\n ...pendingFor(key),\n ]);\n });\n\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const onVisible = () => {\n if (document.visibilityState !== \"visible\") return;\n requestAnimationFrame(() => {\n if (nearBottom()) {\n setAtBottom(true);\n setMissed(0);\n scrollBottom(true);\n markReadIfFollowing();\n }\n });\n };\n document.addEventListener(\"visibilitychange\", onVisible);\n onCleanup(() => document.removeEventListener(\"visibilitychange\", onVisible));\n });\n const sel = createMemo(() => agents().find((a) => a.id === selected()));\n const queuedCount = () => {\n const mine = sel()?.session === pendingKey() || !sel()?.session;\n return queuedBadgeCount({ sameSession: !!mine, agent: sel(), echoCount: pendingCount() });\n };\n const isSelLive = (): boolean => {\n const a = sel();\n if (!a) return false;\n return a.live ?? (a.status === \"running\" || a.status === \"waiting\" || a.status === \"needs_operator\");\n };\nconst isTimelineLive = (): boolean => {\n return timelineIsLive(sel() as { id: string; session?: string } | undefined, timelineId(), isSelLive());\n };\n const [editing, setEditing] = createSignal<{ eventId: string; text: string } | null>(null);\n const _answeredIds = createMemo(() => {\n const set = new Set<string>();\n for (const e of events()) {\n if (e.type === \"tool_result\" && e.data?.name === \"ask_user\") set.add(String(e.data.callId));\n }\n return set;\n });\n const pendingBySession = new Map<string, PendingEcho[]>();\n const [pendingMsgs, setPendingMsgs] = createSignal<PendingEcho[]>([]);\n const pendingKey = (): string => timelineId() || selected() || \"?\";\n const pendingFor = (key: string): PendingEcho[] => pendingBySession.get(key) ?? [];\n const writePending = (key: string, next: PendingEcho[]): void => {\n const seen = new Set<string>();\n const deduped: PendingEcho[] = [];\n for (let i = next.length - 1; i >= 0; i--) {\n const p = next[i]!;\n const id = p.promptId;\n if (!id) {\n deduped.push(p); \n continue;\n }\n if (seen.has(id)) continue;\n seen.add(id);\n deduped.push(p);\n }\n deduped.reverse();\n if (deduped.length === 0) pendingBySession.delete(key);\n else pendingBySession.set(key, deduped);\n if (pendingKey() === key) setPendingMsgs(deduped);\n };\n\n type Notif = {\n id: string;\n agentId: string;\n kind: \"progress\" | \"finish\" | \"question\" | \"error\";\n title: string;\n body: string;\n at: number;\n read: boolean;\n eventId?: string;\n };\n const [notifs, setNotifs] = createSignal<Notif[]>([]);\n const [hideGhosts, setHideGhosts] = createSignal(\n localStorage.getItem(\"teapot.hideGhosts\") === \"1\",\n );\n const [showNotifs, setShowNotifs] = createSignal(false);\n const unreadCount = () => notifs().filter((n) => !n.read).length;\n const markSessionRead = (agentId: string) => {\n setNotifs((list) => {\n let changed = false;\n const next = list.map((n) => {\n if (n.read || n.agentId !== agentId) return n;\n changed = true;\n return { ...n, read: true };\n });\n return changed ? next : list; \n });\n };\n const markReadIfFollowing = () => {\n const id = selected();\n if (!id) return;\n if (!notifs().some((n) => !n.read && n.agentId === id)) return;\n markSessionRead(id);\n };\n const subtreeUnread = (agentId: string): number => {\n let total = notifs().filter((n) => !n.read && n.agentId === agentId).length;\n for (const child of agents()) {\n if (child.parent === agentId)\n total += subtreeUnread(child.id);\n }\n return total;\n };\n let notifSeq = 0;\n const addNotif = (n: Omit<Notif, \"id\" | \"at\" | \"read\">) => {\n setNotifs((list) =>\n [{ ...n, id: `n${++notifSeq}`, at: Date.now(), read: false }, ...list].slice(0, 50),\n );\n };\n const maybeNotify = (agentId: string, ev: any) => {\n const who = agents().find((a) => a.id === agentId)?.id ?? agentId;\n const eid = typeof ev.id === \"string\" ? ev.id : undefined;\n if (ev.type === \"message\" && ev.data?.final === true) {\n addNotif({\n agentId,\n kind: \"finish\",\n title: `${who} finished`,\n body: String(ev.data.content ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"question\") {\n addNotif({\n agentId,\n kind: \"question\",\n title: `${who} asks a question`,\n body: String(ev.data.question ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"error\") {\n addNotif({\n agentId,\n kind: \"error\",\n title: `${who} hit an error`,\n body: String(ev.data.message ?? \"\").slice(0, 300),\n eventId: eid,\n });\n } else if (ev.type === \"progress\") {\n addNotif({\n agentId,\n kind: \"progress\",\n title: `${who}: ${String(ev.data.doing ?? \"progress\")}`.slice(0, 120),\n body: [ev.data.recent && `recent: ${ev.data.recent}`, ev.data.next && `next: ${ev.data.next}`]\n .filter(Boolean)\n .join(\" · \")\n .slice(0, 300),\n eventId: eid,\n });\n }\n };\n const jumpToEvent = (eventId: string) => {\n const el = document.querySelector<HTMLElement>(`[data-eid=\"${eventId}\"]`);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n el.classList.add(\"flash-target\");\n setTimeout(() => el.classList.remove(\"flash-target\"), 1600);\n }\n };\n\n const pairInfo = createMemo(() => {\n const resFor = new Map<string, Ev>();\n const consumed = new Set<string>();\n const awaiting = new Map<string, Ev[]>();\n const orphanCalls = new Map<string, Ev>();\n for (const e of events()) {\n if (!FEED_TYPES.has(e.type)) continue;\n if (e.type === \"tool_call\") {\n const q = awaiting.get(e.data.callId) ?? [];\n q.push(e);\n awaiting.set(e.data.callId, q);\n } else if (e.type === \"tool_result\") {\n const call = awaiting.get(e.data.callId)?.shift();\n if (call) {\n resFor.set(call.id, e);\n consumed.add(e.id);\n } else {\n orphanCalls.set(e.id, e);\n }\n }\n }\n return { resFor, consumed, orphanCalls };\n }); \n const [locallyAnswered, setLocallyAnswered] = createSignal<Set<string>>(new Set());\n const markAnswered = (callId: string) => {\n if (!callId) return;\n setLocallyAnswered((prev: Set<string>): Set<string> => {\n if (prev.has(callId)) return prev;\n const next: Set<string> = new Set<string>(prev);\n next.add(callId);\n return next;\n });\n };\n const clearLocallyAnswered = () => setLocallyAnswered(new Set<string>());\n const answeredQuestionIds = createMemo(() =>\n answeredQuestionIdsOf(events() as unknown as QuestionEvent[], locallyAnswered()),\n );\n const timeline = createMemo(() =>\n buildTimelineWithCount({\n events: events() as TimelineEvent[],\n consumed: pairInfo().consumed,\n pending: pendingMsgs() as PendingEchoLike[],\n echo: echoEv as (p: PendingEchoLike) => TimelineEvent,\n feedTypes: FEED_TYPES,\n renderedTypes: RENDERED_TYPES,\n renderedNoteEvents: RENDERED_NOTE_EVENTS,\n }),\n );\n const chatEvents = () => timeline().rows as Ev[];\n const pendingCount = () => timeline().pendingCount;\n const rowIndex = createMemo(() => {\n const m = new WeakMap<Ev, number>();\n chatEvents().forEach((r, i) => m.set(r, i));\n return m;\n });\n const neighbourOf = (row: Ev, delta: number): Ev | undefined => {\n const idx = rowIndex().get(row);\n if (idx === undefined) return undefined;\n return chatEvents()[idx + delta];\n };\n const echoCache = new Map<string, Ev>();\n function echoEv(p: PendingEcho): Ev {\n const key = `${p.id}:${p.sent ? \"s\" : \"p\"}`;\n const hit = echoCache.get(key);\n if (hit) return hit;\n if (echoCache.size > 64) echoCache.clear();\n const ev: Ev = {\n id: p.id,\n seq: Number.MAX_SAFE_INTEGER,\n ts: new Date(p.at).toISOString(),\n session: sel()?.session ?? \"\",\n branch: sel()?.branch ?? \"br0\",\n parent: null,\n type: \"prompt\",\n data: {\n source: p.source ?? \"user\",\n text: p.text,\n pending: !p.sent,\n ...(p.images?.length ? { images: p.images } : {}),\n ...(p.promptId ? { promptId: p.promptId } : {}),\n },\n };\n echoCache.set(key, ev);\n return ev;\n }\n const loadCfg = () => api(\"/api/config\").then(setCfg).catch(() => {});\n const [authLocked, setAuthLocked] = createSignal(false);\n onMount(() => {\n const onUnauthorized = () => setAuthLocked(true);\n window.addEventListener(\"teapot:unauthorized\", onUnauthorized);\n onCleanup(() => window.removeEventListener(\"teapot:unauthorized\", onUnauthorized));\n });\n\n const [todoDraft, setTodoDraft] = createSignal(\"\");\n const [todoViewMode, setTodoViewMode] = createSignal(true);\n const [todoDirty, setTodoDirty] = createSignal(false);\n let todoSeededFor = \"\";\n createEffect(() => {\n const id = selected();\n const serverTodo = agents().find((a) => a.id === id)?.todo ?? \"\";\n if (id && id !== todoSeededFor) {\n todoSeededFor = id;\n setTodoDirty(false);\n setTodoDraft(serverTodo);\n } else if (id && !todoDirty()) {\n setTodoDraft(serverTodo); \n }\n });\n const saveTodo = async () => {\n const notify = (document.getElementById(\"todo-notify\") as HTMLInputElement)?.checked ?? true;\n if (!selected()) return;\n try {\n await api(`/api/agents/${selected()}/todo`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: todoDraft(), notify }),\n });\n setTodoDirty(false);\n setTodoViewMode(true);\n flashHint(`tasks saved${notify && todoDraft().trim() ? \" & notification queued\" : \"\"}`);\n refreshAgents();\n } catch (ex) {\n flashHint(`save failed: ${(ex as Error).message}`);\n }\n };\n\n const todoStats = createMemo(() => {\n let total = 0;\n let done = 0;\n for (const line of todoDraft().split(\"\\n\")) {\n const m = line.match(/^\\s*[-*+] \\[([ xX])\\]/);\n if (!m) continue;\n total++;\n if (m[1]!.toLowerCase() === \"x\") done++;\n }\n return { total, done };\n });\n\nfunction mergeAgentSnapshots(prev: Agent[], next: Agent[]): Agent[] {\n const prevById = new Map(prev.map((a) => [a.id, a]));\n return next.map((a) => {\n const p = prevById.get(a.id);\n return p && JSON.stringify(p) === JSON.stringify(a) ? p : a;\n });\n}\n\n const refreshAgents = () =>\n api(\"/api/agents\")\n .then((d) => {\n let agentSetChanged = false;\n setAgents((prev) => {\n if (prev.length !== (d.agents ?? []).length) agentSetChanged = true;\n if ((d.agents ?? []).some((a: Agent) => !prev.some((p) => p.id === a.id)))\n agentSetChanged = true;\n return mergeAgentSnapshots(prev, d.agents ?? []);\n });\n if (agentSetChanged) void refreshSessionIndex();\n })\n .catch(() => {});\n const refreshMetrics = () => api(\"/api/metrics\").then(setMetrics).catch(() => {});\n const [tasks, setTasks] = createSignal<any[]>([]);\n const loadTasks = () => api(\"/api/tasks\").then((d) => setTasks(d.tasks)).catch(() => {});\n const agentTasks = (id: string | null) => tasks().filter((t) => t.agent === id);\n\n const [expandedSubs, setExpandedSubs] = createSignal<Set<string>>((() => {\n try {\n const keys: string[] = JSON.parse(localStorage.getItem(\"teapot.expandedSubs\") ?? \"[]\");\n return new Set(keys.filter((k) => typeof k === \"string\"));\n } catch { return new Set(); }\n })());\n const [collapsedSubs, setCollapsedSubs] = createSignal<Set<string>>((() => {\n try {\n const keys: string[] = JSON.parse(localStorage.getItem(\"teapot.collapsed\") ?? \"[]\");\n return new Set(keys.filter((k) => typeof k === \"string\" && !k.startsWith(\"chat:\")));\n } catch { return new Set(); }\n })());\n const subsCollapsed = (id: string): boolean =>\n collapsedSubs().has(id) || !expandedSubs().has(id);\n const toggleCollapse = (id: string) => {\n const next = new Set(expandedSubs());\n if (next.has(id)) next.delete(id);\n else next.add(id);\n setExpandedSubs(next);\n localStorage.setItem(\"teapot.expandedSubs\", JSON.stringify([...next]));\n if (next.has(id) && collapsedSubs().has(id)) {\n const cleared = new Set(collapsedSubs());\n cleared.delete(id);\n setCollapsedSubs(cleared);\n localStorage.setItem(\"teapot.collapsed\", JSON.stringify([...cleared]));\n }\n };\n\n const _workspaceOf = (id: string): string => workspaceOfPure(agents(), id);\n const chatGroupKey = (a: Agent): string => chatGroupKeyOf(agents(), a);\n\n const [wsCollapsed, setWsCollapsed] = createSignal<Set<string>>((() => {\n try {\n const raw = JSON.parse(localStorage.getItem(\"teapot.wsCollapsed\") ?? \"[]\");\n const keys = Array.isArray(raw) ? raw.filter((x) => typeof x === \"string\") : [];\n\n const VERSION = 2;\n const marker = Number(localStorage.getItem(\"teapot.wsCollapsed.v\") ?? \"0\");\n if (marker < VERSION) {\n const kept = keys.filter((k) => !k.startsWith(\"chat:\"));\n const dropped = keys.length - kept.length;\n if (dropped > 0) {\n localStorage.setItem(\"teapot.wsCollapsed\", JSON.stringify(kept));\n }\n localStorage.setItem(\"teapot.wsCollapsed.v\", String(VERSION));\n return new Set<string>(kept);\n }\n return new Set<string>(keys);\n } catch {\n return new Set<string>();\n }\n })());\n\n const chatCollapsed = createMemo<Set<string>>(() => {\n const out = new Set<string>();\n for (const k of wsCollapsed()) if (k.startsWith(\"chat:\")) out.add(k);\n return out;\n });\n\n const treeRows = createMemo(() =>\n treeRowsOf(\n agents(),\n new Set(\n agents()\n .filter((a) => subsCollapsed(a.id))\n .map((a) => a.id),\n ),\n hideGhosts(),\n chatCollapsed(),\n ),\n );\n const toggleWsGroup = (\n groupKey: string,\n label: string,\n isCollapsed: boolean,\n alsoClear?: string,\n ) => {\n const next = new Set(wsCollapsed());\n if (isCollapsed) {\n next.delete(groupKey);\n if (alsoClear) next.delete(alsoClear);\n } else {\n next.add(groupKey);\n if (alsoClear) next.delete(alsoClear);\n const open = selected();\n if (open && (groupKey === `chat:${open}` || chatGroupKey(agents().find((x) => x.id === open)!) === groupKey))\n flashHint(`hid ${label} — click the header to show it`);\n }\n setWsCollapsed(next);\n try {\n localStorage.setItem(\"teapot.wsCollapsed\", JSON.stringify([...next]));\n } catch {\n }\n };\n const basenameOf = (p: string): string => p.replace(/\\/+$/, \"\").split(/[/\\\\]/).pop() || p;\n const wsCountLabel = (ws: string): string => {\n const n = wsChatCounts().get(ws) ?? 0;\n return `${n} chat${n === 1 ? \"\" : \"s\"}`;\n };\n const wsChatCounts = createMemo(() => wsChatCountsOf(agents()));\n const sidebarRows = createMemo(() =>\n sidebarRowsOf(agents(), treeRows(), wsCollapsed()),\n );\n\n const FEED_PAGE = 2000;\n\n const [branchFilter, setBranchFilter] = createSignal<string | null>(null);\n const evCache = new Map<string, Ev>();\n /**\n * The ONE way to drop the rendered timeline.\n *\n * `events()` was emptied in three places (session switch, archive, branch switch) but `evCache` was\n * cleared in only the first — so the other two abandoned a whole feed of event objects, and a session\n * that was archived or had its branch changed kept it alive for the life of the tab (#186). Clearing\n * the cache wherever the timeline is emptied makes that divergence impossible.\n */\n const clearTimelineState = (): void => {\n setEvents([]);\n evCache.clear();\n evCacheBytes = 0;\n };\n /** approximate bytes held by `evCache`, maintained incrementally so the cap is cheap to enforce */\n let evCacheBytes = 0;\n const EV_CACHE_MAX = 4000;\n const EV_CACHE_MAX_BYTES = 8 * 1024 * 1024;\n function cacheKey(ev: { id: string }): string {\n return `${timelineId() || (selected() ?? \"?\")}:${ev.id}`;\n }\n function stabilize(list: Ev[]): Ev[] {\n const out: Ev[] = Array.from({ length: list.length });\n for (let i = 0; i < list.length; i++) {\n const e = list[i]!;\n const k = cacheKey(e);\n const known = evCache.get(k);\n out[i] = known ?? e;\n if (!known) {\n evCache.set(k, e);\n /**\n * A COUNT cap lets a handful of huge tool results pin megabytes (#186).\n *\n * MEASURED: the median event is small, but a `tool_result` can be 8,000 chars and an image\n * event carries a data URL — 6,000 entries of those is tens of megabytes of live objects held\n * only for render stability. The cap is also on BYTES now, because \"6,000 events\" says nothing\n * about how much they weigh.\n */\n evCacheBytes += approxEventBytes(e);\n while (evCache.size > EV_CACHE_MAX || evCacheBytes > EV_CACHE_MAX_BYTES) {\n const oldest = evCache.keys().next().value;\n if (oldest === undefined) break;\n const gone = evCache.get(oldest);\n if (gone) evCacheBytes -= approxEventBytes(gone);\n evCache.delete(oldest);\n }\n }\n }\n return out;\n }\n\n const [loadingOlder, setLoadingOlder] = createSignal(false);\n const [loadingFeed, setLoadingFeed] = createSignal(false);\n const [olderDone, setOlderDone] = createSignal(false);\n let feedGeneration = 0;\n let lastBranchesGen = -1;\n\n function mergeEvents(incoming: Ev[]): void {\n const stable = stabilize(incoming);\n setEvents((prev) => {\n if (stable.length > 0 && prev.length > 0) {\n const newest = prev[prev.length - 1]!;\n const allNewer = stable.every((e) => e.seq > newest.seq);\n const known = new Set(prev.map((e) => e.id));\n if (allNewer && stable.every((e) => !known.has(e.id))) {\n return [...prev, ...stable];\n }\n }\n const map = new Map<string, Ev>();\n for (const e of prev) map.set(e.id, e);\n let added = false;\n for (const e of stable)\n if (!map.has(e.id)) {\n map.set(e.id, e);\n added = true;\n }\n if (!added) return prev;\n return [...map.values()].sort((a, b) => a.seq - b.seq);\n });\n }\n\n async function backfillUntilScrollable(): Promise<void> {\n const id = selected();\n if (!id || olderDone() || loadingOlder()) return;\n if (atBottom()) return;\n if (events().length >= eventsTotal()) {\n setOlderDone(true);\n return;\n }\n const measurable = () => {\n const f = feedEl();\n return f && f.clientHeight > 0 ? f : null;\n };\n let guard = 0;\n while (guard++ < 20 && !olderDone() && selected() === id) {\n const f = measurable();\n if (f && f.scrollHeight > f.clientHeight + 40) return; \n if (events().length >= eventsTotal()) {\n setOlderDone(true);\n return;\n }\n const before = events().length;\n await loadOlder();\n if (events().length === before) return;\n if (atTail(tailSample()) && selected() === id) scrollBottom(true);\n }\n }\n\n async function loadOlder(): Promise<void> {\n const id = selected();\n const oldest = events()[0];\n if (!id || !oldest || loadingOlder() || olderDone()) return;\n setLoadingOlder(true);\n try {\n const f = feedEl();\n const prevH = f?.scrollHeight ?? 0;\n const prevTop = f?.scrollTop ?? 0;\n const bf = branchFilter();\n const tid = timelineId();\n const res = await api(eventsUrl(id, { before: oldest.id }, tid, bf));\n const page: Ev[] = res.events ?? [];\n if (page.length === 0) { setOlderDone(true); return; }\n if (selected() !== id || events()[0]?.id !== oldest.id) return;\n mergeEvents(page);\n requestAnimationFrame(() => {\n if (selected() === id) {\n const el = feedEl();\n if (el) el.scrollTop = prevTop + (el.scrollHeight - prevH);\n }\n });\n } catch { }\n finally { setLoadingOlder(false); }\n }\n\n function sessionQuery(agentId: string, tid: string): string {\n if (!tid) return \"\";\n return masterSessionIndex().has(tid) ? `&session=${encodeURIComponent(tid)}` : \"\";\n }\n\n function eventsUrl(\n id: string,\n page: { before?: string; after?: string },\n tid: string,\n bf: string | null,\n ): string {\n const parts = [`/api/agents/${encodeURIComponent(id)}/events?limit=${FEED_PAGE}`];\n if (page.before) parts.push(`&before=${encodeURIComponent(page.before)}`);\n if (page.after) parts.push(`&after=${encodeURIComponent(page.after)}`);\n const sessQ = sessionQuery(id, tid);\n if (sessQ) parts.push(sessQ);\n if (bf) parts.push(`&branch=${encodeURIComponent(bf)}&lineage=true`);\n return parts.join(\"\");\n }\n\n async function loadEvents(id: string, sessionId?: string) {\n const genAtStart = feedGeneration;\n const tid = sessionId ?? timelineId() ?? \"\";\n try {\n const bf = branchFilter();\n const needsBranches = genAtStart !== lastBranchesGen || !branches().length;\n if (!events().length) setLoadingFeed(true);\n void api(`/api/agents/${id}/skills`)\n .then((sk) => {\n if (genAtStart === feedGeneration && selected() === id) setAgentSkills(sk.skills ?? []);\n })\n .catch(() => {});\n const [ev, br] = await Promise.all([\n api(eventsUrl(id, {}, tid, bf)),\n needsBranches\n ? api(`/api/agents/${id}/branches`)\n : Promise.resolve({ branches: branches() }),\n ]);\n if (needsBranches) lastBranchesGen = genAtStart;\n if (genAtStart !== feedGeneration || selected() !== id) return; \n setEvents((prev) => {\n const map = new Map<string, Ev>();\n for (const e of prev) map.set(e.id, e);\n for (const e of stabilize(ev.events)) map.set(e.id, e);\n return [...map.values()].sort((a, b) => a.seq - b.seq);\n });\n setEventsTotal(ev.total ?? ev.events.length);\n setBranches(br.branches);\n } catch { }\n finally { setLoadingFeed(false); }\n }\n\n function feedEl() { return document.querySelector<HTMLElement>(\".feed\"); }\n function tailSample(): TailSample | null {\n const f = feedEl();\n if (!f) return null;\n return { top: f.scrollTop, height: f.scrollHeight, viewport: f.clientHeight };\n }\n function nearBottom() {\n const s = tailSample();\n return atTail(s);\n }\n /**\n * Put the viewport on the true bottom, and keep it there until the layout stops moving.\n *\n * `scrollTop = scrollHeight` clamps to the exact (fractional) maximum, so the assignment itself is\n * right. What it cannot do is survive what happens AFTER: a scrollbar that appears or disappears, the\n * composer growing a line, a font or image finishing layout, a row settling. Each of those changes\n * `scrollHeight` or `clientHeight` and leaves the viewport a fraction short — reported as \"1秒後に\n * 1pxくらいスクロールが戻される\", and as the scrollbar reappearing after it had gone (#188 follow-up).\n *\n * So the pin is re-asserted over the next frames and once more after the layout settles. Every\n * re-check is gated on `atBottom()`, which is false the moment the operator scrolls up — so this can\n * never fight a reader.\n */\n function pinToTail() {\n const f = feedEl();\n if (!f) return;\n const apply = (): boolean => {\n if (!f.isConnected) return false;\n f.scrollTop = f.scrollHeight;\n ledger = { top: f.scrollTop, height: f.scrollHeight };\n return true;\n };\n if (!apply()) return;\n setMissed(0);\n const settle = (frames: number) => {\n if (!f.isConnected || !atBottom()) return;\n if (needsSettlePin(atBottom(), { top: f.scrollTop, height: f.scrollHeight, viewport: f.clientHeight })) apply();\n if (frames > 0) requestAnimationFrame(() => settle(frames - 1));\n };\n requestAnimationFrame(() => settle(2));\n if (pinSettleTimer) clearTimeout(pinSettleTimer);\n pinSettleTimer = setTimeout(() => settle(0), 250);\n }\n function scrollBottom(force = false) {\n if (force || atBottom()) pinToTail();\n }\n\n const timelineCache = new Map<string, { events: Ev[]; total: number; at: number; bytes: number }>();\n const scrollMemory = new Map<string, { eid: string; delta: number; atTail: boolean }>();\n const SCROLL_MEMORY_MAX = 24;\n const TIMELINE_CACHE_MAX = 6;\n /**\n * Retained sessions, in bytes, and lower than it was.\n *\n * 24MB of event objects is 1.5-3x that once JS object overhead is counted (each event is a nested\n * object with a `data` sub-object and several strings), so the previous budget could hold ~70MB of\n * heap just to make a switch feel instant (#186). Three sessions is enough for the back-and-forth the\n * operator actually does; beyond that the re-fetch is one request.\n */\n const TIMELINE_CACHE_MAX_BYTES = 8 * 1024 * 1024;\n /**\n * What an event really costs to retain.\n *\n * The old version counted only the top-level string values, ignoring `data`'s own keys and nesting —\n * a `tool_result` with 8,000 chars was counted as ~8KB when the object graph is larger. `weighJson`\n * walks the whole shape (#186).\n */\n const approxEventBytes = (e: Ev): number => weighJson(e);\n\n const latestSessionOf = (agentId: string, requested?: string | null): string | null =>\n resolveTimelineSession(\n sessionsByAgent().get(agentId),\n agents().find((a) => a.id === agentId)?.session,\n requested,\n );\n\n async function select(id: string, push = true, forceSession?: string | null) {\n const prevId = selected();\n const prevTid = timelineId();\n const prevEvents = events();\n const prevTotal = eventsTotal();\n feedGeneration++;\n if (!sessionsByAgent().size) void refreshSessionIndex(); \n const resolved = latestSessionOf(id, forceSession);\n const requested = forceSession && masterSessionIndex().has(forceSession) ? forceSession : null;\n let tid = resolved ?? requested ?? id;\n if (prevId !== id || tid !== prevTid) {\n {\n const f = feedEl();\n const anchor = f ? firstVisibleRow(f) : null;\n const outKey = prevTid || prevId;\n if (f && outKey && anchor) {\n const row = f.querySelector<HTMLElement>(anchor.sel);\n const eid = row?.dataset.eid ?? \"\";\n const atTail = f.scrollHeight - f.scrollTop - f.clientHeight <= AT_TAIL_PX;\n if (eid) scrollMemory.set(outKey, { eid, delta: f.getBoundingClientRect().top - anchor.top, atTail });\n while (scrollMemory.size > SCROLL_MEMORY_MAX) {\n const oldest = scrollMemory.keys().next().value;\n if (oldest === undefined) break;\n scrollMemory.delete(oldest);\n }\n }\n }\n if (prevTid && prevEvents.length) {\n const bytes = prevEvents.reduce((n, e) => n + approxEventBytes(e), 0);\n if (bytes <= TIMELINE_CACHE_MAX_BYTES) {\n timelineCache.set(prevTid, { events: prevEvents, total: prevTotal, at: Date.now(), bytes });\n }\n evictOver(timelineCache, { maxEntries: TIMELINE_CACHE_MAX, maxBytes: TIMELINE_CACHE_MAX_BYTES });\n }\n clearTimelineState();\n clearLocallyAnswered();\n setCompacting(null);\n setMissed(0);\n setAtBottom(scrollMemory.get(tid)?.atTail ?? true);\n lastSample = undefined;\n }\n setSelected(id);\n setTimelineId(tid);\n saveDraft(drafts.get(id) ?? \"\"); \n setBranchFilter(null);\n setOlderDone(false);\n setLoadingOlder(false);\n writePending(prevTid || prevId || \"?\", pendingMsgs());\n setPendingMsgs(pendingFor(tid || id));\n localStorage.setItem(\"teapot.session\", id);\n navigate(tid, push); \n const cached = timelineCache.get(tid);\n if (cached?.events.length) {\n setEvents(stabilize(cached.events));\n setEventsTotal(cached.total);\n setLoadingFeed(true);\n if (!scrollMemory.has(tid)) {\n requestAnimationFrame(() => {\n if (selected() === id) scrollBottom(true);\n });\n }\n }\n api(`/api/agents/${id}/load`, { method: \"POST\" }).then(refreshAgents).catch(() => {});\n await loadEvents(id, tid);\n if (selected() !== id) return; \n setLiveByAgent((prev) => {\n const cur = prev.get(id) ?? null;\n const next = reconcileLiveBuffer(cur, events(), sel()?.status);\n if (next === cur) return prev;\n const m = new Map(prev);\n if (next) m.set(id, next);\n else m.delete(id);\n return m;\n });\n setCompacting(\n sel()?.ctx?.compacting ? { phase: String(sel()!.ctx!.compacting) } : null,\n );\n const restore = scrollMemory.get(tid);\n setAtBottom(restore ? restore.atTail : true);\n requestAnimationFrame(() => {\n if (selected() !== id) return;\n if (restore) {\n const f = feedEl();\n const row = f?.querySelector<HTMLElement>(`[data-eid=\"${CSS.escape(restore.eid)}\"]`);\n if (f && row) {\n f.scrollTop += row.getBoundingClientRect().top - f.getBoundingClientRect().top + restore.delta;\n ledger = { top: f.scrollTop, height: f.scrollHeight };\n if (restore.atTail) scrollBottom(true);\n return;\n }\n if (restore.atTail) scrollBottom(true);\n return;\n }\n scrollBottom(true);\n });\n void backfillUntilScrollable();\n }\n\n const [connected, setConnected] = createSignal(false);\n let ws: WebSocket | null = null;\n let timer: ReturnType<typeof setTimeout> | null = null;\n onCleanup(() => ws?.close());\n let pendingRefresh = false;\n let onTabVisible: (() => void) | null = null;\n document.addEventListener(\"visibilitychange\", () => onTabVisible?.());\n onCleanup(() => { onTabVisible = null; });\n let firstConnect = true;\n let runFeedRefreshRef: (() => Promise<void>) | null = null;\n\n async function catchUpAfterReconnect(): Promise<void> {\n const id = selected();\n const cursor = events().at(-1)?.id;\n const tid = timelineId();\n const hidden = document.visibilityState === \"hidden\";\n if (!id || !cursor) {\n pendingRefresh = true;\n if (!hidden) void runFeedRefreshRef?.();\n return;\n }\n try {\n const bf = branchFilter();\n const q = eventsUrl(id, { after: cursor }, tid, bf);\n const r = (await api(q)) as { events?: Ev[]; gap?: boolean };\n const got = r.events ?? [];\n if (r.gap) {\n setEvents(stabilize(got));\n setEventsTotal(got.length);\n } else if (got.length) {\n mergeEvents(got);\n setEventsTotal((n) => n + got.length);\n }\n await refreshAgents();\n if (got.length && !hidden) void refreshMetrics();\n } catch {\n pendingRefresh = true;\n }\n }\n\n function connectWs() {\n firstConnect = true;\n const proto = location.protocol === \"https:\" ? \"wss://\" : \"ws://\";\n const sock = new WebSocket(`${proto}${location.host}/api/ws${wsTokenQuery()}`);\n ws = sock;\n sock.onopen = () => {\n setConnected(true);\n if (firstConnect) {\n firstConnect = false;\n return;\n }\n void catchUpAfterReconnect();\n };\n sock.onclose = () => {\n setConnected(false);\n setTimeout(connectWs, 1500); \n };\n sock.onerror = () => sock.close();\n const FEED_IRRELEVANT = new Set([\"state\", \"usage\", \"session_start\"]);\n sock.onmessage = (m) => {\n const msg = JSON.parse(m.data);\n if (msg.kind === \"ping\") {\n try {\n sock.send(JSON.stringify({ kind: \"pong\" }));\n } catch {\n }\n return;\n }\n if (msg.kind === \"pong\") return;\n if (msg.kind === \"hello\" && Array.isArray(msg.agents)) {\n setAgents((prev) => mergeAgentSnapshots(prev, msg.agents as Agent[]));\n const list = agents();\n setLiveByAgent((prev) =>\n pruneDeadLiveBuffers(prev, (id) => list.find((x) => x.id === id)?.status),\n );\n return;\n }\n if (msg.kind === \"event\" && isTurnBoundary(msg.event)) {\n setLiveByAgent((prev) => clearLive(prev, msg.agentId));\n return; \n }\n if (msg.kind === \"llm-delta\") {\n if (!deltaBelongsToTimeline(msg, selected(), timelineId())) return;\n setLiveByAgent((prev) => applyDelta(prev, msg.agentId, msg));\n if (msg.agentId === selected()) {\n const r = String(msg.reasoning ?? \"\");\n const t = String(msg.text ?? \"\");\n if (r && !t) {\n if (!thinkStartedAt()) setThinkStartedAt(Date.now());\n } else if (t) {\n setThinkStartedAt(0);\n }\n }\n return;\n }\n if (msg.kind === \"compaction-progress\") {\n if (msg.agentId !== selected()) return;\n if (msg.phase === \"done\") setCompacting(null);\n else setCompacting({ phase: msg.phase, summarized: msg.summarized });\n return;\n }\n if (msg.kind === \"agent-update\" && msg.snapshot) {\n setAgents((prev) => {\n const i = prev.findIndex((a) => a.id === msg.snapshot.id);\n const next = msg.snapshot;\n if (i === -1) return [...prev, next];\n return mergeAgentSnapshots(\n prev,\n prev.map((a, j) => (j === i ? msg.snapshot : a)),\n );\n });\n return; \n }\n if (msg.kind === \"metrics\" && msg.metrics) {\n setMetrics(msg.metrics);\n return;\n }\n if (msg.kind === \"tasks\" && Array.isArray(msg.tasks)) {\n setTasks(msg.tasks);\n return;\n }\n if (msg.kind === \"event\") {\n const et = msg.event?.type;\n const ed = msg.event?.data ?? {};\n if (et === \"system_note\" && (ed.event === \"prompt-delivered\" || ed.event === \"prompt-cancelled\")) {\n const pid = String(ed.promptId ?? \"\");\n if (pid) {\n const holder = String((msg.event as { session?: string })?.session ?? \"\");\n const keys = new Set<string>();\n if (holder) keys.add(holder);\n keys.add(pendingKey());\n for (const [k, list] of pendingBySession) if (list.some((p) => p.promptId === pid)) keys.add(k);\n for (const k of keys) {\n const cur = pendingFor(k);\n if (!cur.some((p) => p.promptId === pid)) continue;\n writePending(k, cur.filter((p) => p.promptId !== pid));\n }\n }\n }\n if (FEED_IRRELEVANT.has(et) && !NOTE_FEED_TYPES.has(et)) return;\n maybeNotify(msg.agentId, msg.event);\n if (msg.event?.agent !== selected()) return;\n if (!eventBelongsOnTimeline(msg.event as { agent?: string; session?: string }, selected(), timelineId()))\n return;\n\n /**\n * A seq gap is FILLED by the socket, not by refetching `/events`.\n *\n * The socket delivers every event, so a gap only means the server had already written events\n * this client had not seen — not that anything is missing. Refetching on each gap made the UI\n * hammer `/api/agents/:id/events` (and `/skills`) whenever a burst of events arrived, which is\n * exactly the redundant traffic the operator noticed. Only a genuine RECONNECT needs a read,\n * and `catchUpAfterReconnect()` already does that.\n */\n mergeEvents([msg.event as Ev]);\n if (msg.event) settleLiveBuffer();\n pendingRefresh = true;\n if (document.visibilityState !== \"visible\") return;\n if (timer) return;\n timer = setTimeout(runFeedRefresh, 60);\n }\n if (document.visibilityState === \"hidden\") {\n pendingRefresh = true;\n return;\n }\n if (timer) return;\n timer = setTimeout(runFeedRefresh, 120);\n };\n pendingRefresh = false;\n const runFeedRefresh = async () => {\n timer = null;\n if (selected()) {\n const beforeId = events().at(-1)?.id;\n const beforeLen = events().length;\n const buf = live();\n if (buf && !reconcileLiveBuffer(buf, events(), sel()?.status)) setLive(null);\n if (events().at(-1)?.id !== beforeId) {\n if (atBottom()) {\n pinToTail();\n markSessionRead(selected()!);\n } else {\n setMissed((n) => n + Math.max(0, events().length - beforeLen));\n publishGap(tailSample());\n }\n }\n }\n };\n runFeedRefreshRef = runFeedRefresh;\n onTabVisible = () => {\n if (document.visibilityState !== \"visible\") return;\n void refreshMetrics();\n void loadTasks();\n const id = selected();\n if (!id) return;\n if (pendingRefresh) {\n pendingRefresh = false;\n void runFeedRefresh();\n return;\n }\n const cursor = events().at(-1)?.id;\n if (!cursor) {\n pendingRefresh = true;\n void runFeedRefresh();\n return;\n }\n void catchUpAfterReconnect();\n };\n }\n\n const pathId = () => decodeURIComponent(location.pathname.split(\"/\")[2] ?? \"\");\n function navigate(sessionId: string, push = true) {\n const linkable = linkableSessionId(\n sessionId,\n masterSessionIndex(),\n agents().map((a) => a.id),\n );\n if (!linkable) return; \n const url = `/session/${encodeURIComponent(linkable)}`;\n if (push) history.pushState(null, \"\", url);\n else history.replaceState(null, \"\", url);\n }\n window.addEventListener(\"popstate\", () => {\n const sid = pathId();\n const owner = masterSessionIndex().get(sid);\n if (owner && (owner !== selected() || sid !== timelineId())) select(owner, false, sid || null);\n });\n\n createEffect(() => {\n const a = sel();\n const base = a\n ? `${isSelLive() ? \"▶ \" : a.status === \"error\" ? \"⚠ \" : \"\"}${agentLabel(a)} · teapot`\n : \"teapot\";\n document.title = unreadCount() > 0 ? `(${unreadCount()}) ${base}` : base;\n });\n const anyOverlayOpen = (): boolean =>\n showNew() || showCfg() || editing() !== null || (isNarrow() && showRight());\n\n window.addEventListener(\"keydown\", (e) => {\n const t = e.target as HTMLElement | null;\n const typing = !!t && (t.tagName === \"INPUT\" || t.tagName === \"TEXTAREA\" || t.isContentEditable);\n if (typing) {\n if (e.key === \"Escape\") (t as HTMLElement).blur();\n return;\n }\n if (e.key === \"Escape\") {\n if (showNew()) { setShowNew(false); return; }\n if (showCfg()) { setShowCfg(false); return; }\n if (editing()) { setEditing(null); return; }\n if (isNarrow() && showRight()) { closeRight(); return; }\n const s = sel();\n if (s && isSelLive()) {\n api(`/api/agents/${s.id}/stop`, { method: \"POST\" }).then(refreshAgents);\n return;\n }\n return;\n }\n if (anyOverlayOpen()) return;\n if (e.key === \"/\") {\n e.preventDefault();\n document.querySelector<HTMLTextAreaElement>(\".composer textarea\")?.focus();\n } else if (e.key === \"d\") {\n toggleRight();\n } else if (e.key === \"t\") {\n toggleTerm();\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n const list = treeRows().map((r) => r.a);\n if (list.length === 0) return;\n e.preventDefault();\n const idx = list.findIndex((a) => a.id === selected());\n const next = e.key === \"ArrowDown\" ? Math.min(idx + 1, list.length - 1) : Math.max(idx - 1, 0);\n if (next !== idx) select(list[next].id);\n }\n });\n\n const [termOpen, setTermOpen] = createSignal(localStorage.getItem(\"teapot.term\") === \"1\");\n type BgJob = {\n id: string; cmd: string; owner: string; running: boolean; code: number | null;\n startedAt: number; tail: string; bytes: number; truncated: boolean;\n detached?: boolean; pid?: number | null;\n };\n const [bgJobs, setBgJobs] = createSignal<BgJob[]>([]);\n const [showBg, setShowBg] = createSignal(false);\n const refreshBg = async () => {\n const id = selected();\n if (!id) return;\n const r = (await api(`/api/agents/${encodeURIComponent(id)}/bg-jobs`).catch(() => null)) as { jobs?: BgJob[] } | null;\n if (r?.jobs) setBgJobs(r.jobs);\n };\n createEffect(() => {\n void selected();\n void refreshBg();\n });\n createEffect(() => {\n if (!showBg()) return;\n const t = setInterval(() => void refreshBg(), 2000);\n onCleanup(() => clearInterval(t));\n });\n\n const [renaming, setRenaming] = createSignal(false);\n const [renameDraft, setRenameDraft] = createSignal(\"\");\n const beginRename = () => {\n const a = sel();\n if (!a) return;\n setRenameDraft(agentLabel(a));\n setRenaming(true);\n };\n const commitRename = async () => {\n if (!renaming()) return; \n const a = sel();\n setRenaming(false);\n const next = renameDraft().replace(/\\s+/g, \" \").trim();\n if (!a || !next || next === agentLabel(a)) return;\n const r = (await api(\n `/api/agents/${encodeURIComponent(a.id)}/session-title?session=${encodeURIComponent(a.session)}`,\n { method: \"PUT\", headers: { \"content-type\": \"application/json\" }, body: JSON.stringify({ title: next }) },\n ).catch((e) => ({ error: String(e) }))) as { title?: string; error?: string };\n if (r?.error) {\n flashHint(`rename failed: ${r.error}`);\n return;\n }\n setSessionTitles((m) => new Map(m).set(a.session, next));\n void refreshAgents();\n };\n\n const toggleTerm = () => {\n const next = !termOpen();\n setTermOpen(next);\n localStorage.setItem(\"teapot.term\", next ? \"1\" : \"0\");\n };\n\n type TermTab = { key: string; agentId: string; title: string };\n type TermSession = {\n el: HTMLDivElement;\n term: any;\n fit: any;\n ws: WebSocket;\n ro: ResizeObserver | null;\n };\n const [termTabs, setTermTabs] = createSignal<TermTab[]>([]);\n const [paneL, setPaneL] = createSignal(0);\n const [paneR, setPaneR] = createSignal(-1);\n const [splitView, setSplitView] = createSignal(false);\n const [focusedPane, setFocusedPane] = createSignal(0);\n const [termHeight, setTermHeight] = createSignal(\n Number(localStorage.getItem(\"teapot.termH\")) ||\n Math.max(220, Math.round(window.innerHeight * 0.35)),\n );\n const liveTerms = new Map<string, TermSession>();\n let termSeq = 0;\n const paneHosts: (HTMLDivElement | null)[] = [null, null];\n\n const activeTab = () =>\n termTabs()[focusedPane() === 0 ? paneL() : paneR()] ?? null;\n\n function focusTab(i: number) {\n const tab = termTabs()[i];\n if (!tab) return;\n const focused = focusedPane();\n const mineIdx = focused === 0 ? paneL() : paneR();\n const otherIdx = focused === 0 ? paneR() : paneL();\n const setMine = (v: number) => (focused === 0 ? setPaneL(v) : setPaneR(v));\n const setOther = (v: number) => (focused === 0 ? setPaneR(v) : setPaneL(v));\n if (otherIdx === i) {\n setOther(mineIdx);\n setMine(i);\n return;\n }\n if (mineIdx !== i) setMine(i);\n }\n\n const addFromSelected = () => addTab();\n\n async function addTab(agentId?: string) {\n const who = agentId ?? selected();\n if (!who) return;\n if (termTabs().filter((t) => t.agentId === who).length >= 10) {\n flashHint(`max 10 shells per agent (${who}) — that's already a lot`);\n return;\n }\n try {\n const r = (await api(\"/api/terminals\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ agentId: who }),\n })) as { terminal?: { id: string; agentId: string; title: string } };\n const t = r.terminal;\n if (!t) {\n flashHint(\"could not open a shell\");\n return;\n }\n const at = indexAfterAppend(termTabs());\n setTermTabs((list) => [...list, { key: t.id, agentId: t.agentId, title: t.title }]);\n if (focusedPane() === 0) setPaneL(at);\n else setPaneR(at);\n } catch (ex) {\n flashHint(`could not open a shell: ${(ex as Error).message}`);\n }\n }\n\n function closeTab(i: number) {\n const tab = termTabs()[i];\n if (!tab) return;\n void api(`/api/terminals/${encodeURIComponent(tab.key)}`, { method: \"DELETE\" }).catch(() => {});\n const s = liveTerms.get(tab.key);\n if (s) {\n s.ro?.disconnect();\n try { s.ws.close(); } catch { }\n s.term.dispose();\n liveTerms.delete(tab.key);\n }\n const rest = termTabs().filter((_, j) => j !== i);\n setTermTabs(rest);\n setPaneL((p) => paneIndexAfterClose(p, i, rest.length));\n setPaneR((p) => (p === -1 ? -1 : paneIndexAfterClose(p, i, rest.length)));\n }\n\n createEffect(() => {\n void themeAuto();\n void fixedTheme();\n void sysPrefersLight();\n void sysLightTheme();\n void sysDarkTheme();\n for (const [, s] of liveTerms) retintTerminal(s.term);\n });\n\n function disposeAllTerms() {\n for (const [, s] of liveTerms) {\n s.ro?.disconnect();\n try { s.ws.close(); } catch { }\n s.term.dispose();\n }\n liveTerms.clear();\n }\n\n function ensureSession(tab: TermTab, host: HTMLElement): TermSession {\n let s = liveTerms.get(tab.key);\n if (s) retintTerminal(s.term);\n if (!s) {\n const el = document.createElement(\"div\");\n el.className = \"termsession\";\n host.appendChild(el);\n const t = new Terminal({\n cursorBlink: true,\n fontSize: 12.5,\n fontFamily: 'ui-monospace, Menlo, Consolas, monospace',\n theme: themeColors(),\n });\n const f = new FitAddon();\n t.loadAddon(f);\n t.open(el);\n const proto = location.protocol === \"https:\" ? \"wss://\" : \"ws://\";\n const termUrl = () =>\n `${proto}${location.host}/api/agents/${encodeURIComponent(tab.agentId)}/term?terminal=${encodeURIComponent(tab.key)}${wsTokenQuery()}`;\n let w = new WebSocket(termUrl());\n let reconnectTimer: ReturnType<typeof setTimeout> | undefined;\n let permanent = false;\n const wire = (sock: WebSocket) => {\n sock.onmessage = (m) => {\n const msg = JSON.parse(m.data);\n if (msg.kind === \"data\") t.write(msg.data);\n else if (msg.kind === \"ping\") {\n } else if (msg.kind === \"exit\") {\n permanent = true;\n t.write(`\\r\\n\\x1b[2m[terminal exited ${msg.code ?? \"\"}]\\x1b[0m\\r\\n`);\n setTermTabs((list) => list.filter((x) => x.key !== tab.key));\n liveTerms.get(tab.key)?.term.dispose();\n liveTerms.delete(tab.key);\n } else if (msg.kind === \"attach\" && msg.error) {\n permanent = true;\n t.write(`\\r\\n\\x1b[2m[${msg.error}]\\x1b[0m\\r\\n`);\n }\n };\n sock.onclose = () => {\n if (permanent || !liveTerms.has(tab.key)) return; \n if (reconnectTimer) return;\n t.write(`\\r\\n\\x1b[2m[connection lost — reconnecting…]\\x1b[0m\\r\\n`);\n reconnectTimer = setTimeout(function again() {\n reconnectTimer = undefined;\n if (!liveTerms.has(tab.key)) return; \n const next = new WebSocket(termUrl());\n w = next;\n wire(next);\n next.addEventListener(\"open\", () => pushResize());\n }, 1500);\n };\n };\n wire(w);\n t.onData((d: string) => {\n if (w.readyState === WebSocket.OPEN) w.send(JSON.stringify({ kind: \"input\", data: d }));\n });\n let last = { cols: 0, rows: 0 };\n let pendingRetry: ReturnType<typeof setInterval> | undefined;\n const resizeTimer: ReturnType<typeof setTimeout>[] = [];\n const pushResize = () => {\n try { f.fit(); } catch { }\n if (w.readyState !== WebSocket.OPEN) {\n scheduleRetry();\n return;\n }\n if (t.cols !== last.cols || t.rows !== last.rows) {\n last = { cols: t.cols, rows: t.rows };\n w.send(JSON.stringify({ kind: \"resize\", cols: t.cols, rows: t.rows }));\n }\n };\n function scheduleRetry() {\n if (pendingRetry) return;\n pendingRetry = setInterval(() => {\n if (!liveTerms.has(tab.key)) {\n clearInterval(pendingRetry);\n pendingRetry = undefined;\n return;\n }\n if (w.readyState === WebSocket.OPEN) {\n clearInterval(pendingRetry);\n pendingRetry = undefined;\n pushResize();\n }\n }, 400);\n };\n w.addEventListener(\"open\", () => pushResize());\n const measureEl = el.parentElement ?? el;\n const ro = new ResizeObserver(() => {\n if (resizeTimer[0]) clearTimeout(resizeTimer[0]);\n resizeTimer[0] = setTimeout(pushResize, 250);\n });\n ro.observe(measureEl);\n if (measureEl !== el) ro.observe(el); \n setTimeout(pushResize, 60);\n s = { el, term: t, fit: f, ws: w, ro };\n liveTerms.set(tab.key, s);\n } else if (s.el.parentElement !== host) {\n host.appendChild(s.el); \n setTimeout(() => { try { s!.fit(); } catch { } }, 30);\n }\n return s;\n }\n\n function mountPane(idx: number) {\n const host = paneHosts[idx];\n if (!host) return;\n const tab = termTabs()[idx === 0 ? paneL() : paneR()];\n if (!tab) {\n const owned = [...liveTerms.values()].some((t) => t.el.parentElement === host);\n if (owned) host.replaceChildren();\n return;\n }\n const s = ensureSession(tab, host);\n for (const [key, other] of liveTerms) {\n if (key !== tab.key && other.el.parentElement === host) other.el.remove();\n }\n requestAnimationFrame(() => {\n if (s.el.parentElement !== host) host.appendChild(s.el);\n try { s.fit(); } catch { }\n if (focusedPane() === (idx === 0 ? 0 : 1)) {\n try { s.term.focus(); } catch { }\n }\n });\n }\n\n createEffect(() => {\n void termTabs();\n void splitView();\n void paneL();\n void paneR();\n void termHeight();\n requestAnimationFrame(() => {\n mountPane(0);\n if (splitView()) mountPane(1);\n });\n });\n\n let _termFollowAgent: string | null = null;\n createEffect(() => {\n if (!termOpen()) return;\n const id = selected();\n if (!id) return;\n if (id === _termFollowAgent) return;\n _termFollowAgent = id;\n const mine = termTabs()\n .map((t, i) => ({ t, i }))\n .filter((x) => x.t.agentId === id);\n if (mine.length) {\n focusTab(mine[mine.length - 1]!.i);\n }\n });\n\n createEffect(() => {\n const n = termTabs().length;\n const l = clampPaneIndex(paneL(), n);\n if (l !== paneL()) setPaneL(l);\n if (splitView()) {\n const r = clampPaneIndex(paneR(), n);\n if (r !== paneR()) setPaneR(r);\n }\n });\n\n const startGrip = (e: PointerEvent) => {\n e.preventDefault();\n const startY = e.clientY;\n const startH = termHeight();\n const move = (ev: PointerEvent) => {\n const h = Math.min(Math.max(startH - (ev.clientY - startY), 140), Math.round(window.innerHeight * 0.85));\n setTermHeight(h);\n };\n const up = () => {\n window.removeEventListener(\"pointermove\", move);\n window.removeEventListener(\"pointerup\", up);\n localStorage.setItem(\"teapot.termH\", String(termHeight()));\n requestAnimationFrame(() => { mountPane(0); if (splitView()) mountPane(1); });\n };\n window.addEventListener(\"pointermove\", move);\n window.addEventListener(\"pointerup\", up);\n };\n\n const toggleSplit = () => {\n const next = !splitView();\n setSplitView(next);\n if (next) {\n if (paneR() < 0 || paneR() === paneL() || paneR() >= termTabs().length) {\n setPaneR(rightPaneSeed(paneL(), termTabs().length));\n }\n }\n requestAnimationFrame(() => { mountPane(0); if (splitView()) mountPane(1); });\n };\n\n onCleanup(disposeAllTerms);\n\n const setPaneHost = (idx: number) => (el: HTMLDivElement) => {\n paneHosts[idx] = el;\n if (el) requestAnimationFrame(() => {\n mountPane(idx);\n if (splitView()) mountPane(1);\n setTimeout(() => mountPane(idx), 200);\n });\n };\n\n onMount(() => {\n loadCfg();\n refreshAgents().then(async () => {\n await refreshSessionIndex();\n const want = pathId();\n const owner = want ? masterSessionIndex().get(want) : undefined;\n const initial =\n (owner ? agents().find((a) => a.id === owner) : undefined) ??\n agents().find((a) => a.id === want && !masterSessionIndex().has(want)) ??\n agents().find((a) => a.id === localStorage.getItem(\"teapot.session\")) ??\n agents()[0];\n if (initial) select(initial.id, false, want || null);\n });\n refreshMetrics();\n loadTasks();\n loadPersonas();\n connectWs();\n void api(\"/api/terminals\")\n .then((r: { terminals?: { id: string; agentId: string; title: string }[] }) => {\n const list = r.terminals ?? [];\n if (!list.length) return;\n setTermTabs(list.map((t) => ({ key: t.id, agentId: t.agentId, title: t.title })));\n if (termOpen()) {\n setPaneL(0);\n setPaneR(-1);\n }\n })\n .catch(() => {\n });\n onCleanup(() => {});\n });\n\n const SLASH_COMMANDS = [\n { cmd: \"/start\", desc: \"start working toward the goal\" },\n { cmd: \"/stop\", desc: \"interrupt the running agent\" },\n { cmd: \"/fork\", desc: \"branch the conversation here\" },\n { cmd: \"/goal\", desc: \"/goal <text> — set goal & notify the agent\" },\n { cmd: \"/compact\", desc: \"force a context compaction now\" },\n { cmd: \"/skill\", desc: \"/skill <name> — force-load a skill and follow it\" },\n ];\n\n const [personas, setPersonas] = createSignal<{ key: string; label: string }[]>([]);\n const loadPersonas = () => api(\"/api/personas\").then((d) => setPersonas(d.personas)).catch(() => {});\n const [mentionFork, setMentionFork] = createSignal(false);\n const mentionQuery = () => {\n const m = draft().match(/^@([A-Za-z0-9._-]*)$/);\n return m ? m[1]!.toLowerCase() : null;\n };\n const mentionMatches = () => {\n const q = mentionQuery();\n if (q === null) return [];\n const list = [\n ...personas().map((p) => ({ key: p.key, label: `${p.label} — spawns a sub-agent`, kind: \"persona\" as const })),\n ...agents()\n .filter((a) => a.id !== selected())\n .map((a) => ({ key: a.id, label: `${a.status} — send directly`, kind: \"agent\" as const })),\n ];\n return list.filter((x) => x.key.toLowerCase().startsWith(q));\n };\n // oxlint-disable-next-line no-unused-vars\n const filteredCmds = () => {\n const d = draft();\n if (!d.startsWith(\"/\") || d.includes(\" \") || d.includes(\"\\n\")) return [];\n return SLASH_COMMANDS.filter((c) => c.cmd.slice(1).startsWith(d.slice(1).toLowerCase()));\n };\n\n type Suggest = { insert: string; title: string };\n const NO_ARG_COMMANDS = new Set([\"start\", \"stop\", \"fork\", \"compact\"]);\n const [agentSkills, setAgentSkills] = createSignal<{ name: string; description: string }[]>([]);\n const [features, setFeatures] = createSignal<{\n imageResize: { available: boolean; tool: string | null; maxEdge: number; found: { name: string; present: boolean }[] };\n pty: { available: boolean; provider: string | null };\n } | null>(null);\n const [cmdIdx, setCmdIdx] = createSignal(-1);\n const suggestions = (): Suggest[] => {\n const d = draft();\n if (!d.startsWith(\"/\") || d.includes(\"\\n\")) return [];\n const m = d.match(/^\\/([a-z]*)(?:\\s+(.*))?$/i);\n if (!m) return [];\n const cmdName = m[1]!.toLowerCase();\n const argPart = (m[2] ?? \"\").trim();\n if (!argPart && cmdName !== \"skill\") {\n const rows = SLASH_COMMANDS.filter((c) => c.cmd.slice(1).startsWith(cmdName));\n const exact = rows.find((c) => c.cmd.slice(1) === cmdName);\n if (exact && NO_ARG_COMMANDS.has(cmdName)) return [];\n return rows.map((c) => ({ insert: c.cmd + \" \", title: c.desc }));\n }\n if (cmdName === \"skill\") {\n let rows = agentSkills().filter((s) => s.name.toLowerCase().startsWith(argPart.toLowerCase()));\n if (rows.length === 1 && rows[0]!.name.toLowerCase() === argPart.toLowerCase()) return [];\n return rows.map((s) => ({ insert: `/skill ${s.name} `, title: s.description || \"(bundled skill)\" }));\n }\n return [];\n };\n // oxlint-disable-next-line no-unassigned-vars\n let composerEl: HTMLTextAreaElement | undefined;\n let composerMirror: HTMLDivElement | undefined;\n let composerMirrorHost: HTMLDivElement | undefined;\n let composerMirrorStyleAdded = false;\n function measureComposerContent(el: HTMLTextAreaElement): number {\n if (!composerMirror) {\n composerMirror = document.createElement(\"div\");\n composerMirror.setAttribute(\"aria-hidden\", \"true\");\n const s = composerMirror.style;\n s.position = \"absolute\";\n s.visibility = \"hidden\";\n s.pointerEvents = \"none\";\n s.top = \"0\";\n s.left = \"-9999px\";\n s.whiteSpace = \"pre-wrap\";\n s.overflowWrap = \"anywhere\";\n s.wordBreak = \"break-word\";\n composerMirror.dataset.mirror = \"\";\n }\n const cs = getComputedStyle(el);\n for (const prop of [\n \"font-family\", \"font-size\", \"font-weight\", \"line-height\", \"letter-spacing\",\n \"padding-top\", \"padding-bottom\", \"padding-left\", \"padding-right\",\n \"border-top-width\", \"border-bottom-width\", \"box-sizing\",\n ]) {\n composerMirror.style.setProperty(prop, cs.getPropertyValue(prop));\n }\n composerMirror.style.width = `${el.clientWidth}px`;\n composerMirror.setAttribute(\"data-mirror-text\", el.value.endsWith(\"\\n\") ? `${el.value} ` : el.value);\n if (!composerMirrorHost) {\n composerMirrorHost = document.createElement(\"div\");\n composerMirrorHost.setAttribute(\"aria-hidden\", \"true\");\n composerMirrorHost.style.cssText =\n \"position:absolute;left:-9999px;top:0;pointer-events:none\";\n document.body.appendChild(composerMirrorHost);\n }\n if (composerMirror.parentElement !== composerMirrorHost) composerMirrorHost.appendChild(composerMirror);\n if (!composerMirrorStyleAdded) {\n const style = document.createElement(\"style\");\n style.textContent = '[data-mirror]::after{content:attr(data-mirror-text);white-space:pre-wrap;display:block}';\n document.head.appendChild(style);\n composerMirrorStyleAdded = true;\n }\n return composerMirror.scrollHeight;\n }\n let lastAppliedContentH = 0;\n const autosizeComposer = () => {\n if (!composerEl) return;\n const maximized = composerMaximized();\n if (!composerEl.value && !maximized) {\n composerEl.style.height = \"\";\n lastAppliedContentH = 0;\n return;\n }\n const contentH = measureComposerContent(composerEl);\n const wanted = maximized ? -1 : composerHeight(contentH, MAX_COMPOSER_H);\n composerEl.style.height = wanted === -1 ? \"\" : `${wanted}px`;\n lastAppliedContentH = contentH;\n };\n let lastSample: TailSample | undefined;\n let ledger: { top: number; height: number } | null = null;\n let lastSampleHeight: number | undefined;\n const RESYNC_BUDGET_PER_GESTURE = 4;\n const RESYNC_MAX_DELTA_PX = 240;\n let resyncBudget = RESYNC_BUDGET_PER_GESTURE;\n let lastSampleViewport: number | undefined;\n createEffect(() => {\n const v = draft(); \n if (!composerEl) return;\n if (!shouldWriteComposerValue(imeInProgress)) return;\n if (composerValueChanged(composerEl.value, v)) composerEl.value = v;\n autosizeComposer();\n });\n onMount(() => {\n let pending = 0;\n const onResize = () => {\n if (pending) return;\n pending = requestAnimationFrame(() => {\n pending = 0;\n autosizeComposer();\n });\n };\n window.addEventListener(\"resize\", onResize);\n onCleanup(() => {\n window.removeEventListener(\"resize\", onResize);\n if (pending) cancelAnimationFrame(pending);\n });\n });\n\n const [pendingImages, setPendingImages] = createSignal<{ url: string; name: string }[]>([]);\n const addImages = (files: FileList | File[]) => {\n const list = Array.from(files).filter((f) => f.type.startsWith(\"image/\"));\n for (const f of list) {\n if (f.size > 8_000_000) {\n flashHint(`\"${f.name}\" is over 8 MB — skipped`);\n continue;\n }\n const reader = new FileReader();\n reader.onload = () => {\n setPendingImages((prev) =>\n [...prev, { url: String(reader.result), name: f.name }].slice(0, 4),\n );\n };\n reader.readAsDataURL(f);\n }\n };\n const sendText = async (text: string, targetId?: string, source?: \"harness\") => {\n const id = targetId ?? selected();\n if (!id) return;\n const images = pendingImages();\n const echoKey = agents().find((a) => a.id === id)?.session || id;\n try {\n const r = await api(`/api/agents/${id}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text, start: true, ...(source ? { source } : {}), ...(images.length ? { images } : {}) }),\n });\n writePending(echoKey, [\n ...pendingFor(echoKey),\n {\n id: `@p${Date.now()}${Math.random().toString(36).slice(2, 6)}`,\n text,\n at: Date.now(),\n promptId: (r as any).promptId,\n ...(images.length ? { images: images.map((i) => i.url) } : {}),\n },\n ]);\n setPendingImages([]);\n if (shouldRestoreAfterSend(composerMaximized())) setComposerMaximized(false);\n autosizeComposer();\n if (atBottom()) {\n requestAnimationFrame(() => {\n if (atBottom()) pinToTail();\n });\n }\n } catch (ex) {\n saveDraft(text); \n console.error(\"send failed:\", ex);\n }\n };\n\n const send = async (e: Event) => {\n e.preventDefault();\n const id = selected();\n const text = draft().trim();\n if (!id || !text) return;\n\n if (text.startsWith(\"@\")) {\n const sp = text.indexOf(\" \");\n const name = (sp === -1 ? text.slice(1) : text.slice(1, sp)).toLowerCase();\n const arg = sp === -1 ? \"\" : text.slice(sp + 1).trim();\n const isPersona = personas().some((p) => p.key.toLowerCase() === name);\n const knownAgent = agents().some((a) => a.id.toLowerCase() === name);\n try {\n if (isPersona) {\n if (!arg) { flashHint(`usage: @${name} <task>`); return; }\n const r = await api(`/api/agents/${selected()}/spawn`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ persona: name, task: arg, context: mentionFork() ? \"fork\" : \"none\" }),\n });\n flashHint(`🧩 spawned ${(r as any).id}${mentionFork() ? \" (forked context)\" : \"\"}`);\n refreshAgents(); saveDraft(\"\");\n } else if (knownAgent) {\n if (!arg) { flashHint(`usage: @${name} <message>`); return; }\n await api(`/api/agents/${encodeURIComponent(name)}/prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ text: arg, start: true }),\n });\n flashHint(`→ delivered to @${name}`);\n saveDraft(\"\");\n } else {\n flashHint(`unknown @${name} — personas: ${personas().map((p) => p.key).join(\", \") || \"(none)\"}`);\n return;\n }\n } catch (ex) {\n flashHint(`@${name} failed: ${(ex as Error).message}`);\n }\n return;\n }\n\n if (text.startsWith(\"/\")) {\n const sp = text.indexOf(\" \");\n const name = (sp === -1 ? text.slice(1) : text.slice(1, sp)).toLowerCase();\n const arg = sp === -1 ? \"\" : text.slice(sp + 1).trim();\n if (name === \"goal\" && !arg) { saveDraft(\"/goal \"); return; } \n if (name === \"skill\" && !arg) { saveDraft(\"/skill \"); return; }\n saveDraft(\"\");\n try {\n await executeSlash(name, arg);\n } catch (ex) {\n saveDraft(draft() ? `${text}\\n${draft()}` : text);\n throw ex;\n }\n return;\n }\n\n saveDraft(\"\");\n await sendText(text);\n };\n\n const executeSlash = async (name: string, arg: string): Promise<void> => {\n const id = selected();\n if (!id) return;\n const post = (p: string, body?: unknown) =>\n api(`/api/agents/${id}${p}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n ...(body !== undefined ? { body: JSON.stringify(body) } : {}),\n }).then(refreshAgents);\n try {\n if (name === \"start\") await post(\"/start\");\n else if (name === \"stop\") await post(\"/stop\");\n else if (name === \"fork\") { await post(\"/fork\", {}); await select(id); }\n else if (name === \"compact\") {\n const r: any = await post(\"/compact\");\n flashHint(r?.ran ? \"context compacted\" : \"nothing to compact yet\");\n }\n else if (name === \"goal\") {\n if (!arg) { flashHint(\"usage: /goal <text>\"); return; }\n await post(\"/goal\", { text: arg, notify: true });\n flashHint(\"goal saved & notification queued\");\n }\n else if (name === \"skill\") {\n if (!arg) { flashHint(\"usage: /skill <name>\"); return; }\n await sendText(\n `[harness] Force-load and follow the skill \"${arg}\" now: call load_skill(\"${arg}\") and execute its playbook for the current task.`,\n undefined,\n \"harness\",\n );\n flashHint(`skill \"${arg}\" dispatched`);\n }\n else {\n flashHint(`unknown command \"${name}\" — /start /stop /fork /goal /skill /compact`);\n }\n } catch (ex) {\n flashHint(`/${name} failed: ${(ex as Error).message}`);\n }\n };\n\n let rightbarEl: HTMLDivElement | undefined;\n let rightbarTop = 0;\n createEffect(() => {\n agents(); \n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!rightbarEl) return;\n const target = Math.min(rightbarTop, rightbarEl.scrollHeight);\n if (Math.abs(rightbarEl.scrollTop - target) > 1) rightbarEl.scrollTop = target;\n });\n });\n });\n const act = (path: string) =>\n () => selected() && api(`/api/agents/${selected()}${path}`, { method: \"POST\" }).then(refreshAgents);\n\n const archiveSelected = async () => {\n const id = selected();\n if (!id) return;\n const doomed = new Set([id, ...descendantsOf(agents(), id).map((a) => a.id)]);\n const subs = doomed.size - 1;\n if (\n !confirm(\n `archive agent ${id}?\\n\\n` +\n (subs > 0 ? `Its ${subs} sub-agent${subs === 1 ? \"\" : \"s\"} will be archived too.\\n\\n` : \"\") +\n \"They stop running and leave the list, but the config and full session history are \" +\n \"KEPT — restore any of them from ⚙️ settings → archive.\",\n )\n )\n return;\n await api(`/api/agents/${id}/archive`, { method: \"POST\" }).catch(() => {});\n setAgents(agents().filter((a) => !doomed.has(a.id)));\n void refreshSessionIndex(true);\n const next = pickAfterArchive(agents(), doomed);\n if (next) select(next.id);\n else {\n setSelected(null);\n clearTimelineState();\n }\n };\n\n const stopChildren = async () => {\n if (!selected()) return;\n const r = await api(`/api/agents/${selected()}/stop-children`, { method: \"POST\" });\n flashHint(`stopped: ${((r as any).stopped ?? []).join(\", \") || \"(none)\"}`);\n refreshAgents();\n };\n\n const forkSelected = () =>\n api(`/api/agents/${sel()!.id}/fork`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: \"{}\",\n }).then(async () => {\n await refreshSessionIndex(true);\n await select(sel()!.id);\n });\n\n const [goalDraft, setGoalDraft] = createSignal(\"\");\n const [goalHeight, setGoalHeight] = createSignal(storedTextareaHeight(\"goal\"));\n const [goalPreviewHeight, setGoalPreviewHeight] = createSignal(storedTextareaHeight(\"goalPreview\"));\n const goalPreviewStyle = (): Record<string, string> => {\n const base: Record<string, string> = {\n \"max-height\": \"none\",\n \"overflow-y\": \"auto\",\n resize: \"vertical\",\n };\n if (goalPreviewHeight() > 0) base.height = `${goalPreviewHeight()}px`;\n return base;\n };\n const trackGoalPreviewHeight = (el: HTMLElement) => {\n const stop = trackTextareaHeight(el, (h) => {\n setGoalPreviewHeight((cur) => {\n if (Math.abs(cur - h) < 1) return cur;\n rememberTextareaHeight(\"goalPreview\", h);\n return h;\n });\n });\n onCleanup(stop);\n };\n const goalHeightStyle = () => (goalHeight() > 0 ? { height: `${goalHeight()}px` } : undefined);\n const trackGoalHeight = (el: HTMLTextAreaElement) => {\n const stop = trackTextareaHeight(el, (h) => {\n setGoalHeight((cur) => {\n if (Math.abs(cur - h) < 1) return cur;\n rememberTextareaHeight(\"goal\", h);\n return h;\n });\n });\n onCleanup(stop);\n };\n const [goalVerifyDraft, setGoalVerifyDraft] = createSignal(\"\");\n const [_goalDirty, setGoalDirty] = createSignal(false);\n const [goalNotify, setGoalNotify] = createSignal(true);\n let goalSeededFor = \"\";\n createEffect(() => {\n const id = selected();\n if (!id) return;\n const g = sel()?.goal;\n if (id !== goalSeededFor) {\n goalSeededFor = id; \n setGoalDirty(false);\n setGoalDraft(\"\");\n setGoalVerifyDraft(\"\");\n void g; \n }\n });\n const setGoal = async (e: Event) => {\n e.preventDefault();\n if (!selected() || !goalDraft().trim()) return;\n try {\n await api(`/api/agents/${selected()}/goal`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n text: goalDraft(),\n notify: goalNotify(),\n ...(goalVerifyDraft().trim() ? { verify: goalVerifyDraft() } : {}),\n }),\n });\n setGoalDraft(\"\");\n setGoalVerifyDraft(\"\");\n setGoalDirty(false);\n refreshAgents();\n } catch (ex) {\n flashHint(`goal save failed: ${(ex as Error).message}`);\n }\n };\n\n return (\n <>\n <Show when={authLocked()}>\n <div class=\"overlay\">\n <div class=\"modal\" style=\"max-width:360px\">\n <div class=\"modal-head\"><b>🔒️ sign in</b><span /></div>\n <form\n onsubmit={(e) => {\n e.preventDefault();\n const el = document.getElementById(\"pw-input\") as HTMLInputElement;\n localStorage.setItem(\"teapot.token\", el.value);\n location.reload();\n }}\n style=\"display:flex;flex-direction:column;gap:10px\"\n >\n <input id=\"pw-input\" type=\"password\" placeholder=\"password\" autofocus />\n <button type=\"submit\" class=\"primarybtn\">unlock</button>\n <span class=\"muted\" style=\"font-size:11px\">the token is stored locally and sent as Bearer to this server only</span>\n </form>\n </div>\n </div>\n </Show>\n {}\n <Show when={activeBgImage()}>\n {(src) => (\n <div class=\"bgphoto\" aria-hidden=\"true\">\n <img\n src={bgSrc(src(), BG_WIDTHS[BG_WIDTHS.length - 1])}\n srcset={bgSrcSet(src())}\n sizes=\"100vw\"\n alt=\"\"\n decoding=\"async\"\n />\n <span class=\"bgphoto-veil\" />\n </div>\n )}\n </Show>\n <div class={\"layout\" + (showRight() ? \"\" : \" right-hidden\") + (showLeft() ? \" left-open\" : \"\")}>\n {}\n <Show when={narrow() && showLeft()}>\n <div class=\"leftbarbackdrop\" onclick={closeLeft} />\n </Show>\n {}\n <nav class={\"sidebar\" + (showLeft() ? \" open\" : \"\")}>\n {}\n <Show when={narrow()}>\n <div class=\"sidehead\">\n <b>agents</b>\n <button class=\"iconbtn\" title=\"close the agent list\" onclick={closeLeft}>✕</button>\n </div>\n </Show>\n <div class=\"agent-list\">\n <For each={sidebarRows()}>\n {(row) => (\n <>\n {}\n <Show when={row.wsHeader !== undefined && row.wsHeader !== \"\"}>\n <div\n class=\"wsheader\"\n title={\n row.wsCollapsedGroup\n ? `${row.wsHeader} — collapsed (${wsCountLabel(row.wsHeader!)} hidden). Click to show.`\n : (wsChatCounts().get(row.wsHeader!) ?? 0) > 1\n ? `${row.wsHeader} — ${wsCountLabel(row.wsHeader!)} in this directory`\n : row.wsHeader || \"\"\n }\n onclick={() => toggleWsGroup(`ws:${row.wsHeader}`, basenameOf(row.wsHeader!), row.wsCollapsedGroup === true, row.collapsedVia)}\n ><span class=\"wscaret\">{row.wsCollapsedGroup ? \"▸\" : \"▾\"}</span>{basenameOf(row.wsHeader!)}\n {}\n <Show when={(wsChatCounts().get(row.wsHeader!) ?? 0) > 1 || row.wsCollapsedGroup}>\n <span class=\"wscount\">{wsChatCounts().get(row.wsHeader!) ?? 0}</span>\n </Show>\n </div>\n </Show>\n {}\n {}\n <Show when={!row.headerOnly && !row.wsCollapsedGroup}>\n <div\n class={\"agent-item\" + (row.a.id === selected() ? \" sel\" : \"\") + (row.depth > 0 ? \" sub-row\" : \"\") + (row.chatCollapsedGroup ? \" collapsed\" : \"\")}\n style={row.depth > 0 ? `padding-left:${10 + row.depth * 14}px` : \"\"}\n // a COLLAPSED chat must be selectable. What made it read as\n // unselectable was its APPEARANCE — `opacity: .5` plus\n // `cursor: default`, so a collapsed parent looked greyed out and\n // disabled. That was a styling bug, and it is fixed in the CSS:\n // the name is full-contrast and the row keeps `cursor: pointer`.\n //\n // an earlier version of this ALSO expanded the chat on\n // select. That was my over-correction — the operator's collapse\n // state is theirs, and forcing it open on every visit made the\n // sub-agent list impossible to keep out of the way. Clicking the\n // row now only selects; the CARET is the control that expands,\n // and both directions remain reversible.\n onclick={() => select(row.a.id)}\n title={\n row.a.parent\n ? \n (() => {\n const named = subAgentDisplayName(row.a.id, personas().map((p) => p.key));\n return named\n ? `sub-agent of @${row.a.parent} — \"${named}\"`\n : `sub-agent of @${row.a.parent}`;\n })()\n : undefined\n }\n >\n {}\n {}\n <Show\n when={shouldShowCollapseCaret({\n isSub: !!row.a.parent,\n collapsed: row.chatCollapsedGroup === true,\n hasChildren: agents().some((x) => x.parent === row.a.id),\n })}\n fallback={<span class=\"caret-spacer\" />}\n >\n {(() => {\n const isChat = !row.a.parent;\n const off = isChat\n ? chatCollapsed().has(`chat:${row.a.id}`) || subsCollapsed(row.a.id)\n : subsCollapsed(row.a.id);\n return (\n <span\n class=\"caret\"\n title={\n isChat\n ? off\n ? `show ${row.a.id}`\n : `hide ${row.a.id} and its sub-agents`\n : off\n ? \"expand sub-agents\"\n : \"collapse sub-agents\"\n }\n onclick={(e: MouseEvent) => {\n e.stopPropagation();\n if (isChat) {\n if (off) {\n if (!expandedSubs().has(row.a.id)) {\n const next = new Set(expandedSubs());\n next.add(row.a.id);\n setExpandedSubs(next);\n localStorage.setItem(\"teapot.expandedSubs\", JSON.stringify([...next]));\n }\n if (collapsedSubs().has(row.a.id)) {\n const next = new Set(collapsedSubs());\n next.delete(row.a.id);\n setCollapsedSubs(next);\n localStorage.setItem(\"teapot.collapsed\", JSON.stringify([...next]));\n }\n } else if (expandedSubs().has(row.a.id)) {\n const next = new Set(expandedSubs());\n next.delete(row.a.id);\n setExpandedSubs(next);\n localStorage.setItem(\"teapot.expandedSubs\", JSON.stringify([...next]));\n }\n toggleWsGroup(`chat:${row.a.id}`, row.a.id, off);\n } else toggleCollapse(row.a.id);\n }}\n >{off ? \"▸\" : \"▾\"}</span>\n );\n })()}\n </Show>\n {}\n <span\n class={`dot ${row.a.status}`}\n title={\n row.a.status === \"needs_operator\"\n ? \"waiting for your answer\"\n : row.a.status === \"waiting\"\n ? \"waiting on its own work — resumes by itself\"\n : row.a.status\n }\n />\n <span\n class={row.a.workspaceMissing ? \" ghost\" : \"\"}\n title={\n row.a.workspaceMissing\n ? `workspace not found on disk (${row.a.workspace}) — it will be created when this session runs`\n : agentLabelWithId({ id: row.a.id, sessionTitle: row.a.sessionTitle ?? sessionTitles().get(row.a.session ?? \"\") })\n }\n >{agentLabel({ id: row.a.id, sessionTitle: row.a.sessionTitle ?? sessionTitles().get(row.a.session ?? \"\") })}</span>\n {row.a.workspaceMissing ? <span class=\"ghosttag\" title=\"workspace missing\">👻</span> : null}\n <Show when={subtreeUnread(row.a.id) > 0}>\n <span class=\"notifbadge\" title={`${subtreeUnread(row.a.id)} unread notification${subtreeUnread(row.a.id) > 1 ? \"s\" : \"\"} (including sub-agents)`}>\n 🔔️{subtreeUnread(row.a.id)}\n </span>\n </Show>\n {}\n <Show\n when={\n subsCollapsed(row.a.id) ||\n (row.chatCollapsedGroup === true && chatCollapsed().has(`chat:${row.a.id}`))\n }\n >\n {(() => {\n const kids = descendantsOf(agents(), row.a.id);\n const running = kids.filter(\n (k) => k.live ?? (k.status === \"running\" || k.status === \"waiting\" || k.status === \"needs_operator\"),\n ).length;\n return kids.length > 0 ? (\n <span\n class={\"subcount\" + (running > 0 ? \" live\" : \"\")}\n title={`${kids.length} sub-agent${kids.length > 1 ? \"s\" : \"\"} (${running} active)`}\n >\n 🧩 {kids.length}{running > 0 ? ` · ▶${running}` : \"\"}\n </span>\n ) : null;\n })()}\n </Show>\n <Show when={row.a.parent}><span class=\"subtag\">🧩</span></Show>\n <Show when={agentTasks(row.a.id).length > 0}>\n <span class=\"mini-cron\" title={agentTasks(row.a.id).map((t) => `${t.id}: ${t.schedule}`).join(\"\\n\")}>⏰</span>\n </Show>\n <Show when={row.a.goal.status === \"done\"}><span class=\"goaldone\" title=\"goal done\">✓</span></Show>\n </div>\n </Show>\n </>\n )}\n </For>\n </div>\n <div class=\"sidebar-footer\">\n {}\n <div class=\"footer-row\" style=\"justify-content:flex-end\">\n <button\n class={\"iconbtn notifbtn\" + (unreadCount() > 0 ? \" has-unread\" : \"\")}\n title={unreadCount() > 0 ? `${unreadCount()} unread notifications` : \"notifications\"}\n onclick={(e: MouseEvent) => {\n e.stopPropagation();\n setShowNotifs(!showNotifs());\n if (!showNotifs()) setNotifs((l) => l.map((n) => ({ ...n, read: true })));\n }}\n >\n 🔔️<Show when={unreadCount() > 0}><i class=\"notifdot\">{unreadCount()}</i></Show>\n </button>\n <IconBtn\n icon=\"👻\"\n active={hideGhosts()}\n title={hideGhosts() ? \"show ghost sessions again (👻 workspace missing on disk)\" : \"hide ghost sessions (👻 — their workspace directory no longer exists)\"}\n onClick={(e) => {\n e.stopPropagation();\n const next = !hideGhosts();\n setHideGhosts(next);\n localStorage.setItem(\"teapot.hideGhosts\", next ? \"1\" : \"0\");\n if (next && selected() && sel()?.workspaceMissing) {\n const firstVisible = agents().find((a) => !a.workspaceMissing);\n if (firstVisible) select(firstVisible.id);\n }\n }}\n />\n <IconBtn icon=\"+\" title=\"new agent\" onClick={() => { loadCfg(); setShowNew(true); }} />\n {}\n <IconBtn icon=\"⚙️\" title=\"settings\" onClick={() => { loadCfg(); setShowCfg(true); }} />\n </div>\n <div class=\"brand-row\">\n <div class=\"brand\">\n 🫖 teapot <span class=\"version\">v{__APP_VERSION__}</span>\n <span class={\"conn\" + (connected() ? \" ok\" : \"\")} title={connected() ? \"live (websocket)\" : \"reconnecting…\"} />\n </div>\n </div>\n <div class=\"metrics\">\n <Show when={metrics()}>\n {}\n master rss {metrics().rssMb}MB · heap {metrics().heapUsedMb}MB\n <Show when={metrics().heapTotalMb !== undefined}> · total {metrics().heapTotalMb}MB</Show>\n <Show when={metrics().externalMb !== undefined}> · ext {metrics().externalMb}MB</Show>\n <br />\n load1 {metrics().loadavg1} · up {Math.floor(metrics().uptimeSec / 60)}m\n </Show>\n </div>\n </div>\n </nav>\n\n {}\n <section class=\"channel\" style={{ \"--termh\": `${termHeight()}px` } as any}>\n {}\n <Show when={sel()?.id} keyed fallback={<div style=\"display:grid;place-items:center;height:100%\" class=\"muted\">select an agent</div>}>\n <header class=\"chan-head\">\n {}\n <Show when={narrow()}>\n <button\n class=\"iconbtn ham\"\n title=\"agent list\"\n aria-expanded={showLeft()}\n onclick={() => setShowLeft(!showLeft())}\n >☰</button>\n </Show>\n <span class=\"hash\" title=\"rename this chat\" onclick={() => beginRename()}>#</span>\n {}\n <Show\n when={renaming()}\n fallback={\n <span class=\"title\" title={`${agentLabelWithId(sel(), sel()!.session)} — click to rename`} onclick={() => beginRename()}>\n {agentLabel(sel())}\n </span>\n }\n >\n <input\n class=\"title titleedit\"\n value={renameDraft()}\n ref={(el) => {\n requestAnimationFrame(() => {\n el.focus();\n el.select();\n });\n }}\n oninput={(e) => setRenameDraft(e.currentTarget.value)}\n onkeydown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n void commitRename();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n setRenaming(false);\n }\n }}\n onblur={() => void commitRename()}\n spellcheck={false}\n />\n </Show>\n {}\n <span\n class={`badge ${sel()!.status}`}\n title={\n sel()!.statusReason && !/^(round complete|prompt|api start|goal set|created via web|start)$/.test(sel()!.statusReason)\n ? `${sel()!.status} — ${sel()!.statusReason}`\n : undefined\n }\n >\n {sel()!.status}\n </span>\n <Show when={queuedCount() > 0}>\n <span\n class=\"badge queued\"\n title={(() => {\n const q = sel()!.pendingPromptQueue ?? [];\n const n = q.length || sel()!.pendingPromptIds?.length || sel()!.pendingPrompts || 0;\n const mine = q.length ? q.filter((x) => (x.source ?? \"user\") === \"user\").length : n;\n const harness = n - mine;\n const label = `${n} message${n > 1 ? \"s\" : \"\"} queued${harness ? ` — ${mine} from you, ${harness} from the harness` : \" from you\"}`;\n const stopped = sel()!.status === \"stopped\";\n return (\n `${label}. ${stopped ? \"This agent is STOPPED, so nothing will run until you press start (or it is resumed).\" : \"They are handed to the model at its next turn boundary — the timeline shows them as queued… until then.\"}` +\n (mine ? \" Yours can be withdrawn with ✕ cancel while still queued.\" : \"\")\n );\n })()}\n >\n {}\n ⏳ {queuedCount()} {queuedCount() === 1 ? \"message\" : \"messages\"} queued\n {sel()!.status === \"stopped\" ? \" (stopped)\" : \"\"}\n </span>\n </Show>\n {}\n <Show when={bgJobs().length > 0}>\n <button\n type=\"button\"\n class=\"badge bgjobs\"\n aria-expanded={showBg()}\n onclick={() => {\n setShowBg(!showBg());\n if (showBg()) void refreshBg();\n }}\n title={`background shells — ${bgJobs().filter((j) => j.running).length} running, ${bgJobs().length} total (click to inspect)`}\n >\n ⚙️ {bgJobs().filter((j) => j.running).length || bgJobs().length}\n {bgJobs().some((j) => j.running) ? \" running\" : \" done\"}\n </button>\n </Show>\n <Show when={agentTasks(sel()!.id).length > 0}>\n <span class=\"badge cron\" title={`scheduled tasks:\\n${agentTasks(sel()!.id).map((t) => `${t.schedule} · ${t.id}${t.forked ? \" (forked)\" : \"\"}`).join(\"\\n\")}`}>\n ⏰ {agentTasks(sel()!.id).length}\n </span>\n </Show>\n {}\n <span class=\"sub\" title={`${sel()!.model} · ${sel()!.session}/${sel()!.branch} · turns ${sel()!.stats.turns} · tools ${sel()!.stats.toolCalls}`}>\n {sel()!.model} · {sel()!.session}/{sel()!.branch} · {sel()!.stats.turns}↻ {sel()!.stats.toolCalls}⚙️\n </span>\n <span class=\"head-actions\">\n {}\n {}\n {}\n <button\n class={\"runbtn\" + (isSelLive() ? \" danger\" : \"\")}\n title={\n isSelLive()\n ? \"interrupt: aborts the current LLM call; the running tool finishes first\"\n : \"run toward the goal (starts the loop)\"\n }\n onclick={() => (isSelLive() ? act(\"/stop\") : act(\"/start\"))()}\n >\n {isSelLive() ? \"■ stop\" : \"▶ start\"}\n </button>\n {}\n <Show when={agents().some((a) => a.parent === selected())}>\n <IconBtn icon=\"⏹\" title=\"stop every sub-agent this agent spawned (descendants included)\" onClick={stopChildren} />\n </Show>\n <span class=\"head-sep\" aria-hidden=\"true\" />\n {}\n <IconBtn icon=\"🗄\" title=\"archive this agent — reversible: it leaves the list but keeps its config and history (restore in ⚙️ settings → archive)\" onClick={archiveSelected} />\n <IconBtn icon=\"⑂\" title=\"fork: branch off the conversation here — try things without disturbing the main line\" onClick={forkSelected} />\n <IconBtn icon=\"⌨\" title=\"terminal (t)\" onClick={toggleTerm} />\n {}\n <IconBtn icon=\"▤\" title=\"toggle details panel (d)\" active={showRight()} onClick={toggleRight} />\n </span>\n {}\n <Show when={showBg()}>\n <div class=\"bgjobs-pop\" role=\"dialog\" aria-label=\"background shells\">\n <div class=\"bgjobs-head\">\n <span>background shells</span>\n <button type=\"button\" class=\"iconbtn\" title=\"close\" onclick={() => setShowBg(false)}>✕</button>\n </div>\n <Show\n when={bgJobs().length > 0}\n fallback={<div class=\"muted bgjobs-empty\">no background jobs for this agent</div>}\n >\n <For each={bgJobs()}>\n {(j) => (\n <div class=\"bgjob\">\n <div class=\"bgjob-line\">\n <span class={\"bgjob-dot \" + (j.running ? \"running\" : \"done\")} title={j.running ? \"running\" : \"finished\"} />\n <code class=\"mono bgjob-cmd\" title={j.cmd}>{oneLine(j.cmd, 80)}</code>\n <span class=\"muted bgjob-meta\">\n {j.detached\n ? `detached · pid ${j.pid ?? \"?\"}`\n : j.running\n ? fmtDur(Date.now() - j.startedAt)\n : `exit ${j.code ?? \"?\"}`}\n {j.truncated ? \" · truncated\" : \"\"}\n </span>\n {}\n <button\n type=\"button\"\n class=\"bgjob-kill\"\n title={\n j.detached\n ? `this job survived a harness restart (pid ${j.pid ?? \"?\"}) — its output can no longer be read here; stop it yourself if needed`\n : j.running\n ? \"kill this job (whole process group)\"\n : \"forget this finished job\"\n }\n onclick={async () => {\n await api(`/api/agents/${encodeURIComponent(sel()!.id)}/bg-jobs/${encodeURIComponent(j.id)}`, { method: \"DELETE\" }).catch(() => {});\n await refreshBg();\n }}\n >{j.detached ? \"forget\" : j.running ? \"kill\" : \"clear\"}</button>\n </div>\n {}\n <Show\n when={j.tail.trim()}\n fallback={\n <Show when={j.detached}>\n <div class=\"muted bgjob-detached\">\n this job outlived a harness restart, so its output is no longer captured\n here. it is still running as pid {j.pid ?? \"?\"} — read its own log, or\n stop it yourself.\n </div>\n </Show>\n }\n >\n <pre class=\"mono bgjob-tail\">{j.tail}</pre>\n </Show>\n </div>\n )}\n </For>\n </Show>\n </div>\n </Show>\n </header>\n\n <div class=\"feed\" ref={(el) => attachFeedObserver(el)} onscroll={(e) => {\n const el = e.currentTarget;\n const now: TailSample = { top: el.scrollTop, height: el.scrollHeight, viewport: el.clientHeight };\n const cause = classifyScroll(now, ledger, lastSampleHeight, lastSampleViewport);\n if (\n cause === \"layout\" &&\n !atBottom() &&\n resyncBudget > 0 &&\n Math.abs(now.height - (lastSampleHeight ?? now.height)) > 1\n ) {\n resyncBudget--;\n resyncAfterUnskip(el, unskipAnchor);\n }\n ledger = null;\n lastSampleHeight = now.height;\n lastSampleViewport = now.viewport;\n lastSample = now;\n publishGap(now);\n const wasFollowing = atBottom();\n const t = performance.now();\n if (t - unskipAnchorAt > 100) {\n unskipAnchorAt = t;\n unskipAnchor = firstVisibleRow(el);\n }\n // the previous top is what lets a READER's upward gesture be told from a layout shift (#188)\n const follow = nextFollowing(wasFollowing, cause, now, lastSample?.top);\n if (follow !== wasFollowing) setAtBottom(follow);\n if (cause === \"reader\") resyncBudget = RESYNC_BUDGET_PER_GESTURE;\n if (follow && cause !== \"reader\") {\n if (missed()) setMissed(0);\n markReadIfFollowing();\n if (shouldPin(follow, now) && distanceToTail(now) > 0) pinToTail();\n } else if (follow && atTail(now)) {\n if (missed()) setMissed(0);\n markReadIfFollowing();\n }\n if (now.top <= 4 && selected() && !loadingOlder() && !olderDone() && events().length > 0) {\n void loadOlder();\n }\n }}>\n <Show when={compacting()}>\n {(c) => (\n <div class=\"divider-msg compacting\" title=\"the harness is compressing old turns into notes so work can continue within the context window\">\n 🗜 {c().phase === \"harvesting\" ? \"saving durable lessons…\" : `summarizing ${c().summarized ? fmtK(c().summarized!) + \" \" : \"\"}older messages…`}\n </div>\n )}\n </Show>\n <Show when={olderDone() && chatEvents().length > 0}>\n <div class=\"divider-msg\">── beginning of log ──</div>\n </Show>\n <Show when={loadingOlder()}>\n <div class=\"divider-msg\">loading older events…</div>\n </Show>\n <Show when={chatEvents().length > 0} fallback={\n loadingFeed()\n ? <div style=\"display:grid;place-items:center;height:100%\" class=\"muted\">\n <span><span class=\"spinner\" aria-hidden=\"true\" /> loading timeline…</span>\n </div>\n : <div style=\"display:grid;place-items:center;height:100%\" class=\"muted\">no events yet — say something or press ▶ start</div>\n }>\n {}\n <For each={chatEvents()}>\n {(row) => (\n <MessageRow\n e={row}\n prev={() => neighbourOf(row, -1)}\n next={() => neighbourOf(row, 1)}\n // only worth labelling when the session HAS more than one\n // branch (a fork). With a single branch every row repeated the\n // same constant.\n showBranch={branches().length > 1}\n res={() => pairInfo().resFor.get(row.id)}\n // an unpaired tool_result is rendered as a COMPLETED\n // tool row of its own — its call fell out of the events\n // window while the command ran. Without this the result was\n // a bare anonymous row and the run read as unfinished.\n orphan={pairInfo().orphanCalls.has(row.id)}\n onOption={(t) => void sendText(t)}\n // pass the ACCESSOR, not the Set. A <For> child is a\n // non-reactive closure, so `answeredQuestionIds()` was\n // evaluated once when the row was built and never re-read.\n // The old derivation only ever changed when `events()`\n // changed, which re-created the rows and hid the bug; an\n // optimistic answer changes nothing about `events()`, so\n // the row kept a snapshot from before the click.\n answeredIds={answeredQuestionIds}\n onAnswered={markAnswered}\n // a row showing MIRRORED SUB-AGENT activity is the\n // child's work, not this agent's, so it must not wear the\n // parent's live chrome (\"writing…\", the running blink)\n // just because the parent happens to be running.\n agentActive={\n isTimelineLive() && isOwnLiveWork(row)\n }\n // A row that EXPANDS when its result arrives (a `<details>` opening,\n // a tool body growing) is one of the growth paths — decided by the\n // policy, from geometry sampled at the moment the row resized.\n onResize={() => {\n if (atBottom()) pinToTail();\n }}\n // a logged `blobs/<hash>` reference needs the owning agent to become a URL (#blobs)\n agentId={selected() ?? undefined}\n onCancel={\n row.data?.source === \"user\" &&\n row.data?.pending && row.data?.promptId && row.data?.sent !== true\n ? () => {\n const pid = String(row.data.promptId);\n api(`/api/agents/${selected()}/prompt/cancel`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ promptId: pid }),\n })\n .then((r: any) => {\n const back = String(r.text ?? \"\");\n saveDraft(draft() ? `${back}\\n\\n${draft()}` : back);\n writePending(pendingKey(), pendingMsgs().filter((p) => p.promptId !== pid));\n flashHint(\"message withdrawn — draft restored\");\n })\n .catch(() => flashHint(\"withdraw failed — it may have already been sent\"));\n }\n : undefined\n }\n onEdit={\n row.type === \"prompt\" &&\n row.data?.source === \"user\" &&\n !(row.data?.pending && row.data?.sent !== true) &&\n !row.data?.cancelled\n ? async () => {\n if (isSelLive()) {\n await api(`/api/agents/${selected()}/stop`, { method: \"POST\" }).catch(() => {});\n await refreshAgents();\n }\n setEditing({ eventId: row.id, text: String(row.data?.text ?? \"\") });\n }\n : undefined\n }\n />\n )}\n </For>\n {}\n {}\n <Show when={loadingFeed()}>\n <div class=\"feedloading\">\n <span class=\"spinner\" aria-hidden=\"true\" /> loading newer events…\n </div>\n </Show>\n {}\n <Show when={isTimelineLive() && live()}>\n <div class=\"msg live\">\n <div class=\"avatar\" style=\"background:#5865f233;border:1px solid #5865f266\">🫖</div>\n <div class=\"msg-body\">\n <div class=\"msg-head\">\n <span class=\"author\" style=\"color:var(--acc)\">agent</span>\n <span class=\"ts\">streaming…</span>\n </div>\n {}\n <Show when={liveReasoning().trim() !== \"\"}>\n <details class=\"reasoning\" open>\n <summary>\n 💭 thinking <ThinkingTimer startedAt={liveStartedAt()} />\n </summary>\n {}\n <div\n class=\"mono thinkscroll\"\n ref={(el) => {\n let stick = true;\n el.addEventListener(\"scroll\", () => {\n stick = el.scrollHeight - el.scrollTop - el.clientHeight < 24;\n });\n createEffect(() => {\n liveReasoning(); \n if (stick) el.scrollTop = el.scrollHeight;\n });\n }}\n >\n {liveReasoning()}\n </div>\n </details>\n </Show>\n <Show\n when={liveText()}\n fallback={<div class=\"content muted\">thinking…</div>}\n >\n <Show when={liveIsCompact()} fallback={<div class=\"content\" innerHTML={renderMarkdown(liveText() + \"▍\")} />}>\n <div class=\"muted\" style=\"font-size:11.5px;margin-bottom:4px\">🗜 summarizing older context…</div>\n <div class=\"content\" innerHTML={renderMarkdown(liveBody() + \"▍\")} />\n </Show>\n </Show>\n </div>\n </div>\n </Show>\n </Show>\n </div>\n\n <Show when={termOpen()}>\n <div class=\"termdrawer\" style={{ height: `${termHeight()}px` } as any}>\n <div class=\"termgrip\" onpointerdown={startGrip} ondblclick={() => { setTermHeight(Math.max(220, Math.round(window.innerHeight * 0.35))); localStorage.setItem(\"teapot.termH\", String(termHeight())); }} title=\"drag to resize · double-click to reset\" />\n <div class=\"termbar\">\n <div class=\"termtabs\">\n <For each={termTabs()}>\n {(t, i) => (\n <span\n class={\"termtab\" + (focusedPane() === 0 && paneL() === i() ? \" active\" : \"\") + (splitView() && focusedPane() === 1 && paneR() === i() ? \" active\" : \"\")}\n onclick={() => focusTab(i())}\n title={`${t.title} — click to show in focused pane`}\n >\n ⌨ {t.title}\n <button class=\"tabx\" onclick={(e) => { e.stopPropagation(); closeTab(i()); }} title=\"close this shell\">✕</button>\n </span>\n )}\n </For>\n <IconBtn icon=\"+\" title=\"new shell in this workspace\" onClick={addFromSelected} />\n </div>\n <div style=\"display:flex;gap:4px;align-items:center\">\n <span class=\"muted mono\" style=\"flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap\">\n {activeTab() ? agents().find((a) => a.id === activeTab()!.agentId)?.workspace.split(\"/\").filter(Boolean).pop() : sel()?.workspace}\n </span>\n <IconBtn icon=\"◫\" title={splitView() ? \"single pane\" : \"split panes (50/50)\"} onClick={toggleSplit} />\n <IconBtn icon=\"▾\" title=\"hide the terminal (shells keep running; reopen with t) — close individual shells with their ✕ tab buttons\" onClick={toggleTerm} />\n </div>\n </div>\n <div class=\"termbody\" classList={{ split: splitView() }}>\n <div class=\"termpane\" classList={{ focused: focusedPane() === 0 }} onpointerdown={() => setFocusedPane(0)} ref={setPaneHost(0)}>\n <Show when={paneL() < 0 || paneL() >= termTabs().length}>\n <div class=\"termempty muted\">no shell here — + opens one, tabs fill the focused pane</div>\n </Show>\n </div>\n <Show when={splitView()}>\n <div class=\"termsplit\" />\n <div class=\"termpane\" classList={{ focused: focusedPane() === 1 }} onpointerdown={() => setFocusedPane(1)} ref={setPaneHost(1)}>\n <Show when={paneR() < 0 || paneR() >= termTabs().length}>\n <div class=\"termempty muted\">no shell here — click a tab or + to add</div>\n </Show>\n </div>\n </Show>\n </div>\n </div>\n </Show>\n\n <div class={\"composer\" + (composerMaximized() ? \" maximized\" : \"\")}>\n <Show when={gapToTailPx() > 32 && !atBottom()}>\n <button\n class=\"jump\"\n onclick={() => {\n scrollBottom(true);\n markReadIfFollowing();\n }}\n >\n ↓ {missed() > 0 ? `${missed()} new message${missed() > 1 ? \"s\" : \"\"}` : \"jump to present\"}\n </button>\n </Show>\n <Show when={suggestions().length > 0}>\n <div class=\"cmds\">\n <For each={suggestions()}>\n {(s, i) => (\n <div\n class={\"cmdrow\" + (i() === cmdIdx() ? \" active\" : \"\")}\n title={s.title}\n onclick={() => { saveDraft(s.insert); setCmdIdx(-1); }}\n >\n <b class=\"mono\">{s.insert.trim()}</b>\n <span class=\"muted\">{s.title}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n <Show when={mentionMatches().length > 0}>\n <div class=\"cmds\">\n <For each={mentionMatches()}>\n {(m) => (\n <div class=\"cmdrow\" title={m.label} onclick={() => { saveDraft(`@${m.key} `); setCmdIdx(-1); }}>\n <b>@{m.key}</b>\n <span class=\"muted\">{m.label}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n <form onsubmit={send}>\n {}\n <Show when={pendingImages().length > 0}>\n <div class=\"imgstage\">\n <For each={pendingImages()}>\n {(im, i) => (\n <span class=\"imgchip\" title={im.name}>\n <img src={im.url} alt={im.name} />\n <button\n type=\"button\"\n class=\"imgx\"\n title=\"remove\"\n onclick={() => setPendingImages((l) => l.filter((_, j) => j !== i()))}\n >✕</button>\n </span>\n )}\n </For>\n <span class=\"muted\" style=\"font-size:11px;align-self:center\">\n {pendingImages().length} image{pendingImages().length > 1 ? \"s\" : \"\"} attached\n </span>\n </div>\n </Show>\n <textarea\n ref={(el) => {\n composerEl = el;\n el.value = draft();\n }}\n rows={1}\n placeholder={`message #${sel()!.id} — / for commands · paste or 📎 to attach images`}\n oncompositionstart={() => {\n imeInProgress = true;\n }}\n oncompositionend={() => {\n requestAnimationFrame(() => {\n imeInProgress = false;\n });\n saveDraft(composerEl?.value ?? \"\");\n }}\n onpaste={(e) => {\n const imgs = Array.from(e.clipboardData?.files ?? []).filter((f) => f.type.startsWith(\"image/\"));\n if (imgs.length) {\n e.preventDefault();\n addImages(imgs);\n }\n }}\n oninput={(e) => {\n saveDraft(e.currentTarget.value);\n setCmdIdx(0); \n autosizeComposer();\n }}\n onkeydown={(e) => {\n const sugg = suggestions();\n if (sugg.length > 0 && e.key === \"ArrowDown\") {\n e.preventDefault();\n setCmdIdx((i) => Math.min(i + 1, sugg.length - 1));\n return;\n }\n if (sugg.length > 0 && e.key === \"ArrowUp\") {\n e.preventDefault();\n setCmdIdx((i) => Math.max(i - 1, 0));\n return;\n }\n if (sugg.length > 0 && (e.key === \"Tab\" || e.key === \"Enter\") && !e.shiftKey && cmdIdx() >= 0 && !imeInProgress) {\n e.preventDefault();\n saveDraft(sugg[cmdIdx()]!.insert);\n setCmdIdx(-1);\n return;\n }\n if (e.key === \"Escape\" && sugg.length > 0) {\n setCmdIdx(-1); \n return;\n }\n if (\n shouldSendOnKey({\n key: e.key,\n shiftKey: e.shiftKey,\n composing: imeInProgress,\n maximized: composerMaximized(),\n })\n ) {\n e.preventDefault();\n void send(e);\n }\n }}\n />\n <Show when={draft().startsWith(\"@\") && draft().includes(\" \")}>\n <label\n class=\"forkchip\"\n title=\"inherit the conversation prefix byte-exactly — the sub-agent's provider prefix cache starts warm\"\n >\n <input type=\"checkbox\" checked={mentionFork()} onchange={(e) => setMentionFork(e.currentTarget.checked)} />\n fork ctx\n </label>\n </Show>\n <button\n type=\"button\"\n class=\"iconbtn maxbtn\"\n title={composerMaximized() ? \"restore composer (hide timeline)\" : \"maximize composer — hide the timeline and fill the main column\"}\n onclick={() => {\n const next = !composerMaximized();\n setComposerMaximized(next);\n requestAnimationFrame(() => autosizeComposer());\n }}\n >{composerMaximized() ? \"⤡\" : \"⤢\"}</button>\n <IconBtn\n icon=\"📎\"\n title=\"attach images (or paste them straight into the box)\"\n onClick={() => document.getElementById(\"composer-file\")?.click()}\n />\n <Show when={pendingImages().length}>\n <span class=\"muted\" style=\"font-size:11.5px;white-space:nowrap\">🖼 {pendingImages().length}</span>\n </Show>\n <button type=\"submit\">send</button>\n {}\n <input\n id=\"composer-file\"\n type=\"file\"\n accept=\"image/*\"\n multiple\n style=\"display:none\"\n onchange={(e) => {\n if (e.currentTarget.files?.length) addImages(e.currentTarget.files);\n e.currentTarget.value = \"\"; \n }}\n />\n </form>\n {}\n {}\n <Show when={flash()}>\n <div class=\"hint flashhint\">{flash()}</div>\n </Show>\n </div>\n </Show>\n </section>\n\n {}\n {}\n {}\n <Show when={narrow() && showRight()}>\n <div class=\"rightbarbackdrop\" onclick={() => setRight(false)} />\n </Show>\n <aside\n class={\"rightbar\" + (showRight() ? \" open\" : \"\")}\n ref={rightbarEl}\n onscroll={(e) => { rightbarTop = (e.currentTarget as HTMLDivElement).scrollTop; }}\n >\n {}\n <div class=\"rightbarhead\">\n <span class=\"muted\">details</span>\n <IconBtn icon=\"✕\" title=\"close details panel (esc)\" onClick={closeRight} />\n </div>\n {}\n <Show when={sel()?.id} keyed fallback={null}>\n {(_aid) => (\n <>\n {}\n\n {}\n <Show when={sel()!.id} keyed fallback={null}>\n {(aid) => (\n <FilesPanel agentId={aid} workspace={sel()!.workspace} />\n )}\n </Show>\n\n <h3 title=\"switch provider/model live — applies from the agent's next turn\">\n 🧦 model\n <Show when={models().length}>\n <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· {models().length} models</span>\n </Show>\n </h3>\n <div class=\"modelbox\">\n <select\n value={modelProvider()}\n onchange={(e) => {\n const next = e.currentTarget.value;\n providerTouched = true;\n setModelProvider(next);\n setModelDraft(\n modelOnProviderSwitch(\n cfg().providers,\n next,\n agents().find((a) => a.id === selected()),\n ),\n );\n loadModels(next);\n }}\n title=\"provider (OpenAI-compatible endpoint)\"\n >\n <For each={providerList()}>{(p) => <option value={p}>{p}{p === cfg().defaultProvider ? \" ★\" : \"\"}</option>}</For>\n </select>\n <div style=\"display:flex;gap:4px\">\n <input\n type=\"text\"\n list=\"model-list\"\n placeholder={modelPlaceholderFor(cfg().providers, modelProvider(), sel(), effectiveProviderOf(sel(), cfg().providers, cfg().defaultProvider))}\n value={modelDraft()}\n oninput={(e) => setModelDraft(e.currentTarget.value)}\n style=\"flex:1;min-width:0\"\n />\n <datalist id=\"model-list\">\n <For each={models()}>{(m) => <option value={m.id} />}</For>\n </datalist>\n </div>\n {}\n <Show when={sel()!.effortSupported}>\n <div style=\"display:flex;gap:6px;align-items:center;margin-top:6px\">\n <label class=\"muted\" style=\"font-size:11.5px;white-space:nowrap\">effort</label>\n <select\n style=\"flex:1;min-width:0\"\n value={effortDraft()}\n onchange={(e) => setEffortDraft(e.currentTarget.value)}\n >\n <option value=\"\">provider default</option>\n {}\n <For each={sel()!.effortOptions?.length ? sel()!.effortOptions : REASONING_EFFORT_OPTIONS}>\n {(v) => <option value={v}>{v}</option>}\n </For>\n </select>\n </div>\n </Show>\n {}\n <div style=\"display:flex;gap:6px;align-items:center;margin-top:6px\">\n <button\n title=\"apply the provider, model and effort above to this session — takes effect from the agent's next turn\"\n style=\"flex:1\"\n onclick={async (e) => {\n if (!selected()) return;\n const btn = e.currentTarget as HTMLButtonElement;\n btn.disabled = true;\n try {\n await api(`/api/agents/${selected()}/model`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({\n provider: modelProvider(),\n model: modelDraft().trim() || undefined,\n contextWindowTokens:\n models().find((m) => m.id === (modelDraft().trim() || undefined))?.contextLength,\n ...(sel()!.effortSupported ? { reasoningEffort: effortDraft() } : {}),\n }),\n });\n btn.textContent = \"✓ applied\";\n refreshAgents();\n } catch (ex) {\n alert(`apply failed: ${(ex as Error).message}`);\n } finally {\n setTimeout(() => { btn.textContent = \"apply\"; btn.disabled = false; }, 1200);\n }\n }}\n >apply</button>\n </div>\n <div class=\"meta\">current: {sel()!.model}</div>\n <Show when={modelSpec()}>\n <div class=\"meta\" style=\"color:var(--fg)\">{modelSpec()}</div>\n </Show>\n </div>\n\n {}\n <div class=\"ctrlrow\">\n <label\n title=\"auto-continue fires after a round ONLY when all hold: ① this toggle is on ② a goal is set and its status is 'active' ③ the round ended cleanly (no error / not stopped). It stops when the goal is marked done, or if you press ■ stop. Sending any prompt also starts an idle agent regardless.\"\n >\n <input\n type=\"checkbox\"\n checked={sel()!.autoContinue ?? true}\n onchange={(e) => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/auto-continue`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ value: e.currentTarget.checked }),\n }).then(refreshAgents);\n }}\n />\n auto-continue\n </label>\n </div>\n\n <h3 title=\"what the agent is working toward. Stored with the session; the agent reads it via get_goal(). Auto-continue keeps looping while the status is 'active' and stops when marked done.\">🎯 goal\n <Show\n when={!!sel()!.goal.text.trim()}\n fallback={<span class=\"badge\" title=\"no goal set yet\">no goal</span>}\n >\n <span class={`badge ${sel()!.goal.status === \"active\" ? \"running\" : sel()!.goal.status}`}>{sel()!.goal.status}</span>\n </Show>\n </h3>\n <div class=\"statrow\" style=\"margin-bottom:6px\">\n <span class=\"k\">status</span>\n <For each={[\"active\", \"done\", \"paused\"] as const}>\n {(s) => (\n <button\n class={\"goalstate\" + (!!sel()!.goal.text.trim() && sel()!.goal.status === s ? ` on ${s}` : \"\")}\n disabled={!!sel()!.goal.text.trim() && sel()!.goal.status === s}\n title={\n s === \"active\"\n ? \"agent keeps working toward the goal (with auto-continue)\"\n : s === \"done\"\n ? \"mark achieved — auto-continue stops\"\n : \"parked on purpose — resume by setting active again\"\n }\n onclick={() => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/goal`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ status: s }),\n }).then(refreshAgents);\n }}\n >{s === \"active\" ? \"▶ working\" : s === \"done\" ? \"✓ done\" : \"⏸ paused\"}</button>\n )}\n </For>\n </div>\n <Show\n when={sel()!.goal.text}\n fallback={<div class=\"card muted\">no goal yet — write one below and press ✓ save. Then ▶ start (or any message) sets it in motion.</div>}\n >\n <div class=\"card goalcard\" ref={trackGoalPreviewHeight} style={goalPreviewStyle()}>\n <div class=\"content\" innerHTML={renderMarkdown(String(sel()!.goal.text))} />\n </div>\n <Show when={sel()!.goal.verify}>\n <Card\n title=\"🔍️ verification contract\"\n tone=\"tool\"\n body={String(sel()!.goal.verify)}\n />\n </Show>\n <Show when={sel()!.goal.audit}>\n {(a) => (\n <Card\n title={a().verdict === \"approved\" ? \"✅ audit: approved\" : \"⚠ audit: changes required\"}\n meta={relTime(a().at)}\n tone={a().verdict === \"approved\" ? \"ok\" : \"warn\"}\n body={\n isPlaceholderDetail(a().feedback)\n ? \"_the auditor returned a verdict with no detail_\"\n : a().feedback\n }\n />\n )}\n </Show>\n </Show>\n {}\n <form onsubmit={setGoal} style=\"display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-bottom:6px\">\n <textarea\n id=\"goal-input\"\n ref={trackGoalHeight}\n rows={3}\n placeholder=\"set new goal…\"\n value={goalDraft()}\n oninput={(e) => { setGoalDraft(e.currentTarget.value); setGoalDirty(true); }}\n style={{\n ...(goalHeightStyle() ?? {}),\n background: \"var(--bg-darkest)\", border: \"none\", \"border-radius\": \"6px\",\n padding: \"6px 8px\", color: \"var(--fg)\", font: \"inherit\",\n width: \"100%\", resize: \"vertical\",\n }}\n title=\"drag the bottom edge to make this taller — the height is remembered\"\n />\n <textarea\n id=\"goal-verify-input\"\n rows={2}\n placeholder=\"verification contract (optional) — e.g. 'npm test passes; endpoint documented'. finish(goalComplete=true) is then audited against this.\"\n title=\"pi-goal-x-style verification contract — an independent reviewer checks the agent's finish against these requirements\"\n value={goalVerifyDraft()}\n oninput={(e) => { setGoalVerifyDraft(e.currentTarget.value); setGoalDirty(true); }}\n style=\"background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;font-size:12.5px;width:100%;resize:vertical\"\n />\n <div style=\"display:flex;justify-content:flex-end;align-items:center;gap:10px\">\n <label\n class=\"muted\"\n style=\"display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer\"\n title=\"queue a harness prompt telling the agent about the new goal at its next turn boundary\"\n >\n <input id=\"goal-notify\" type=\"checkbox\" checked={goalNotify()} onchange={(e) => setGoalNotify(e.currentTarget.checked)} /> notify agent\n </label>\n <button type=\"submit\" class=\"primarybtn\">✓ save goal</button>\n </div>\n </form>\n\n <h3 title=\"todo.md — a shared checklist in the session dir. Write tasks like '- [ ] fix login'; the agent ticks them off via set_todo, you edit here. With notify on, it's told at its next turn boundary.\">\n ✅ tasks\n <Show when={todoStats().total > 0}>\n <span class=\"badge\" style={todoStats().done === todoStats().total ? \"color:var(--ok)\" : \"color:var(--warn)\"}>\n {todoStats().done}/{todoStats().total} done\n </span>\n </Show>\n </h3>\n <Show when={todoStats().total > 0}>\n <div class=\"bartrack\" style=\"margin-bottom:6px\">\n <div\n class={\"barfill \" + (todoStats().done === todoStats().total ? \"\" : \"warn\")}\n style={{ width: `${Math.round((todoStats().done / todoStats().total) * 100)}%` }}\n />\n </div>\n </Show>\n <TodoEditor\n draft={todoDraft()}\n preview={todoViewMode()}\n onDraft={(text: string) => {\n setTodoDraft(text);\n setTodoDirty(true);\n }}\n />\n <div style=\"display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px\">\n <IconBtn\n icon={todoViewMode() ? \"✎\" : \"👁\"}\n title={todoViewMode() ? \"edit markdown\" : \"rendered checklist\"}\n onClick={() => setTodoViewMode(!todoViewMode())}\n />\n <label\n class=\"muted\"\n style=\"display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer\"\n title=\"queue a harness prompt telling the agent the task list changed\"\n >\n <input id=\"todo-notify\" type=\"checkbox\" checked /> notify agent\n </label>\n <button\n onclick={saveTodo}\n class=\"okbtn\"\n >✓ save tasks</button>\n </div>\n\n <h3 title=\"latest report_progress snapshot. The harness asks for one after real activity (time AND output gates); errors show under ⚠ problems\">📈 progress</h3>\n <Show\n when={sel()!.latestProgress}\n fallback={<div class=\"muted\">none yet</div>}\n >\n {(p) => (\n <div class=\"card prog\">\n <div class=\"progrow\"><b>doing</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().doing)} /></div>\n <Show when={p().recent}><div class=\"progrow\"><b>recent</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().recent)} /></div></Show>\n <Show when={p().problems}><div class=\"progrow warn\"><b>⚠ problems</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().problems)} /></div></Show>\n <Show when={p().next}><div class=\"progrow\"><b>next</b><span class=\"content inline-md\" innerHTML={renderMarkdownCached(p().next)} /></div></Show>\n <Show when={p().goalStatus}><div class=\"progrow\"><b>goal</b><span>{p().goalStatus}</span></div></Show>\n <div class=\"meta muted\">{relTime(p().ts)}</div>\n </div>\n )}\n </Show>\n\n {}\n <h3 title=\"context is how much of the model's window the live conversation occupies. Past the threshold, the oldest turns are summarized into notes so work can continue.\">📊 runtime</h3>\n <div class=\"card runcard\">\n <Show\n when={sel()!.ctx}\n keyed\n fallback={\n <div class=\"statrow\">\n <span class=\"k\">context</span>\n <span class=\"muted\">no window known for this model yet</span>\n </div>\n }\n >\n {(c) => {\n const ctxVals = createMemo(() => {\n const cv = c;\n const modelMeta = models().find((m) => m.id === sel()!.model);\n const effectiveWindow = cv.window || modelMeta?.contextLength || 0;\n const pct = effectiveWindow\n ? Math.min(999, (cv.usedTokens / effectiveWindow) * 100)\n : 0;\n return {\n usedTokens: cv.usedTokens,\n compactAt: cv.compactAt,\n compacting: cv.compacting,\n window: cv.window,\n effectiveWindow,\n pct,\n cls:\n !effectiveWindow ? \"\" : pct >= 85 ? \"crit\" : pct >= 70 ? \"warn\" : \"ok\",\n derivedBudget: effectiveWindow ? Math.round(effectiveWindow * 0.75) : 0,\n usingDerived: cv.compactAtIsManual !== true,\n };\n });\n const v = () => ctxVals();\n const fmtPct = (x: number) => {\n const r = Math.round(x * 10) / 10;\n return Number.isInteger(r) ? String(r) : r.toFixed(1);\n };\n return (\n <div\n class=\"ctxblock\"\n title=\"estimated live context vs the model's real window. Past the window, old turns are summarized into notes (compaction); the compact line below shows where that starts.\"\n >\n <div class=\"statrow\">\n <span class=\"k\">context</span>\n <b>~{fmtK(v().usedTokens)} tok</b>\n <Show when={v().effectiveWindow}>\n <span class={`pill ${v().cls}`}>\n {fmtPct(v().pct)}% of {fmtK(v().effectiveWindow)}\n </span>\n </Show>\n </div>\n <Show when={v().effectiveWindow}>\n <div class=\"bartrack\">\n <div class={`barfill ${v().cls}`} style={{ width: `${Math.min(100, v().pct)}%` }} />\n </div>\n </Show>\n {}\n <div class=\"statrow\" style=\"margin-top:4px\">\n <span class=\"k\">compact at</span>\n <b>{fmtK(v().usingDerived ? v().derivedBudget : v().compactAt)} tok</b>\n <span class=\"muted\" style=\"color:var(--dim)\">\n {v().usingDerived ? \"75% of window\" : \"manual\"}\n </span>\n </div>\n <Show when={compacting() || v().compacting}>\n <div class=\"statrow\" title=\"a compaction pass is running right now — the summarizer's output streams in the timeline\">\n <span class=\"k\">🗜</span>\n <b>compacting…</b>\n <span class=\"muted\" style=\"font-size:11px;color:var(--acc)\">\n {compacting()?.phase ?? String(v().compacting)}\n </span>\n </div>\n </Show>\n <div class=\"ctrlrow\" style=\"margin-top:6px\">\n <label title=\"when on, older turns are automatically summarized when context exceeds the budget\">\n <input\n type=\"checkbox\"\n checked={sel()!.autoCompact !== false}\n onchange={(e) => {\n if (!selected()) return;\n api(`/api/agents/${selected()}/auto-compact`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ value: e.currentTarget.checked }),\n }).then(refreshAgents);\n }}\n />\n auto-compact\n </label>\n </div>\n </div>\n );\n }}\n </Show>\n {}\n <div class=\"rtgrid\">\n {}\n <div class=\"rtcell\" title=\"prompt tokens billed this session\">\n <span>tokens in</span>\n <b>{fmtK(sel()!.stats.inputTokens)}</b>\n </div>\n <div class=\"rtcell\" title=\"completion tokens billed this session\">\n <span>tokens out</span>\n <b>{fmtK(sel()!.stats.outputTokens)}</b>\n </div>\n <div class=\"rtcell\" title=\"assistant turns this session\">\n <span>turns</span>\n <b>{sel()!.stats.turns}</b>\n </div>\n <div class=\"rtcell\" title=\"tool calls this session\">\n <span>tools</span>\n <b>{sel()!.stats.toolCalls}</b>\n </div>\n <div\n class=\"rtcell\"\n title={`how many times old turns were summarized into notes to make room. ${sel()!.stats.compactions ? \"Each one keeps the recent stretch verbatim.\" : \"Not yet — the context has fit so far.\"}`}\n >\n <span>compacted</span>\n <b>{sel()!.stats.compactions ?? 0}</b>\n {}\n </div>\n <Show when={(sel()!.stats.costUsd ?? 0) > 0}>\n <div\n class=\"rtcell\"\n title={`≈ ${(sel()!.stats.costUsd ?? 0).toFixed(4)} this session, from the model's per-token pricing and per-turn usage. Cached input is estimated at ~10% of the prompt rate; treat as an approximation, not an invoice.`}\n >\n <span>cost</span>\n <b>${costFmt(sel()!.stats.costUsd ?? 0)}</b>\n {}\n </div>\n </Show>\n <Show when={(sel()!.stats.cachedInputTokens ?? 0) > 0}>\n <div\n class=\"rtcell\"\n title={`${fmtK(sel()!.stats.cachedInputTokens)} input tokens were served from the provider's prompt cache — billed far cheaper than fresh input`}\n >\n <span>cached</span>\n <b>{Math.round((sel()!.stats.cachedInputTokens / Math.max(1, sel()!.stats.inputTokens)) * 100)}%</b>\n {}\n </div>\n </Show>\n </div>\n </div>\n\n {}\n <h3>🌿 branches <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· click to filter the feed</span>\n {}\n <Show when={branchFilter()}>\n <div class=\"muted\" style=\"font-size:11px;text-transform:none;letter-spacing:0\">\n showing <b>{branchFilter()}</b> and the history it inherited before forking\n </div>\n </Show>\n </h3>\n <For each={branches()}>\n {(b) => (\n <div\n class={\"branch-row\" + (b.branch === sel()!.branch || b.branch === branchFilter() ? \" cur\" : \"\")}\n title={b.branch === branchFilter() ? \"click to show all branches again\" : `show only ${b.branch}`}\n onclick={() => {\n const next = branchFilter() === b.branch ? null : b.branch;\n const changing = next !== branchFilter();\n setBranchFilter(next);\n if (!selected()) return;\n if (changing) {\n feedGeneration++;\n clearTimelineState();\n setEventsTotal(0);\n setOlderDone(false);\n }\n loadEvents(selected()!);\n }}\n >\n <span>{b.branch}{b.branch === sel()!.branch ? \" (current)\" : \"\"}</span>\n <span>{b.events} events</span>\n </div>\n )}\n </For>\n\n {}\n <h3 title=\"cron tasks, all agents — click a row to open that agent. Edit them in ⚙️ settings → scheduled tasks.\">\n ⏰ schedule\n <Show when={tasks().length > 0}>\n <span class=\"muted\" style=\"text-transform:none;letter-spacing:0\">· {tasks().length} · all agents</span>\n </Show>\n </h3>\n <Show\n when={tasks().length > 0}\n fallback={<div class=\"muted\">no scheduled tasks — add them in ⚙️ settings (\"scheduled tasks\")</div>}\n >\n <For each={tasks()}>\n {(t) => (\n <div\n class={\"sched-row\" + (t.agent === selected() ? \" cur\" : \"\")}\n title={`${oneLine(t.prompt, 200)}\\nclick to open #${t.agent}`}\n onclick={() => select(t.agent)}\n >\n <div class=\"sched-top\">\n <b>{t.id}</b>\n <span class=\"muted\">@{t.agent}</span>\n <Show when={t.forked}><span title=\"runs on a forked branch so chatter stays off the main line\">⑂</span></Show>\n </div>\n {}\n <div class=\"sched-meta\">\n {t.schedule} → next {t.next ? relTime(t.next) : \"—\"}{t.last ? ` · last ${relTime(t.last)}` : \" · never ran\"}\n </div>\n <div class=\"sched-prompt muted\">{oneLine(t.prompt, 90)}</div>\n </div>\n )}\n </For>\n </Show>\n </>\n )}\n </Show>\n </aside>\n </div>\n <Show when={showNotifs()}>\n {}\n {}\n <div class=\"notifbackdrop\" onclick={() => setShowNotifs(false)} />\n <div class=\"notifpanel\">\n <div class=\"notifhead\">\n notifications\n <span style=\"display:flex;gap:8px;align-items:center\">\n <Show when={notifs().length > 0}>\n <button class=\"editbtn\" onclick={() => setNotifs([])}>clear all</button>\n </Show>\n <button class=\"iconbtn\" title=\"close notifications\" onclick={() => setShowNotifs(false)}>✕</button>\n </span>\n </div>\n <Show\n when={notifs().length > 0}\n fallback={<div class=\"muted\" style=\"padding:10px\">nothing yet — progress, finishes, questions and errors will land here</div>}\n >\n <div class=\"notiflist\">\n <For each={notifs()}>\n {(n) => (\n <div\n class={\"notifitem \" + n.kind + (n.read ? \" read\" : \"\")}\n title={`from ${n.agentId}`}\n onclick={() => {\n setNotifs((list) => list.map((x) => (x.id === n.id ? { ...x, read: true } : x)));\n if (selected() !== n.agentId && agents().some((a) => a.id === n.agentId)) select(n.agentId);\n setShowNotifs(false);\n if (n.eventId)\n setTimeout(() => jumpToEvent(n.eventId!), selected() !== n.agentId ? 350 : 60);\n }}\n >\n <div class=\"nhead\">\n <span class=\"nicon\">{n.kind === \"finish\" ? \"✅\" : n.kind === \"question\" ? \"❓️\" : n.kind === \"error\" ? \"⚠️\" : \"📈\"}</span>\n <span class=\"ntitle\">{n.title}</span>\n <span class=\"meta muted\">{relTime(new Date(n.at).toISOString())}</span>\n <button\n class=\"iconbtn nreadbtn\"\n title={n.read ? \"already read\" : \"mark as read\"}\n onclick={(e: MouseEvent) => {\n e.stopPropagation();\n setNotifs((list) => list.map((x) => (x.id === n.id ? { ...x, read: true } : x)));\n }}\n >{n.read ? \"✓\" : \"○\"}</button>\n </div>\n <Show when={n.body}>\n <div class=\"nbody\">{truncate(n.body, 160)}</div>\n </Show>\n </div>\n )}\n </For>\n </div>\n </Show>\n </div>\n </Show>\n <Show when={showNew()}>\n <NewAgentModal\n providers={Object.keys(cfg().providers ?? {})}\n onClose={() => setShowNew(false)}\n onCreated={(id) => { setShowNew(false); refreshAgents(); select(id); }}\n />\n </Show>\n <Show when={showCfg()}>\n <ConfigModal\n cfg={cfg()}\n onClose={() => setShowCfg(false)}\n announcedOAuth={announcedOAuth}\n skills={agentSkills()}\n hasSelection={!!selected()}\n agentId={selected()}\n features={features()}\n onSaved={() => {\n loadCfg();\n loadTasks();\n }}\n // theme state lives in App (it paints `<html>`), so the appearance panel edits it\n // through these rather than keeping a second copy that would drift\n theme={{\n themes: customThemes,\n activeId: fixedTheme,\n paintedId: paintedThemeId,\n auto: themeAuto,\n setAuto: (v: boolean) => {\n setThemeAuto(v);\n localStorage.setItem(\"teapot.theme.auto\", v ? \"1\" : \"0\");\n },\n dark: sysDarkTheme,\n setDark: setSysDarkTheme,\n light: sysLightTheme,\n setLight: setSysLightTheme,\n setThemes: setCustomThemes,\n setActive: setFixedTheme,\n preview: (id: string | null) => setPreviewTheme(id),\n commitAppearance: (v: { auto: boolean; dark: string; light: string; fixed: string }) => {\n localStorage.setItem(\"teapot.theme.auto\", v.auto ? \"1\" : \"0\");\n localStorage.setItem(\"teapot.theme.dark\", v.dark);\n localStorage.setItem(\"teapot.theme.light\", v.light);\n localStorage.setItem(\"teapot.theme\", v.fixed);\n },\n }}\n />\n </Show>\n <Show when={editing()} fallback={null}>\n {(ed) => {\n const idx = () => events().findIndex((e) => e.id === ed().eventId);\n const afterCount = () => Math.max(0, events().length - idx() - 1);\n // no mode choice: the events after the edited prompt are DISCARDED. A \"summarize\" mode made\n // the fork wait on a model round trip (the reported lag) and had no re-entrancy guard, so a\n // second edit during it collided. Neither Pi nor OpenCode offers it, and it was never used\n // here, so the choice is gone rather than made asynchronous.\n return (\n <Modal title=\"edit prompt — forks the conversation\" onClose={() => setEditing(null)}>\n <form\n onsubmit={async (ev) => {\n ev.preventDefault();\n const ta = document.getElementById(\"edit-text\") as HTMLTextAreaElement;\n try {\n await api(`/api/agents/${selected()}/edit-prompt`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ eventId: ed().eventId, text: ta.value }),\n });\n setEditing(null);\n refreshAgents();\n const id = selected();\n if (id) await select(id);\n } catch (ex) {\n alert(`edit failed: ${(ex as Error).message}`);\n }\n }}\n style=\"display:flex;flex-direction:column;gap:10px\"\n >\n <textarea id=\"edit-text\" class=\"mono w100\" rows={6} value={ed().text} />\n <Show when={afterCount() > 0}>\n <div style=\"font-size:12.5px;color:var(--dim)\">\n {afterCount()} event(s) came after this prompt and will be discarded — the new branch\n starts from your edited text.\n </div>\n </Show>\n <div style=\"display:flex;justify-content:flex-end;gap:8px\">\n <button type=\"button\" onclick={() => setEditing(null)}>cancel</button>\n <button type=\"submit\" class=\"primarybtn\">\n ⑂ fork & resend\n </button>\n </div>\n </form>\n </Modal>\n );\n }}\n </Show>\n\n </>\n );\n}\n\n/* ---------- one chat message row ---------- */\n/* ---------- live elapsed-time ticker for a still-running bash call ---------- */\n\n/** Live elapsed-seconds readout for the current thinking stretch. */\n\n/* ---------- per-tool timeline rendering ---------- */\n\n/**\n * A `<pre>` that highlights itself with shiki when a grammar is available.\n *\n * Renders PLAIN first and swaps in the highlighted markup when it arrives, so a tool card never\n * waits on a grammar download to show its text — the same progressive approach the file preview\n * uses. Highlighting goes through `highlightLangChunks` (language by name) because tool content has\n * no file path: a JSON argument object and a bash command are the two cases worth colouring.\n *\n * Lazily imported so the shiki core stays out of the initial bundle, and the run counter guards\n * against a swapped-in result for content that has since changed.\n */\n/**\n * Highlighted code for a tool card, cached by CONTENT rather than by component instance.\n *\n * An instance-local signal is discarded whenever the row's subtree is rebuilt, and the rebuilt\n * instance starts empty and has to race the grammar download again. MEASURED before the row's\n * dependency was narrowed: 20 tool rows produced 118 constructions, and whether a given card ended\n * up highlighted depended on how many times its parent re-ran — \"bashでshikiが当たってるカードと\n * 当たってないカードがある\".\n *\n * Keying on `lang` plus the text means a remount renders highlighted on its FIRST pass (the signal\n * is seeded from the cache) and an identical block in another row costs nothing. The map is\n * bounded because a long session shows thousands of distinct commands.\n */\n\n/** The un-rendered source text of a chat row — what \"copy raw\" should give. */\n\n/**\n * Free-text answer row under an ask_user embed. The agent's reply arrives as\n * a regular user prompt, so this just routes through onOption — but it lets\n * the operator answer with something that wasn't among the offered options.\n */\n\nfunction truncate(s: string, n: number): string {\n return s.length > n ? s.slice(0, n) + \" …\" : s;\n}\n\n/** \"in 5m\" / \"3m ago\" — for schedule next/last columns */\n\n/** compact token counts with k/m/b suffixes: 12345 → \"12k\", 2.2M → \"2.2m\" */\n\n/** session cost in USD: cents below $1, whole dollars above — no noise */\nfunction costFmt(usd: number): string {\n if (usd >= 100) return Math.round(usd).toLocaleString();\n if (usd >= 10) return usd.toFixed(1);\n if (usd >= 1) return usd.toFixed(2);\n if (usd >= 0.01) return usd.toFixed(3);\n return usd.toFixed(4);\n}\n\n/** single-line preview with collapsed whitespace */\n\n/* ---------- copy-to-clipboard button ---------- */\n/** Centered icon button — the shared home for emoji-glyph buttons. Emoji\n * baselines sit off-center in plain text buttons, so every icon button\n * should render through this (inline-flex centers the glyph properly). */\n\n/** Copy `text` using the best path this environment actually supports.\n *\n * #52 — every Copy button was dead. `navigator.clipboard` only exists in a\n * SECURE context, and teapot serves the UI over plain `http://127.0.0.1` by\n * default, so the property is ABSENT — `navigator.clipboard.writeText(text)`\n * threw synchronously, before a promise existed, so the `.catch()` fallback\n * written underneath it never ran and the legacy path was dead code.\n *\n * So: feature-DETECT rather than assume. `clipboard` may be undefined, null,\n * or present without a usable `writeText` (older browsers, embedded webviews),\n * and a present API may still reject on permission or an unfocused document.\n * Each of those must reach the legacy path, and a genuine failure must say so.\n */\n\n/* ---------- modal shell ---------- */\n\n/* ---------- new agent ---------- */\nfunction NewAgentModal(props: { providers: string[]; onClose: () => void; onCreated: (id: string) => void }) {\n const [dir, setDir] = createSignal(\"~\");\n const [entries, setEntries] = createSignal<string[]>([]);\n const [name, setName] = createSignal(\"\");\n const [provider, setProvider] = createSignal(props.providers[0] ?? \"\");\n const [model, setModel] = createSignal(\"\");\n const [err, setErr] = createSignal(\"\");\n\n async function browse(p?: string) {\n const d = await api(`/api/fs?path=${encodeURIComponent(p ?? dir())}`);\n setDir(d.path);\n setParent(d.parent ?? \"\");\n setEntries(d.entries ?? []);\n }\n onMount(() => browse(dir()));\n const [parent, setParent] = createSignal(\"\");\n\n const create = async (e: Event) => {\n e.preventDefault(); setErr(\"\");\n try {\n const r = await api(\"/api/agents\", {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ workspace: dir(), id: name(), provider: provider() || undefined, model: model() || undefined, start: false }),\n });\n props.onCreated(r.agent.id);\n } catch (ex) { setErr(String((ex as Error).message)); }\n };\n\n return (\n <Modal title=\"new agent\" onClose={props.onClose}>\n <form onsubmit={create} style=\"display:flex;flex-direction:column;gap:10px\">\n <label>workspace directory\n <div style=\"display:flex;gap:6px\">\n <input type=\"text\" class=\"w100 mono\" value={dir()} oninput={(e) => setDir(e.currentTarget.value)} />\n <button type=\"button\" onclick={() => browse(dir())}>go</button>\n <button type=\"button\" title=\"parent directory\" onclick={() => parent() ? browse(parent()) : browse(\"..\")}>↑</button>\n </div>\n </label>\n <div class=\"dirlist\">\n <For each={entries()}>{(n) =>\n <div class=\"direntry\" onclick={() => browse(`${dir()}/${n}`.replace(/\\/+/g, \"/\"))}>📁 {n}</div>\n }</For>\n </div>\n <div style=\"display:flex;gap:10px\">\n <label style=\"flex:1\">agent name <input type=\"text\" placeholder=\"(directory name)\" value={name()} oninput={(e) => setName(e.currentTarget.value)} /></label>\n <label style=\"flex:0 1 auto;min-width:0\">provider\n <select value={provider()} onchange={(e) => setProvider(e.currentTarget.value)}>\n <For each={props.providers}>{(p) => <option>{p}</option>}</For>\n </select>\n </label>\n <label style=\"flex:1\">model <input type=\"text\" placeholder=\"(provider default)\" value={model()} oninput={(e) => setModel(e.currentTarget.value)} /></label>\n </div>\n <Show when={err()}><span style=\"color:var(--err);font-size:13px\">{err()}</span></Show>\n <button type=\"submit\" style=\"align-self:flex-end\">create</button>\n </form>\n </Modal>\n );\n}\n","import \"./app.css\";\nimport { render } from \"solid-js/web\";\nimport App from \"./App\";\n\nrender(() => <App />, document.getElementById(\"root\")!);\n"],"file":"index-CzmlQhYj.js"}
|