opencode-navigator 0.15.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +3 -1
  3. package/dist/tui.js +1155 -1002
  4. package/package.json +2 -1
package/dist/tui.js CHANGED
@@ -1,8 +1,8 @@
1
- import {insert as _$insert50} from "@opentui/solid"
2
- import {setProp as _$setProp53} from "@opentui/solid"
3
- import {createElement as _$createElement61} from "@opentui/solid"
4
- import {createComponent as _$createComponent61} from "@opentui/solid"
5
- import {createSignal as createSignal2} from "solid-js"
1
+ import {insert as _$insert51,setProp as _$setProp54,createElement as _$createElement62,createComponent as _$createComponent64,createComponent as _$createComponent9,mergeProps as _$mergeProps,createComponent as _$createComponent2,createComponent as _$createComponent,createComponent as _$createComponent3,setProp as _$setProp,effect as _$effect,createTextNode as _$createTextNode,insertNode as _$insertNode,insert as _$insert,createElement as _$createElement2,memo as _$memo2,use as _$use,spread as _$spread,mergeProps as _$mergeProps2,memo as _$memo,createElement as _$createElement,effect as _$effect2,createTextNode as _$createTextNode2,insertNode as _$insertNode2,insert as _$insert2,setProp as _$setProp2,createElement as _$createElement3,effect as _$effect3,insert as _$insert3,setProp as _$setProp3,createElement as _$createElement4,useTerminalDimensions,createComponent as _$createComponent5,createComponent as _$createComponent4,effect as _$effect4,insert as _$insert4,setProp as _$setProp4,createElement as _$createElement5,createComponent as _$createComponent6,mergeProps as _$mergeProps3,memo as _$memo3,effect as _$effect5,insert as _$insert5,setProp as _$setProp5,createElement as _$createElement6,memo as _$memo4,createComponent as _$createComponent7,use as _$use2,effect as _$effect6,createTextNode as _$createTextNode3,insertNode as _$insertNode3,insert as _$insert6,setProp as _$setProp6,createElement as _$createElement7,mergeProps as _$mergeProps4,insertNode as _$insertNode4,createComponent as _$createComponent8,effect as _$effect7,insert as _$insert7,setProp as _$setProp7,createElement as _$createElement8,memo as _$memo5,effect as _$effect10,createComponent as _$createComponent11,memo as _$memo8,createTextNode as _$createTextNode6,insertNode as _$insertNode7,insert as _$insert10,setProp as _$setProp10,createElement as _$createElement11,createComponent as _$createComponent10,effect as _$effect8,memo as _$memo6,createTextNode as _$createTextNode4,insertNode as _$insertNode5,insert as _$insert8,setProp as _$setProp8,createElement as _$createElement9,effect as _$effect9,memo as _$memo7,createTextNode as _$createTextNode5,insertNode as _$insertNode6,insert as _$insert9,setProp as _$setProp9,use as _$use3,createElement as _$createElement10,useTerminalDimensions as useTerminalDimensions2,createComponent as _$createComponent12,setProp as _$setProp11,effect as _$effect11,createTextNode as _$createTextNode7,insertNode as _$insertNode8,insert as _$insert11,createElement as _$createElement12,createElement as _$createElement17,mergeProps as _$mergeProps5,effect as _$effect15,createTextNode as _$createTextNode10,insertNode as _$insertNode12,insert as _$insert15,setProp as _$setProp15,createElement as _$createElement16,createComponent as _$createComponent17,createComponent as _$createComponent13,memo as _$memo9,useTerminalDimensions as useTerminalDimensions3,memo as _$memo10,createComponent as _$createComponent14,use as _$use4,effect as _$effect12,createTextNode as _$createTextNode8,insertNode as _$insertNode9,insert as _$insert12,setProp as _$setProp12,createElement as _$createElement13,memo as _$memo12,createTextNode as _$createTextNode9,insertNode as _$insertNode11,effect as _$effect14,insert as _$insert14,createComponent as _$createComponent16,setProp as _$setProp14,use as _$use5,createElement as _$createElement15,createComponent as _$createComponent15,effect as _$effect13,insertNode as _$insertNode10,insert as _$insert13,setProp as _$setProp13,createElement as _$createElement14,memo as _$memo11,createComponent as _$createComponent20,effect as _$effect18,createTextNode as _$createTextNode13,insertNode as _$insertNode15,insert as _$insert18,setProp as _$setProp18,createElement as _$createElement20,effect as _$effect16,memo as _$memo13,createComponent as _$createComponent18,createTextNode as _$createTextNode11,insertNode as _$insertNode13,insert as _$insert16,setProp as _$setProp16,createElement as _$createElement18,memo as _$memo14,effect as _$effect17,createComponent as _$createComponent19,createTextNode as _$createTextNode12,insertNode as _$insertNode14,insert as _$insert17,setProp as _$setProp17,createElement as _$createElement19,mergeProps as _$mergeProps7,createComponent as _$createComponent26,memo as _$memo18,mergeProps as _$mergeProps6,createComponent as _$createComponent25,memo as _$memo17,memo as _$memo15,use as _$use6,effect as _$effect21,createTextNode as _$createTextNode16,insertNode as _$insertNode18,insert as _$insert21,setProp as _$setProp21,createElement as _$createElement23,createComponent as _$createComponent23,useTerminalDimensions as useTerminalDimensions4,createComponent as _$createComponent21,effect as _$effect19,createTextNode as _$createTextNode14,insertNode as _$insertNode16,insert as _$insert19,setProp as _$setProp19,createElement as _$createElement21,effect as _$effect20,createTextNode as _$createTextNode15,insertNode as _$insertNode17,insert as _$insert20,createComponent as _$createComponent22,setProp as _$setProp20,createElement as _$createElement22,createComponent as _$createComponent24,effect as _$effect22,createTextNode as _$createTextNode17,insertNode as _$insertNode19,insert as _$insert22,setProp as _$setProp22,createElement as _$createElement24,memo as _$memo16,createComponent as _$createComponent28,createComponent as _$createComponent27,createComponent as _$createComponent29,setProp as _$setProp23,effect as _$effect23,createTextNode as _$createTextNode18,insertNode as _$insertNode20,createElement as _$createElement25,memo as _$memo19,createComponent as _$createComponent30,use as _$use7,effect as _$effect24,createTextNode as _$createTextNode19,insertNode as _$insertNode21,insert as _$insert23,setProp as _$setProp24,createElement as _$createElement26,useTerminalDimensions as useTerminalDimensions5,memo as _$memo21,use as _$use8,createComponent as _$createComponent35,effect as _$effect28,createTextNode as _$createTextNode23,insertNode as _$insertNode25,insert as _$insert25,setProp as _$setProp28,createElement as _$createElement30,useTerminalDimensions as useTerminalDimensions6,createComponent as _$createComponent31,setProp as _$setProp25,effect as _$effect25,createTextNode as _$createTextNode20,insertNode as _$insertNode22,createElement as _$createElement27,createComponent as _$createComponent33,setProp as _$setProp26,effect as _$effect26,createTextNode as _$createTextNode21,insertNode as _$insertNode23,createElement as _$createElement28,createComponent as _$createComponent32,createComponent as _$createComponent34,createTextNode as _$createTextNode22,insertNode as _$insertNode24,effect as _$effect27,insert as _$insert24,setProp as _$setProp27,createElement as _$createElement29,memo as _$memo20,createElement as _$createElement31,createComponent as _$createComponent36,memo as _$memo22,effect as _$effect31,insertNode as _$insertNode28,createComponent as _$createComponent38,insert as _$insert28,setProp as _$setProp31,createElement as _$createElement34,effect as _$effect30,insert as _$insert27,createTextNode as _$createTextNode25,insertNode as _$insertNode27,createComponent as _$createComponent37,setProp as _$setProp30,createElement as _$createElement33,effect as _$effect29,memo as _$memo23,createTextNode as _$createTextNode24,insertNode as _$insertNode26,insert as _$insert26,setProp as _$setProp29,createElement as _$createElement32,createComponent as _$createComponent39,createComponent as _$createComponent40,memo as _$memo24,effect as _$effect32,insert as _$insert29,setProp as _$setProp32,createElement as _$createElement35,effect as _$effect35,memo as _$memo27,insert as _$insert32,createComponent as _$createComponent43,setProp as _$setProp35,createElement as _$createElement38,createComponent as _$createComponent41,setProp as _$setProp33,effect as _$effect33,createTextNode as _$createTextNode26,insertNode as _$insertNode29,insert as _$insert30,memo as _$memo25,createElement as _$createElement36,createComponent as _$createComponent42,effect as _$effect34,createTextNode as _$createTextNode27,insertNode as _$insertNode30,memo as _$memo26,insert as _$insert31,setProp as _$setProp34,createElement as _$createElement37,createComponent as _$createComponent49,effect as _$effect41,createTextNode as _$createTextNode29,insertNode as _$insertNode33,insert as _$insert38,createComponent as _$createComponent48,memo as _$memo31,setProp as _$setProp41,createElement as _$createElement44,createComponent as _$createComponent44,effect as _$effect36,insert as _$insert33,setProp as _$setProp36,createElement as _$createElement39,insertNode as _$insertNode32,effect as _$effect38,insert as _$insert35,setProp as _$setProp38,createElement as _$createElement41,memo as _$memo29,createComponent as _$createComponent46,memo as _$memo28,effect as _$effect37,createTextNode as _$createTextNode28,insertNode as _$insertNode31,insert as _$insert34,setProp as _$setProp37,createElement as _$createElement40,createComponent as _$createComponent45,createComponent as _$createComponent47,use as _$use9,effect as _$effect39,insert as _$insert36,setProp as _$setProp39,createElement as _$createElement42,memo as _$memo30,setProp as _$setProp40,effect as _$effect40,insert as _$insert37,createElement as _$createElement43,createComponent as _$createComponent51,setProp as _$setProp43,effect as _$effect43,createTextNode as _$createTextNode30,insertNode as _$insertNode34,createElement as _$createElement46,memo as _$memo33,effect as _$effect42,insert as _$insert39,setProp as _$setProp42,createElement as _$createElement45,createComponent as _$createComponent50,memo as _$memo32,insert as _$insert40,spread as _$spread2,mergeProps as _$mergeProps8,createElement as _$createElement47,createComponent as _$createComponent52,memo as _$memo34,createElement as _$createElement48,mergeProps as _$mergeProps9,effect as _$effect52,insert as _$insert49,createComponent as _$createComponent61,setProp as _$setProp52,use as _$use10,createElement as _$createElement57,setProp as _$setProp45,effect as _$effect45,createTextNode as _$createTextNode31,insertNode as _$insertNode35,insert as _$insert42,createElement as _$createElement50,createComponent as _$createComponent54,memo as _$memo36,effect as _$effect44,insert as _$insert41,setProp as _$setProp44,createElement as _$createElement49,createComponent as _$createComponent53,memo as _$memo35,memo as _$memo38,effect as _$effect48,createTextNode as _$createTextNode33,insertNode as _$insertNode38,insert as _$insert45,setProp as _$setProp48,createElement as _$createElement53,createComponent as _$createComponent57,setProp as _$setProp47,effect as _$effect47,insertNode as _$insertNode37,insert as _$insert44,createElement as _$createElement52,createComponent as _$createComponent56,createTextNode as _$createTextNode32,insertNode as _$insertNode36,memo as _$memo37,effect as _$effect46,insert as _$insert43,setProp as _$setProp46,createElement as _$createElement51,createComponent as _$createComponent55,effect as _$effect51,createTextNode as _$createTextNode35,insertNode as _$insertNode41,insert as _$insert48,setProp as _$setProp51,createElement as _$createElement56,createComponent as _$createComponent60,memo as _$memo41,memo as _$memo40,effect as _$effect50,insertNode as _$insertNode40,insert as _$insert47,createComponent as _$createComponent59,setProp as _$setProp50,createElement as _$createElement55,createComponent as _$createComponent58,effect as _$effect49,createTextNode as _$createTextNode34,insertNode as _$insertNode39,memo as _$memo39,insert as _$insert46,setProp as _$setProp49,createElement as _$createElement54,createElement as _$createElement58,effect as _$effect53,createComponent as _$createComponent62,insertNode as _$insertNode42,insert as _$insert50,setProp as _$setProp53,use as _$use11,createElement as _$createElement59,createElement as _$createElement60,memo as _$memo42,createComponent as _$createComponent63,createElement as _$createElement61} from "@opentui/solid"
2
+
3
+
4
+
5
+ import {createSignal as createSignal2,createSignal,createEffect,onCleanup,createContext,useContext,createContext as createContext2,createSignal as createSignal3,useContext as useContext2,createEffect as createEffect2,splitProps,untrack,splitProps as splitProps2,For,createEffect as createEffect3,onCleanup as onCleanup2,Show,splitProps as splitProps3,createSignal as createSignal4,createSignal as createSignal5,createSignal as createSignal6,onCleanup as onCleanup3,batch,createSignal as createSignal8,createSignal as createSignal7,createEffect as createEffect4,createSignal as createSignal9,onCleanup as onCleanup4,createSignal as createSignal10,Index,createSignal as createSignal11,onCleanup as onCleanup5,createEffect as createEffect6,onCleanup as onCleanup7,batch as batch2,createEffect as createEffect5,createMemo,createSignal as createSignal12,onCleanup as onCleanup6,onMount,For as For2,For as For3,Show as Show2,createMemo as createMemo2,Show as Show3,createSignal as createSignal13,onCleanup as onCleanup8,For as For4,For as For5,For as For8,createMemo as createMemo4,onMount as onMount3,For as For7,createMemo as createMemo3,onMount as onMount2,Show as Show5,createEffect as createEffect7,createSignal as createSignal14,onCleanup as onCleanup9,Show as Show4,For as For6,For as For9,createEffect as createEffect8,createMemo as createMemo5,onCleanup as onCleanup10,For as For10,createEffect as createEffect9,createMemo as createMemo8,onCleanup as onCleanup11,onMount as onMount4,createMemo as createMemo6,createMemo as createMemo7,Show as Show6,onCleanup as onCleanup12,createSignal as createSignal15,createSignal as createSignal16,createSignal as createSignal17,Show as Show7,createSignal as createSignal19,createSignal as createSignal18,onCleanup as onCleanup13,For as For11,Show as Show10,createMemo as createMemo10,createComputed,createMemo as createMemo9,createSignal as createSignal20,untrack as untrack2,Show as Show8,createComputed as createComputed2,untrack as untrack3,Show as Show9,createEffect as createEffect10,createSignal as createSignal21,createMemo as createMemo12,createSignal as createSignal23,createMemo as createMemo11,For as For12,Show as Show13,Show as Show11,Show as Show12,createSignal as createSignal22,onCleanup as onCleanup14,For as For13,Show as Show15,createMemo as createMemo14,Show as Show14,createMemo as createMemo13,createEffect as createEffect11,onCleanup as onCleanup15,For as For18,Match,Switch,createMemo as createMemo18,onCleanup as onCleanup19,For as For14,Show as Show16,createSignal as createSignal24,createEffect as createEffect12,createMemo as createMemo15,onCleanup as onCleanup16,untrack as untrack4,For as For16,Show as Show19,createEffect as createEffect13,createMemo as createMemo16,createSignal as createSignal25,onCleanup as onCleanup17,untrack as untrack5,For as For15,Show as Show18,Show as Show17,Show as Show22,createEffect as createEffect14,createMemo as createMemo17,createSignal as createSignal26,onCleanup as onCleanup18,untrack as untrack6,For as For17,Show as Show21,Show as Show20,createEffect as createEffect15,createMemo as createMemo19,onCleanup as onCleanup20,untrack as untrack7,Show as Show23,createMemo as createMemo20,onCleanup as onCleanup21,createSignal as createSignal27,onCleanup as onCleanup22,onMount as onMount5} from "solid-js"
6
6
  var SIDEBAR_SECTIONS=["todo","subagents","skills","quick_actions","lsp","mcp"]
7
7
  var QUICK_ACTION_IDS=["session.rename","session.timeline","session.copy","session.export","session.compact","session.list","session.new","session.fork","messages.copy","session.first","session.last","session.messages_last_user","session.message.next","session.message.previous","permission.mode"
8
8
  ]
@@ -115,7 +115,7 @@ return{name,status:item?.status,desired,change}
115
115
  const changes=rows.flatMap((row)=>row.change==="connect"||row.change==="disconnect"?[{name:row.name,action:row.change}]:[])
116
116
  return{rows,changes}
117
117
  }
118
- import {createSignal} from "solid-js"
118
+
119
119
  var idle={status:"idle"}
120
120
  function isAbortError(cause) {return typeof DOMException!=="undefined"&&cause instanceof DOMException&&cause.name==="AbortError"||cause instanceof Error&&cause.name==="AbortError"||typeof cause==="object"&&cause!==null&&"name" in cause&&cause.name==="AbortError"
121
121
  }
@@ -495,13 +495,13 @@ const rightRank=BUCKET_RANK[right.bucket]??1
495
495
  return leftRank - rightRank||left.bucket.localeCompare(right.bucket)||left.name.localeCompare(right.name)
496
496
  })
497
497
  }
498
- import {createComponent as _$createComponent9} from "@opentui/solid"
499
- import {mergeProps as _$mergeProps} from "@opentui/solid"
500
- import {createComponent as _$createComponent2} from "@opentui/solid"
501
- import {createEffect,onCleanup} from "solid-js"
502
- import {createComponent as _$createComponent} from "@opentui/solid"
503
- import {createContext,useContext} from "solid-js"
504
- var ICONS={todo:["\uEAB3","[T]"],subagents:["\uEA7E","[A]"],skills:["\uEAA4","[S]"],actions:["\uEB9E","[Q]"],lsp:["\uEAC4","{}"],mcp:["\uEB2D","[M]"],sections:["\uEBEB","[]"],scope:["\uEB01","@"],presets:["\uEBD2","#"],settings:["\uEAF8","[=]"],reset:["\uEB37","R"],save:["\uEB4B","S"],add:["\uEA60","+"],edit:["\uEA73","[R]"],history:["\uEA82","[T]"],copy:["\uEBCC","[C]"],export:["\uEBAC","[E]"],compact:["\uEAF5","[-]"],checked:["\uEBB3","[x]"],unchecked:["\uEBB5","[ ]"],selected:["\uEAB6",">"],expanded:["\uEAB4","v"],collapsed:["\uEAB6",">"],radioOn:["\uEA71","(*)"],radioOff:["\uEABC","( )"],done:["\uEAB2","v"],busy:["\uEA71","*"],idle:["\uEABC","-"],close:["\uEA76","x"],error:["\uEA87","!"],retry:["\uEA77","~"],pending:["\uDB86\uDD78","..."],connected:["\uDB81\uDC3E","(*)"],disconnected:["\uDB81\uDC3D","( )"],favorite:["\uEB59","*"],favoriteEmpty:["\uEA6A","+"],bookmark:["\uDB80\uDCC0","*"],bookmarkEmpty:["\uDB80\uDCC3","+"],mcpFavorite:["\uDB80\uDCC0","*"],mcpFavoriteEmpty:["\uDB80\uDCC3","+"],recent:["\uEA82","~"],info:["\uEA74","i"],search:["\uEA6D","/"],up:["\uEAA1","^"],down:["\uEA9A","v"],left:["\uEA9B","<"],right:["\uEA9C",">"],keyEnter:["\uEBEA","enter"],keyTab:["\uDB80\uDF12","tab"],keyEscape:["\uDB84\uDEB7","esc"],keySpace:["\uDB84\uDC50","space"],delete:["\uEA81","del"],priorityMedium:["\uEA71","-"],help:["\uEB32","?"],selectionLeft:["\uE0B6"," "],selectionRight:["\uE0B4"," "],selectionTopLeft:["\uDBFC\uDC04"," "],selectionTopRight:["\uDBFC\uDC05"," "],selectionBottomLeft:["\uDBFC\uDC06"," "],selectionBottomRight:["\uDBFC\uDC07"," "]
498
+
499
+
500
+
501
+
502
+
503
+
504
+ var ICONS={todo:["\uEAB3","[T]"],subagents:["\uEA7E","[A]"],skills:["\uEAA4","[S]"],actions:["\uEB9E","[Q]"],lsp:["\uEAC4","{}"],mcp:["\uEB2D","[M]"],sections:["\uEBEB","[]"],scope:["\uEB01","@"],presets:["\uEBD2","#"],settings:["\uEAF8","[=]"],reset:["\uEB37","R"],save:["\uEB4B","S"],add:["\uEA60","+"],edit:["\uEA73","[R]"],history:["\uEA82","[T]"],copy:["\uEBCC","[C]"],export:["\uEBAC","[E]"],compact:["\uEAF5","[-]"],checked:["\uEBB3","[x]"],unchecked:["\uEBB5","[ ]"],selected:["\uEAB6",">"],expanded:["\uEAB4","v"],collapsed:["\uEAB6",">"],radioOn:["\uEA71","(*)"],radioOff:["\uEABC","( )"],done:["\uEAB2","v"],busy:["\uEA71","*"],idle:["\uEABC","-"],close:["\uEA76","x"],error:["\uEA87","!"],retry:["\uEA77","~"],pending:["\uDB86\uDD78","..."],connected:["\uDB81\uDC3E","(*)"],disconnected:["\uDB81\uDC3D","( )"],favorite:["\uEB59","*"],favoriteEmpty:["\uEA6A","+"],bookmark:["\uDB80\uDCC0","*"],bookmarkEmpty:["\uDB80\uDCC3","+"],mcpFavorite:["\uDB80\uDCC0","*"],mcpFavoriteEmpty:["\uDB80\uDCC3","+"],recent:["\uEA82","~"],info:["\uEA74","i"],search:["\uEA6D","/"],update:["\uDB80\uDC5F","^"],up:["\uEAA1","^"],down:["\uEA9A","v"],left:["\uEA9B","<"],right:["\uEA9C",">"],keyEnter:["\uEBEA","enter"],keyTab:["\uDB80\uDF12","tab"],keyEscape:["\uDB84\uDEB7","esc"],keySpace:["\uDB84\uDC50","space"],delete:["\uEA81","del"],priorityMedium:["\uEA71","-"],help:["\uEB32","?"],selectionLeft:["\uE0B6"," "],selectionRight:["\uE0B4"," "],selectionTopLeft:["\uDBFC\uDC04"," "],selectionTopRight:["\uDBFC\uDC05"," "],selectionBottomLeft:["\uDBFC\uDC06"," "],selectionBottomRight:["\uDBFC\uDC07"," "]
505
505
  }
506
506
  function uiIcon(name,style="nerd") {return ICONS[name][style==="text"?1:0]
507
507
  }
@@ -603,7 +603,7 @@ return
603
603
  function lspIcon(id,style="nerd") {const name=lspIconName(id)
604
604
  return name?LSP_ICONS[name][style]:id
605
605
  }
606
- import {createContext as createContext2} from "solid-js"
606
+
607
607
  var DialogContext=createContext2();
608
608
  function createDialogStack(api,style=()=>"nerd",valid=()=>true,corners=()=>true) {let frames=[]
609
609
  let isReplacing=false
@@ -692,7 +692,7 @@ return _$createComponent2(DialogContext.Provider,{get value() {return props.scop
692
692
  }
693
693
  })
694
694
  }
695
- import {createSignal as createSignal3,useContext as useContext2} from "solid-js"
695
+
696
696
  function useDialogs(api) {const scope=useContext2(DialogContext)
697
697
  const icons=useIcons()
698
698
  if(scope?.api===api)
@@ -723,21 +723,21 @@ setPosition(body.scrollTop)
723
723
  }
724
724
  }
725
725
  }
726
- import {createComponent as _$createComponent3} from "@opentui/solid"
727
- import {setProp as _$setProp} from "@opentui/solid"
728
- import {effect as _$effect} from "@opentui/solid"
729
- import {createTextNode as _$createTextNode} from "@opentui/solid"
730
- import {insertNode as _$insertNode} from "@opentui/solid"
731
- import {insert as _$insert} from "@opentui/solid"
732
- import {createElement as _$createElement2} from "@opentui/solid"
733
- import {memo as _$memo2} from "@opentui/solid"
734
- import {use as _$use} from "@opentui/solid"
735
- import {spread as _$spread} from "@opentui/solid"
736
- import {mergeProps as _$mergeProps2} from "@opentui/solid"
737
- import {memo as _$memo} from "@opentui/solid"
738
- import {createElement as _$createElement} from "@opentui/solid"
739
- import {RGBA} from "@opentui/core"
740
- import {createEffect as createEffect2,splitProps,untrack} from "solid-js"
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+ import {RGBA,TextAttributes,TextAttributes as TextAttributes2,TextAttributes as TextAttributes3,TextAttributes as TextAttributes6,TextAttributes as TextAttributes4,TextAttributes as TextAttributes5,TextAttributes as TextAttributes7,RGBA as RGBA2,parseColor,TextAttributes as TextAttributes8,TextAttributes as TextAttributes9,TextAttributes as TextAttributes12,TextAttributes as TextAttributes10,TextAttributes as TextAttributes11,TextAttributes as TextAttributes13,TextAttributes as TextAttributes14,TextAttributes as TextAttributes16,TextAttributes as TextAttributes15,ScrollBoxRenderable,RGBA as RGBA3,TextAttributes as TextAttributes17} from "@opentui/core"
740
+
741
741
  function SelectionBox(props) {const icons=useIcons()
742
742
  const [local,boxProps]=splitProps(props,["ref","iconOnly"])
743
743
  let node
@@ -802,13 +802,13 @@ return _el$
802
802
  }
803
803
  })
804
804
  }
805
- import {effect as _$effect2} from "@opentui/solid"
806
- import {createTextNode as _$createTextNode2} from "@opentui/solid"
807
- import {insertNode as _$insertNode2} from "@opentui/solid"
808
- import {insert as _$insert2} from "@opentui/solid"
809
- import {setProp as _$setProp2} from "@opentui/solid"
810
- import {createElement as _$createElement3} from "@opentui/solid"
811
- import {TextAttributes} from "@opentui/core"
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
812
  function DialogHeader(props) {const icons=useIcons()
813
813
  return (()=>{var _el$=_$createElement3("box"),_el$2=_$createElement3("text"),_el$3=_$createTextNode2(` `),_el$4=_$createElement3("text")
814
814
  _$insertNode2(_el$,_el$2)
@@ -838,11 +838,11 @@ return _p$
838
838
  return _el$
839
839
  })()
840
840
  }
841
- import {effect as _$effect3} from "@opentui/solid"
842
- import {insert as _$insert3} from "@opentui/solid"
843
- import {setProp as _$setProp3} from "@opentui/solid"
844
- import {createElement as _$createElement4} from "@opentui/solid"
845
- import {useTerminalDimensions} from "@opentui/solid"
841
+
842
+
843
+
844
+
845
+
846
846
  function DialogSurface(props) {const dimensions=useTerminalDimensions()
847
847
  return (()=>{var _el$=_$createElement4("box")
848
848
  _$setProp3(_el$,"paddingLeft",2)
@@ -861,12 +861,12 @@ return _p$
861
861
  return _el$
862
862
  })()
863
863
  }
864
- import {createComponent as _$createComponent5} from "@opentui/solid"
865
- import {createComponent as _$createComponent4} from "@opentui/solid"
866
- import {effect as _$effect4} from "@opentui/solid"
867
- import {insert as _$insert4} from "@opentui/solid"
868
- import {setProp as _$setProp4} from "@opentui/solid"
869
- import {createElement as _$createElement5} from "@opentui/solid"
864
+
865
+
866
+
867
+
868
+
869
+
870
870
  function IconControl(props) {function mouseOver(event) {props.onMouseOver?.()
871
871
  event.stopPropagation()
872
872
  }
@@ -905,14 +905,14 @@ typeof _ref$==="function"?_ref$(r$):props.ref=r$
905
905
  }
906
906
  })
907
907
  }
908
- import {createComponent as _$createComponent6} from "@opentui/solid"
909
- import {mergeProps as _$mergeProps3} from "@opentui/solid"
910
- import {memo as _$memo3} from "@opentui/solid"
911
- import {effect as _$effect5} from "@opentui/solid"
912
- import {insert as _$insert5} from "@opentui/solid"
913
- import {setProp as _$setProp5} from "@opentui/solid"
914
- import {createElement as _$createElement6} from "@opentui/solid"
915
- import {splitProps as splitProps2} from "solid-js"
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
916
  function ListRow(props) {const [slots,presentation]=splitProps2(props,["leading","content","details","metadata","trailing","contentGap"])
917
917
  return _$createComponent6(SelectionBox,_$mergeProps3(presentation,{get children() {return [(()=>{var _el$=_$createElement6("box")
918
918
  _$setProp5(_el$,"flexDirection","row")
@@ -927,17 +927,17 @@ return _el$
927
927
  }
928
928
  }))
929
929
  }
930
- import {memo as _$memo4} from "@opentui/solid"
931
- import {createComponent as _$createComponent7} from "@opentui/solid"
932
- import {use as _$use2} from "@opentui/solid"
933
- import {effect as _$effect6} from "@opentui/solid"
934
- import {createTextNode as _$createTextNode3} from "@opentui/solid"
935
- import {insertNode as _$insertNode3} from "@opentui/solid"
936
- import {insert as _$insert6} from "@opentui/solid"
937
- import {setProp as _$setProp6} from "@opentui/solid"
938
- import {createElement as _$createElement7} from "@opentui/solid"
939
- import {TextAttributes as TextAttributes2} from "@opentui/core"
940
- import {For,createEffect as createEffect3,onCleanup as onCleanup2} from "solid-js"
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
941
  function PresetMenu(props) {const icons=useIcons()
942
942
  const dialogs=useDialogs(props.api)
943
943
  const scroll=useDialogScroll()
@@ -1039,16 +1039,16 @@ return _el$7
1039
1039
  }
1040
1040
  })
1041
1041
  }
1042
- import {mergeProps as _$mergeProps4} from "@opentui/solid"
1043
- import {insertNode as _$insertNode4} from "@opentui/solid"
1044
- import {createComponent as _$createComponent8} from "@opentui/solid"
1045
- import {effect as _$effect7} from "@opentui/solid"
1046
- import {insert as _$insert7} from "@opentui/solid"
1047
- import {setProp as _$setProp7} from "@opentui/solid"
1048
- import {createElement as _$createElement8} from "@opentui/solid"
1049
- import {memo as _$memo5} from "@opentui/solid"
1050
- import {TextAttributes as TextAttributes3} from "@opentui/core"
1051
- import {Show,splitProps as splitProps3} from "solid-js"
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
1052
  function Tab(props) {const [local,boxProps]=splitProps3(props,["api","selected","focused","foregroundColor","count","children"])
1053
1053
  const theme=()=>local.api.theme.current
1054
1054
  return _$createComponent8(SelectionBox,_$mergeProps4(boxProps,{height:1,minWidth:0,get paddingLeft() {return props.paddingLeft??1
@@ -1095,7 +1095,7 @@ function McpErrorDialog(props) {return _$createComponent9(PresetMenu,{get api()
1095
1095
  },onSelect:()=>{}
1096
1096
  })
1097
1097
  }
1098
- import {createSignal as createSignal4} from "solid-js"
1098
+
1099
1099
  var PORTABLE_SETTINGS_FORMAT="opencode-navigator/settings"
1100
1100
  function object(value,path) {if (!value||typeof value!=="object"||Array.isArray(value))
1101
1101
  throw new Error(`${path} must be an object`)
@@ -1318,8 +1318,8 @@ Object.assign(desiredMcpStates,layer.desiredMcpStates)
1318
1318
  return{behavior,layout:{sections,expanded,order},desiredMcpStates}
1319
1319
  }
1320
1320
  import {randomUUID} from "crypto"
1321
- import {link,mkdir,readFile,readdir,rename,rm,unlink,writeFile} from "fs/promises"
1322
- import {join} from "path"
1321
+ import {link,mkdir,readFile,readdir,rename,rm,unlink,writeFile,readFile as readFile2} from "fs/promises"
1322
+ import {join,dirname,join as join2,join as join3,join as join4} from "path"
1323
1323
  var LOCK_TIMEOUT_MS=3000
1324
1324
  function errno(error,code) {return error instanceof Error&&"code" in error&&error.code===code
1325
1325
  }
@@ -2108,7 +2108,7 @@ return{behavior,layout:{sections,expanded:{},...sectionOrder&&{order:sectionOrde
2108
2108
  }
2109
2109
  function configuredDefaultsFromPluginOptions(options) {return mergeConfiguredDefaults(legacyDefaults(pluginConfig(options)),parseConfiguredDefaults(options??{}))
2110
2110
  }
2111
- import {createSignal as createSignal5} from "solid-js"
2111
+
2112
2112
  function createSkillController(api) {const [skills,setSkills]=createSignal5({})
2113
2113
  const refreshing=new Map
2114
2114
  const targets=new Map
@@ -2178,25 +2178,25 @@ throw error_
2178
2178
  }
2179
2179
  }
2180
2180
  }
2181
- import {effect as _$effect10} from "@opentui/solid"
2182
- import {createComponent as _$createComponent11} from "@opentui/solid"
2183
- import {memo as _$memo8} from "@opentui/solid"
2184
- import {createTextNode as _$createTextNode6} from "@opentui/solid"
2185
- import {insertNode as _$insertNode7} from "@opentui/solid"
2186
- import {insert as _$insert10} from "@opentui/solid"
2187
- import {setProp as _$setProp10} from "@opentui/solid"
2188
- import {createElement as _$createElement11} from "@opentui/solid"
2189
- import {TextAttributes as TextAttributes6} from "@opentui/core"
2190
- import {createSignal as createSignal6,onCleanup as onCleanup3} from "solid-js"
2191
- import {createComponent as _$createComponent10} from "@opentui/solid"
2192
- import {effect as _$effect8} from "@opentui/solid"
2193
- import {memo as _$memo6} from "@opentui/solid"
2194
- import {createTextNode as _$createTextNode4} from "@opentui/solid"
2195
- import {insertNode as _$insertNode5} from "@opentui/solid"
2196
- import {insert as _$insert8} from "@opentui/solid"
2197
- import {setProp as _$setProp8} from "@opentui/solid"
2198
- import {createElement as _$createElement9} from "@opentui/solid"
2199
- import {TextAttributes as TextAttributes4} from "@opentui/core"
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
2200
  function SkillConfirmation(props) {const icons=useIcons()
2201
2201
  const theme=()=>props.api.theme.current
2202
2202
  return (()=>{var _el$=_$createElement9("box"),_el$2=_$createElement9("text"),_el$3=_$createTextNode4(` Confirmation`),_el$4=_$createElement9("box"),_el$5=_$createElement9("text"),_el$6=_$createElement9("text"),_el$8=_$createElement9("text"),_el$9=_$createTextNode4(`(`),_el$0=_$createTextNode4(`)`),_el$1=_$createElement9("box")
@@ -2252,16 +2252,16 @@ return _p$
2252
2252
  return _el$
2253
2253
  })()
2254
2254
  }
2255
- import {effect as _$effect9} from "@opentui/solid"
2256
- import {memo as _$memo7} from "@opentui/solid"
2257
- import {createTextNode as _$createTextNode5} from "@opentui/solid"
2258
- import {insertNode as _$insertNode6} from "@opentui/solid"
2259
- import {insert as _$insert9} from "@opentui/solid"
2260
- import {setProp as _$setProp9} from "@opentui/solid"
2261
- import {use as _$use3} from "@opentui/solid"
2262
- import {createElement as _$createElement10} from "@opentui/solid"
2263
- import {TextAttributes as TextAttributes5} from "@opentui/core"
2264
- import {useTerminalDimensions as useTerminalDimensions2} from "@opentui/solid"
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+
2265
2265
  function SkillDetails(props) {const icons=useIcons()
2266
2266
  const dimensions=useTerminalDimensions2()
2267
2267
  const theme=()=>props.api.theme.current
@@ -2392,8 +2392,8 @@ return _el$
2392
2392
  }
2393
2393
  })
2394
2394
  }
2395
- import {batch,createSignal as createSignal8} from "solid-js"
2396
- import {createSignal as createSignal7} from "solid-js"
2395
+
2396
+
2397
2397
  function createSubagentHistory({now=Date.now}={}) {const targets=new Map
2398
2398
  const [revision,setRevision]=createSignal7(0)
2399
2399
  function state(key) {let value=targets.get(key)
@@ -2668,7 +2668,7 @@ return
2668
2668
  return{sessionID:session.id,failed:true}
2669
2669
  }
2670
2670
  }
2671
- import {createEffect as createEffect4,createSignal as createSignal9,onCleanup as onCleanup4} from "solid-js"
2671
+
2672
2672
  function filterSubagentView(rows,mode,query) {const needle=query.trim().toLocaleLowerCase()
2673
2673
  return rows.filter((row)=>{if (mode==="active"&&row.group!=="Active")
2674
2674
  return false
@@ -2706,7 +2706,7 @@ onCleanup4(()=>clearInterval(timer))
2706
2706
  })
2707
2707
  return now
2708
2708
  }
2709
- import {createSignal as createSignal10} from "solid-js"
2709
+
2710
2710
  function createTodoController(api) {const [sessions,setSessions]=createSignal10({})
2711
2711
  const refreshing=new Map
2712
2712
  const revisions=new Map
@@ -2777,15 +2777,15 @@ return{groups,rows:groups.flatMap((group)=>group.items.map((item)=>({item,group:
2777
2777
  }
2778
2778
  }
2779
2779
  }
2780
- import {createComponent as _$createComponent12} from "@opentui/solid"
2781
- import {setProp as _$setProp11} from "@opentui/solid"
2782
- import {effect as _$effect11} from "@opentui/solid"
2783
- import {createTextNode as _$createTextNode7} from "@opentui/solid"
2784
- import {insertNode as _$insertNode8} from "@opentui/solid"
2785
- import {insert as _$insert11} from "@opentui/solid"
2786
- import {createElement as _$createElement12} from "@opentui/solid"
2787
- import {TextAttributes as TextAttributes7} from "@opentui/core"
2788
- import {Index} from "solid-js"
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+
2787
+
2788
+
2789
2789
  function KeyboardHelpDialog(props) {const icons=useIcons()
2790
2790
  const theme=()=>props.api.theme.current
2791
2791
  const hints=()=>[`${icons.key("up")}/k and ${icons.key("down")}/j move \xB7 ${icons.key("enter")} activates`,`${icons.key("enter")} on a filter starts typing \xB7 ${icons.key("esc")} returns`,`Todo: ${icons.key("enter")} on All / Active / Finished changes the view`,"Show all / Show less expands or limits the filtered list",`Skills: ${icons.icon("info")} opens source \xB7 ${icons.icon("recent")} marks recent skills`,"Navigator Settings: Ctrl+,",`Search Everything: shortcut in Settings ${icons.icon("right")} Behavior`,`Search: type \xB7 ${icons.key("up/down")} results \xB7 ${icons.key("tab/shift+tab")} tabs \xB7 ${icons.key("enter")} run`,`${icons.key("esc")} leaves the sidebar \xB7 ${icons.key("?")} opens this help`]
@@ -2814,7 +2814,7 @@ return _el$3
2814
2814
  function openKeyboardHelp(api,iconStyle=()=>"nerd",multilineCorners=()=>true) {createDialogStack(api,iconStyle,()=>true,multilineCorners).open(()=>_$createComponent12(KeyboardHelpDialog,{api
2815
2815
  }))
2816
2816
  }
2817
- import {createSignal as createSignal11,onCleanup as onCleanup5} from "solid-js"
2817
+
2818
2818
  var QUICK_ACTION_METADATA=[["\uEA73","Rename"],["\uEA82","Timeline"],["\uEBCC","Copy transcript"],["\uEBAC","Export"],["\uEAF5","Compact"],["\uEBEB","Switch session"],["\uEA60","New session"],["\uEB9E","Fork session"],["\uEBCC","Copy last response"],["\uEAA1","First message"],["\uEA9A","Last message"],["\uEA82","Last user message"],["\uEA9A","Next message"],["\uEAA1","Previous message"],["\uEBB3","Auto-approve permissions"]
2819
2819
  ]
2820
2820
  var QUICK_ACTIONS=QUICK_ACTION_IDS.map((command,index)=>({command,icon:QUICK_ACTION_METADATA[index][0],label:QUICK_ACTION_METADATA[index][1]
@@ -2902,21 +2902,21 @@ return [{item,score,index}]
2902
2902
  scored.sort((a,b)=>SEARCH_GROUPS.indexOf(a.item.group) - SEARCH_GROUPS.indexOf(b.item.group)||b.score - a.score||a.index - b.index)
2903
2903
  return scored.map(({item})=>item)
2904
2904
  }
2905
- import {createElement as _$createElement17} from "@opentui/solid"
2906
- import {createEffect as createEffect6,onCleanup as onCleanup7} from "solid-js"
2907
- import {mergeProps as _$mergeProps5} from "@opentui/solid"
2908
- import {effect as _$effect15} from "@opentui/solid"
2909
- import {createTextNode as _$createTextNode10} from "@opentui/solid"
2910
- import {insertNode as _$insertNode12} from "@opentui/solid"
2911
- import {insert as _$insert15} from "@opentui/solid"
2912
- import {setProp as _$setProp15} from "@opentui/solid"
2913
- import {createElement as _$createElement16} from "@opentui/solid"
2914
- import {createComponent as _$createComponent17} from "@opentui/solid"
2915
- import {createComponent as _$createComponent13} from "@opentui/solid"
2916
- import {memo as _$memo9} from "@opentui/solid"
2917
- import {RGBA as RGBA2,parseColor} from "@opentui/core"
2918
- import {useTerminalDimensions as useTerminalDimensions3} from "@opentui/solid"
2919
- import {batch as batch2,createEffect as createEffect5,createMemo,createSignal as createSignal12,onCleanup as onCleanup6,onMount} from "solid-js"
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+
2917
+
2918
+
2919
+
2920
2920
  function mixColor(from,to,amount) {return RGBA2.fromValues(from.r + (to.r - from.r) * amount,from.g + (to.g - from.g) * amount,from.b + (to.b - from.b) * amount)
2921
2921
  }
2922
2922
  function createSearchDialogController(props) {const context=searchContext(props.api)
@@ -3095,17 +3095,17 @@ setScrollTop(body.scrollTop)
3095
3095
  },resultHeight:()=>Math.min(Math.max(3,Math.min(16,Math.floor(dimensions().height * 0.5) - 9)),Math.max(1,results().length * 3 + errors().length * 2)),theme
3096
3096
  }
3097
3097
  }
3098
- import {memo as _$memo10} from "@opentui/solid"
3099
- import {createComponent as _$createComponent14} from "@opentui/solid"
3100
- import {use as _$use4} from "@opentui/solid"
3101
- import {effect as _$effect12} from "@opentui/solid"
3102
- import {createTextNode as _$createTextNode8} from "@opentui/solid"
3103
- import {insertNode as _$insertNode9} from "@opentui/solid"
3104
- import {insert as _$insert12} from "@opentui/solid"
3105
- import {setProp as _$setProp12} from "@opentui/solid"
3106
- import {createElement as _$createElement13} from "@opentui/solid"
3107
- import {TextAttributes as TextAttributes8} from "@opentui/core"
3108
- import {For as For2} from "solid-js"
3098
+
3099
+
3100
+
3101
+
3102
+
3103
+
3104
+
3105
+
3106
+
3107
+
3108
+
3109
3109
  function SearchHeader(props) {const model=props.model
3110
3110
  return [(()=>{var _el$=_$createElement13("box"),_el$2=_$createElement13("text"),_el$3=_$createTextNode8(` Search Everything`),_el$4=_$createElement13("text")
3111
3111
  _$insertNode9(_el$,_el$2)
@@ -3164,24 +3164,24 @@ model.selectTab(tab)
3164
3164
  return _el$6
3165
3165
  })()]
3166
3166
  }
3167
- import {memo as _$memo12} from "@opentui/solid"
3168
- import {createTextNode as _$createTextNode9} from "@opentui/solid"
3169
- import {insertNode as _$insertNode11} from "@opentui/solid"
3170
- import {effect as _$effect14} from "@opentui/solid"
3171
- import {insert as _$insert14} from "@opentui/solid"
3172
- import {createComponent as _$createComponent16} from "@opentui/solid"
3173
- import {setProp as _$setProp14} from "@opentui/solid"
3174
- import {use as _$use5} from "@opentui/solid"
3175
- import {createElement as _$createElement15} from "@opentui/solid"
3176
- import {For as For3,Show as Show2} from "solid-js"
3177
- import {createComponent as _$createComponent15} from "@opentui/solid"
3178
- import {effect as _$effect13} from "@opentui/solid"
3179
- import {insertNode as _$insertNode10} from "@opentui/solid"
3180
- import {insert as _$insert13} from "@opentui/solid"
3181
- import {setProp as _$setProp13} from "@opentui/solid"
3182
- import {createElement as _$createElement14} from "@opentui/solid"
3183
- import {memo as _$memo11} from "@opentui/solid"
3184
- import {TextAttributes as TextAttributes9} from "@opentui/core"
3167
+
3168
+
3169
+
3170
+
3171
+
3172
+
3173
+
3174
+
3175
+
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+
3184
+
3185
3185
  function SearchResultRow(props) {const initial=props.model.byID().get(props.id)
3186
3186
  const item=()=>props.model.byID().get(props.id)??initial
3187
3187
  const selected=()=>props.model.active()?.id===props.id
@@ -3331,7 +3331,7 @@ clearTimeout(timer)
3331
3331
  })
3332
3332
  return _$createElement17("box")
3333
3333
  }
3334
- import {createMemo as createMemo2} from "solid-js"
3334
+
3335
3335
  function createLayoutPresetPreview(preferences,name) {const scope=preferences.selectedScopeKey()
3336
3336
  const valid=()=>preferences.selectedScopeKey()===scope
3337
3337
  const preset=createMemo2(()=>preferences.layoutPresets()[name])
@@ -3368,15 +3368,15 @@ return value&&valid()&&!blocked()?controller.applyPreset(name,value,target):unde
3368
3368
  }
3369
3369
  }
3370
3370
  }
3371
- import {createComponent as _$createComponent20} from "@opentui/solid"
3372
- import {effect as _$effect18} from "@opentui/solid"
3373
- import {createTextNode as _$createTextNode13} from "@opentui/solid"
3374
- import {insertNode as _$insertNode15} from "@opentui/solid"
3375
- import {insert as _$insert18} from "@opentui/solid"
3376
- import {setProp as _$setProp18} from "@opentui/solid"
3377
- import {createElement as _$createElement20} from "@opentui/solid"
3378
- import {TextAttributes as TextAttributes12} from "@opentui/core"
3379
- import {Show as Show3,createSignal as createSignal13,onCleanup as onCleanup8} from "solid-js"
3371
+
3372
+
3373
+
3374
+
3375
+
3376
+
3377
+
3378
+
3379
+
3380
3380
  var defaults={todo:true,lsp:true}
3381
3381
  var capabilities=new WeakMap
3382
3382
  function setHostCapabilities(api,value) {capabilities.set(api,value)
@@ -3412,16 +3412,16 @@ var ONBOARDING_STEPS=[{title:"A control center that stays compact",summary:"Navi
3412
3412
  ]
3413
3413
  }
3414
3414
  ];
3415
- import {effect as _$effect16} from "@opentui/solid"
3416
- import {memo as _$memo13} from "@opentui/solid"
3417
- import {createComponent as _$createComponent18} from "@opentui/solid"
3418
- import {createTextNode as _$createTextNode11} from "@opentui/solid"
3419
- import {insertNode as _$insertNode13} from "@opentui/solid"
3420
- import {insert as _$insert16} from "@opentui/solid"
3421
- import {setProp as _$setProp16} from "@opentui/solid"
3422
- import {createElement as _$createElement18} from "@opentui/solid"
3423
- import {TextAttributes as TextAttributes10} from "@opentui/core"
3424
- import {For as For4} from "solid-js"
3415
+
3416
+
3417
+
3418
+
3419
+
3420
+
3421
+
3422
+
3423
+
3424
+
3425
3425
  function OnboardingStep(props) {const icons=useIcons()
3426
3426
  const theme=()=>props.api.theme.current
3427
3427
  return (()=>{var _el$=_$createElement18("box"),_el$2=_$createElement18("text"),_el$3=_$createTextNode11(` `),_el$4=_$createElement18("text"),_el$5=_$createElement18("box"),_el$6=_$createElement18("text"),_el$7=_$createTextNode11(`Toggle: `),_el$8=_$createTextNode11(` \xB7 Focus: `),_el$9=_$createTextNode11(` \xB7 Icons: `),_el$1=_$createElement18("box")
@@ -3505,16 +3505,16 @@ return _p$
3505
3505
  return _el$
3506
3506
  })()
3507
3507
  }
3508
- import {memo as _$memo14} from "@opentui/solid"
3509
- import {effect as _$effect17} from "@opentui/solid"
3510
- import {createComponent as _$createComponent19} from "@opentui/solid"
3511
- import {createTextNode as _$createTextNode12} from "@opentui/solid"
3512
- import {insertNode as _$insertNode14} from "@opentui/solid"
3513
- import {insert as _$insert17} from "@opentui/solid"
3514
- import {setProp as _$setProp17} from "@opentui/solid"
3515
- import {createElement as _$createElement19} from "@opentui/solid"
3516
- import {TextAttributes as TextAttributes11} from "@opentui/core"
3517
- import {For as For5} from "solid-js"
3508
+
3509
+
3510
+
3511
+
3512
+
3513
+
3514
+
3515
+
3516
+
3517
+
3518
3518
  function SectionConfig(props) {const icons=useIcons()
3519
3519
  const theme=()=>props.api.theme.current
3520
3520
  const sections=SECTION_DEFINITIONS.filter((section)=>supportsSidebarSection(props.api,section.name))
@@ -3675,33 +3675,33 @@ return false
3675
3675
  openFirstRunWizard(api,preferences)
3676
3676
  return true
3677
3677
  }
3678
- import {mergeProps as _$mergeProps7} from "@opentui/solid"
3679
- import {createComponent as _$createComponent26} from "@opentui/solid"
3680
- import {memo as _$memo18} from "@opentui/solid"
3681
- import {For as For8,createMemo as createMemo4,onMount as onMount3} from "solid-js"
3682
- import {mergeProps as _$mergeProps6} from "@opentui/solid"
3683
- import {createComponent as _$createComponent25} from "@opentui/solid"
3684
- import {memo as _$memo17} from "@opentui/solid"
3685
- import {For as For7,createMemo as createMemo3,onMount as onMount2} from "solid-js"
3686
- import {memo as _$memo15} from "@opentui/solid"
3687
- import {use as _$use6} from "@opentui/solid"
3688
- import {effect as _$effect21} from "@opentui/solid"
3689
- import {createTextNode as _$createTextNode16} from "@opentui/solid"
3690
- import {insertNode as _$insertNode18} from "@opentui/solid"
3691
- import {insert as _$insert21} from "@opentui/solid"
3692
- import {setProp as _$setProp21} from "@opentui/solid"
3693
- import {createElement as _$createElement23} from "@opentui/solid"
3694
- import {createComponent as _$createComponent23} from "@opentui/solid"
3695
- import {useTerminalDimensions as useTerminalDimensions4} from "@opentui/solid"
3696
- import {Show as Show5,createEffect as createEffect7,createSignal as createSignal14,onCleanup as onCleanup9} from "solid-js"
3697
- import {createComponent as _$createComponent21} from "@opentui/solid"
3698
- import {effect as _$effect19} from "@opentui/solid"
3699
- import {createTextNode as _$createTextNode14} from "@opentui/solid"
3700
- import {insertNode as _$insertNode16} from "@opentui/solid"
3701
- import {insert as _$insert19} from "@opentui/solid"
3702
- import {setProp as _$setProp19} from "@opentui/solid"
3703
- import {createElement as _$createElement21} from "@opentui/solid"
3704
- import {Show as Show4} from "solid-js"
3678
+
3679
+
3680
+
3681
+
3682
+
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+
3694
+
3695
+
3696
+
3697
+
3698
+
3699
+
3700
+
3701
+
3702
+
3703
+
3704
+
3705
3705
  function PresetPreviewActions(props) {const icons=useIcons()
3706
3706
  return (()=>{var _el$=_$createElement21("box"),_el$2=_$createElement21("box"),_el$6=_$createElement21("box")
3707
3707
  _$insertNode16(_el$,_el$2)
@@ -3738,14 +3738,14 @@ _$insert19(_el$6,_$createComponent21(DialogAction,{get api() {return props.api
3738
3738
  return _el$
3739
3739
  })()
3740
3740
  }
3741
- import {effect as _$effect20} from "@opentui/solid"
3742
- import {createTextNode as _$createTextNode15} from "@opentui/solid"
3743
- import {insertNode as _$insertNode17} from "@opentui/solid"
3744
- import {insert as _$insert20} from "@opentui/solid"
3745
- import {createComponent as _$createComponent22} from "@opentui/solid"
3746
- import {setProp as _$setProp20} from "@opentui/solid"
3747
- import {createElement as _$createElement22} from "@opentui/solid"
3748
- import {For as For6} from "solid-js"
3741
+
3742
+
3743
+
3744
+
3745
+
3746
+
3747
+
3748
+
3749
3749
  function PresetPreviewSummary(props) {const icons=useIcons()
3750
3750
  const theme=()=>props.api.theme.current
3751
3751
  const color=(tone)=>tone==="accent"?theme().accent:tone==="warning"?theme().warning:theme().textMuted
@@ -3893,15 +3893,15 @@ return _el$0
3893
3893
  }
3894
3894
  })
3895
3895
  }
3896
- import {createComponent as _$createComponent24} from "@opentui/solid"
3897
- import {effect as _$effect22} from "@opentui/solid"
3898
- import {createTextNode as _$createTextNode17} from "@opentui/solid"
3899
- import {insertNode as _$insertNode19} from "@opentui/solid"
3900
- import {insert as _$insert22} from "@opentui/solid"
3901
- import {setProp as _$setProp22} from "@opentui/solid"
3902
- import {createElement as _$createElement24} from "@opentui/solid"
3903
- import {memo as _$memo16} from "@opentui/solid"
3904
- import {TextAttributes as TextAttributes13} from "@opentui/core"
3896
+
3897
+
3898
+
3899
+
3900
+
3901
+
3902
+
3903
+
3904
+
3905
3905
  function PresetPreviewRow(props) {const icons=useIcons()
3906
3906
  const theme=()=>props.api.theme.current
3907
3907
  const emphasized=()=>props.status!=="unchanged"
@@ -4042,8 +4042,8 @@ reportMcpApplyError(props.api,request)
4042
4042
  }
4043
4043
  })
4044
4044
  }
4045
- import {createComponent as _$createComponent28} from "@opentui/solid"
4046
- import {createComponent as _$createComponent27} from "@opentui/solid"
4045
+
4046
+
4047
4047
  function McpGroupAssignmentDialog(props) {const dialogs=useDialogs(props.api)
4048
4048
  const options=()=>{const assigned=props.preferences.mcpServerGroups?.()[props.server]
4049
4049
  const groups=[...new Set(Object.values(props.preferences.mcpServerGroups?.()??{}))].sort((a,b)=>a.localeCompare(b))
@@ -4083,12 +4083,12 @@ return _$createComponent28(PresetMenu,{get api() {return props.api
4083
4083
  }))
4084
4084
  })
4085
4085
  }
4086
- import {createComponent as _$createComponent29} from "@opentui/solid"
4087
- import {setProp as _$setProp23} from "@opentui/solid"
4088
- import {effect as _$effect23} from "@opentui/solid"
4089
- import {createTextNode as _$createTextNode18} from "@opentui/solid"
4090
- import {insertNode as _$insertNode20} from "@opentui/solid"
4091
- import {createElement as _$createElement25} from "@opentui/solid"
4086
+
4087
+
4088
+
4089
+
4090
+
4091
+
4092
4092
  function openMcpPresets(api,controller,preferences) {const target=controller.target()
4093
4093
  const dialogs=createDialogStack(api,preferences.lspIconStyle,()=>{const current=controller.target()
4094
4094
  return current.key===target.key&&current.scope===target.scope
@@ -4149,18 +4149,18 @@ dialogs.open(()=>_$createComponent29(PresetMenu,{api,title:"MCP presets",get opt
4149
4149
  },onSelect:(option)=>option.value==="save"?prompt():actions(option.value.slice("preset:".length))
4150
4150
  }))
4151
4151
  }
4152
- import {memo as _$memo19} from "@opentui/solid"
4153
- import {createComponent as _$createComponent30} from "@opentui/solid"
4154
- import {use as _$use7} from "@opentui/solid"
4155
- import {effect as _$effect24} from "@opentui/solid"
4156
- import {createTextNode as _$createTextNode19} from "@opentui/solid"
4157
- import {insertNode as _$insertNode21} from "@opentui/solid"
4158
- import {insert as _$insert23} from "@opentui/solid"
4159
- import {setProp as _$setProp24} from "@opentui/solid"
4160
- import {createElement as _$createElement26} from "@opentui/solid"
4161
- import {TextAttributes as TextAttributes14} from "@opentui/core"
4162
- import {useTerminalDimensions as useTerminalDimensions5} from "@opentui/solid"
4163
- import {For as For9,createEffect as createEffect8,createMemo as createMemo5,onCleanup as onCleanup10} from "solid-js"
4152
+
4153
+
4154
+
4155
+
4156
+
4157
+
4158
+
4159
+
4160
+
4161
+
4162
+
4163
+
4164
4164
  function QuickActionsDialog(props) {const order=props.preferences.selectedQuickActionOrder
4165
4165
  const dialogs=useDialogs(props.api)
4166
4166
  const scroll=useDialogScroll()
@@ -4296,25 +4296,25 @@ return _el$10
4296
4296
  }
4297
4297
  })
4298
4298
  }
4299
- import {memo as _$memo21} from "@opentui/solid"
4300
- import {use as _$use8} from "@opentui/solid"
4301
- import {createComponent as _$createComponent35} from "@opentui/solid"
4302
- import {effect as _$effect28} from "@opentui/solid"
4303
- import {createTextNode as _$createTextNode23} from "@opentui/solid"
4304
- import {insertNode as _$insertNode25} from "@opentui/solid"
4305
- import {insert as _$insert25} from "@opentui/solid"
4306
- import {setProp as _$setProp28} from "@opentui/solid"
4307
- import {createElement as _$createElement30} from "@opentui/solid"
4308
- import {TextAttributes as TextAttributes16} from "@opentui/core"
4309
- import {For as For10} from "solid-js"
4310
- import {useTerminalDimensions as useTerminalDimensions6} from "@opentui/solid"
4311
- import {createEffect as createEffect9,createMemo as createMemo8,onCleanup as onCleanup11,onMount as onMount4} from "solid-js"
4312
- import {createComponent as _$createComponent31} from "@opentui/solid"
4313
- import {setProp as _$setProp25} from "@opentui/solid"
4314
- import {effect as _$effect25} from "@opentui/solid"
4315
- import {createTextNode as _$createTextNode20} from "@opentui/solid"
4316
- import {insertNode as _$insertNode22} from "@opentui/solid"
4317
- import {createElement as _$createElement27} from "@opentui/solid"
4299
+
4300
+
4301
+
4302
+
4303
+
4304
+
4305
+
4306
+
4307
+
4308
+
4309
+
4310
+
4311
+
4312
+
4313
+
4314
+
4315
+
4316
+
4317
+
4318
4318
  function createLayoutPresetActions(input) {function prompt(value="",renameFrom) {input.dialogs.prompt({title:renameFrom?"Rename layout preset":"Save layout preset",description:()=>(()=>{var _el$=_$createElement27("text")
4319
4319
  _$insertNode22(_el$,_$createTextNode20(`Save the current visible, expanded, and ordered sections.`))
4320
4320
  _$effect25((_$p)=>_$setProp25(_el$,"fg",input.api.theme.current.textMuted,_$p))
@@ -4370,7 +4370,7 @@ input.dialogs.back()
4370
4370
  return{open,prompt
4371
4371
  }
4372
4372
  }
4373
- import {createMemo as createMemo6} from "solid-js"
4373
+
4374
4374
  function createSettingsGroups(api,preferences,icons) {const supportedSections=()=>SIDEBAR_SECTIONS.filter((name)=>supportsSidebarSection(api,name))
4375
4375
  const groups=createMemo6(()=>[{id:"scope",tab:"Scope",title:"Preference scope",options:[{title:`${icons.icon(preferences.preferenceScope() === "global" ? "radioOn" : "radioOff")} Global`,value:"scope:global",description:"applies to every worktree"
4376
4376
  },{title:`${icons.icon(preferences.preferenceScope() === "worktree" ? "radioOn" : "radioOff")} Current worktree`,value:"scope:worktree",description:preferences.canUseWorktreeScope()?preferences.preferenceScopeLabel():"unavailable outside a worktree"
@@ -4423,14 +4423,14 @@ input.openLimitPrompt(section)
4423
4423
  ]
4424
4424
  })
4425
4425
  }
4426
- import {createComponent as _$createComponent33} from "@opentui/solid"
4427
- import {setProp as _$setProp26} from "@opentui/solid"
4428
- import {effect as _$effect26} from "@opentui/solid"
4429
- import {createTextNode as _$createTextNode21} from "@opentui/solid"
4430
- import {insertNode as _$insertNode23} from "@opentui/solid"
4431
- import {createElement as _$createElement28} from "@opentui/solid"
4432
- import {createComponent as _$createComponent32} from "@opentui/solid"
4433
- import {createMemo as createMemo7} from "solid-js"
4426
+
4427
+
4428
+
4429
+
4430
+
4431
+
4432
+
4433
+
4434
4434
  var RESET_ALL="__reset_all__"
4435
4435
  function TrustedSkillsDialog(props) {const options=createMemo7(()=>{const locations=props.preferences.trustedSkillLocations()
4436
4436
  if(locations.length===0)
@@ -4677,16 +4677,16 @@ scroll.ref(node)
4677
4677
  },restoreScroll:scroll.restore,saveScroll:scroll.save,theme
4678
4678
  }
4679
4679
  }
4680
- import {createComponent as _$createComponent34} from "@opentui/solid"
4681
- import {createTextNode as _$createTextNode22} from "@opentui/solid"
4682
- import {insertNode as _$insertNode24} from "@opentui/solid"
4683
- import {effect as _$effect27} from "@opentui/solid"
4684
- import {insert as _$insert24} from "@opentui/solid"
4685
- import {setProp as _$setProp27} from "@opentui/solid"
4686
- import {createElement as _$createElement29} from "@opentui/solid"
4687
- import {memo as _$memo20} from "@opentui/solid"
4688
- import {TextAttributes as TextAttributes15} from "@opentui/core"
4689
- import {Show as Show6} from "solid-js"
4680
+
4681
+
4682
+
4683
+
4684
+
4685
+
4686
+
4687
+
4688
+
4689
+
4690
4690
  function SettingsOptionRow(props) {const model=props.controller
4691
4691
  const index=()=>model.options().findIndex((candidate)=>candidate.value===props.option.value)
4692
4692
  const selected=()=>model.active()===index()
@@ -4843,8 +4843,8 @@ return _el$0
4843
4843
  function openSettings(api,preferences,activeValue,mcp) {createDialogStack(api,preferences.lspIconStyle,()=>true,preferences.cornerFont).open(()=>_$createComponent35(SettingsDialog,{api,preferences,mcp,activeValue
4844
4844
  }),"xlarge")
4845
4845
  }
4846
- import {createElement as _$createElement31} from "@opentui/solid"
4847
- import {onCleanup as onCleanup12} from "solid-js"
4846
+
4847
+
4848
4848
  function SettingsBinding(props) {const unregister=props.api.keymap.registerLayer({mode:"base",commands:[{name:`${PLUGIN_ID}.settings`,title:"Navigator settings",category:"Navigator",namespace:"palette",enabled:()=>["home","session"].includes(props.api.route.current.name),run:()=>openSettings(props.api,props.preferences,undefined,props.mcp)
4849
4849
  }],bindings:[{key:{name:",",ctrl:true
4850
4850
  },cmd:`${PLUGIN_ID}.settings`
@@ -4853,9 +4853,9 @@ function SettingsBinding(props) {const unregister=props.api.keymap.registerLayer
4853
4853
  onCleanup12(unregister)
4854
4854
  return _$createElement31("box")
4855
4855
  }
4856
- import {createComponent as _$createComponent36} from "@opentui/solid"
4857
- import {memo as _$memo22} from "@opentui/solid"
4858
- import {createSignal as createSignal15} from "solid-js"
4856
+
4857
+
4858
+
4859
4859
  function SettingsFooterButton(props) {const icons=useIcons()
4860
4860
  const [hovered,setHovered]=createSignal15(false)
4861
4861
  const theme=()=>props.api.theme.current
@@ -4865,7 +4865,7 @@ return _$createComponent36(IconControl,{id:`${PLUGIN_ID}.settings.footer`,get ic
4865
4865
  },onMouseOver:()=>setHovered(true),onMouseOut:()=>setHovered(false),onMouseUp:()=>openSettings(props.api,props.preferences,undefined,props.mcp)
4866
4866
  })
4867
4867
  }
4868
- import {createSignal as createSignal16} from "solid-js"
4868
+
4869
4869
  var NAVIGATOR_PACKAGE_URL="https://registry.npmjs.org/opencode-navigator/latest"
4870
4870
  var REQUEST_TIMEOUT_MS=5000
4871
4871
  function versionParts(value) {const match=/^v?(\d+)\.(\d+)\.(\d+)(?:-([^+]+))?/.exec(value)
@@ -4880,11 +4880,12 @@ return next.numbers[index]>installed.numbers[index]
4880
4880
  }
4881
4881
  return installed.prerelease!==undefined&&next.prerelease===undefined
4882
4882
  }
4883
- function createVersionStatus(api,navigatorVersion,request=fetch) {const [openCodeUpdate,setOpenCodeUpdate]=createSignal16(false)
4884
- const [navigatorUpdate,setNavigatorUpdate]=createSignal16(false)
4883
+ function createVersionStatus(api,navigatorVersion,request=fetch) {const [openCodeUpdate,setOpenCodeUpdate]=createSignal16()
4884
+ const [navigatorUpdate,setNavigatorUpdate]=createSignal16()
4885
4885
  const controller=new AbortController
4886
4886
  const timeout=setTimeout(()=>controller.abort(),REQUEST_TIMEOUT_MS)
4887
- const unsubscribe=api.event.on("installation.update-available",(event)=>{setOpenCodeUpdate(isNewerVersion(event.properties.version,api.app.version))
4887
+ const unsubscribe=api.event.on("installation.update-available",(event)=>{const version=event.properties.version
4888
+ setOpenCodeUpdate(isNewerVersion(version,api.app.version)?version:undefined)
4888
4889
  })
4889
4890
  api.lifecycle.onDispose(()=>{clearTimeout(timeout)
4890
4891
  controller.abort()
@@ -4895,27 +4896,78 @@ request(NAVIGATOR_PACKAGE_URL,{headers:{accept:"application/json"},signal:contro
4895
4896
  return
4896
4897
  const metadata=await response.json()
4897
4898
  if(typeof metadata.version==="string")
4898
- setNavigatorUpdate(isNewerVersion(metadata.version,navigatorVersion))
4899
+ setNavigatorUpdate(isNewerVersion(metadata.version,navigatorVersion)?metadata.version:undefined)
4899
4900
  }).catch(()=>{}).finally(()=>clearTimeout(timeout))
4900
4901
  return{openCodeUpdate,navigatorUpdate}
4901
4902
  }
4902
- import {setProp as _$setProp29} from "@opentui/solid"
4903
- import {effect as _$effect29} from "@opentui/solid"
4904
- import {insert as _$insert26} from "@opentui/solid"
4905
- import {createElement as _$createElement32} from "@opentui/solid"
4906
- function NavigatorVersion(props) {const icons=useIcons()
4907
- const label=()=>`Navigator ${props.navigatorVersion}${props.status.navigatorUpdate() ? icons.icon("up") : ""}`
4908
- return (()=>{var _el$=_$createElement32("text")
4909
- _$insert26(_el$,label)
4910
- _$effect29((_$p)=>_$setProp29(_el$,"fg",props.api.theme.current.textMuted,_$p))
4903
+
4904
+
4905
+
4906
+
4907
+
4908
+
4909
+
4910
+
4911
+
4912
+
4913
+
4914
+
4915
+
4916
+
4917
+
4918
+
4919
+
4920
+
4921
+
4922
+
4923
+ function VersionControl(props) {const icons=useIcons()
4924
+ const theme=()=>props.api.theme.current
4925
+ return (()=>{var _el$=_$createElement32("box"),_el$2=_$createElement32("text"),_el$3=_$createTextNode24(` `)
4926
+ _$insertNode26(_el$,_el$2)
4927
+ _$setProp29(_el$,"flexDirection","row")
4928
+ _$setProp29(_el$,"onMouseDown",(event)=>{if (props.update)
4929
+ event.stopPropagation()
4930
+ })
4931
+ _$setProp29(_el$,"onMouseUp",(event)=>{const update=props.update
4932
+ if(!update)
4933
+ return
4934
+ event.stopPropagation()
4935
+ props.onUpdate?.(update)
4936
+ })
4937
+ _$insertNode26(_el$2,_el$3)
4938
+ _$insert26(_el$2,()=>props.label,_el$3)
4939
+ _$insert26(_el$2,()=>props.version,null)
4940
+ _$insert26(_el$,(()=>{var _c$=_$memo23(()=>!!props.update)
4941
+ return ()=>_c$()?(()=>{var _el$4=_$createElement32("text")
4942
+ _$insert26(_el$4,()=>icons.icon("update"))
4943
+ _$effect29((_$p)=>_$setProp29(_el$4,"fg",theme().warning,_$p))
4944
+ return _el$4
4945
+ })():null
4946
+ })(),null)
4947
+ _$effect29((_$p)=>_$setProp29(_el$2,"fg",theme().textMuted,_$p))
4948
+ return _el$
4949
+ })()
4950
+ }
4951
+ function VersionSummary(props) {return (()=>{var _el$=_$createElement33("box"),_el$2=_$createElement33("text")
4952
+ _$insertNode27(_el$,_el$2)
4953
+ _$setProp30(_el$,"flexDirection","row")
4954
+ _$insert27(_el$,_$createComponent37(VersionControl,{get api() {return props.api
4955
+ },label:"OpenCode",get version() {return props.api.app.version
4956
+ },get update() {return props.status.openCodeUpdate()
4957
+ },get onUpdate() {return props.onOpenCodeUpdate
4958
+ }
4959
+ }),_el$2)
4960
+ _$insertNode27(_el$2,_$createTextNode25(` | `))
4961
+ _$insert27(_el$,_$createComponent37(VersionControl,{get api() {return props.api
4962
+ },label:"Navigator",get version() {return props.navigatorVersion
4963
+ },get update() {return props.status.navigatorUpdate()
4964
+ },get onUpdate() {return props.onNavigatorUpdate
4965
+ }
4966
+ }),null)
4967
+ _$effect30((_$p)=>_$setProp30(_el$2,"fg",props.api.theme.current.textMuted,_$p))
4911
4968
  return _el$
4912
4969
  })()
4913
4970
  }
4914
- import {effect as _$effect30} from "@opentui/solid"
4915
- import {insertNode as _$insertNode26} from "@opentui/solid"
4916
- import {insert as _$insert27} from "@opentui/solid"
4917
- import {setProp as _$setProp30} from "@opentui/solid"
4918
- import {createElement as _$createElement33} from "@opentui/solid"
4919
4971
  function footerPath(api,sessionID) {const directory=api.state.session.get(sessionID)?.directory||api.state.path.directory
4920
4972
  const home=process.env.HOME
4921
4973
  const compact=home&&directory.startsWith(`${home}/`)?`~${directory.slice(home.length)}`:directory
@@ -4923,29 +4975,59 @@ const branch=directory===api.state.path.directory?api.state.vcs?.branch:undefine
4923
4975
  return `${compact}${branch ? `:${branch}` : ""}`
4924
4976
  }
4925
4977
  function VersionFooter(props) {const theme=()=>props.api.theme.current
4926
- const icons=useIcons()
4927
4978
  const path=()=>footerPath(props.api,props.sessionID)
4928
- const versions=()=>`OpenCode ${props.api.app.version}${props.status.openCodeUpdate() ? icons.icon("up") : ""} | ` + `Navigator ${props.navigatorVersion}${props.status.navigatorUpdate() ? icons.icon("up") : ""}`
4929
- return (()=>{var _el$=_$createElement33("box"),_el$2=_$createElement33("text"),_el$3=_$createElement33("text")
4930
- _$insertNode26(_el$,_el$2)
4931
- _$insertNode26(_el$,_el$3)
4932
- _$setProp30(_el$,"gap",1)
4933
- _$insert27(_el$2,path)
4934
- _$insert27(_el$3,versions)
4935
- _$effect30((_p$)=>{var _v$=theme().text,_v$2=theme().textMuted
4936
- _v$!==_p$.e&&(_p$.e=_$setProp30(_el$2,"fg",_v$,_p$.e))
4937
- _v$2!==_p$.t&&(_p$.t=_$setProp30(_el$3,"fg",_v$2,_p$.t))
4938
- return _p$
4939
- },{e:undefined,t:undefined
4940
- })
4979
+ return (()=>{var _el$=_$createElement34("box"),_el$2=_$createElement34("text")
4980
+ _$insertNode28(_el$,_el$2)
4981
+ _$setProp31(_el$,"gap",1)
4982
+ _$insert28(_el$2,path)
4983
+ _$insert28(_el$,_$createComponent38(VersionSummary,{get api() {return props.api
4984
+ },get navigatorVersion() {return props.navigatorVersion
4985
+ },get status() {return props.status
4986
+ },get onOpenCodeUpdate() {return props.onOpenCodeUpdate
4987
+ },get onNavigatorUpdate() {return props.onNavigatorUpdate
4988
+ }
4989
+ }),null)
4990
+ _$effect31((_$p)=>_$setProp31(_el$2,"fg",theme().text,_$p))
4941
4991
  return _el$
4942
4992
  })()
4943
4993
  }
4994
+
4995
+ function createVersionUpdateActions(api,status,updater) {const busy=new Set
4996
+ function target(kind) {return kind==="openCode"?status.openCodeUpdate():status.navigatorUpdate()
4997
+ }
4998
+ function label(kind) {return kind==="openCode"?"OpenCode":"Navigator"
4999
+ }
5000
+ function update(kind,version) {if (busy.has(kind))
5001
+ return
5002
+ api.ui.dialog.clear()
5003
+ busy.add(kind)
5004
+ api.ui.toast({variant:"info",title:`Updating ${label(kind)}`,message:`Installing ${version}...`
5005
+ })
5006
+ updater[kind](version).then(()=>{api.ui.toast({variant:"success",title:`${label(kind)} updated`,message:"Restart OpenCode to use the new version.",duration:6000
5007
+ })
5008
+ }).catch((error)=>{api.ui.toast({variant:"error",title:`Could not update ${label(kind)}`,message:error instanceof Error?error.message:"Update failed",duration:6000
5009
+ })
5010
+ }).finally(()=>busy.delete(kind))
5011
+ }
5012
+ function open(kind,version=target(kind)) {if (!version||busy.has(kind))
5013
+ return
5014
+ api.ui.dialog.replace(()=>_$createComponent39(api.ui.DialogConfirm,{get title() {return `Update ${label(kind)}`
5015
+ },message:`Update to ${version} using the current installation method? OpenCode must be restarted afterward.`,onConfirm:()=>update(kind,version),onCancel:()=>api.ui.dialog.clear()
5016
+ }))
5017
+ }
5018
+ const unregister=api.keymap.registerLayer({commands:[{name:`${PLUGIN_ID}.update-opencode`,title:"Update OpenCode",category:"Navigator",namespace:"palette",enabled:()=>Boolean(target("openCode"))&&!busy.has("openCode"),run:()=>open("openCode")
5019
+ },{name:`${PLUGIN_ID}.update-navigator`,title:"Update Navigator",category:"Navigator",namespace:"palette",enabled:()=>Boolean(target("navigator"))&&!busy.has("navigator"),run:()=>open("navigator")
5020
+ }]
5021
+ })
5022
+ api.lifecycle.onDispose(unregister)
5023
+ return{openCode:(version)=>open("openCode",version),navigator:(version)=>open("navigator",version)
5024
+ }
5025
+ }
4944
5026
  function matchesFilter(query,...values) {const needle=query.trim().toLocaleLowerCase()
4945
5027
  return !needle||values.some((value)=>value?.toLocaleLowerCase().includes(needle))
4946
5028
  }
4947
- import {ScrollBoxRenderable} from "@opentui/core"
4948
- import {createSignal as createSignal17} from "solid-js"
5029
+
5030
+
4949
5031
  function position(descriptor) {return typeof descriptor.position==="function"?descriptor.position():descriptor.position
4950
5032
  }
4951
5033
  var SECTION_COMMANDS=[{section:"todo",title:"Focus Todo"},{section:"subagents",title:"Focus Subagents"},{section:"skills",title:"Focus Skills"},{section:"quick_actions",title:"Focus Quick Actions"},{section:"lsp",title:"Focus LSP"},{section:"mcp",title:"Focus MCP"}
@@ -5221,14 +5303,14 @@ setFocusWithin(false)
5221
5303
  }
5222
5304
  }
5223
5305
  }
5224
- import {createComponent as _$createComponent37} from "@opentui/solid"
5225
- import {memo as _$memo23} from "@opentui/solid"
5226
- import {effect as _$effect31} from "@opentui/solid"
5227
- import {insert as _$insert28} from "@opentui/solid"
5228
- import {setProp as _$setProp31} from "@opentui/solid"
5229
- import {createElement as _$createElement34} from "@opentui/solid"
5230
- import {Show as Show7,createSignal as createSignal19} from "solid-js"
5231
- import {createSignal as createSignal18,onCleanup as onCleanup13} from "solid-js"
5306
+
5307
+
5308
+
5309
+
5310
+
5311
+
5312
+
5313
+
5232
5314
  function sidebarInteractiveColors(theme,state,normalColor=theme.text,mode="row") {const highlighted=!state.disabled&&(state.focused||mode==="control"&&state.hovered)
5233
5315
  let backgroundColor=theme.backgroundPanel
5234
5316
  let foregroundColor=normalColor
@@ -5267,49 +5349,49 @@ function LspBadge(props) {const icons=useIcons()
5267
5349
  const isKnown=lspIconName(props.id)!==undefined
5268
5350
  const [showName,setShowName]=createSignal19(false)
5269
5351
  const statusColor=()=>props.status==="connected"?props.api.theme.current.success:props.api.theme.current.error
5270
- if(!isKnown) {return (()=>{var _el$=_$createElement34("text")
5271
- _$setProp31(_el$,"flexShrink",1)
5272
- _$setProp31(_el$,"wrapMode","none")
5273
- _$insert28(_el$,()=>props.id)
5274
- _$effect31((_$p)=>_$setProp31(_el$,"fg",statusColor(),_$p))
5352
+ if(!isKnown) {return (()=>{var _el$=_$createElement35("text")
5353
+ _$setProp32(_el$,"flexShrink",1)
5354
+ _$setProp32(_el$,"wrapMode","none")
5355
+ _$insert29(_el$,()=>props.id)
5356
+ _$effect32((_$p)=>_$setProp32(_el$,"fg",statusColor(),_$p))
5275
5357
  return _el$
5276
5358
  })()
5277
5359
  }
5278
5360
  const item=useSidebarItem(props.api,props.interaction,{id:props.navigationId??`${PLUGIN_ID}.lsp.${props.id}`,position:()=>props.position??{section:0,row:0,column:0
5279
5361
  },activate:()=>setShowName((value)=>!value)
5280
5362
  },statusColor)
5281
- return _$createComponent37(SelectionBox,{get iconOnly() {return isKnown&&!showName()
5363
+ return _$createComponent40(SelectionBox,{get iconOnly() {return isKnown&&!showName()
5282
5364
  },ref:(node)=>item.ref(node),get id() {return props.navigationId??`${PLUGIN_ID}.lsp.${props.id}`
5283
5365
  },flexDirection:"row",gap:1,flexShrink:0,get backgroundColor() {return item.backgroundColor()
5284
5366
  },get onMouseOver() {return item.onMouseOver
5285
5367
  },get onMouseOut() {return item.onMouseOut
5286
5368
  },onMouseDown:(event)=>{event.stopPropagation()
5287
5369
  item.activate(event)
5288
- },get children() {return [(()=>{var _el$2=_$createElement34("text")
5289
- _$setProp31(_el$2,"flexShrink",0)
5290
- _$insert28(_el$2,()=>lspIcon(props.id,props.iconStyle??icons.style()))
5291
- _$effect31((_$p)=>_$setProp31(_el$2,"fg",item.foregroundColor(),_$p))
5370
+ },get children() {return [(()=>{var _el$2=_$createElement35("text")
5371
+ _$setProp32(_el$2,"flexShrink",0)
5372
+ _$insert29(_el$2,()=>lspIcon(props.id,props.iconStyle??icons.style()))
5373
+ _$effect32((_$p)=>_$setProp32(_el$2,"fg",item.foregroundColor(),_$p))
5292
5374
  return _el$2
5293
- })(),_$createComponent37(Show7,{get when() {return showName()
5294
- },get children() {var _el$3=_$createElement34("text")
5295
- _$setProp31(_el$3,"flexShrink",0)
5296
- _$setProp31(_el$3,"wrapMode","none")
5297
- _$insert28(_el$3,()=>props.id)
5298
- _$effect31((_$p)=>_$setProp31(_el$3,"fg",item.focused()?item.foregroundColor():props.api.theme.current.textMuted,_$p))
5375
+ })(),_$createComponent40(Show7,{get when() {return showName()
5376
+ },get children() {var _el$3=_$createElement35("text")
5377
+ _$setProp32(_el$3,"flexShrink",0)
5378
+ _$setProp32(_el$3,"wrapMode","none")
5379
+ _$insert29(_el$3,()=>props.id)
5380
+ _$effect32((_$p)=>_$setProp32(_el$3,"fg",item.focused()?item.foregroundColor():props.api.theme.current.textMuted,_$p))
5299
5381
  return _el$3
5300
5382
  }
5301
5383
  })]
5302
5384
  }
5303
5385
  })
5304
5386
  }
5305
- import {effect as _$effect34} from "@opentui/solid"
5306
- import {memo as _$memo26} from "@opentui/solid"
5307
- import {insert as _$insert31} from "@opentui/solid"
5308
- import {createComponent as _$createComponent40} from "@opentui/solid"
5309
- import {setProp as _$setProp34} from "@opentui/solid"
5310
- import {createElement as _$createElement37} from "@opentui/solid"
5311
- import {For as For11,Show as Show10,createMemo as createMemo10} from "solid-js"
5312
- import {createComputed,createMemo as createMemo9,createSignal as createSignal20,untrack as untrack2} from "solid-js"
5387
+
5388
+
5389
+
5390
+
5391
+
5392
+
5393
+
5394
+
5313
5395
  function createListVisibility(options) {const [expanded,setExpanded]=createSignal20(false)
5314
5396
  let previousKey
5315
5397
  let previousLimit
@@ -5326,15 +5408,15 @@ const visible=createMemo9(()=>!canToggle()||expanded()?options.items():options.i
5326
5408
  return{visible,expanded,canToggle,hiddenCount:()=>options.items().length - visible().length,showAll:()=>setExpanded(canToggle()),showLess:()=>setExpanded(false)
5327
5409
  }
5328
5410
  }
5329
- import {createComponent as _$createComponent38} from "@opentui/solid"
5330
- import {setProp as _$setProp32} from "@opentui/solid"
5331
- import {effect as _$effect32} from "@opentui/solid"
5332
- import {createTextNode as _$createTextNode24} from "@opentui/solid"
5333
- import {insertNode as _$insertNode27} from "@opentui/solid"
5334
- import {insert as _$insert29} from "@opentui/solid"
5335
- import {memo as _$memo24} from "@opentui/solid"
5336
- import {createElement as _$createElement35} from "@opentui/solid"
5337
- import {Show as Show8,createComputed as createComputed2,untrack as untrack3} from "solid-js"
5411
+
5412
+
5413
+
5414
+
5415
+
5416
+
5417
+
5418
+
5419
+
5338
5420
  function ListVisibilityControl(props) {const icons=useIcons()
5339
5421
  const id=`${PLUGIN_ID}.list.${props.section}`
5340
5422
  createComputed2(()=>{const isVisible=props.visibility.canToggle()
@@ -5350,36 +5432,36 @@ props.visibility.showAll()
5350
5432
  queueMicrotask(()=>props.interaction?.select(id))
5351
5433
  }
5352
5434
  })
5353
- return _$createComponent38(Show8,{get when() {return props.visibility.canToggle()
5354
- },get children() {return _$createComponent38(SelectionBox,{ref(r$) {var _ref$=item.ref
5435
+ return _$createComponent41(Show8,{get when() {return props.visibility.canToggle()
5436
+ },get children() {return _$createComponent41(SelectionBox,{ref(r$) {var _ref$=item.ref
5355
5437
  typeof _ref$==="function"?_ref$(r$):item.ref=r$
5356
5438
  },id,paddingLeft:1,paddingRight:1,get backgroundColor() {return item.backgroundColor()
5357
5439
  },get onMouseOver() {return item.onMouseOver
5358
5440
  },get onMouseOut() {return item.onMouseOut
5359
5441
  },onMouseUp:(event)=>{event.stopPropagation()
5360
5442
  item.activate(event)
5361
- },get children() {var _el$=_$createElement35("text"),_el$2=_$createTextNode24(` `)
5362
- _$insertNode27(_el$,_el$2)
5363
- _$insert29(_el$,()=>icons.icon(props.visibility.expanded()?"up":"down"),_el$2)
5364
- _$insert29(_el$,(()=>{var _c$=_$memo24(()=>!!props.visibility.expanded())
5443
+ },get children() {var _el$=_$createElement36("text"),_el$2=_$createTextNode26(` `)
5444
+ _$insertNode29(_el$,_el$2)
5445
+ _$insert30(_el$,()=>icons.icon(props.visibility.expanded()?"up":"down"),_el$2)
5446
+ _$insert30(_el$,(()=>{var _c$=_$memo25(()=>!!props.visibility.expanded())
5365
5447
  return ()=>_c$()?"Show less":`Show all (${props.visibility.hiddenCount()} more)`
5366
5448
  })(),null)
5367
- _$effect32((_$p)=>_$setProp32(_el$,"fg",item.foregroundColor(),_$p))
5449
+ _$effect33((_$p)=>_$setProp33(_el$,"fg",item.foregroundColor(),_$p))
5368
5450
  return _el$
5369
5451
  }
5370
5452
  })
5371
5453
  }
5372
5454
  })
5373
5455
  }
5374
- import {createComponent as _$createComponent39} from "@opentui/solid"
5375
- import {effect as _$effect33} from "@opentui/solid"
5376
- import {createTextNode as _$createTextNode25} from "@opentui/solid"
5377
- import {insertNode as _$insertNode28} from "@opentui/solid"
5378
- import {memo as _$memo25} from "@opentui/solid"
5379
- import {insert as _$insert30} from "@opentui/solid"
5380
- import {setProp as _$setProp33} from "@opentui/solid"
5381
- import {createElement as _$createElement36} from "@opentui/solid"
5382
- import {Show as Show9,createEffect as createEffect10,createSignal as createSignal21} from "solid-js"
5456
+
5457
+
5458
+
5459
+
5460
+
5461
+
5462
+
5463
+
5464
+
5383
5465
  var graphemes=new Intl.Segmenter(undefined,{granularity:"grapheme"
5384
5466
  })
5385
5467
  function truncateEnd(value,maxWidth) {if (Bun.stringWidth(value)<=maxWidth)
@@ -5413,64 +5495,64 @@ const actionLabel=()=>{const label=props.headerAction?.label()??""
5413
5495
  const width=actionWidth()
5414
5496
  return width===undefined?label:truncateEnd(label,width - 2)
5415
5497
  }
5416
- return (()=>{var _el$=_$createElement36("box")
5417
- _$setProp33(_el$,"gap",1)
5418
- _$insert30(_el$,_$createComponent39(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.sectionId
5498
+ return (()=>{var _el$=_$createElement37("box")
5499
+ _$setProp34(_el$,"gap",1)
5500
+ _$insert31(_el$,_$createComponent42(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.sectionId
5419
5501
  },flexDirection:"row",height:1,justifyContent:"space-between",gap:1,paddingLeft:1,paddingRight:1,get backgroundColor() {return item.backgroundColor()
5420
5502
  },get onMouseOver() {return item.onMouseOver
5421
5503
  },get onMouseOut() {return item.onMouseOut
5422
- },onMouseDown:(event)=>item.activate(event),onSizeChange:()=>setActionWidth(undefined),get children() {return [(()=>{var _el$2=_$createElement36("text"),_el$3=_$createElement36("span"),_el$4=_$createTextNode25(` `),_el$5=_$createElement36("span"),_el$6=_$createElement36("b")
5423
- _$insertNode28(_el$2,_el$3)
5424
- _$insertNode28(_el$2,_el$4)
5425
- _$insertNode28(_el$2,_el$5)
5426
- _$insertNode28(_el$2,_el$6)
5427
- _$setProp33(_el$2,"flexShrink",0)
5428
- _$setProp33(_el$2,"wrapMode","none")
5429
- _$insert30(_el$3,()=>icons.icon(props.open?"expanded":"collapsed"))
5430
- _$insert30(_el$5,(()=>{var _c$=_$memo25(()=>!!icon())
5504
+ },onMouseDown:(event)=>item.activate(event),onSizeChange:()=>setActionWidth(undefined),get children() {return [(()=>{var _el$2=_$createElement37("text"),_el$3=_$createElement37("span"),_el$4=_$createTextNode27(` `),_el$5=_$createElement37("span"),_el$6=_$createElement37("b")
5505
+ _$insertNode30(_el$2,_el$3)
5506
+ _$insertNode30(_el$2,_el$4)
5507
+ _$insertNode30(_el$2,_el$5)
5508
+ _$insertNode30(_el$2,_el$6)
5509
+ _$setProp34(_el$2,"flexShrink",0)
5510
+ _$setProp34(_el$2,"wrapMode","none")
5511
+ _$insert31(_el$3,()=>icons.icon(props.open?"expanded":"collapsed"))
5512
+ _$insert31(_el$5,(()=>{var _c$=_$memo26(()=>!!icon())
5431
5513
  return ()=>_c$()?`${icon()} `:""
5432
5514
  })())
5433
- _$insert30(_el$6,()=>props.title)
5434
- _$effect33((_p$)=>{var _v$=item.foregroundColor(),_v$2={fg:item.focused()?item.foregroundColor():theme().accent
5515
+ _$insert31(_el$6,()=>props.title)
5516
+ _$effect34((_p$)=>{var _v$=item.foregroundColor(),_v$2={fg:item.focused()?item.foregroundColor():theme().accent
5435
5517
  },_v$3={fg:item.focused()?item.foregroundColor():theme().accent
5436
5518
  }
5437
- _v$!==_p$.e&&(_p$.e=_$setProp33(_el$2,"fg",_v$,_p$.e))
5438
- _v$2!==_p$.t&&(_p$.t=_$setProp33(_el$3,"style",_v$2,_p$.t))
5439
- _v$3!==_p$.a&&(_p$.a=_$setProp33(_el$5,"style",_v$3,_p$.a))
5519
+ _v$!==_p$.e&&(_p$.e=_$setProp34(_el$2,"fg",_v$,_p$.e))
5520
+ _v$2!==_p$.t&&(_p$.t=_$setProp34(_el$3,"style",_v$2,_p$.t))
5521
+ _v$3!==_p$.a&&(_p$.a=_$setProp34(_el$5,"style",_v$3,_p$.a))
5440
5522
  return _p$
5441
5523
  },{e:undefined,t:undefined,a:undefined
5442
5524
  })
5443
5525
  return _el$2
5444
- })(),(()=>{var _el$7=_$createElement36("box"),_el$8=_$createElement36("text")
5445
- _$insertNode28(_el$7,_el$8)
5446
- _$setProp33(_el$7,"flexDirection","row")
5447
- _$setProp33(_el$7,"gap",1)
5448
- _$setProp33(_el$7,"flexGrow",1)
5449
- _$setProp33(_el$7,"minWidth",0)
5450
- _$setProp33(_el$7,"justifyContent","flex-end")
5451
- _$insert30(_el$7,_$createComponent39(Show9,{when:action,children:(control)=>_$createComponent39(SelectionBox,{ref:(node)=>control().ref(node),get id() {return props.headerAction?.id
5526
+ })(),(()=>{var _el$7=_$createElement37("box"),_el$8=_$createElement37("text")
5527
+ _$insertNode30(_el$7,_el$8)
5528
+ _$setProp34(_el$7,"flexDirection","row")
5529
+ _$setProp34(_el$7,"gap",1)
5530
+ _$setProp34(_el$7,"flexGrow",1)
5531
+ _$setProp34(_el$7,"minWidth",0)
5532
+ _$setProp34(_el$7,"justifyContent","flex-end")
5533
+ _$insert31(_el$7,_$createComponent42(Show9,{when:action,children:(control)=>_$createComponent42(SelectionBox,{ref:(node)=>control().ref(node),get id() {return props.headerAction?.id
5452
5534
  },flexShrink:1,minWidth:3,overflow:"hidden",get backgroundColor() {return control().backgroundColor()
5453
5535
  },onSizeChange:function() {setActionWidth(this.width)
5454
5536
  },get onMouseOver() {return control().onMouseOver
5455
5537
  },get onMouseOut() {return control().onMouseOut
5456
5538
  },onMouseDown:(event)=>event.stopPropagation(),onMouseUp:(event)=>{event.stopPropagation()
5457
5539
  control().activate(event)
5458
- },get children() {var _el$9=_$createElement36("text")
5459
- _$setProp33(_el$9,"wrapMode","none")
5460
- _$setProp33(_el$9,"height",1)
5461
- _$insert30(_el$9,actionLabel)
5462
- _$effect33((_$p)=>_$setProp33(_el$9,"fg",control().foregroundColor(),_$p))
5540
+ },get children() {var _el$9=_$createElement37("text")
5541
+ _$setProp34(_el$9,"wrapMode","none")
5542
+ _$setProp34(_el$9,"height",1)
5543
+ _$insert31(_el$9,actionLabel)
5544
+ _$effect34((_$p)=>_$setProp34(_el$9,"fg",control().foregroundColor(),_$p))
5463
5545
  return _el$9
5464
5546
  }
5465
5547
  })
5466
5548
  }),_el$8)
5467
- _$setProp33(_el$8,"wrapMode","none")
5468
- _$setProp33(_el$8,"truncate",true)
5469
- _$setProp33(_el$8,"height",1)
5470
- _$insert30(_el$8,()=>props.summary)
5471
- _$effect33((_p$)=>{var _v$4=item.focused()?item.foregroundColor():theme().textMuted,_v$5=props.headerAction?0:1
5472
- _v$4!==_p$.e&&(_p$.e=_$setProp33(_el$8,"fg",_v$4,_p$.e))
5473
- _v$5!==_p$.t&&(_p$.t=_$setProp33(_el$8,"flexShrink",_v$5,_p$.t))
5549
+ _$setProp34(_el$8,"wrapMode","none")
5550
+ _$setProp34(_el$8,"truncate",true)
5551
+ _$setProp34(_el$8,"height",1)
5552
+ _$insert31(_el$8,()=>props.summary)
5553
+ _$effect34((_p$)=>{var _v$4=item.focused()?item.foregroundColor():theme().textMuted,_v$5=props.headerAction?0:1
5554
+ _v$4!==_p$.e&&(_p$.e=_$setProp34(_el$8,"fg",_v$4,_p$.e))
5555
+ _v$5!==_p$.t&&(_p$.t=_$setProp34(_el$8,"flexShrink",_v$5,_p$.t))
5474
5556
  return _p$
5475
5557
  },{e:undefined,t:undefined
5476
5558
  })
@@ -5478,7 +5560,7 @@ return _el$7
5478
5560
  })()]
5479
5561
  }
5480
5562
  }),null)
5481
- _$insert30(_el$,_$createComponent39(Show9,{get when() {return props.open
5563
+ _$insert31(_el$,_$createComponent42(Show9,{get when() {return props.open
5482
5564
  },get children() {return props.children
5483
5565
  }
5484
5566
  }),null)
@@ -5492,25 +5574,25 @@ const visibility=createListVisibility({items:list,limit:()=>props.preferences.se
5492
5574
  const connected=createMemo10(()=>list().filter((item)=>item.status==="connected").length)
5493
5575
  const disabled=createMemo10(()=>props.api.state.config.lsp===false)
5494
5576
  const navigationSection=()=>props.navigationSection??5
5495
- return _$createComponent40(Section,{get api() {return props.api
5577
+ return _$createComponent43(Section,{get api() {return props.api
5496
5578
  },get interaction() {return props.interaction
5497
5579
  },sectionId:`${PLUGIN_ID}.section.lsp`,get navigationSection() {return navigationSection()
5498
5580
  },title:"LSP",section:"lsp",get summary() {return `${connected()}/${list().length}`
5499
5581
  },get open() {return props.preferences.expanded().lsp
5500
- },onToggle:()=>props.preferences.toggleSectionExpanded("lsp"),get children() {return [_$createComponent40(Show10,{get when() {return list().length>0
5501
- },get fallback() {return (()=>{var _el$2=_$createElement37("text")
5502
- _$insert31(_el$2,()=>disabled()?"LSP is disabled":"Activates as files are read")
5503
- _$effect34((_$p)=>_$setProp34(_el$2,"fg",props.api.theme.current.textMuted,_$p))
5582
+ },onToggle:()=>props.preferences.toggleSectionExpanded("lsp"),get children() {return [_$createComponent43(Show10,{get when() {return list().length>0
5583
+ },get fallback() {return (()=>{var _el$2=_$createElement38("text")
5584
+ _$insert32(_el$2,()=>disabled()?"LSP is disabled":"Activates as files are read")
5585
+ _$effect35((_$p)=>_$setProp35(_el$2,"fg",props.api.theme.current.textMuted,_$p))
5504
5586
  return _el$2
5505
5587
  })()
5506
- },get children() {var _el$=_$createElement37("box")
5507
- _$setProp34(_el$,"flexDirection","row")
5508
- _$setProp34(_el$,"flexWrap","wrap")
5509
- _$setProp34(_el$,"gap",1)
5510
- _$setProp34(_el$,"paddingLeft",1)
5511
- _$setProp34(_el$,"paddingRight",1)
5512
- _$insert31(_el$,_$createComponent40(For11,{get each() {return visibility.visible()
5513
- },children:(item,index)=>_$createComponent40(LspBadge,{get api() {return props.api
5588
+ },get children() {var _el$=_$createElement38("box")
5589
+ _$setProp35(_el$,"flexDirection","row")
5590
+ _$setProp35(_el$,"flexWrap","wrap")
5591
+ _$setProp35(_el$,"gap",1)
5592
+ _$setProp35(_el$,"paddingLeft",1)
5593
+ _$setProp35(_el$,"paddingRight",1)
5594
+ _$insert32(_el$,_$createComponent43(For11,{get each() {return visibility.visible()
5595
+ },children:(item,index)=>_$createComponent43(LspBadge,{get api() {return props.api
5514
5596
  },get interaction() {return props.interaction
5515
5597
  },get id() {return item.id
5516
5598
  },get navigationId() {return `${PLUGIN_ID}.lsp.${item.id}.${item.root}`
@@ -5522,7 +5604,7 @@ _$insert31(_el$,_$createComponent40(For11,{get each() {return visibility.visible
5522
5604
  }))
5523
5605
  return _el$
5524
5606
  }
5525
- }),_$createComponent40(ListVisibilityControl,{get api() {return props.api
5607
+ }),_$createComponent43(ListVisibilityControl,{get api() {return props.api
5526
5608
  },get interaction() {return props.interaction
5527
5609
  },section:"lsp",get navigationSection() {return navigationSection()
5528
5610
  },row:11,visibility
@@ -5530,9 +5612,9 @@ return _el$
5530
5612
  }
5531
5613
  })
5532
5614
  }
5533
- import {createComponent as _$createComponent46} from "@opentui/solid"
5534
- import {createMemo as createMemo12,createSignal as createSignal23} from "solid-js"
5535
- import {createMemo as createMemo11} from "solid-js"
5615
+
5616
+
5617
+
5536
5618
  function createMcpSectionModel(props,query) {const target=createMemo11(()=>props.controller.target())
5537
5619
  const favorites=createMemo11(()=>props.preferences.favoriteMcpServers?.()??new Set)
5538
5620
  const groups=createMemo11(()=>props.preferences.mcpServerGroups?.()??{})
@@ -5557,43 +5639,43 @@ return selected&&Object.hasOwn(presets,selected)?selected:matchingMcpPreset(list
5557
5639
  return{target,favorites,groups,grouped,list,filtered,visibility,active,state,bulk,bulkRunning,mutationRunning,connectable,disconnectable,errors,presetName
5558
5640
  }
5559
5641
  }
5560
- import {effect as _$effect40} from "@opentui/solid"
5561
- import {createTextNode as _$createTextNode27} from "@opentui/solid"
5562
- import {insertNode as _$insertNode31} from "@opentui/solid"
5563
- import {insert as _$insert37} from "@opentui/solid"
5564
- import {createComponent as _$createComponent45} from "@opentui/solid"
5565
- import {memo as _$memo30} from "@opentui/solid"
5566
- import {setProp as _$setProp40} from "@opentui/solid"
5567
- import {createElement as _$createElement43} from "@opentui/solid"
5568
- import {For as For12,Show as Show13} from "solid-js"
5569
- import {createComponent as _$createComponent41} from "@opentui/solid"
5570
- import {effect as _$effect35} from "@opentui/solid"
5571
- import {insert as _$insert32} from "@opentui/solid"
5572
- import {setProp as _$setProp35} from "@opentui/solid"
5573
- import {createElement as _$createElement38} from "@opentui/solid"
5642
+
5643
+
5644
+
5645
+
5646
+
5647
+
5648
+
5649
+
5650
+
5651
+
5652
+
5653
+
5654
+
5655
+
5574
5656
  function McpBulkAction(props) {const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>props.position,disabled:()=>props.disabled,activate:props.onActivate
5575
5657
  })
5576
- return _$createComponent41(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5658
+ return _$createComponent44(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5577
5659
  },height:1,minWidth:0,paddingLeft:1,paddingRight:1,get backgroundColor() {return item.backgroundColor()
5578
5660
  },get onMouseOver() {return item.onMouseOver
5579
5661
  },get onMouseOut() {return item.onMouseOut
5580
- },onMouseDown:(event)=>item.activate(event),get children() {var _el$=_$createElement38("text")
5581
- _$setProp35(_el$,"wrapMode","none")
5582
- _$setProp35(_el$,"truncate",true)
5583
- _$setProp35(_el$,"height",1)
5584
- _$insert32(_el$,()=>props.label)
5585
- _$effect35((_$p)=>_$setProp35(_el$,"fg",item.foregroundColor(),_$p))
5662
+ },onMouseDown:(event)=>item.activate(event),get children() {var _el$=_$createElement39("text")
5663
+ _$setProp36(_el$,"wrapMode","none")
5664
+ _$setProp36(_el$,"truncate",true)
5665
+ _$setProp36(_el$,"height",1)
5666
+ _$insert33(_el$,()=>props.label)
5667
+ _$effect36((_$p)=>_$setProp36(_el$,"fg",item.foregroundColor(),_$p))
5586
5668
  return _el$
5587
5669
  }
5588
5670
  })
5589
5671
  }
5590
- import {insertNode as _$insertNode30} from "@opentui/solid"
5591
- import {effect as _$effect37} from "@opentui/solid"
5592
- import {insert as _$insert34} from "@opentui/solid"
5593
- import {setProp as _$setProp37} from "@opentui/solid"
5594
- import {createElement as _$createElement40} from "@opentui/solid"
5595
- import {memo as _$memo28} from "@opentui/solid"
5596
- import {createComponent as _$createComponent43} from "@opentui/solid"
5672
+
5673
+
5674
+
5675
+
5676
+
5677
+
5678
+
5597
5679
  function mcpColor(api,status) {const theme=api.theme.current
5598
5680
  if(status==="connected")
5599
5681
  return theme.success
@@ -5607,39 +5689,39 @@ function mcpToggle(status,busy) {if (busy||status==="pending")
5607
5689
  return "pending"
5608
5690
  return status==="connected"?"connected":"disconnected"
5609
5691
  }
5610
- import {memo as _$memo27} from "@opentui/solid"
5611
- import {effect as _$effect36} from "@opentui/solid"
5612
- import {createTextNode as _$createTextNode26} from "@opentui/solid"
5613
- import {insertNode as _$insertNode29} from "@opentui/solid"
5614
- import {insert as _$insert33} from "@opentui/solid"
5615
- import {setProp as _$setProp36} from "@opentui/solid"
5616
- import {createElement as _$createElement39} from "@opentui/solid"
5617
- import {createComponent as _$createComponent42} from "@opentui/solid"
5618
- import {Show as Show11} from "solid-js"
5692
+
5693
+
5694
+
5695
+
5696
+
5697
+
5698
+
5699
+
5700
+
5619
5701
  function RequestErrorRow(props) {const icons=useIcons()
5620
5702
  const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>props.position,disabled:()=>!props.state.error?.retryable||props.state.status==="loading"||props.state.status==="refreshing",activate:props.onRetry
5621
5703
  })
5622
- return _$createComponent42(Show11,{get when() {return props.state.error
5623
- },children:(error)=>_$createComponent42(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5704
+ return _$createComponent45(Show11,{get when() {return props.state.error
5705
+ },children:(error)=>_$createComponent45(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5624
5706
  },flexDirection:"row",gap:1,paddingLeft:1,paddingRight:1,get backgroundColor() {return item.backgroundColor()
5625
5707
  },get onMouseOver() {return item.onMouseOver
5626
5708
  },get onMouseOut() {return item.onMouseOut
5627
5709
  },onMouseDown:(event)=>{event.stopPropagation()
5628
5710
  item.activate(event)
5629
- },get children() {return [(()=>{var _el$=_$createElement39("text"),_el$2=_$createTextNode26(` `)
5630
- _$insertNode29(_el$,_el$2)
5631
- _$setProp36(_el$,"flexGrow",1)
5632
- _$setProp36(_el$,"wrapMode","word")
5633
- _$insert33(_el$,()=>icons.icon("error"),_el$2)
5634
- _$insert33(_el$,()=>error().message,null)
5635
- _$effect36((_$p)=>_$setProp36(_el$,"fg",item.focused()?item.foregroundColor():props.api.theme.current.error,_$p))
5711
+ },get children() {return [(()=>{var _el$=_$createElement40("text"),_el$2=_$createTextNode28(` `)
5712
+ _$insertNode31(_el$,_el$2)
5713
+ _$setProp37(_el$,"flexGrow",1)
5714
+ _$setProp37(_el$,"wrapMode","word")
5715
+ _$insert34(_el$,()=>icons.icon("error"),_el$2)
5716
+ _$insert34(_el$,()=>error().message,null)
5717
+ _$effect37((_$p)=>_$setProp37(_el$,"fg",item.focused()?item.foregroundColor():props.api.theme.current.error,_$p))
5636
5718
  return _el$
5637
- })(),_$createComponent42(Show11,{get when() {return error().retryable
5638
- },get children() {var _el$3=_$createElement39("text"),_el$4=_$createTextNode26(` Retry`)
5639
- _$insertNode29(_el$3,_el$4)
5640
- _$setProp36(_el$3,"flexShrink",0)
5641
- _$insert33(_el$3,()=>icons.icon("retry"),_el$4)
5642
- _$effect36((_$p)=>_$setProp36(_el$3,"fg",item.focused()?item.foregroundColor():props.api.theme.current.accent,_$p))
5719
+ })(),_$createComponent45(Show11,{get when() {return error().retryable
5720
+ },get children() {var _el$3=_$createElement40("text"),_el$4=_$createTextNode28(` Retry`)
5721
+ _$insertNode31(_el$3,_el$4)
5722
+ _$setProp37(_el$3,"flexShrink",0)
5723
+ _$insert34(_el$3,()=>icons.icon("retry"),_el$4)
5724
+ _$effect37((_$p)=>_$setProp37(_el$3,"fg",item.focused()?item.foregroundColor():props.api.theme.current.accent,_$p))
5643
5725
  return _el$3
5644
5726
  }
5645
5727
  })]
@@ -5649,27 +5731,27 @@ return _el$3
5649
5731
  }
5650
5732
  function SectionRequestBody(props) {const icons=useIcons()
5651
5733
  const pending=()=>props.state.status==="loading"
5652
- return (()=>{var _el$5=_$createElement39("box")
5653
- _$insert33(_el$5,_$createComponent42(RequestErrorRow,props),null)
5654
- _$insert33(_el$5,_$createComponent42(Show11,{get when() {return _$memo27(()=>!!pending())()&&!props.hasItems
5655
- },get children() {var _el$6=_$createElement39("text"),_el$7=_$createTextNode26(` `)
5656
- _$insertNode29(_el$6,_el$7)
5657
- _$insert33(_el$6,()=>icons.icon("pending"),_el$7)
5658
- _$insert33(_el$6,()=>props.loading,null)
5659
- _$effect36((_$p)=>_$setProp36(_el$6,"fg",props.api.theme.current.textMuted,_$p))
5734
+ return (()=>{var _el$5=_$createElement40("box")
5735
+ _$insert34(_el$5,_$createComponent45(RequestErrorRow,props),null)
5736
+ _$insert34(_el$5,_$createComponent45(Show11,{get when() {return _$memo28(()=>!!pending())()&&!props.hasItems
5737
+ },get children() {var _el$6=_$createElement40("text"),_el$7=_$createTextNode28(` `)
5738
+ _$insertNode31(_el$6,_el$7)
5739
+ _$insert34(_el$6,()=>icons.icon("pending"),_el$7)
5740
+ _$insert34(_el$6,()=>props.loading,null)
5741
+ _$effect37((_$p)=>_$setProp37(_el$6,"fg",props.api.theme.current.textMuted,_$p))
5660
5742
  return _el$6
5661
5743
  }
5662
5744
  }),null)
5663
- _$insert33(_el$5,_$createComponent42(Show11,{get when() {return props.hasItems
5745
+ _$insert34(_el$5,_$createComponent45(Show11,{get when() {return props.hasItems
5664
5746
  },get children() {return props.children
5665
5747
  }
5666
5748
  }),null)
5667
- _$insert33(_el$5,_$createComponent42(Show11,{get when() {return _$memo27(()=>!!((props.state.status==="ready"||props.state.status==="refreshing")&&!props.hasItems))()&&!props.state.error
5668
- },get children() {var _el$8=_$createElement39("text"),_el$9=_$createTextNode26(` `)
5669
- _$insertNode29(_el$8,_el$9)
5670
- _$insert33(_el$8,()=>icons.icon("info"),_el$9)
5671
- _$insert33(_el$8,()=>props.empty,null)
5672
- _$effect36((_$p)=>_$setProp36(_el$8,"fg",props.api.theme.current.textMuted,_$p))
5749
+ _$insert34(_el$5,_$createComponent45(Show11,{get when() {return _$memo28(()=>!!((props.state.status==="ready"||props.state.status==="refreshing")&&!props.hasItems))()&&!props.state.error
5750
+ },get children() {var _el$8=_$createElement40("text"),_el$9=_$createTextNode28(` `)
5751
+ _$insertNode31(_el$8,_el$9)
5752
+ _$insert34(_el$8,()=>icons.icon("info"),_el$9)
5753
+ _$insert34(_el$8,()=>props.empty,null)
5754
+ _$effect37((_$p)=>_$setProp37(_el$8,"fg",props.api.theme.current.textMuted,_$p))
5673
5755
  return _el$8
5674
5756
  }
5675
5757
  }),null)
@@ -5694,7 +5776,7 @@ queueMicrotask(()=>props.interaction?.select(`${id()}.favorite`))
5694
5776
  const info=useSidebarItem(props.api,props.interaction,{id:`${id()}.info`,position:()=>({...props.position,column:1
5695
5777
  }),activate:()=>{if (!props.item.error)
5696
5778
  return
5697
- dialogs.open(()=>_$createComponent43(McpErrorDialog,{get api() {return props.api
5779
+ dialogs.open(()=>_$createComponent46(McpErrorDialog,{get api() {return props.api
5698
5780
  },get name() {return props.item.name
5699
5781
  },get status() {return props.item.status
5700
5782
  },get error() {return props.item.error
@@ -5703,29 +5785,29 @@ dialogs.open(()=>_$createComponent43(McpErrorDialog,{get api() {return props.api
5703
5785
  }
5704
5786
  },()=>theme().error,"control")
5705
5787
  const nestedBackground=(background)=>background==="transparent"?row.backgroundColor():background
5706
- return _$createComponent43(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
5788
+ return _$createComponent46(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
5707
5789
  },get backgroundColor() {return row.backgroundColor()
5708
5790
  },paddingLeft:1,paddingRight:1,get paddingTop() {return error()?1:0
5709
5791
  },get paddingBottom() {return error()?1:0
5710
5792
  },get marginTop() {return props.separator?1:0
5711
5793
  },get onMouseOver() {return row.onMouseOver
5712
5794
  },get onMouseOut() {return row.onMouseOut
5713
- },onMouseDown:(event)=>row.activate(event),get content() {return (()=>{var _el$=_$createElement40("text")
5714
- _$setProp37(_el$,"flexGrow",1)
5715
- _$setProp37(_el$,"wrapMode","none")
5716
- _$insert34(_el$,()=>props.item.name)
5717
- _$effect37((_$p)=>_$setProp37(_el$,"fg",row.focused()||disabled()?row.foregroundColor():props.item.status==="connected"?theme().text:theme().textMuted,_$p))
5795
+ },onMouseDown:(event)=>row.activate(event),get content() {return (()=>{var _el$=_$createElement41("text")
5796
+ _$setProp38(_el$,"flexGrow",1)
5797
+ _$setProp38(_el$,"wrapMode","none")
5798
+ _$insert35(_el$,()=>props.item.name)
5799
+ _$effect38((_$p)=>_$setProp38(_el$,"fg",row.focused()||disabled()?row.foregroundColor():props.item.status==="connected"?theme().text:theme().textMuted,_$p))
5718
5800
  return _el$
5719
5801
  })()
5720
- },get trailing() {return (()=>{var _el$2=_$createElement40("box"),_el$3=_$createElement40("text"),_el$4=_$createElement40("b")
5721
- _$insertNode30(_el$2,_el$3)
5722
- _$setProp37(_el$2,"flexDirection","row")
5723
- _$setProp37(_el$2,"flexShrink",0)
5724
- _$setProp37(_el$2,"gap",1)
5725
- _$insertNode30(_el$3,_el$4)
5726
- _$insert34(_el$4,()=>icons.icon(mcpToggle(props.item.status,busy())))
5727
- _$insert34(_el$2,(()=>{var _c$=_$memo28(()=>!!props.item.error)
5728
- return ()=>_c$()?_$createComponent43(IconControl,{ref:(node)=>info.ref(node),get id() {return `${id()}.info`
5802
+ },get trailing() {return (()=>{var _el$2=_$createElement41("box"),_el$3=_$createElement41("text"),_el$4=_$createElement41("b")
5803
+ _$insertNode32(_el$2,_el$3)
5804
+ _$setProp38(_el$2,"flexDirection","row")
5805
+ _$setProp38(_el$2,"flexShrink",0)
5806
+ _$setProp38(_el$2,"gap",1)
5807
+ _$insertNode32(_el$3,_el$4)
5808
+ _$insert35(_el$4,()=>icons.icon(mcpToggle(props.item.status,busy())))
5809
+ _$insert35(_el$2,(()=>{var _c$=_$memo29(()=>!!props.item.error)
5810
+ return ()=>_c$()?_$createComponent46(IconControl,{ref:(node)=>info.ref(node),get id() {return `${id()}.info`
5729
5811
  },get icon() {return icons.icon("info")
5730
5812
  },get backgroundColor() {return nestedBackground(info.backgroundColor())
5731
5813
  },get foregroundColor() {return info.foregroundColor()
@@ -5734,18 +5816,18 @@ return ()=>_c$()?_$createComponent43(IconControl,{ref:(node)=>info.ref(node),get
5734
5816
  },onMouseUp:(event)=>info.activate(event)
5735
5817
  }):null
5736
5818
  })(),null)
5737
- _$insert34(_el$2,_$createComponent43(BookmarkControl,{ref:(node)=>bookmark.ref(node),get id() {return `${id()}.favorite`
5819
+ _$insert35(_el$2,_$createComponent46(BookmarkControl,{ref:(node)=>bookmark.ref(node),get id() {return `${id()}.favorite`
5738
5820
  },get bookmarked() {return props.favorite
5739
5821
  },get backgroundColor() {return nestedBackground(bookmark.backgroundColor())
5740
- },get foregroundColor() {return _$memo28(()=>!!row.focused())()?row.foregroundColor():bookmark.foregroundColor()
5822
+ },get foregroundColor() {return _$memo29(()=>!!row.focused())()?row.foregroundColor():bookmark.foregroundColor()
5741
5823
  },get onMouseOver() {return bookmark.onMouseOver
5742
5824
  },get onMouseOut() {return bookmark.onMouseOut
5743
5825
  },onMouseUp:(event)=>bookmark.activate(event)
5744
5826
  }),null)
5745
- _$effect37((_$p)=>_$setProp37(_el$3,"fg",row.focused()?row.foregroundColor():mcpColor(props.api,props.item.status),_$p))
5827
+ _$effect38((_$p)=>_$setProp38(_el$3,"fg",row.focused()?row.foregroundColor():mcpColor(props.api,props.item.status),_$p))
5746
5828
  return _el$2
5747
5829
  })()
5748
- },get details() {return _$createComponent43(RequestErrorRow,{get api() {return props.api
5830
+ },get details() {return _$createComponent46(RequestErrorRow,{get api() {return props.api
5749
5831
  },get interaction() {return props.interaction
5750
5832
  },get id() {return `${id()}.retry`
5751
5833
  },get position() {return {...props.position,row:props.position.row + 1,column:0
@@ -5757,14 +5839,14 @@ return _el$2
5757
5839
  }
5758
5840
  })
5759
5841
  }
5760
- import {createComponent as _$createComponent44} from "@opentui/solid"
5761
- import {use as _$use9} from "@opentui/solid"
5762
- import {effect as _$effect38} from "@opentui/solid"
5763
- import {insert as _$insert35} from "@opentui/solid"
5764
- import {setProp as _$setProp38} from "@opentui/solid"
5765
- import {createElement as _$createElement41} from "@opentui/solid"
5766
- import {memo as _$memo29} from "@opentui/solid"
5767
- import {Show as Show12,createSignal as createSignal22,onCleanup as onCleanup14} from "solid-js"
5842
+
5843
+
5844
+
5845
+
5846
+
5847
+
5848
+
5849
+
5768
5850
  function SectionFilter(props) {const icons=useIcons()
5769
5851
  let input
5770
5852
  let unregisterInput
@@ -5791,78 +5873,78 @@ else
5791
5873
  input?.blur()
5792
5874
  }
5793
5875
  onCleanup14(()=>unregisterInput?.())
5794
- return _$createComponent44(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5795
- },flexDirection:"row",gap:1,marginTop:1,marginBottom:1,paddingLeft:1,paddingRight:1,get backgroundColor() {return _$memo29(()=>!!highlighted())()?theme().primary:item.backgroundColor()
5876
+ return _$createComponent47(SelectionBox,{ref:(node)=>item.ref(node),get id() {return props.id
5877
+ },flexDirection:"row",gap:1,marginTop:1,marginBottom:1,paddingLeft:1,paddingRight:1,get backgroundColor() {return _$memo30(()=>!!highlighted())()?theme().primary:item.backgroundColor()
5796
5878
  },get onMouseOver() {return item.onMouseOver
5797
5879
  },get onMouseOut() {return item.onMouseOut
5798
- },onMouseDown:(event)=>item.activate(event),get children() {return [(()=>{var _el$=_$createElement41("text")
5799
- _$setProp38(_el$,"flexShrink",0)
5800
- _$insert35(_el$,()=>icons.icon("search"))
5801
- _$effect38((_$p)=>_$setProp38(_el$,"fg",mutedColor(),_$p))
5880
+ },onMouseDown:(event)=>item.activate(event),get children() {return [(()=>{var _el$=_$createElement42("text")
5881
+ _$setProp39(_el$,"flexShrink",0)
5882
+ _$insert36(_el$,()=>icons.icon("search"))
5883
+ _$effect39((_$p)=>_$setProp39(_el$,"fg",mutedColor(),_$p))
5802
5884
  return _el$
5803
- })(),(()=>{var _el$2=_$createElement41("input")
5885
+ })(),(()=>{var _el$2=_$createElement42("input")
5804
5886
  _$use9((node)=>{input=node
5805
5887
  unregisterInput?.()
5806
5888
  unregisterInput=props.interaction?.registerFilter(node,props.id??`filter.${props.placeholder}`,()=>leaveInput())
5807
5889
  },_el$2)
5808
- _$setProp38(_el$2,"flexGrow",1)
5809
- _$setProp38(_el$2,"backgroundColor","transparent")
5810
- _$setProp38(_el$2,"focusedBackgroundColor","transparent")
5811
- _$setProp38(_el$2,"on:focused",()=>setInputFocused(true))
5812
- _$setProp38(_el$2,"on:blurred",()=>setInputFocused(false))
5813
- _$setProp38(_el$2,"onSubmit",()=>leaveInput())
5814
- _$setProp38(_el$2,"onKeyDown",(event)=>{if (event.name!=="escape")
5890
+ _$setProp39(_el$2,"flexGrow",1)
5891
+ _$setProp39(_el$2,"backgroundColor","transparent")
5892
+ _$setProp39(_el$2,"focusedBackgroundColor","transparent")
5893
+ _$setProp39(_el$2,"on:focused",()=>setInputFocused(true))
5894
+ _$setProp39(_el$2,"on:blurred",()=>setInputFocused(false))
5895
+ _$setProp39(_el$2,"onSubmit",()=>leaveInput())
5896
+ _$setProp39(_el$2,"onKeyDown",(event)=>{if (event.name!=="escape")
5815
5897
  return
5816
5898
  leaveInput(event)
5817
5899
  })
5818
- _$effect38((_p$)=>{var {query:_v$,placeholder:_v$2}=props,_v$3=mutedColor(),_v$4=textColor(),_v$5=textColor(),_v$6=highlighted()?theme().selectedListItemText:theme().accent,_v$7=inputFocused(),_v$8=props.onInput
5819
- _v$!==_p$.e&&(_p$.e=_$setProp38(_el$2,"value",_v$,_p$.e))
5820
- _v$2!==_p$.t&&(_p$.t=_$setProp38(_el$2,"placeholder",_v$2,_p$.t))
5821
- _v$3!==_p$.a&&(_p$.a=_$setProp38(_el$2,"placeholderColor",_v$3,_p$.a))
5822
- _v$4!==_p$.o&&(_p$.o=_$setProp38(_el$2,"textColor",_v$4,_p$.o))
5823
- _v$5!==_p$.i&&(_p$.i=_$setProp38(_el$2,"focusedTextColor",_v$5,_p$.i))
5824
- _v$6!==_p$.n&&(_p$.n=_$setProp38(_el$2,"cursorColor",_v$6,_p$.n))
5825
- _v$7!==_p$.s&&(_p$.s=_$setProp38(_el$2,"focused",_v$7,_p$.s))
5826
- _v$8!==_p$.h&&(_p$.h=_$setProp38(_el$2,"onInput",_v$8,_p$.h))
5900
+ _$effect39((_p$)=>{var {query:_v$,placeholder:_v$2}=props,_v$3=mutedColor(),_v$4=textColor(),_v$5=textColor(),_v$6=highlighted()?theme().selectedListItemText:theme().accent,_v$7=inputFocused(),_v$8=props.onInput
5901
+ _v$!==_p$.e&&(_p$.e=_$setProp39(_el$2,"value",_v$,_p$.e))
5902
+ _v$2!==_p$.t&&(_p$.t=_$setProp39(_el$2,"placeholder",_v$2,_p$.t))
5903
+ _v$3!==_p$.a&&(_p$.a=_$setProp39(_el$2,"placeholderColor",_v$3,_p$.a))
5904
+ _v$4!==_p$.o&&(_p$.o=_$setProp39(_el$2,"textColor",_v$4,_p$.o))
5905
+ _v$5!==_p$.i&&(_p$.i=_$setProp39(_el$2,"focusedTextColor",_v$5,_p$.i))
5906
+ _v$6!==_p$.n&&(_p$.n=_$setProp39(_el$2,"cursorColor",_v$6,_p$.n))
5907
+ _v$7!==_p$.s&&(_p$.s=_$setProp39(_el$2,"focused",_v$7,_p$.s))
5908
+ _v$8!==_p$.h&&(_p$.h=_$setProp39(_el$2,"onInput",_v$8,_p$.h))
5827
5909
  return _p$
5828
5910
  },{e:undefined,t:undefined,a:undefined,o:undefined,i:undefined,n:undefined,s:undefined,h:undefined
5829
5911
  })
5830
5912
  return _el$2
5831
- })(),_$createComponent44(Show12,{get when() {return props.query
5832
- },get children() {var _el$3=_$createElement41("text")
5833
- _$setProp38(_el$3,"flexShrink",0)
5834
- _$setProp38(_el$3,"onMouseDown",()=>props.onInput(""))
5835
- _$insert35(_el$3,()=>icons.icon("close"))
5836
- _$effect38((_$p)=>_$setProp38(_el$3,"fg",mutedColor(),_$p))
5913
+ })(),_$createComponent47(Show12,{get when() {return props.query
5914
+ },get children() {var _el$3=_$createElement42("text")
5915
+ _$setProp39(_el$3,"flexShrink",0)
5916
+ _$setProp39(_el$3,"onMouseDown",()=>props.onInput(""))
5917
+ _$insert36(_el$3,()=>icons.icon("close"))
5918
+ _$effect39((_$p)=>_$setProp39(_el$3,"fg",mutedColor(),_$p))
5837
5919
  return _el$3
5838
5920
  }
5839
5921
  })]
5840
5922
  }
5841
5923
  })
5842
5924
  }
5843
- import {setProp as _$setProp39} from "@opentui/solid"
5844
- import {effect as _$effect39} from "@opentui/solid"
5845
- import {insert as _$insert36} from "@opentui/solid"
5846
- import {createElement as _$createElement42} from "@opentui/solid"
5847
- function SidebarRowList(props) {return (()=>{var _el$=_$createElement42("box")
5848
- _$insert36(_el$,()=>props.children)
5849
- _$effect39((_$p)=>_$setProp39(_el$,"gap",props.density==="comfortable"?1:0,_$p))
5925
+
5926
+
5927
+
5928
+
5929
+ function SidebarRowList(props) {return (()=>{var _el$=_$createElement43("box")
5930
+ _$insert37(_el$,()=>props.children)
5931
+ _$effect40((_$p)=>_$setProp40(_el$,"gap",props.density==="comfortable"?1:0,_$p))
5850
5932
  return _el$
5851
5933
  })()
5852
5934
  }
5853
5935
  function McpSectionContent(props) {const icons=useIcons()
5854
5936
  const model=props.model
5855
- return _$createComponent45(SectionRequestBody,{get api() {return props.api
5937
+ return _$createComponent48(SectionRequestBody,{get api() {return props.api
5856
5938
  },get interaction() {return props.interaction
5857
5939
  },id:`${PLUGIN_ID}.retry.mcp`,get position() {return {section:props.navigationSection,row:1,column:0
5858
5940
  }
5859
5941
  },get state() {return model.state()
5860
5942
  },get hasItems() {return model.list().length>0
5861
- },empty:"No MCP servers",loading:"Loading MCP servers\u2026",onRetry:()=>void props.controller.retry(model.target()),get children() {var _el$=_$createElement43("box"),_el$2=_$createElement43("box")
5862
- _$insertNode31(_el$,_el$2)
5863
- _$setProp40(_el$2,"flexDirection","row")
5864
- _$setProp40(_el$2,"gap",1)
5865
- _$insert37(_el$2,_$createComponent45(McpBulkAction,{get api() {return props.api
5943
+ },empty:"No MCP servers",loading:"Loading MCP servers\u2026",onRetry:()=>void props.controller.retry(model.target()),get children() {var _el$=_$createElement44("box"),_el$2=_$createElement44("box")
5944
+ _$insertNode33(_el$,_el$2)
5945
+ _$setProp41(_el$2,"flexDirection","row")
5946
+ _$setProp41(_el$2,"gap",1)
5947
+ _$insert38(_el$2,_$createComponent48(McpBulkAction,{get api() {return props.api
5866
5948
  },get interaction() {return props.interaction
5867
5949
  },id:`${PLUGIN_ID}.mcp.connect-all`,get position() {return {section:props.navigationSection,row:2,column:0
5868
5950
  }
@@ -5870,7 +5952,7 @@ _$insert37(_el$2,_$createComponent45(McpBulkAction,{get api() {return props.api
5870
5952
  },get disabled() {return model.bulkRunning()||model.mutationRunning()||model.connectable()===0
5871
5953
  },onActivate:()=>void props.controller.connectAll(model.target())
5872
5954
  }),null)
5873
- _$insert37(_el$2,_$createComponent45(McpBulkAction,{get api() {return props.api
5955
+ _$insert38(_el$2,_$createComponent48(McpBulkAction,{get api() {return props.api
5874
5956
  },get interaction() {return props.interaction
5875
5957
  },id:`${PLUGIN_ID}.mcp.disconnect-all`,get position() {return {section:props.navigationSection,row:2,column:1
5876
5958
  }
@@ -5878,22 +5960,22 @@ _$insert37(_el$2,_$createComponent45(McpBulkAction,{get api() {return props.api
5878
5960
  },get disabled() {return model.bulkRunning()||model.mutationRunning()||model.disconnectable()===0
5879
5961
  },onActivate:()=>void props.controller.disconnectAll(model.target())
5880
5962
  }),null)
5881
- _$insert37(_el$,_$createComponent45(Show13,{get when() {return model.bulkRunning()
5882
- },get children() {var _el$3=_$createElement43("text"),_el$4=_$createTextNode27(` `),_el$5=_$createTextNode27(`/`),_el$6=_$createTextNode27(`\u2026`)
5883
- _$insertNode31(_el$3,_el$4)
5884
- _$insertNode31(_el$3,_el$5)
5885
- _$insertNode31(_el$3,_el$6)
5886
- _$insert37(_el$3,(()=>{var _c$=_$memo30(()=>model.bulk().action==="connect")
5887
- return ()=>_c$()?"Connecting":_$memo30(()=>model.bulk().action==="disconnect")()?"Disconnecting":`Applying ${model.bulk().preset}`
5963
+ _$insert38(_el$,_$createComponent48(Show13,{get when() {return model.bulkRunning()
5964
+ },get children() {var _el$3=_$createElement44("text"),_el$4=_$createTextNode29(` `),_el$5=_$createTextNode29(`/`),_el$6=_$createTextNode29(`\u2026`)
5965
+ _$insertNode33(_el$3,_el$4)
5966
+ _$insertNode33(_el$3,_el$5)
5967
+ _$insertNode33(_el$3,_el$6)
5968
+ _$insert38(_el$3,(()=>{var _c$=_$memo31(()=>model.bulk().action==="connect")
5969
+ return ()=>_c$()?"Connecting":_$memo31(()=>model.bulk().action==="disconnect")()?"Disconnecting":`Applying ${model.bulk().preset}`
5888
5970
  })(),_el$4)
5889
- _$insert37(_el$3,()=>model.bulk().completed,_el$5)
5890
- _$insert37(_el$3,()=>model.bulk().total,_el$6)
5891
- _$effect40((_$p)=>_$setProp40(_el$3,"fg",props.api.theme.current.textMuted,_$p))
5971
+ _$insert38(_el$3,()=>model.bulk().completed,_el$5)
5972
+ _$insert38(_el$3,()=>model.bulk().total,_el$6)
5973
+ _$effect41((_$p)=>_$setProp41(_el$3,"fg",props.api.theme.current.textMuted,_$p))
5892
5974
  return _el$3
5893
5975
  }
5894
5976
  }),null)
5895
- _$insert37(_el$,_$createComponent45(Show13,{get when() {return model.bulk().status==="error"
5896
- },get children() {return _$createComponent45(McpBulkAction,{get api() {return props.api
5977
+ _$insert38(_el$,_$createComponent48(Show13,{get when() {return model.bulk().status==="error"
5978
+ },get children() {return _$createComponent48(McpBulkAction,{get api() {return props.api
5897
5979
  },get interaction() {return props.interaction
5898
5980
  },id:`${PLUGIN_ID}.mcp.retry-all`,get position() {return {section:props.navigationSection,row:3,column:0
5899
5981
  }
@@ -5902,7 +5984,7 @@ _$insert37(_el$,_$createComponent45(Show13,{get when() {return model.bulk().stat
5902
5984
  })
5903
5985
  }
5904
5986
  }),null)
5905
- _$insert37(_el$,_$createComponent45(SectionFilter,{get api() {return props.api
5987
+ _$insert38(_el$,_$createComponent48(SectionFilter,{get api() {return props.api
5906
5988
  },get interaction() {return props.interaction
5907
5989
  },id:`${PLUGIN_ID}.filter.mcp`,get position() {return {section:props.navigationSection,row:4,column:0
5908
5990
  }
@@ -5910,29 +5992,29 @@ _$insert37(_el$,_$createComponent45(SectionFilter,{get api() {return props.api
5910
5992
  },placeholder:"Filter MCP...",get onInput() {return props.onQuery
5911
5993
  }
5912
5994
  }),null)
5913
- _$insert37(_el$,_$createComponent45(Show13,{get when() {return model.filtered().length>0
5914
- },get fallback() {return (()=>{var _el$7=_$createElement43("text")
5915
- _$insertNode31(_el$7,_$createTextNode27(`No matching MCP servers`))
5916
- _$effect40((_$p)=>_$setProp40(_el$7,"fg",props.api.theme.current.textMuted,_$p))
5995
+ _$insert38(_el$,_$createComponent48(Show13,{get when() {return model.filtered().length>0
5996
+ },get fallback() {return (()=>{var _el$7=_$createElement44("text")
5997
+ _$insertNode33(_el$7,_$createTextNode29(`No matching MCP servers`))
5998
+ _$effect41((_$p)=>_$setProp41(_el$7,"fg",props.api.theme.current.textMuted,_$p))
5917
5999
  return _el$7
5918
6000
  })()
5919
- },get children() {return [_$createComponent45(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
5920
- },get children() {return _$createComponent45(For12,{get each() {return model.visibility.visible()
5921
- },children:(item,index)=>[_$createComponent45(Show13,{get when() {return _$memo30(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index() - 1]?.bucket!==item.bucket)
5922
- },get children() {var _el$9=_$createElement43("text")
5923
- _$setProp40(_el$9,"height",1)
5924
- _$setProp40(_el$9,"wrapMode","none")
5925
- _$setProp40(_el$9,"truncate",true)
5926
- _$insert37(_el$9,()=>item.bucket)
5927
- _$effect40((_p$)=>{var _v$=index()>0?1:0,_v$2=props.api.theme.current.textMuted
5928
- _v$!==_p$.e&&(_p$.e=_$setProp40(_el$9,"marginTop",_v$,_p$.e))
5929
- _v$2!==_p$.t&&(_p$.t=_$setProp40(_el$9,"fg",_v$2,_p$.t))
6001
+ },get children() {return [_$createComponent48(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
6002
+ },get children() {return _$createComponent48(For12,{get each() {return model.visibility.visible()
6003
+ },children:(item,index)=>[_$createComponent48(Show13,{get when() {return _$memo31(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index() - 1]?.bucket!==item.bucket)
6004
+ },get children() {var _el$9=_$createElement44("text")
6005
+ _$setProp41(_el$9,"height",1)
6006
+ _$setProp41(_el$9,"wrapMode","none")
6007
+ _$setProp41(_el$9,"truncate",true)
6008
+ _$insert38(_el$9,()=>item.bucket)
6009
+ _$effect41((_p$)=>{var _v$=index()>0?1:0,_v$2=props.api.theme.current.textMuted
6010
+ _v$!==_p$.e&&(_p$.e=_$setProp41(_el$9,"marginTop",_v$,_p$.e))
6011
+ _v$2!==_p$.t&&(_p$.t=_$setProp41(_el$9,"fg",_v$2,_p$.t))
5930
6012
  return _p$
5931
6013
  },{e:undefined,t:undefined
5932
6014
  })
5933
6015
  return _el$9
5934
6016
  }
5935
- }),_$createComponent45(McpRow,{get api() {return props.api
6017
+ }),_$createComponent48(McpRow,{get api() {return props.api
5936
6018
  },get interaction() {return props.interaction
5937
6019
  },item,get position() {return {section:props.navigationSection,row:10 + index() * 2,column:0
5938
6020
  }
@@ -5940,12 +6022,12 @@ return _el$9
5940
6022
  },get disabled() {return model.bulkRunning()
5941
6023
  },onToggle:()=>void props.controller.toggle(item.name).catch(()=>{}),onRetry:()=>void props.controller.retryServer(item.name,model.target())?.catch(()=>{}),get favorite() {return model.favorites().has(item.name)
5942
6024
  },get favoriteDisabled() {return props.preferences.ready?.()===false
5943
- },get separator() {return _$memo30(()=>!!(!model.grouped()&&index()>0&&model.favorites().has(model.visibility.visible()[index() - 1].name)))()&&!model.favorites().has(item.name)
6025
+ },get separator() {return _$memo31(()=>!!(!model.grouped()&&index()>0&&model.favorites().has(model.visibility.visible()[index() - 1].name)))()&&!model.favorites().has(item.name)
5944
6026
  },onToggleFavorite:()=>props.preferences.toggleFavoriteMcpServer?.(item.name)
5945
6027
  })]
5946
6028
  })
5947
6029
  }
5948
- }),_$createComponent45(ListVisibilityControl,{get api() {return props.api
6030
+ }),_$createComponent48(ListVisibilityControl,{get api() {return props.api
5949
6031
  },get interaction() {return props.interaction
5950
6032
  },section:"mcp",get navigationSection() {return props.navigationSection
5951
6033
  },get row() {return 10 + model.visibility.visible().length * 2
@@ -5954,7 +6036,7 @@ return _el$9
5954
6036
  })]
5955
6037
  }
5956
6038
  }),null)
5957
- _$effect40((_$p)=>_$setProp40(_el$2,"paddingBottom",model.bulkRunning()||model.bulk().status==="error"?1:0,_$p))
6039
+ _$effect41((_$p)=>_$setProp41(_el$2,"paddingBottom",model.bulkRunning()||model.bulk().status==="error"?1:0,_$p))
5958
6040
  return _el$
5959
6041
  }
5960
6042
  })
@@ -5964,13 +6046,13 @@ const [query,setQuery]=createSignal23("")
5964
6046
  const model=createMcpSectionModel(props,query)
5965
6047
  const navigationSection=()=>props.navigationSection??6
5966
6048
  const summary=createMemo12(()=>`${model.active()}/${model.list().length}${model.errors() ? ` \xB7 ${model.errors()} ${icons.icon("error")}` : ""}`)
5967
- return _$createComponent46(SectionWithHeaderAction,{get api() {return props.api
6049
+ return _$createComponent49(SectionWithHeaderAction,{get api() {return props.api
5968
6050
  },get interaction() {return props.interaction
5969
6051
  },sectionId:`${PLUGIN_ID}.section.mcp`,get navigationSection() {return navigationSection()
5970
6052
  },title:"MCP",section:"mcp",get summary() {return summary()
5971
6053
  },headerAction:{id:`${PLUGIN_ID}.mcp.presets`,label:()=>`${icons.icon("presets")} ${model.presetName() ?? "Preset"}`,disabled:()=>model.bulkRunning()||model.mutationRunning()||props.preferences.ready?.()===false,onActivate:()=>openMcpPresets(props.api,props.controller,props.preferences)
5972
6054
  },get open() {return props.preferences.expanded().mcp
5973
- },onToggle:()=>props.preferences.toggleSectionExpanded("mcp"),get children() {return _$createComponent46(McpSectionContent,{get api() {return props.api
6055
+ },onToggle:()=>props.preferences.toggleSectionExpanded("mcp"),get children() {return _$createComponent49(McpSectionContent,{get api() {return props.api
5974
6056
  },get interaction() {return props.interaction
5975
6057
  },get controller() {return props.controller
5976
6058
  },get preferences() {return props.preferences
@@ -5981,21 +6063,21 @@ return _$createComponent46(SectionWithHeaderAction,{get api() {return props.api
5981
6063
  }
5982
6064
  })
5983
6065
  }
5984
- import {createComponent as _$createComponent48} from "@opentui/solid"
5985
- import {setProp as _$setProp42} from "@opentui/solid"
5986
- import {effect as _$effect42} from "@opentui/solid"
5987
- import {createTextNode as _$createTextNode28} from "@opentui/solid"
5988
- import {insertNode as _$insertNode32} from "@opentui/solid"
5989
- import {createElement as _$createElement45} from "@opentui/solid"
5990
- import {memo as _$memo32} from "@opentui/solid"
5991
- import {For as For13,Show as Show15,createMemo as createMemo14} from "solid-js"
5992
- import {effect as _$effect41} from "@opentui/solid"
5993
- import {insert as _$insert38} from "@opentui/solid"
5994
- import {setProp as _$setProp41} from "@opentui/solid"
5995
- import {createElement as _$createElement44} from "@opentui/solid"
5996
- import {createComponent as _$createComponent47} from "@opentui/solid"
5997
- import {memo as _$memo31} from "@opentui/solid"
5998
- import {Show as Show14,createMemo as createMemo13} from "solid-js"
6066
+
6067
+
6068
+
6069
+
6070
+
6071
+
6072
+
6073
+
6074
+
6075
+
6076
+
6077
+
6078
+
6079
+
6080
+
5999
6081
  function QuickActionRow(props) {const icons=useIcons()
6000
6082
  const theme=()=>props.api.theme.current
6001
6083
  const shortcut=createMemo13(()=>{const bindings=props.api.keymap.getCommandBindings({visibility:"registered",commands:[props.action.command]
@@ -6019,41 +6101,41 @@ queueMicrotask(()=>props.interaction?.select(`${id()}.favorite`))
6019
6101
  const controlBackground=()=>{const background=favorite.backgroundColor()
6020
6102
  return background==="transparent"?row.backgroundColor():background
6021
6103
  }
6022
- return _$createComponent47(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6104
+ return _$createComponent50(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6023
6105
  },paddingLeft:1,paddingRight:1,get marginTop() {return props.separator?1:0
6024
6106
  },get backgroundColor() {return row.backgroundColor()
6025
6107
  },get onMouseOver() {return row.onMouseOver
6026
6108
  },get onMouseOut() {return row.onMouseOut
6027
- },onMouseUp:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement44("text")
6028
- _$setProp41(_el$,"flexShrink",0)
6029
- _$insert38(_el$,()=>icons.action(props.action.command))
6030
- _$effect41((_$p)=>_$setProp41(_el$,"fg",props.disabled?theme().textMuted:row.focused()?row.foregroundColor():theme().accent,_$p))
6109
+ },onMouseUp:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement45("text")
6110
+ _$setProp42(_el$,"flexShrink",0)
6111
+ _$insert39(_el$,()=>icons.action(props.action.command))
6112
+ _$effect42((_$p)=>_$setProp42(_el$,"fg",props.disabled?theme().textMuted:row.focused()?row.foregroundColor():theme().accent,_$p))
6031
6113
  return _el$
6032
6114
  })()
6033
- },get content() {return (()=>{var _el$2=_$createElement44("text")
6034
- _$setProp41(_el$2,"flexGrow",1)
6035
- _$setProp41(_el$2,"wrapMode","none")
6036
- _$setProp41(_el$2,"truncate",true)
6037
- _$insert38(_el$2,()=>props.action.label,null)
6038
- _$insert38(_el$2,(()=>{var _c$=_$memo31(()=>!!props.disabled)
6115
+ },get content() {return (()=>{var _el$2=_$createElement45("text")
6116
+ _$setProp42(_el$2,"flexGrow",1)
6117
+ _$setProp42(_el$2,"wrapMode","none")
6118
+ _$setProp42(_el$2,"truncate",true)
6119
+ _$insert39(_el$2,()=>props.action.label,null)
6120
+ _$insert39(_el$2,(()=>{var _c$=_$memo32(()=>!!props.disabled)
6039
6121
  return ()=>_c$()?` \xB7 ${props.disabled}`:""
6040
6122
  })(),null)
6041
- _$effect41((_$p)=>_$setProp41(_el$2,"fg",row.foregroundColor(),_$p))
6123
+ _$effect42((_$p)=>_$setProp42(_el$2,"fg",row.foregroundColor(),_$p))
6042
6124
  return _el$2
6043
6125
  })()
6044
- },get metadata() {return _$createComponent47(Show14,{get when() {return shortcut()
6045
- },children:(value)=>(()=>{var _el$3=_$createElement44("text")
6046
- _$setProp41(_el$3,"flexShrink",0)
6047
- _$setProp41(_el$3,"wrapMode","none")
6048
- _$insert38(_el$3,value)
6049
- _$effect41((_$p)=>_$setProp41(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
6126
+ },get metadata() {return _$createComponent50(Show14,{get when() {return shortcut()
6127
+ },children:(value)=>(()=>{var _el$3=_$createElement45("text")
6128
+ _$setProp42(_el$3,"flexShrink",0)
6129
+ _$setProp42(_el$3,"wrapMode","none")
6130
+ _$insert39(_el$3,value)
6131
+ _$effect42((_$p)=>_$setProp42(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
6050
6132
  return _el$3
6051
6133
  })()
6052
6134
  })
6053
- },get trailing() {return _$createComponent47(BookmarkControl,{ref:(node)=>favorite.ref(node),get id() {return `${id()}.favorite`
6135
+ },get trailing() {return _$createComponent50(BookmarkControl,{ref:(node)=>favorite.ref(node),get id() {return `${id()}.favorite`
6054
6136
  },get bookmarked() {return props.favorite
6055
6137
  },get backgroundColor() {return controlBackground()
6056
- },get foregroundColor() {return _$memo31(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
6138
+ },get foregroundColor() {return _$memo32(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
6057
6139
  },get onMouseOver() {return favorite.onMouseOver
6058
6140
  },get onMouseOut() {return favorite.onMouseOut
6059
6141
  },onMouseUp:(event)=>favorite.activate(event)
@@ -6071,32 +6153,32 @@ return action&&props.preferences.quickActionVisible?.(id)!==false?[{...action,la
6071
6153
  const visibility=createListVisibility({items:actions,limit:()=>props.preferences.sectionItemLimit?.("quick_actions")??0,resetKey:()=>currentLocation(props.api).key
6072
6154
  })
6073
6155
  const navigationSection=()=>props.navigationSection??4
6074
- return _$createComponent48(Section,{get api() {return props.api
6156
+ return _$createComponent51(Section,{get api() {return props.api
6075
6157
  },get interaction() {return props.interaction
6076
6158
  },sectionId:`${PLUGIN_ID}.section.quick_actions`,get navigationSection() {return navigationSection()
6077
6159
  },title:"QUICK ACTIONS",section:"quick_actions",get summary() {return String(actions().length)
6078
6160
  },get open() {return props.preferences.expanded().quick_actions
6079
- },onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children() {return [_$createComponent48(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
6080
- },get children() {return [_$createComponent48(Show15,{get when() {return actions().length===0
6081
- },get children() {var _el$=_$createElement45("text")
6082
- _$insertNode32(_el$,_$createTextNode28(`No quick actions selected`))
6083
- _$effect42((_$p)=>_$setProp42(_el$,"fg",props.api.theme.current.textMuted,_$p))
6161
+ },onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children() {return [_$createComponent51(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
6162
+ },get children() {return [_$createComponent51(Show15,{get when() {return actions().length===0
6163
+ },get children() {var _el$=_$createElement46("text")
6164
+ _$insertNode34(_el$,_$createTextNode30(`No quick actions selected`))
6165
+ _$effect43((_$p)=>_$setProp43(_el$,"fg",props.api.theme.current.textMuted,_$p))
6084
6166
  return _el$
6085
6167
  }
6086
- }),_$createComponent48(For13,{get each() {return visibility.visible()
6087
- },children:(action,index)=>_$createComponent48(QuickActionRow,{get api() {return props.api
6168
+ }),_$createComponent51(For13,{get each() {return visibility.visible()
6169
+ },children:(action,index)=>_$createComponent51(QuickActionRow,{get api() {return props.api
6088
6170
  },get interaction() {return props.interaction
6089
6171
  },action,get disabled() {return action.disabled
6090
6172
  },get favorite() {return props.preferences.favoriteQuickActions?.().has(action.command)??false
6091
- },get favoriteDisabled() {return _$memo32(()=>!!props.preferences.ready)()?!props.preferences.ready():false
6092
- },get separator() {return _$memo32(()=>!!(index()>0&&(props.preferences.favoriteQuickActions?.().has(visibility.visible()[index() - 1].command)??false)))()&&!(props.preferences.favoriteQuickActions?.().has(action.command)??false)
6173
+ },get favoriteDisabled() {return _$memo33(()=>!!props.preferences.ready)()?!props.preferences.ready():false
6174
+ },get separator() {return _$memo33(()=>!!(index()>0&&(props.preferences.favoriteQuickActions?.().has(visibility.visible()[index() - 1].command)??false)))()&&!(props.preferences.favoriteQuickActions?.().has(action.command)??false)
6093
6175
  },onToggleFavorite:()=>props.preferences.toggleFavoriteQuickAction?.(action.command),get position() {return {section:navigationSection(),row:10 + index(),column:0
6094
6176
  }
6095
6177
  }
6096
6178
  })
6097
6179
  })]
6098
6180
  }
6099
- }),_$createComponent48(ListVisibilityControl,{get api() {return props.api
6181
+ }),_$createComponent51(ListVisibilityControl,{get api() {return props.api
6100
6182
  },get interaction() {return props.interaction
6101
6183
  },section:"quick_actions",get navigationSection() {return navigationSection()
6102
6184
  },get row() {return 10 + visibility.visible().length
@@ -6105,36 +6187,36 @@ return _el$
6105
6187
  }
6106
6188
  })
6107
6189
  }
6108
- import {insert as _$insert39} from "@opentui/solid"
6109
- import {spread as _$spread2} from "@opentui/solid"
6110
- import {mergeProps as _$mergeProps8} from "@opentui/solid"
6111
- import {createElement as _$createElement46} from "@opentui/solid"
6112
- import {RGBA as RGBA3} from "@opentui/core"
6190
+
6191
+
6192
+
6193
+
6194
+
6113
6195
  function SectionBoundary(props) {const dividerColor=()=>{const {backgroundPanel,borderSubtle
6114
6196
  }=props.api.theme.current
6115
6197
  return RGBA3.fromValues(backgroundPanel.r + (borderSubtle.r - backgroundPanel.r) * 0.45,backgroundPanel.g + (borderSubtle.g - backgroundPanel.g) * 0.45,backgroundPanel.b + (borderSubtle.b - backgroundPanel.b) * 0.45)
6116
6198
  }
6117
- return (()=>{var _el$=_$createElement46("box")
6199
+ return (()=>{var _el$=_$createElement47("box")
6118
6200
  _$spread2(_el$,_$mergeProps8(()=>props.divided?{border:["bottom"],borderColor:dividerColor(),paddingBottom:1
6119
6201
  }:{}),true)
6120
- _$insert39(_el$,()=>props.children)
6202
+ _$insert40(_el$,()=>props.children)
6121
6203
  return _el$
6122
6204
  })()
6123
6205
  }
6124
- import {createComponent as _$createComponent49} from "@opentui/solid"
6125
- import {memo as _$memo33} from "@opentui/solid"
6206
+
6207
+
6126
6208
  function SectionTab(props) {const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>props.position,disabled:()=>props.disabled===true,activate:props.onActivate
6127
6209
  })
6128
6210
  const focused=()=>item.focused()
6129
- return _$createComponent49(Tab,{get api() {return props.api
6211
+ return _$createComponent52(Tab,{get api() {return props.api
6130
6212
  },get selected() {return props.selected
6131
- },get focused() {return _$memo33(()=>!!!props.disabled)()&&focused()
6213
+ },get focused() {return _$memo34(()=>!!!props.disabled)()&&focused()
6132
6214
  },get count() {return props.count
6133
6215
  },ref:(node)=>item.ref(node),get id() {return props.id
6134
6216
  },height:1,minWidth:0,paddingLeft:1,paddingRight:1,get backgroundColor() {return item.backgroundColor()
6135
6217
  },get foregroundColor() {return item.foregroundColor()
6136
- },get onMouseOver() {return _$memo33(()=>!!props.disabled)()?undefined:item.onMouseOver
6137
- },get onMouseOut() {return _$memo33(()=>!!props.disabled)()?undefined:item.onMouseOut
6218
+ },get onMouseOver() {return _$memo34(()=>!!props.disabled)()?undefined:item.onMouseOver
6219
+ },get onMouseOut() {return _$memo34(()=>!!props.disabled)()?undefined:item.onMouseOut
6138
6220
  },onMouseDown:(event)=>{if (!props.disabled)
6139
6221
  item.select(event)
6140
6222
  },onMouseUp:(event)=>{event.stopPropagation()
@@ -6144,8 +6226,8 @@ item.activate(event)
6144
6226
  }
6145
6227
  })
6146
6228
  }
6147
- import {createElement as _$createElement47} from "@opentui/solid"
6148
- import {createEffect as createEffect11,onCleanup as onCleanup15} from "solid-js"
6229
+
6230
+
6149
6231
  var ENTRY_COMMAND=`${PLUGIN_ID}.sidebar-shortcuts.enter`
6150
6232
  var CANCEL_COMMAND=`${PLUGIN_ID}.sidebar-shortcuts.cancel`
6151
6233
  var MODE=`${PLUGIN_ID}.sidebar-shortcuts`
@@ -6207,7 +6289,7 @@ unregisterCommands()
6207
6289
  function SidebarToggleBinding(props) {const shortcuts=createSidebarShortcutMode(props.api)
6208
6290
  createEffect11(()=>shortcuts.bind(props.preferences.toggleKey()))
6209
6291
  onCleanup15(shortcuts.dispose)
6210
- return _$createElement47("box")
6292
+ return _$createElement48("box")
6211
6293
  }
6212
6294
  function SidebarFocusBinding(props) {const commands=props.interaction.baseCommands()
6213
6295
  const unregisterCommands=props.api.keymap.registerLayer({commands:[...commands,...commands.map(({name,run,enabled
@@ -6220,26 +6302,26 @@ createEffect11(()=>{const unregister=props.api.keymap.registerLayer({bindings:[{
6220
6302
  })
6221
6303
  onCleanup15(unregister)
6222
6304
  })
6223
- return _$createElement47("box")
6224
- }
6225
- import {mergeProps as _$mergeProps9} from "@opentui/solid"
6226
- import {effect as _$effect51} from "@opentui/solid"
6227
- import {insert as _$insert48} from "@opentui/solid"
6228
- import {createComponent as _$createComponent58} from "@opentui/solid"
6229
- import {setProp as _$setProp51} from "@opentui/solid"
6230
- import {use as _$use10} from "@opentui/solid"
6231
- import {createElement as _$createElement56} from "@opentui/solid"
6232
- import {For as For18,Match,Switch,createMemo as createMemo18,onCleanup as onCleanup19} from "solid-js"
6233
- import {setProp as _$setProp44} from "@opentui/solid"
6234
- import {effect as _$effect44} from "@opentui/solid"
6235
- import {createTextNode as _$createTextNode29} from "@opentui/solid"
6236
- import {insertNode as _$insertNode33} from "@opentui/solid"
6237
- import {insert as _$insert41} from "@opentui/solid"
6238
- import {createElement as _$createElement49} from "@opentui/solid"
6239
- import {createComponent as _$createComponent51} from "@opentui/solid"
6240
- import {memo as _$memo35} from "@opentui/solid"
6241
- import {For as For14,Show as Show16,createSignal as createSignal24} from "solid-js"
6242
- import {createEffect as createEffect12,createMemo as createMemo15,onCleanup as onCleanup16,untrack as untrack4} from "solid-js"
6305
+ return _$createElement48("box")
6306
+ }
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+
6243
6325
  function createSkillSectionModel(props,query) {const target=createMemo15(()=>props.controller.target())
6244
6326
  const recent=createMemo15(()=>new Map((props.preferences.recentSkills?.()??[]).map((location,index)=>[location,index])))
6245
6327
  const list=createMemo15(()=>{const favorites=props.preferences.favoriteSkills?.()??new Set
@@ -6272,12 +6354,12 @@ return recent().has(item.location)?"recent":"other"
6272
6354
  }
6273
6355
  return{target,recent,list,filtered,visibility,state,useSkill,skillGroup}
6274
6356
  }
6275
- import {effect as _$effect43} from "@opentui/solid"
6276
- import {insert as _$insert40} from "@opentui/solid"
6277
- import {setProp as _$setProp43} from "@opentui/solid"
6278
- import {createElement as _$createElement48} from "@opentui/solid"
6279
- import {createComponent as _$createComponent50} from "@opentui/solid"
6280
- import {memo as _$memo34} from "@opentui/solid"
6357
+
6358
+
6359
+
6360
+
6361
+
6362
+
6281
6363
  function SkillRow(props) {const icons=useIcons()
6282
6364
  const theme=()=>props.api.theme.current
6283
6365
  const id=()=>`${PLUGIN_ID}.skill.${props.item.location || props.item.name}`
@@ -6292,28 +6374,28 @@ queueMicrotask(()=>props.interaction?.select(`${id()}.favorite`))
6292
6374
  const controlBackground=()=>{const background=favorite.backgroundColor()
6293
6375
  return background==="transparent"?row.backgroundColor():background
6294
6376
  }
6295
- return _$createComponent50(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6377
+ return _$createComponent53(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6296
6378
  },paddingLeft:1,paddingRight:1,get marginTop() {return props.separator?1:0
6297
6379
  },get backgroundColor() {return row.backgroundColor()
6298
6380
  },get onMouseOver() {return row.onMouseOver
6299
6381
  },get onMouseOut() {return row.onMouseOut
6300
- },onMouseUp:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement48("text")
6301
- _$setProp43(_el$,"flexShrink",0)
6302
- _$insert40(_el$,()=>icons.icon(props.recent?"recent":"skills"))
6303
- _$effect43((_$p)=>_$setProp43(_el$,"fg",row.focused()?row.foregroundColor():theme().accent,_$p))
6382
+ },onMouseUp:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement49("text")
6383
+ _$setProp44(_el$,"flexShrink",0)
6384
+ _$insert41(_el$,()=>icons.icon(props.recent?"recent":"skills"))
6385
+ _$effect44((_$p)=>_$setProp44(_el$,"fg",row.focused()?row.foregroundColor():theme().accent,_$p))
6304
6386
  return _el$
6305
6387
  })()
6306
- },get content() {return (()=>{var _el$2=_$createElement48("text")
6307
- _$setProp43(_el$2,"flexGrow",1)
6308
- _$setProp43(_el$2,"wrapMode","word")
6309
- _$insert40(_el$2,()=>props.item.name)
6310
- _$effect43((_$p)=>_$setProp43(_el$2,"fg",row.foregroundColor(),_$p))
6388
+ },get content() {return (()=>{var _el$2=_$createElement49("text")
6389
+ _$setProp44(_el$2,"flexGrow",1)
6390
+ _$setProp44(_el$2,"wrapMode","word")
6391
+ _$insert41(_el$2,()=>props.item.name)
6392
+ _$effect44((_$p)=>_$setProp44(_el$2,"fg",row.foregroundColor(),_$p))
6311
6393
  return _el$2
6312
6394
  })()
6313
- },get trailing() {return _$createComponent50(BookmarkControl,{ref:(node)=>favorite.ref(node),get id() {return `${id()}.favorite`
6395
+ },get trailing() {return _$createComponent53(BookmarkControl,{ref:(node)=>favorite.ref(node),get id() {return `${id()}.favorite`
6314
6396
  },get bookmarked() {return props.favorite
6315
6397
  },get backgroundColor() {return controlBackground()
6316
- },get foregroundColor() {return _$memo34(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
6398
+ },get foregroundColor() {return _$memo35(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
6317
6399
  },get onMouseOver() {return favorite.onMouseOver
6318
6400
  },get onMouseOut() {return favorite.onMouseOut
6319
6401
  },onMouseUp:(event)=>favorite.activate(event)
@@ -6330,7 +6412,7 @@ return
6330
6412
  }
6331
6413
  showSkillDetails(item)
6332
6414
  }
6333
- function showSkillDetails(item) {dialogs.open(()=>_$createComponent51(SkillDialog,{get api() {return props.api
6415
+ function showSkillDetails(item) {dialogs.open(()=>_$createComponent54(SkillDialog,{get api() {return props.api
6334
6416
  },skill:item,get favorite() {return props.preferences.isFavoriteSkill?.(item)??false
6335
6417
  },get favoriteDisabled() {return props.preferences.ready?.()===false
6336
6418
  },onToggleFavorite:()=>props.preferences.toggleFavoriteSkill?.(item),onAccept:(skipConfirmation)=>{if (skipConfirmation)
@@ -6339,46 +6421,46 @@ model.useSkill(item)
6339
6421
  }
6340
6422
  }))
6341
6423
  }
6342
- return _$createComponent51(Section,{get api() {return props.api
6424
+ return _$createComponent54(Section,{get api() {return props.api
6343
6425
  },get interaction() {return props.interaction
6344
6426
  },sectionId:`${PLUGIN_ID}.section.skills`,get navigationSection() {return navigationSection()
6345
6427
  },title:"SKILLS",section:"skills",get summary() {return String(model.list().length)
6346
6428
  },get open() {return props.preferences.expanded().skills
6347
- },onToggle:()=>props.preferences.toggleSectionExpanded("skills"),get children() {return _$createComponent51(SectionRequestBody,{get api() {return props.api
6429
+ },onToggle:()=>props.preferences.toggleSectionExpanded("skills"),get children() {return _$createComponent54(SectionRequestBody,{get api() {return props.api
6348
6430
  },get interaction() {return props.interaction
6349
6431
  },id:`${PLUGIN_ID}.retry.skills`,get position() {return {section:navigationSection(),row:1,column:0
6350
6432
  }
6351
6433
  },get state() {return model.state()
6352
6434
  },get hasItems() {return model.list().length>0
6353
- },empty:"No skills",loading:"Loading skills\u2026",onRetry:()=>void props.controller.retry(model.target()),get children() {var _el$=_$createElement49("box")
6354
- _$insert41(_el$,_$createComponent51(SectionFilter,{get api() {return props.api
6435
+ },empty:"No skills",loading:"Loading skills\u2026",onRetry:()=>void props.controller.retry(model.target()),get children() {var _el$=_$createElement50("box")
6436
+ _$insert42(_el$,_$createComponent54(SectionFilter,{get api() {return props.api
6355
6437
  },get interaction() {return props.interaction
6356
6438
  },id:`${PLUGIN_ID}.filter.skills`,get position() {return {section:navigationSection(),row:2,column:0
6357
6439
  }
6358
6440
  },get query() {return query()
6359
6441
  },placeholder:"Filter skills...",onInput:setQuery
6360
6442
  }),null)
6361
- _$insert41(_el$,_$createComponent51(Show16,{get when() {return model.filtered().length>0
6362
- },get fallback() {return (()=>{var _el$2=_$createElement49("text")
6363
- _$insertNode33(_el$2,_$createTextNode29(`No matching skills`))
6364
- _$effect44((_$p)=>_$setProp44(_el$2,"fg",props.api.theme.current.textMuted,_$p))
6443
+ _$insert42(_el$,_$createComponent54(Show16,{get when() {return model.filtered().length>0
6444
+ },get fallback() {return (()=>{var _el$2=_$createElement50("text")
6445
+ _$insertNode35(_el$2,_$createTextNode31(`No matching skills`))
6446
+ _$effect45((_$p)=>_$setProp45(_el$2,"fg",props.api.theme.current.textMuted,_$p))
6365
6447
  return _el$2
6366
6448
  })()
6367
- },get children() {return [_$createComponent51(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
6368
- },get children() {return _$createComponent51(For14,{get each() {return model.visibility.visible()
6369
- },children:(item,index)=>_$createComponent51(SkillRow,{get api() {return props.api
6449
+ },get children() {return [_$createComponent54(SidebarRowList,{get density() {return props.preferences.rowDensity?.()??"compact"
6450
+ },get children() {return _$createComponent54(For14,{get each() {return model.visibility.visible()
6451
+ },children:(item,index)=>_$createComponent54(SkillRow,{get api() {return props.api
6370
6452
  },get interaction() {return props.interaction
6371
6453
  },item,get position() {return {section:navigationSection(),row:10 + index(),column:0
6372
6454
  }
6373
6455
  },onUse:()=>selectSkill(item),get recent() {return model.recent().has(item.location)
6374
6456
  },get favorite() {return props.preferences.isFavoriteSkill?.(item)??false
6375
6457
  },get favoriteDisabled() {return props.preferences.ready?.()===false
6376
- },get separator() {return _$memo35(()=>index()>0)()&&model.skillGroup(model.visibility.visible()[index() - 1])!==model.skillGroup(item)
6458
+ },get separator() {return _$memo36(()=>index()>0)()&&model.skillGroup(model.visibility.visible()[index() - 1])!==model.skillGroup(item)
6377
6459
  },onToggleFavorite:()=>props.preferences.toggleFavoriteSkill?.(item)
6378
6460
  })
6379
6461
  })
6380
6462
  }
6381
- }),_$createComponent51(ListVisibilityControl,{get api() {return props.api
6463
+ }),_$createComponent54(ListVisibilityControl,{get api() {return props.api
6382
6464
  },get interaction() {return props.interaction
6383
6465
  },section:"skills",get navigationSection() {return navigationSection()
6384
6466
  },get row() {return 10 + model.visibility.visible().length
@@ -6393,16 +6475,16 @@ return _el$
6393
6475
  }
6394
6476
  })
6395
6477
  }
6396
- import {memo as _$memo37} from "@opentui/solid"
6397
- import {effect as _$effect47} from "@opentui/solid"
6398
- import {createTextNode as _$createTextNode31} from "@opentui/solid"
6399
- import {insertNode as _$insertNode36} from "@opentui/solid"
6400
- import {insert as _$insert44} from "@opentui/solid"
6401
- import {setProp as _$setProp47} from "@opentui/solid"
6402
- import {createElement as _$createElement52} from "@opentui/solid"
6403
- import {createComponent as _$createComponent54} from "@opentui/solid"
6404
- import {For as For16,Show as Show19} from "solid-js"
6405
- import {createEffect as createEffect13,createMemo as createMemo16,createSignal as createSignal25,onCleanup as onCleanup17,untrack as untrack5} from "solid-js"
6478
+
6479
+
6480
+
6481
+
6482
+
6483
+
6484
+
6485
+
6486
+
6487
+
6406
6488
  function createSubagentSectionModel(props) {const list=createMemo16(()=>props.controller.list(props.sessionID))
6407
6489
  const recent=createMemo16(()=>props.controller.recent?.(props.sessionID)??[])
6408
6490
  const rows=createMemo16(()=>buildSubagentView(list(),recent()))
@@ -6437,22 +6519,22 @@ untrack5(()=>void props.controller.refresh(sessionID).catch(()=>{}))
6437
6519
  return{list,recent,rows,query,setQuery,mode,setMode,counts,tabs,filtered,parentID,visibility,now,byId,ids,state
6438
6520
  }
6439
6521
  }
6440
- import {setProp as _$setProp46} from "@opentui/solid"
6441
- import {effect as _$effect46} from "@opentui/solid"
6442
- import {insertNode as _$insertNode35} from "@opentui/solid"
6443
- import {insert as _$insert43} from "@opentui/solid"
6444
- import {createElement as _$createElement51} from "@opentui/solid"
6445
- import {createComponent as _$createComponent53} from "@opentui/solid"
6446
- import {For as For15,Show as Show18} from "solid-js"
6447
- import {createTextNode as _$createTextNode30} from "@opentui/solid"
6448
- import {insertNode as _$insertNode34} from "@opentui/solid"
6449
- import {memo as _$memo36} from "@opentui/solid"
6450
- import {effect as _$effect45} from "@opentui/solid"
6451
- import {insert as _$insert42} from "@opentui/solid"
6452
- import {setProp as _$setProp45} from "@opentui/solid"
6453
- import {createElement as _$createElement50} from "@opentui/solid"
6454
- import {createComponent as _$createComponent52} from "@opentui/solid"
6455
- import {Show as Show17} from "solid-js"
6522
+
6523
+
6524
+
6525
+
6526
+
6527
+
6528
+
6529
+
6530
+
6531
+
6532
+
6533
+
6534
+
6535
+
6536
+
6537
+
6456
6538
  function SubagentRow(props) {const icons=useIcons()
6457
6539
  const theme=()=>props.api.theme.current
6458
6540
  const retrying=()=>props.item.status.type==="retry"
@@ -6463,83 +6545,83 @@ const id=()=>`${PLUGIN_ID}.subagent.${props.item.session.id}`
6463
6545
  const row=useSidebarItem(props.api,props.interaction,{id:id(),position:()=>props.position,activate:props.onOpen
6464
6546
  })
6465
6547
  const leadingColor=()=>row.focused()?row.foregroundColor():failed()?theme().error:retrying()||props.item.unavailable?theme().warning:idle()?theme().textMuted:theme().primary
6466
- return _$createComponent52(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6548
+ return _$createComponent55(ListRow,{ref:(node)=>row.ref(node),get id() {return id()
6467
6549
  },paddingLeft:1,paddingRight:1,get backgroundColor() {return row.backgroundColor()
6468
6550
  },get onMouseOver() {return row.onMouseOver
6469
6551
  },get onMouseOut() {return row.onMouseOut
6470
- },onMouseDown:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement50("text")
6471
- _$setProp45(_el$,"flexShrink",0)
6472
- _$insert42(_el$,()=>icons.icon(failed()?"error":cancelled()?"close":retrying()?"retry":idle()?"idle":"busy"))
6473
- _$effect45((_$p)=>_$setProp45(_el$,"fg",leadingColor(),_$p))
6552
+ },onMouseDown:(event)=>row.activate(event),get leading() {return (()=>{var _el$=_$createElement51("text")
6553
+ _$setProp46(_el$,"flexShrink",0)
6554
+ _$insert43(_el$,()=>icons.icon(failed()?"error":cancelled()?"close":retrying()?"retry":idle()?"idle":"busy"))
6555
+ _$effect46((_$p)=>_$setProp46(_el$,"fg",leadingColor(),_$p))
6474
6556
  return _el$
6475
6557
  })()
6476
- },get content() {return (()=>{var _el$2=_$createElement50("text")
6477
- _$setProp45(_el$2,"flexGrow",1)
6478
- _$setProp45(_el$2,"wrapMode","word")
6479
- _$insert42(_el$2,()=>props.item.session.title)
6480
- _$effect45((_$p)=>_$setProp45(_el$2,"fg",row.foregroundColor(),_$p))
6558
+ },get content() {return (()=>{var _el$2=_$createElement51("text")
6559
+ _$setProp46(_el$2,"flexGrow",1)
6560
+ _$setProp46(_el$2,"wrapMode","word")
6561
+ _$insert43(_el$2,()=>props.item.session.title)
6562
+ _$effect46((_$p)=>_$setProp46(_el$2,"fg",row.foregroundColor(),_$p))
6481
6563
  return _el$2
6482
6564
  })()
6483
- },get metadata() {return (()=>{var _el$3=_$createElement50("text")
6484
- _$setProp45(_el$3,"flexShrink",0)
6485
- _$insert42(_el$3,(()=>{var _c$=_$memo36(()=>!!props.item.run)
6565
+ },get metadata() {return (()=>{var _el$3=_$createElement51("text")
6566
+ _$setProp46(_el$3,"flexShrink",0)
6567
+ _$insert43(_el$3,(()=>{var _c$=_$memo37(()=>!!props.item.run)
6486
6568
  return ()=>_c$()?`${props.item.run.startedBeforeObservation ? `${icons.icon("recent")} ` : ""}${formatSubagentDuration(props.item.run.startedAt, props.item.run.finishedAt ?? props.now)}`:""
6487
6569
  })())
6488
- _$effect45((_$p)=>_$setProp45(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
6570
+ _$effect46((_$p)=>_$setProp46(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
6489
6571
  return _el$3
6490
6572
  })()
6491
- },get details() {return [_$createComponent52(Show17,{get when() {return props.item.run?.errorMessage
6492
- },get children() {var _el$4=_$createElement50("text"),_el$5=_$createTextNode30(`: `)
6493
- _$insertNode34(_el$4,_el$5)
6494
- _$setProp45(_el$4,"wrapMode","word")
6495
- _$insert42(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
6496
- _$insert42(_el$4,()=>props.item.run?.errorMessage,null)
6497
- _$effect45((_$p)=>_$setProp45(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
6573
+ },get details() {return [_$createComponent55(Show17,{get when() {return props.item.run?.errorMessage
6574
+ },get children() {var _el$4=_$createElement51("text"),_el$5=_$createTextNode32(`: `)
6575
+ _$insertNode36(_el$4,_el$5)
6576
+ _$setProp46(_el$4,"wrapMode","word")
6577
+ _$insert43(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
6578
+ _$insert43(_el$4,()=>props.item.run?.errorMessage,null)
6579
+ _$effect46((_$p)=>_$setProp46(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
6498
6580
  return _el$4
6499
6581
  }
6500
- }),_$createComponent52(Show17,{get when() {return props.item.unavailable
6501
- },get children() {var _el$6=_$createElement50("text")
6502
- _$insertNode34(_el$6,_$createTextNode30(`Worker status unavailable`))
6503
- _$effect45((_$p)=>_$setProp45(_el$6,"fg",theme().warning,_$p))
6582
+ }),_$createComponent55(Show17,{get when() {return props.item.unavailable
6583
+ },get children() {var _el$6=_$createElement51("text")
6584
+ _$insertNode36(_el$6,_$createTextNode32(`Worker status unavailable`))
6585
+ _$effect46((_$p)=>_$setProp46(_el$6,"fg",theme().warning,_$p))
6504
6586
  return _el$6
6505
6587
  }
6506
- }),_$createComponent52(Show17,{get when() {return _$memo36(()=>props.item.status.type==="retry")()?props.item.status:undefined
6507
- },children:(status)=>(()=>{var _el$0=_$createElement50("text"),_el$1=_$createTextNode30(`Retry #`),_el$10=_$createTextNode30(` \xB7 `),_el$11=_$createTextNode30(`s \xB7 `)
6508
- _$insertNode34(_el$0,_el$1)
6509
- _$insertNode34(_el$0,_el$10)
6510
- _$insertNode34(_el$0,_el$11)
6511
- _$setProp45(_el$0,"wrapMode","word")
6512
- _$insert42(_el$0,()=>status().attempt,_el$10)
6513
- _$insert42(_el$0,()=>Math.max(0,Math.ceil((status().next - props.now) / 1000)),_el$11)
6514
- _$insert42(_el$0,()=>status().message,null)
6515
- _$effect45((_$p)=>_$setProp45(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
6588
+ }),_$createComponent55(Show17,{get when() {return _$memo37(()=>props.item.status.type==="retry")()?props.item.status:undefined
6589
+ },children:(status)=>(()=>{var _el$0=_$createElement51("text"),_el$1=_$createTextNode32(`Retry #`),_el$10=_$createTextNode32(` \xB7 `),_el$11=_$createTextNode32(`s \xB7 `)
6590
+ _$insertNode36(_el$0,_el$1)
6591
+ _$insertNode36(_el$0,_el$10)
6592
+ _$insertNode36(_el$0,_el$11)
6593
+ _$setProp46(_el$0,"wrapMode","word")
6594
+ _$insert43(_el$0,()=>status().attempt,_el$10)
6595
+ _$insert43(_el$0,()=>Math.max(0,Math.ceil((status().next - props.now) / 1000)),_el$11)
6596
+ _$insert43(_el$0,()=>status().message,null)
6597
+ _$effect46((_$p)=>_$setProp46(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
6516
6598
  return _el$0
6517
6599
  })()
6518
- }),_$createComponent52(Show17,{get when() {return _$memo36(()=>!!idle())()&&!props.item.run?.errorMessage
6519
- },get children() {var _el$8=_$createElement50("text")
6520
- _$insertNode34(_el$8,_$createTextNode30(`Finished`))
6521
- _$effect45((_$p)=>_$setProp45(_el$8,"fg",theme().textMuted,_$p))
6600
+ }),_$createComponent55(Show17,{get when() {return _$memo37(()=>!!idle())()&&!props.item.run?.errorMessage
6601
+ },get children() {var _el$8=_$createElement51("text")
6602
+ _$insertNode36(_el$8,_$createTextNode32(`Finished`))
6603
+ _$effect46((_$p)=>_$setProp46(_el$8,"fg",theme().textMuted,_$p))
6522
6604
  return _el$8
6523
6605
  }
6524
6606
  })]
6525
6607
  }
6526
6608
  })
6527
6609
  }
6528
- function SubagentList(props) {return _$createComponent53(SidebarRowList,{get density() {return props.density
6529
- },get children() {return _$createComponent53(For15,{get each() {return props.ids
6610
+ function SubagentList(props) {return _$createComponent56(SidebarRowList,{get density() {return props.density
6611
+ },get children() {return _$createComponent56(For15,{get each() {return props.ids
6530
6612
  },children:(id,index)=>{const initial=props.itemById(id)
6531
6613
  const item=()=>props.itemById(id)??initial
6532
6614
  const startsGroup=()=>index()===0||props.visible[index() - 1]?.group!==item().group
6533
- return (()=>{var _el$=_$createElement51("box")
6534
- _$insert43(_el$,_$createComponent53(Show18,{get when() {return startsGroup()
6535
- },get children() {var _el$2=_$createElement51("text"),_el$3=_$createElement51("b")
6536
- _$insertNode35(_el$2,_el$3)
6537
- _$insert43(_el$3,()=>item().group)
6538
- _$effect46((_$p)=>_$setProp46(_el$2,"fg",props.api.theme.current.textMuted,_$p))
6615
+ return (()=>{var _el$=_$createElement52("box")
6616
+ _$insert44(_el$,_$createComponent56(Show18,{get when() {return startsGroup()
6617
+ },get children() {var _el$2=_$createElement52("text"),_el$3=_$createElement52("b")
6618
+ _$insertNode37(_el$2,_el$3)
6619
+ _$insert44(_el$3,()=>item().group)
6620
+ _$effect47((_$p)=>_$setProp47(_el$2,"fg",props.api.theme.current.textMuted,_$p))
6539
6621
  return _el$2
6540
6622
  }
6541
6623
  }),null)
6542
- _$insert43(_el$,_$createComponent53(SubagentRow,{get api() {return props.api
6624
+ _$insert44(_el$,_$createComponent56(SubagentRow,{get api() {return props.api
6543
6625
  },get interaction() {return props.interaction
6544
6626
  },get item() {return item()
6545
6627
  },get now() {return props.now
@@ -6547,7 +6629,7 @@ _$insert43(_el$,_$createComponent53(SubagentRow,{get api() {return props.api
6547
6629
  }
6548
6630
  },onOpen:()=>props.controller.open(id)
6549
6631
  }),null)
6550
- _$effect46((_$p)=>_$setProp46(_el$,"marginTop",index()>0&&startsGroup()?1:0,_$p))
6632
+ _$effect47((_$p)=>_$setProp47(_el$,"marginTop",index()>0&&startsGroup()?1:0,_$p))
6551
6633
  return _el$
6552
6634
  })()
6553
6635
  }
@@ -6558,29 +6640,29 @@ return _el$
6558
6640
  function SubagentSection(props) {const icons=useIcons()
6559
6641
  const model=createSubagentSectionModel(props)
6560
6642
  const navigationSection=()=>props.navigationSection??2
6561
- return _$createComponent54(Section,{get api() {return props.api
6643
+ return _$createComponent57(Section,{get api() {return props.api
6562
6644
  },get interaction() {return props.interaction
6563
6645
  },sectionId:`${PLUGIN_ID}.section.subagents`,get navigationSection() {return navigationSection()
6564
6646
  },title:"SUBAGENTS",section:"subagents",get summary() {return `${model.list().length} active \xB7 ${model.recent().length} recent`
6565
6647
  },get open() {return props.preferences.expanded().subagents
6566
- },onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children() {return [_$createComponent54(Show19,{get when() {return model.parentID()
6567
- },children:(id)=>_$createComponent54(McpBulkAction,{get api() {return props.api
6648
+ },onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children() {return [_$createComponent57(Show19,{get when() {return model.parentID()
6649
+ },children:(id)=>_$createComponent57(McpBulkAction,{get api() {return props.api
6568
6650
  },get interaction() {return props.interaction
6569
6651
  },id:`${PLUGIN_ID}.subagents.parent`,get position() {return {section:navigationSection(),row:1,column:0
6570
6652
  }
6571
6653
  },get label() {return `${icons.icon("up")} Parent session`
6572
6654
  },disabled:false,onActivate:()=>props.controller.open(id())
6573
6655
  })
6574
- }),_$createComponent54(SectionRequestBody,{get api() {return props.api
6656
+ }),_$createComponent57(SectionRequestBody,{get api() {return props.api
6575
6657
  },get interaction() {return props.interaction
6576
6658
  },id:`${PLUGIN_ID}.retry.subagents`,get position() {return {section:navigationSection(),row:2,column:0
6577
6659
  }
6578
6660
  },get state() {return model.state()
6579
6661
  },get hasItems() {return model.rows().length>0
6580
- },empty:"No subagents",loading:"Loading subagents\u2026",onRetry:()=>void props.controller.retry(props.sessionID),get children() {var _el$=_$createElement52("box"),_el$2=_$createElement52("box")
6581
- _$insertNode36(_el$,_el$2)
6582
- _$setProp47(_el$,"gap",1)
6583
- _$insert44(_el$,_$createComponent54(SectionFilter,{get api() {return props.api
6662
+ },empty:"No subagents",loading:"Loading subagents\u2026",onRetry:()=>void props.controller.retry(props.sessionID),get children() {var _el$=_$createElement53("box"),_el$2=_$createElement53("box")
6663
+ _$insertNode38(_el$,_el$2)
6664
+ _$setProp48(_el$,"gap",1)
6665
+ _$insert45(_el$,_$createComponent57(SectionFilter,{get api() {return props.api
6584
6666
  },get interaction() {return props.interaction
6585
6667
  },id:`${PLUGIN_ID}.filter.subagents`,get position() {return {section:navigationSection(),row:3,column:0
6586
6668
  }
@@ -6588,10 +6670,10 @@ _$insert44(_el$,_$createComponent54(SectionFilter,{get api() {return props.api
6588
6670
  },placeholder:"Filter subagents...",get onInput() {return model.setQuery
6589
6671
  }
6590
6672
  }),_el$2)
6591
- _$setProp47(_el$2,"flexDirection","row")
6592
- _$setProp47(_el$2,"flexWrap","wrap")
6593
- _$insert44(_el$2,_$createComponent54(For16,{get each() {return model.tabs()
6594
- },children:(value,index)=>_$createComponent54(SectionTab,{get api() {return props.api
6673
+ _$setProp48(_el$2,"flexDirection","row")
6674
+ _$setProp48(_el$2,"flexWrap","wrap")
6675
+ _$insert45(_el$2,_$createComponent57(For16,{get each() {return model.tabs()
6676
+ },children:(value,index)=>_$createComponent57(SectionTab,{get api() {return props.api
6595
6677
  },get interaction() {return props.interaction
6596
6678
  },id:`${PLUGIN_ID}.subagents.filter.${value}`,get position() {return {section:navigationSection(),row:4,column:index()
6597
6679
  }
@@ -6602,14 +6684,14 @@ _$insert44(_el$2,_$createComponent54(For16,{get each() {return model.tabs()
6602
6684
  },onActivate:()=>model.setMode(value)
6603
6685
  })
6604
6686
  }))
6605
- _$insert44(_el$,_$createComponent54(Show19,{get when() {return model.filtered().length===0
6606
- },get children() {var _el$3=_$createElement52("text")
6607
- _$insertNode36(_el$3,_$createTextNode31(`No matching subagents`))
6608
- _$effect47((_$p)=>_$setProp47(_el$3,"fg",props.api.theme.current.textMuted,_$p))
6687
+ _$insert45(_el$,_$createComponent57(Show19,{get when() {return model.filtered().length===0
6688
+ },get children() {var _el$3=_$createElement53("text")
6689
+ _$insertNode38(_el$3,_$createTextNode33(`No matching subagents`))
6690
+ _$effect48((_$p)=>_$setProp48(_el$3,"fg",props.api.theme.current.textMuted,_$p))
6609
6691
  return _el$3
6610
6692
  }
6611
6693
  }),null)
6612
- _$insert44(_el$,_$createComponent54(SubagentList,{get api() {return props.api
6694
+ _$insert45(_el$,_$createComponent57(SubagentList,{get api() {return props.api
6613
6695
  },get interaction() {return props.interaction
6614
6696
  },get controller() {return props.controller
6615
6697
  },get navigationSection() {return navigationSection()
@@ -6619,7 +6701,7 @@ _$insert44(_el$,_$createComponent54(SubagentList,{get api() {return props.api
6619
6701
  },get density() {return props.preferences.rowDensity?.()??"compact"
6620
6702
  }
6621
6703
  }),null)
6622
- _$insert44(_el$,_$createComponent54(ListVisibilityControl,{get api() {return props.api
6704
+ _$insert45(_el$,_$createComponent57(ListVisibilityControl,{get api() {return props.api
6623
6705
  },get interaction() {return props.interaction
6624
6706
  },section:"subagents",get navigationSection() {return navigationSection()
6625
6707
  },get row() {return 10 + model.visibility.visible().length
@@ -6632,33 +6714,33 @@ return _el$
6632
6714
  }
6633
6715
  })
6634
6716
  }
6635
- import {effect as _$effect50} from "@opentui/solid"
6636
- import {createTextNode as _$createTextNode33} from "@opentui/solid"
6637
- import {insertNode as _$insertNode39} from "@opentui/solid"
6638
- import {insert as _$insert47} from "@opentui/solid"
6639
- import {setProp as _$setProp50} from "@opentui/solid"
6640
- import {createElement as _$createElement55} from "@opentui/solid"
6641
- import {createComponent as _$createComponent57} from "@opentui/solid"
6642
- import {memo as _$memo40} from "@opentui/solid"
6643
- import {Show as Show22,createEffect as createEffect14,createMemo as createMemo17,createSignal as createSignal26,onCleanup as onCleanup18,untrack as untrack6} from "solid-js"
6644
- import {memo as _$memo39} from "@opentui/solid"
6645
- import {effect as _$effect49} from "@opentui/solid"
6646
- import {insertNode as _$insertNode38} from "@opentui/solid"
6647
- import {insert as _$insert46} from "@opentui/solid"
6648
- import {createComponent as _$createComponent56} from "@opentui/solid"
6649
- import {setProp as _$setProp49} from "@opentui/solid"
6650
- import {createElement as _$createElement54} from "@opentui/solid"
6651
- import {For as For17,Show as Show21} from "solid-js"
6652
- import {createComponent as _$createComponent55} from "@opentui/solid"
6653
- import {effect as _$effect48} from "@opentui/solid"
6654
- import {createTextNode as _$createTextNode32} from "@opentui/solid"
6655
- import {insertNode as _$insertNode37} from "@opentui/solid"
6656
- import {memo as _$memo38} from "@opentui/solid"
6657
- import {insert as _$insert45} from "@opentui/solid"
6658
- import {setProp as _$setProp48} from "@opentui/solid"
6659
- import {createElement as _$createElement53} from "@opentui/solid"
6660
- import {TextAttributes as TextAttributes17} from "@opentui/core"
6661
- import {Show as Show20} from "solid-js"
6717
+
6718
+
6719
+
6720
+
6721
+
6722
+
6723
+
6724
+
6725
+
6726
+
6727
+
6728
+
6729
+
6730
+
6731
+
6732
+
6733
+
6734
+
6735
+
6736
+
6737
+
6738
+
6739
+
6740
+
6741
+
6742
+
6743
+
6662
6744
  function TodoRow(props) {const icons=useIcons()
6663
6745
  const theme=()=>props.api.theme.current
6664
6746
  const done=()=>props.item.status==="completed"
@@ -6678,31 +6760,31 @@ if(props.item.priority==="medium")
6678
6760
  return theme().warning
6679
6761
  return theme().info
6680
6762
  }
6681
- return (()=>{var _el$=_$createElement53("box"),_el$2=_$createElement53("text"),_el$3=_$createElement53("text")
6682
- _$insertNode37(_el$,_el$2)
6683
- _$insertNode37(_el$,_el$3)
6684
- _$setProp48(_el$,"flexDirection","row")
6685
- _$setProp48(_el$,"gap",1)
6686
- _$setProp48(_el$2,"flexShrink",0)
6687
- _$insert45(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":"idle"))
6688
- _$setProp48(_el$3,"flexGrow",1)
6689
- _$setProp48(_el$3,"wrapMode","word")
6690
- _$insert45(_el$3,()=>props.item.content)
6691
- _$insert45(_el$,_$createComponent55(Show20,{get when() {return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
6692
- },get children() {var _el$4=_$createElement53("text"),_el$5=_$createElement53("b"),_el$6=_$createTextNode32(` `)
6693
- _$insertNode37(_el$4,_el$5)
6694
- _$setProp48(_el$4,"width",2)
6695
- _$setProp48(_el$4,"flexShrink",0)
6696
- _$insertNode37(_el$5,_el$6)
6697
- _$insert45(_el$5,priorityLabel,null)
6698
- _$effect48((_$p)=>_$setProp48(_el$4,"fg",priorityColor(),_$p))
6763
+ return (()=>{var _el$=_$createElement54("box"),_el$2=_$createElement54("text"),_el$3=_$createElement54("text")
6764
+ _$insertNode39(_el$,_el$2)
6765
+ _$insertNode39(_el$,_el$3)
6766
+ _$setProp49(_el$,"flexDirection","row")
6767
+ _$setProp49(_el$,"gap",1)
6768
+ _$setProp49(_el$2,"flexShrink",0)
6769
+ _$insert46(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":"idle"))
6770
+ _$setProp49(_el$3,"flexGrow",1)
6771
+ _$setProp49(_el$3,"wrapMode","word")
6772
+ _$insert46(_el$3,()=>props.item.content)
6773
+ _$insert46(_el$,_$createComponent58(Show20,{get when() {return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
6774
+ },get children() {var _el$4=_$createElement54("text"),_el$5=_$createElement54("b"),_el$6=_$createTextNode34(` `)
6775
+ _$insertNode39(_el$4,_el$5)
6776
+ _$setProp49(_el$4,"width",2)
6777
+ _$setProp49(_el$4,"flexShrink",0)
6778
+ _$insertNode39(_el$5,_el$6)
6779
+ _$insert46(_el$5,priorityLabel,null)
6780
+ _$effect49((_$p)=>_$setProp49(_el$4,"fg",priorityColor(),_$p))
6699
6781
  return _el$4
6700
6782
  }
6701
6783
  }),null)
6702
- _$effect48((_p$)=>{var _v$=active()?theme().warning:done()?theme().success:cancelled()?theme().error:theme().textMuted,_v$2=active()?theme().primary:theme().textMuted,_v$3=done()?TextAttributes17.STRIKETHROUGH:active()?TextAttributes17.BOLD:undefined
6703
- _v$!==_p$.e&&(_p$.e=_$setProp48(_el$2,"fg",_v$,_p$.e))
6704
- _v$2!==_p$.t&&(_p$.t=_$setProp48(_el$3,"fg",_v$2,_p$.t))
6705
- _v$3!==_p$.a&&(_p$.a=_$setProp48(_el$3,"attributes",_v$3,_p$.a))
6784
+ _$effect49((_p$)=>{var _v$=active()?theme().warning:done()?theme().success:cancelled()?theme().error:theme().textMuted,_v$2=active()?theme().primary:theme().textMuted,_v$3=done()?TextAttributes17.STRIKETHROUGH:active()?TextAttributes17.BOLD:undefined
6785
+ _v$!==_p$.e&&(_p$.e=_$setProp49(_el$2,"fg",_v$,_p$.e))
6786
+ _v$2!==_p$.t&&(_p$.t=_$setProp49(_el$3,"fg",_v$2,_p$.t))
6787
+ _v$3!==_p$.a&&(_p$.a=_$setProp49(_el$3,"attributes",_v$3,_p$.a))
6706
6788
  return _p$
6707
6789
  },{e:undefined,t:undefined,a:undefined
6708
6790
  })
@@ -6710,12 +6792,12 @@ return _el$
6710
6792
  })()
6711
6793
  }
6712
6794
  function TodoContents(props) {const navigationSection=()=>props.navigationSection??1
6713
- return (()=>{var _el$=_$createElement54("box"),_el$2=_$createElement54("box")
6714
- _$insertNode38(_el$,_el$2)
6715
- _$setProp49(_el$,"gap",1)
6716
- _$setProp49(_el$2,"flexDirection","row")
6717
- _$setProp49(_el$2,"flexWrap","wrap")
6718
- _$insert46(_el$2,_$createComponent56(For17,{each:["all","active","finished"],children:(value,index)=>_$createComponent56(SectionTab,{get api() {return props.api
6795
+ return (()=>{var _el$=_$createElement55("box"),_el$2=_$createElement55("box")
6796
+ _$insertNode40(_el$,_el$2)
6797
+ _$setProp50(_el$,"gap",1)
6798
+ _$setProp50(_el$2,"flexDirection","row")
6799
+ _$setProp50(_el$2,"flexWrap","wrap")
6800
+ _$insert47(_el$2,_$createComponent59(For17,{each:["all","active","finished"],children:(value,index)=>_$createComponent59(SectionTab,{get api() {return props.api
6719
6801
  },get interaction() {return props.interaction
6720
6802
  },id:`${PLUGIN_ID}.todo.filter.${value}`,get position() {return {section:navigationSection(),row:2,column:index()
6721
6803
  }
@@ -6725,28 +6807,28 @@ _$insert46(_el$2,_$createComponent56(For17,{each:["all","active","finished"],chi
6725
6807
  },onActivate:()=>props.setMode(value)
6726
6808
  })
6727
6809
  }))
6728
- _$insert46(_el$,_$createComponent56(Show21,{get when() {return props.view.rows.length>0
6729
- },get fallback() {return _$createComponent56(EmptyTodo,{get api() {return props.api
6810
+ _$insert47(_el$,_$createComponent59(Show21,{get when() {return props.view.rows.length>0
6811
+ },get fallback() {return _$createComponent59(EmptyTodo,{get api() {return props.api
6730
6812
  },get mode() {return props.mode
6731
6813
  }
6732
6814
  })
6733
- },get children() {return _$createComponent56(SidebarRowList,{get density() {return props.density
6734
- },get children() {return _$createComponent56(For17,{get each() {return props.visibility.visible()
6815
+ },get children() {return _$createComponent59(SidebarRowList,{get density() {return props.density
6816
+ },get children() {return _$createComponent59(For17,{get each() {return props.visibility.visible()
6735
6817
  },children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index() - 1].group!==row.group
6736
- return (()=>{var _el$3=_$createElement54("box")
6737
- _$insert46(_el$3,_$createComponent56(Show21,{get when() {return startsGroup()
6738
- },get children() {var _el$4=_$createElement54("text"),_el$5=_$createElement54("b")
6739
- _$insertNode38(_el$4,_el$5)
6740
- _$insert46(_el$5,()=>row.group)
6741
- _$effect49((_$p)=>_$setProp49(_el$4,"fg",props.api.theme.current.textMuted,_$p))
6818
+ return (()=>{var _el$3=_$createElement55("box")
6819
+ _$insert47(_el$3,_$createComponent59(Show21,{get when() {return startsGroup()
6820
+ },get children() {var _el$4=_$createElement55("text"),_el$5=_$createElement55("b")
6821
+ _$insertNode40(_el$4,_el$5)
6822
+ _$insert47(_el$5,()=>row.group)
6823
+ _$effect50((_$p)=>_$setProp50(_el$4,"fg",props.api.theme.current.textMuted,_$p))
6742
6824
  return _el$4
6743
6825
  }
6744
6826
  }),null)
6745
- _$insert46(_el$3,_$createComponent56(TodoRow,{get api() {return props.api
6827
+ _$insert47(_el$3,_$createComponent59(TodoRow,{get api() {return props.api
6746
6828
  },get item() {return row.item
6747
6829
  }
6748
6830
  }),null)
6749
- _$effect49((_$p)=>_$setProp49(_el$3,"marginTop",index()>0&&startsGroup()?1:0,_$p))
6831
+ _$effect50((_$p)=>_$setProp50(_el$3,"marginTop",index()>0&&startsGroup()?1:0,_$p))
6750
6832
  return _el$3
6751
6833
  })()
6752
6834
  }
@@ -6755,7 +6837,7 @@ return _el$3
6755
6837
  })
6756
6838
  }
6757
6839
  }),null)
6758
- _$insert46(_el$,_$createComponent56(ListVisibilityControl,{get api() {return props.api
6840
+ _$insert47(_el$,_$createComponent59(ListVisibilityControl,{get api() {return props.api
6759
6841
  },get interaction() {return props.interaction
6760
6842
  },section:"todo",get navigationSection() {return navigationSection()
6761
6843
  },row:3,get visibility() {return props.visibility
@@ -6764,9 +6846,9 @@ _$insert46(_el$,_$createComponent56(ListVisibilityControl,{get api() {return pro
6764
6846
  return _el$
6765
6847
  })()
6766
6848
  }
6767
- function EmptyTodo(props) {return (()=>{var _el$6=_$createElement54("text")
6768
- _$insert46(_el$6,()=>props.mode==="active"?"No active tasks":"No finished tasks")
6769
- _$effect49((_$p)=>_$setProp49(_el$6,"fg",props.api.theme.current.textMuted,_$p))
6849
+ function EmptyTodo(props) {return (()=>{var _el$6=_$createElement55("text")
6850
+ _$insert47(_el$6,()=>props.mode==="active"?"No active tasks":"No finished tasks")
6851
+ _$effect50((_$p)=>_$setProp50(_el$6,"fg",props.api.theme.current.textMuted,_$p))
6770
6852
  return _el$6
6771
6853
  })()
6772
6854
  }
@@ -6791,19 +6873,19 @@ onCleanup18(deactivate)
6791
6873
  untrack6(()=>void props.controller.refresh(sessionID).catch(()=>{}))
6792
6874
  })
6793
6875
  const navigationSection=()=>props.navigationSection??1
6794
- return _$createComponent57(Section,{get api() {return props.api
6876
+ return _$createComponent60(Section,{get api() {return props.api
6795
6877
  },get interaction() {return props.interaction
6796
6878
  },sectionId:`${PLUGIN_ID}.section.todo`,get navigationSection() {return navigationSection()
6797
- },title:"TODO",section:"todo",get summary() {return _$memo40(()=>!!unavailable())()?"\u2014":`${view().counts.completed}/${list().length}`
6879
+ },title:"TODO",section:"todo",get summary() {return _$memo41(()=>!!unavailable())()?"\u2014":`${view().counts.completed}/${list().length}`
6798
6880
  },get open() {return props.preferences.expanded().todo
6799
- },onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children() {return _$createComponent57(Show22,{get when() {return unavailable()
6800
- },get fallback() {return _$createComponent57(SectionRequestBody,{get api() {return props.api
6881
+ },onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children() {return _$createComponent60(Show22,{get when() {return unavailable()
6882
+ },get fallback() {return _$createComponent60(SectionRequestBody,{get api() {return props.api
6801
6883
  },get interaction() {return props.interaction
6802
6884
  },id:`${PLUGIN_ID}.retry.todo`,get position() {return {section:navigationSection(),row:1,column:0
6803
6885
  }
6804
6886
  },get state() {return state()
6805
6887
  },get hasItems() {return list().length>0
6806
- },empty:"No tasks yet",loading:"Loading tasks\u2026",onRetry:()=>void props.controller.retry(props.sessionID),get children() {return _$createComponent57(TodoContents,{get api() {return props.api
6888
+ },empty:"No tasks yet",loading:"Loading tasks\u2026",onRetry:()=>void props.controller.retry(props.sessionID),get children() {return _$createComponent60(TodoContents,{get api() {return props.api
6807
6889
  },get interaction() {return props.interaction
6808
6890
  },get navigationSection() {return props.navigationSection
6809
6891
  },get mode() {return mode()
@@ -6813,12 +6895,12 @@ return _$createComponent57(Section,{get api() {return props.api
6813
6895
  })
6814
6896
  }
6815
6897
  })
6816
- },children:(message)=>(()=>{var _el$=_$createElement55("text"),_el$2=_$createTextNode33(` `)
6817
- _$insertNode39(_el$,_el$2)
6818
- _$setProp50(_el$,"wrapMode","word")
6819
- _$insert47(_el$,()=>icons.icon("info"),_el$2)
6820
- _$insert47(_el$,message,null)
6821
- _$effect50((_$p)=>_$setProp50(_el$,"fg",props.api.theme.current.textMuted,_$p))
6898
+ },children:(message)=>(()=>{var _el$=_$createElement56("text"),_el$2=_$createTextNode35(` `)
6899
+ _$insertNode41(_el$,_el$2)
6900
+ _$setProp51(_el$,"wrapMode","word")
6901
+ _$insert48(_el$,()=>icons.icon("info"),_el$2)
6902
+ _$insert48(_el$,message,null)
6903
+ _$effect51((_$p)=>_$setProp51(_el$,"fg",props.api.theme.current.textMuted,_$p))
6822
6904
  return _el$
6823
6905
  })()
6824
6906
  })
@@ -6828,44 +6910,44 @@ return _el$
6828
6910
  function SidebarContent(props) {const sections=props.preferences.sections
6829
6911
  const visibleSections=createMemo18(()=>props.preferences.sectionOrder().filter((section)=>sections()[section]&&supportsSidebarSection(props.api,section)))
6830
6912
  onCleanup19(()=>props.interaction.setContentRoot(undefined))
6831
- return (()=>{var _el$=_$createElement56("box")
6913
+ return (()=>{var _el$=_$createElement57("box")
6832
6914
  _$use10((node)=>props.interaction.setContentRoot(node),_el$)
6833
- _$setProp51(_el$,"id",`${PLUGIN_ID}.root`)
6834
- _$setProp51(_el$,"focusable",true)
6835
- _$setProp51(_el$,"gap",1)
6836
- _$setProp51(_el$,"onKeyDown",(event)=>{if (event.name!=="escape"||event.defaultPrevented)
6915
+ _$setProp52(_el$,"id",`${PLUGIN_ID}.root`)
6916
+ _$setProp52(_el$,"focusable",true)
6917
+ _$setProp52(_el$,"gap",1)
6918
+ _$setProp52(_el$,"onKeyDown",(event)=>{if (event.name!=="escape"||event.defaultPrevented)
6837
6919
  return
6838
6920
  event.preventDefault()
6839
6921
  event.stopPropagation()
6840
6922
  props.interaction.leave()
6841
6923
  })
6842
- _$insert48(_el$,_$createComponent58(For18,{get each() {return visibleSections()
6843
- },children:(section,index)=>_$createComponent58(SectionBoundary,{get api() {return props.api
6924
+ _$insert49(_el$,_$createComponent61(For18,{get each() {return visibleSections()
6925
+ },children:(section,index)=>_$createComponent61(SectionBoundary,{get api() {return props.api
6844
6926
  },get divided() {return index()<visibleSections().length - 1
6845
- },get children() {return _$createComponent58(Switch,{get children() {return [_$createComponent58(Match,{when:section==="todo",get children() {return _$createComponent58(TodoSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6927
+ },get children() {return _$createComponent61(Switch,{get children() {return [_$createComponent61(Match,{when:section==="todo",get children() {return _$createComponent61(TodoSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6846
6928
  },get controller() {return props.todo
6847
6929
  }
6848
6930
  }))
6849
6931
  }
6850
- }),_$createComponent58(Match,{when:section==="subagents",get children() {return _$createComponent58(SubagentSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6932
+ }),_$createComponent61(Match,{when:section==="subagents",get children() {return _$createComponent61(SubagentSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6851
6933
  },get controller() {return props.subagents
6852
6934
  }
6853
6935
  }))
6854
6936
  }
6855
- }),_$createComponent58(Match,{when:section==="skills",get children() {return _$createComponent58(SkillsSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6937
+ }),_$createComponent61(Match,{when:section==="skills",get children() {return _$createComponent61(SkillsSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6856
6938
  },get controller() {return props.skills
6857
6939
  }
6858
6940
  }))
6859
6941
  }
6860
- }),_$createComponent58(Match,{when:section==="quick_actions",get children() {return _$createComponent58(QuickActionsSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6942
+ }),_$createComponent61(Match,{when:section==="quick_actions",get children() {return _$createComponent61(QuickActionsSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6861
6943
  }
6862
6944
  }))
6863
6945
  }
6864
- }),_$createComponent58(Match,{when:section==="lsp",get children() {return _$createComponent58(LspSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6946
+ }),_$createComponent61(Match,{when:section==="lsp",get children() {return _$createComponent61(LspSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6865
6947
  }
6866
6948
  }))
6867
6949
  }
6868
- }),_$createComponent58(Match,{when:section==="mcp",get children() {return _$createComponent58(McpSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6950
+ }),_$createComponent61(Match,{when:section==="mcp",get children() {return _$createComponent61(McpSection,_$mergeProps9(props,{get navigationSection() {return index() + 1
6869
6951
  },get controller() {return props.mcp
6870
6952
  }
6871
6953
  }))
@@ -6876,17 +6958,17 @@ _$insert48(_el$,_$createComponent58(For18,{get each() {return visibleSections()
6876
6958
  }
6877
6959
  })
6878
6960
  }))
6879
- _$effect51((_p$)=>{var _v$=props.interaction.syncFocus,_v$2=props.interaction.syncFocus
6880
- _v$!==_p$.e&&(_p$.e=_$setProp51(_el$,"on:focused",_v$,_p$.e))
6881
- _v$2!==_p$.t&&(_p$.t=_$setProp51(_el$,"on:blurred",_v$2,_p$.t))
6961
+ _$effect52((_p$)=>{var _v$=props.interaction.syncFocus,_v$2=props.interaction.syncFocus
6962
+ _v$!==_p$.e&&(_p$.e=_$setProp52(_el$,"on:focused",_v$,_p$.e))
6963
+ _v$2!==_p$.t&&(_p$.t=_$setProp52(_el$,"on:blurred",_v$2,_p$.t))
6882
6964
  return _p$
6883
6965
  },{e:undefined,t:undefined
6884
6966
  })
6885
6967
  return _el$
6886
6968
  })()
6887
6969
  }
6888
- import {createElement as _$createElement57} from "@opentui/solid"
6889
- import {createEffect as createEffect15,createMemo as createMemo19,onCleanup as onCleanup20,untrack as untrack7} from "solid-js"
6970
+
6971
+
6890
6972
  function McpPersistence(props) {const persist=createMemo19(()=>props.controller.persist())
6891
6973
  createEffect15(()=>{if (!props.api.state.ready)
6892
6974
  return
@@ -6899,14 +6981,14 @@ const current=props.controller.target()
6899
6981
  onCleanup20(()=>props.controller.deactivate(current))
6900
6982
  untrack7(()=>void props.controller.activate(current).catch(()=>{}))
6901
6983
  })
6902
- return _$createElement57("box")
6984
+ return _$createElement58("box")
6903
6985
  }
6904
6986
  function PreferencesPersistence(props) {createEffect15(()=>{const location=currentLocation(props.api)
6905
6987
  untrack7(()=>props.controller.setActiveScope(preferencesScope({directory:location.routing.directory,worktree:props.api.state.path.worktree
6906
6988
  })))
6907
6989
  props.controller.load()
6908
6990
  })
6909
- return _$createElement57("box")
6991
+ return _$createElement58("box")
6910
6992
  }
6911
6993
  function FirstRunWizardPersistence(props) {let isChecked=false
6912
6994
  createEffect15(()=>{if (isChecked)
@@ -6914,16 +6996,16 @@ return
6914
6996
  isChecked=true
6915
6997
  showFirstRunWizard(props.api,props.preferences).catch(()=>{})
6916
6998
  })
6917
- return _$createElement57("box")
6999
+ return _$createElement58("box")
6918
7000
  }
6919
- import {effect as _$effect52} from "@opentui/solid"
6920
- import {createComponent as _$createComponent59} from "@opentui/solid"
6921
- import {insertNode as _$insertNode40} from "@opentui/solid"
6922
- import {insert as _$insert49} from "@opentui/solid"
6923
- import {setProp as _$setProp52} from "@opentui/solid"
6924
- import {use as _$use11} from "@opentui/solid"
6925
- import {createElement as _$createElement58} from "@opentui/solid"
6926
- import {Show as Show23,createMemo as createMemo20,onCleanup as onCleanup21} from "solid-js"
7001
+
7002
+
7003
+
7004
+
7005
+
7006
+
7007
+
7008
+
6927
7009
  function SidebarTitle(props) {const icons=useIcons()
6928
7010
  const theme=()=>props.api.theme.current
6929
7011
  const created=createMemo20(()=>{const value=props.api.state.session.get(props.sessionID)?.time?.created
@@ -6936,45 +7018,45 @@ const settings=useSidebarItem(props.api,props.interaction,{id:settingsId,positio
6936
7018
  },activate:()=>openSettings(props.api,props.preferences,undefined,props.mcp)
6937
7019
  },()=>theme().textMuted,"control")
6938
7020
  onCleanup21(()=>props.interaction.setTitleRoot(undefined))
6939
- return (()=>{var _el$=_$createElement58("box"),_el$2=_$createElement58("box"),_el$3=_$createElement58("box"),_el$4=_$createElement58("text"),_el$5=_$createElement58("b")
6940
- _$insertNode40(_el$,_el$2)
7021
+ return (()=>{var _el$=_$createElement59("box"),_el$2=_$createElement59("box"),_el$3=_$createElement59("box"),_el$4=_$createElement59("text"),_el$5=_$createElement59("b")
7022
+ _$insertNode42(_el$,_el$2)
6941
7023
  _$use11((node)=>props.interaction.setTitleRoot(node),_el$)
6942
- _$setProp52(_el$,"border",["bottom"])
6943
- _$setProp52(_el$,"paddingBottom",1)
6944
- _$insertNode40(_el$2,_el$3)
6945
- _$setProp52(_el$2,"flexDirection","row")
6946
- _$setProp52(_el$2,"justifyContent","space-between")
6947
- _$setProp52(_el$2,"gap",1)
6948
- _$insertNode40(_el$3,_el$4)
6949
- _$setProp52(_el$3,"flexGrow",1)
6950
- _$insertNode40(_el$4,_el$5)
6951
- _$setProp52(_el$4,"wrapMode","word")
6952
- _$insert49(_el$5,()=>props.title)
6953
- _$insert49(_el$3,_$createComponent59(Show23,{get when() {return created()
6954
- },children:(value)=>(()=>{var _el$6=_$createElement58("text")
6955
- _$insert49(_el$6,value)
6956
- _$effect52((_$p)=>_$setProp52(_el$6,"fg",theme().textMuted,_$p))
7024
+ _$setProp53(_el$,"border",["bottom"])
7025
+ _$setProp53(_el$,"paddingBottom",1)
7026
+ _$insertNode42(_el$2,_el$3)
7027
+ _$setProp53(_el$2,"flexDirection","row")
7028
+ _$setProp53(_el$2,"justifyContent","space-between")
7029
+ _$setProp53(_el$2,"gap",1)
7030
+ _$insertNode42(_el$3,_el$4)
7031
+ _$setProp53(_el$3,"flexGrow",1)
7032
+ _$insertNode42(_el$4,_el$5)
7033
+ _$setProp53(_el$4,"wrapMode","word")
7034
+ _$insert50(_el$5,()=>props.title)
7035
+ _$insert50(_el$3,_$createComponent62(Show23,{get when() {return created()
7036
+ },children:(value)=>(()=>{var _el$6=_$createElement59("text")
7037
+ _$insert50(_el$6,value)
7038
+ _$effect53((_$p)=>_$setProp53(_el$6,"fg",theme().textMuted,_$p))
6957
7039
  return _el$6
6958
7040
  })()
6959
7041
  }),null)
6960
- _$insert49(_el$2,_$createComponent59(IconControl,{ref:(node)=>settings.ref(node),id:settingsId,get icon() {return icons.icon("settings")
7042
+ _$insert50(_el$2,_$createComponent62(IconControl,{ref:(node)=>settings.ref(node),id:settingsId,get icon() {return icons.icon("settings")
6961
7043
  },get backgroundColor() {return settings.backgroundColor()
6962
7044
  },get foregroundColor() {return settings.foregroundColor()
6963
7045
  },get onMouseOver() {return settings.onMouseOver
6964
7046
  },get onMouseOut() {return settings.onMouseOut
6965
7047
  },onMouseUp:(event)=>settings.activate(event)
6966
7048
  }),null)
6967
- _$effect52((_p$)=>{var _v$=theme().borderSubtle,_v$2=theme().text
6968
- _v$!==_p$.e&&(_p$.e=_$setProp52(_el$,"borderColor",_v$,_p$.e))
6969
- _v$2!==_p$.t&&(_p$.t=_$setProp52(_el$4,"fg",_v$2,_p$.t))
7049
+ _$effect53((_p$)=>{var _v$=theme().borderSubtle,_v$2=theme().text
7050
+ _v$!==_p$.e&&(_p$.e=_$setProp53(_el$,"borderColor",_v$,_p$.e))
7051
+ _v$2!==_p$.t&&(_p$.t=_$setProp53(_el$4,"fg",_v$2,_p$.t))
6970
7052
  return _p$
6971
7053
  },{e:undefined,t:undefined
6972
7054
  })
6973
7055
  return _el$
6974
7056
  })()
6975
7057
  }
6976
- import {readFile as readFile2} from "fs/promises"
6977
- import {dirname,join as join2} from "path"
7058
+
7059
+
6978
7060
  function isMissing(error) {const value=error
6979
7061
  return value?.code==="ENOENT"||value?.status===404||value?.statusCode===404||/not found|enoent/i.test(value?.message??"")
6980
7062
  }
@@ -6998,8 +7080,8 @@ const [user,project]=await Promise.all([safe(userPath?readSource(userPath,()=>re
6998
7080
  ])
6999
7081
  return mergeConfiguredDefaults(configuredDefaultsFromPluginOptions(options),user,project)
7000
7082
  }
7001
- import {homedir} from "os"
7002
- import {join as join3} from "path"
7083
+ import {homedir,homedir as homedir2} from "os"
7084
+
7003
7085
  function location(input) {return input.directory?{location:{directory:input.directory}}:{}
7004
7086
  }
7005
7087
  function mcpItem(server) {return {name:server.name,status:server.status.status,...server.status.error&&{error:server.status.error}
@@ -7099,8 +7181,8 @@ unsubscribe()
7099
7181
  }
7100
7182
  }
7101
7183
  }
7102
- import {createElement as _$createElement59} from "@opentui/solid"
7103
- import {createSignal as createSignal27} from "solid-js"
7184
+
7185
+
7104
7186
  function belongsTo2(renderable,ancestor) {if (!renderable||!ancestor)
7105
7187
  return false
7106
7188
  for(let current=renderable;current; current=current.parent) {if (current===ancestor)
@@ -7149,7 +7231,7 @@ const bindings=commands.flatMap((command)=>command.id?[command.id]:[])
7149
7231
  return{mode:"global",priority:2000,commands,bindings
7150
7232
  }
7151
7233
  })
7152
- return _$createElement59("box")
7234
+ return _$createElement60("box")
7153
7235
  }
7154
7236
  const keymap={registerLayer(layer) {const id=++sequence
7155
7237
  layers.set(id,layer)
@@ -7214,10 +7296,10 @@ return{data}
7214
7296
  }
7215
7297
  }
7216
7298
  }
7217
- import {memo as _$memo41} from "@opentui/solid"
7218
- import {createComponent as _$createComponent60} from "@opentui/solid"
7299
+
7300
+
7219
7301
  function createV2Slots(context,keymap,onDispose) {return {register(plugin) {const slots=plugin.slots
7220
- const cleanups=[context.ui.slot({append:"app",render:()=>[_$createComponent60(keymap.Bridge,{}),_$memo41(()=>slots.app?.(undefined,{}))]
7302
+ const cleanups=[context.ui.slot({append:"app",render:()=>[_$createComponent63(keymap.Bridge,{}),_$memo42(()=>slots.app?.(undefined,{}))]
7221
7303
  }),context.ui.slot({replace:"sidebar.content",render:(input)=>{const sessionID=input.sessionID
7222
7304
  return slots.sidebar_content?.(undefined,{session_id:sessionID
7223
7305
  })
@@ -7232,8 +7314,8 @@ return "opencode-navigator"
7232
7314
  function legacyTheme(theme) {return {primary:theme.hue.interactive[200],secondary:theme.categorical[0]?.[200]??theme.hue.accent[200],accent:theme.hue.accent[200],error:theme.text.feedback.error.base,warning:theme.text.feedback.warning.base,success:theme.text.feedback.success.base,info:theme.text.feedback.info.base,text:theme.text.base,textMuted:theme.text.muted,selectedListItemText:theme.text.action.primary.focused,background:theme.background.base,backgroundPanel:theme.background.raised.base,backgroundElement:theme.background.raised.high,backgroundMenu:theme.background.raised.max,border:theme.border.base,borderActive:theme.scrollbar.base,borderSubtle:theme.hue.neutral[500],diffAdded:theme.diff.text.added,diffRemoved:theme.diff.text.removed,diffContext:theme.diff.text.context,diffHunkHeader:theme.diff.text.hunkHeader,diffHighlightAdded:theme.diff.highlight.added,diffHighlightRemoved:theme.diff.highlight.removed,diffAddedBg:theme.diff.background.added,diffRemovedBg:theme.diff.background.removed,diffContextBg:theme.diff.background.context,diffLineNumber:theme.diff.lineNumber.text,diffAddedLineNumberBg:theme.diff.lineNumber.background.added,diffRemovedLineNumberBg:theme.diff.lineNumber.background.removed,markdownText:theme.markdown.text,markdownHeading:theme.markdown.heading,markdownLink:theme.markdown.link,markdownLinkText:theme.markdown.linkText,markdownCode:theme.markdown.code,markdownBlockQuote:theme.markdown.blockQuote,markdownEmph:theme.markdown.emphasis,markdownStrong:theme.markdown.strong,markdownHorizontalRule:theme.markdown.horizontalRule,markdownListItem:theme.markdown.listItem,markdownListEnumeration:theme.markdown.listEnumeration,markdownImage:theme.markdown.image,markdownImageText:theme.markdown.imageText,markdownCodeBlock:theme.markdown.codeBlock,syntaxComment:theme.syntax.comment,syntaxKeyword:theme.syntax.keyword,syntaxFunction:theme.syntax.function,syntaxVariable:theme.syntax.variable,syntaxString:theme.syntax.string,syntaxNumber:theme.syntax.number,syntaxType:theme.syntax.type,syntaxOperator:theme.syntax.operator,syntaxPunctuation:theme.syntax.punctuation,thinkingOpacity:0.6
7233
7315
  }
7234
7316
  }
7235
- import {createElement as _$createElement60} from "@opentui/solid"
7236
- import {onCleanup as onCleanup22,onMount as onMount5} from "solid-js"
7317
+
7318
+
7237
7319
  function createV2UI(context) {let dialogOpen=false
7238
7320
  function DialogPrompt(props) {let active=true
7239
7321
  onCleanup22(()=>{active=false
@@ -7247,9 +7329,23 @@ props.onCancel?.()
7247
7329
  else
7248
7330
  props.onConfirm?.(value)
7249
7331
  })
7250
- return _$createElement60("box")
7332
+ return _$createElement61("box")
7251
7333
  }
7252
- return{DialogPrompt,toast:(input)=>context.ui.toast.show(input),dialog:{replace(render,onClose) {dialogOpen=true
7334
+ function DialogConfirm(props) {let active=true
7335
+ onCleanup22(()=>{active=false
7336
+ })
7337
+ onMount5(async ()=>{const confirmed=await context.ui.dialog.confirm({title:props.title,message:props.message
7338
+ })
7339
+ if(!active)
7340
+ return
7341
+ if(confirmed)
7342
+ props.onConfirm?.()
7343
+ else
7344
+ props.onCancel?.()
7345
+ })
7346
+ return _$createElement61("box")
7347
+ }
7348
+ return{DialogConfirm,DialogPrompt,toast:(input)=>context.ui.toast.show(input),dialog:{replace(render,onClose) {dialogOpen=true
7253
7349
  context.ui.dialog.show(render,()=>{dialogOpen=false
7254
7350
  onClose?.()
7255
7351
  })
@@ -7317,6 +7413,57 @@ disposers.length=0
7317
7413
  }
7318
7414
  }
7319
7415
  }
7416
+
7417
+
7418
+ var run=async (command)=>{const child=Bun.spawn([...command],{stdout:"ignore",stderr:"pipe"})
7419
+ const error=new Response(child.stderr).text()
7420
+ const exitCode=await child.exited
7421
+ if(exitCode===0)
7422
+ return
7423
+ const message=await error
7424
+ throw new Error(message.trim()||`Command failed with exit code ${child.exitCode}`)
7425
+ }
7426
+ var readConfig=async (path)=>{const file=Bun.file(path)
7427
+ return await file.exists()?Bun.JSONC.parse(await file.text()):undefined
7428
+ }
7429
+ function configHasPlugin(value,spec) {if (!value||typeof value!=="object")
7430
+ return false
7431
+ const plugins=value.plugin
7432
+ return Array.isArray(plugins)&&plugins.some((item)=>{let configured=item
7433
+ if(Array.isArray(item))
7434
+ configured=item[0]
7435
+ else if (item&&typeof item==="object")
7436
+ configured=item.package
7437
+ return configured===spec
7438
+ })
7439
+ }
7440
+ async function v1Global(api,spec,read) {const configRoot=process.env.OPENCODE_CONFIG_DIR??join4(process.env.XDG_CONFIG_HOME??join4(homedir2(),".config"),"opencode")
7441
+ const global=join4(configRoot,"tui.json")
7442
+ const configured=api.state.path.config.endsWith(".json")?api.state.path.config:join4(api.state.path.config,"tui.json")
7443
+ const local=new Set([configured,join4(api.state.path.worktree,".opencode","tui.json")])
7444
+ local.delete(global)
7445
+ for(const path of local)
7446
+ if(configHasPlugin(await read(path),spec))
7447
+ return false
7448
+ return configHasPlugin(await read(global),spec)
7449
+ }
7450
+ function createOpenCodeV1VersionUpdater(api,meta,execute=run,read=readConfig) {return {openCode:(target)=>execute([process.execPath,"upgrade",target]),async navigator(target) {if (meta.source!=="npm")
7451
+ throw new Error("Local Navigator installations must be updated from their source path.")
7452
+ const result=await api.plugins.install(`opencode-navigator@${target}`,{global:await v1Global(api,meta.spec,read)
7453
+ })
7454
+ if(!result.ok)
7455
+ throw new Error(result.message)
7456
+ }
7457
+ }
7458
+ }
7459
+ function createOpenCodeV2VersionUpdater(context,execute=run) {return {openCode:(target)=>execute([process.execPath,"upgrade",target]),async navigator() {const response=await context.client.plugin.list(context.location?{location:context.location}:{})
7460
+ const item=response.data.find((plugin)=>plugin.id===PLUGIN_ID)
7461
+ if(!item||item.source.type!=="package")
7462
+ throw new Error("Local Navigator installations must be updated from their source path.")
7463
+ await context.client.plugin.update({location:response.location,targets:[item.source.target]})
7464
+ }
7465
+ }
7466
+ }
7320
7467
  async function setupNavigator(api,options,readProject) {const config=pluginConfig(undefined)
7321
7468
  const configured=await loadConfiguredDefaults(api,options,readProject)
7322
7469
  const todo=createTodoController(api)
@@ -7335,29 +7482,29 @@ mcp.reconnect().catch(()=>{})
7335
7482
  })
7336
7483
  api.lifecycle.onDispose(unsubscribeMcp)
7337
7484
  api.lifecycle.onDispose(unsubscribeConnected)
7338
- api.slots.register({order:100,slots:{app() {return _$createComponent61(IconProvider,{get style() {return preferences.lspIconStyle
7485
+ api.slots.register({order:100,slots:{app() {return _$createComponent64(IconProvider,{get style() {return preferences.lspIconStyle
7339
7486
  },get multilineCorners() {return preferences.cornerFont
7340
- },get children() {return [_$createComponent61(PreferencesPersistence,{api,controller:preferences
7341
- }),_$createComponent61(SettingsBinding,{api,preferences,mcp
7342
- }),_$createComponent61(SidebarToggleBinding,{api,preferences
7343
- }),_$createComponent61(SidebarFocusBinding,{api,preferences,interaction
7344
- }),_$createComponent61(SearchBinding,{api,preferences,interaction,skills,subagents,mcp
7345
- }),_$createComponent61(FirstRunWizardPersistence,{api,preferences
7346
- }),_$createComponent61(McpPersistence,{api,controller:mcp
7487
+ },get children() {return [_$createComponent64(PreferencesPersistence,{api,controller:preferences
7488
+ }),_$createComponent64(SettingsBinding,{api,preferences,mcp
7489
+ }),_$createComponent64(SidebarToggleBinding,{api,preferences
7490
+ }),_$createComponent64(SidebarFocusBinding,{api,preferences,interaction
7491
+ }),_$createComponent64(SearchBinding,{api,preferences,interaction,skills,subagents,mcp
7492
+ }),_$createComponent64(FirstRunWizardPersistence,{api,preferences
7493
+ }),_$createComponent64(McpPersistence,{api,controller:mcp
7347
7494
  })]
7348
7495
  }
7349
7496
  })
7350
- },sidebar_title(_context,props) {return _$createComponent61(IconProvider,{get style() {return preferences.lspIconStyle
7497
+ },sidebar_title(_context,props) {return _$createComponent64(IconProvider,{get style() {return preferences.lspIconStyle
7351
7498
  },get multilineCorners() {return preferences.cornerFont
7352
- },get children() {return _$createComponent61(SidebarTitle,{api,preferences,mcp,interaction,get sessionID() {return props.session_id
7499
+ },get children() {return _$createComponent64(SidebarTitle,{api,preferences,mcp,interaction,get sessionID() {return props.session_id
7353
7500
  },get title() {return props.title
7354
7501
  }
7355
7502
  })
7356
7503
  }
7357
7504
  })
7358
- },sidebar_content(_context,props) {return _$createComponent61(IconProvider,{get style() {return preferences.lspIconStyle
7505
+ },sidebar_content(_context,props) {return _$createComponent64(IconProvider,{get style() {return preferences.lspIconStyle
7359
7506
  },get multilineCorners() {return preferences.cornerFont
7360
- },get children() {return _$createComponent61(SidebarContent,{api,mcp,todo,subagents,skills,preferences,interaction,get sessionID() {return props.session_id
7507
+ },get children() {return _$createComponent64(SidebarContent,{api,mcp,todo,subagents,skills,preferences,interaction,get sessionID() {return props.session_id
7361
7508
  }
7362
7509
  })
7363
7510
  }
@@ -7368,7 +7515,7 @@ api.slots.register({order:100,slots:{app() {return _$createComponent61(IconProvi
7368
7515
  return{mcp,preferences
7369
7516
  }
7370
7517
  }
7371
- var setupOpenCodeV1=async (api,options)=>{const {preferences
7518
+ var setupOpenCodeV1=async (api,options,meta)=>{const {preferences
7372
7519
  }=await setupNavigator(api,options,async ()=>{if (!api.client?.file?.read||!api.state.path.worktree)
7373
7520
  return
7374
7521
  const result=await api.client.file.read({directory:api.state.path.worktree,path:".opencode/navigator.json"
@@ -7379,11 +7526,14 @@ throw result.error
7379
7526
  }
7380
7527
  return result.data?.type==="text"?result.data.content:undefined
7381
7528
  })
7382
- const versionStatus=createVersionStatus(api,"0.15.0")
7383
- api.slots.register({order:90,slots:{sidebar_footer(_context,props) {return _$createComponent61(IconProvider,{get style() {return preferences.lspIconStyle
7529
+ const versionStatus=createVersionStatus(api,"0.16.1")
7530
+ const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta))
7531
+ api.slots.register({order:90,slots:{sidebar_footer(_context,props) {return _$createComponent64(IconProvider,{get style() {return preferences.lspIconStyle
7384
7532
  },get multilineCorners() {return preferences.cornerFont
7385
- },get children() {return _$createComponent61(VersionFooter,{api,get sessionID() {return props.session_id
7386
- },navigatorVersion:"0.15.0",status:versionStatus
7533
+ },get children() {return _$createComponent64(VersionFooter,{api,get sessionID() {return props.session_id
7534
+ },navigatorVersion:"0.16.1",status:versionStatus,get onOpenCodeUpdate() {return versionUpdates.openCode
7535
+ },get onNavigatorUpdate() {return versionUpdates.navigator
7536
+ }
7387
7537
  })
7388
7538
  }
7389
7539
  })
@@ -7398,16 +7548,19 @@ return
7398
7548
  return new TextDecoder().decode(await context.client.file.read({location:context.location,path:".opencode/navigator.json"
7399
7549
  }))
7400
7550
  })
7401
- const versionStatus=createVersionStatus(adapter.api,"0.15.0")
7402
- const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent61(IconProvider,{get style() {return preferences.lspIconStyle
7551
+ const versionStatus=createVersionStatus(adapter.api,"0.16.1")
7552
+ const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context))
7553
+ const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent64(IconProvider,{get style() {return preferences.lspIconStyle
7403
7554
  },get multilineCorners() {return preferences.cornerFont
7404
- },get children() {var _el$=_$createElement61("box")
7405
- _$setProp53(_el$,"flexDirection","row")
7406
- _$setProp53(_el$,"justifyContent","space-between")
7407
- _$insert50(_el$,_$createComponent61(NavigatorVersion,{get api() {return adapter.api
7408
- },navigatorVersion:"0.15.0",status:versionStatus
7555
+ },get children() {var _el$=_$createElement62("box")
7556
+ _$setProp54(_el$,"flexDirection","row")
7557
+ _$setProp54(_el$,"justifyContent","space-between")
7558
+ _$insert51(_el$,_$createComponent64(VersionSummary,{get api() {return adapter.api
7559
+ },navigatorVersion:"0.16.1",status:versionStatus,get onOpenCodeUpdate() {return versionUpdates.openCode
7560
+ },get onNavigatorUpdate() {return versionUpdates.navigator
7561
+ }
7409
7562
  }),null)
7410
- _$insert50(_el$,_$createComponent61(SettingsFooterButton,{get api() {return adapter.api
7563
+ _$insert51(_el$,_$createComponent64(SettingsFooterButton,{get api() {return adapter.api
7411
7564
  },preferences,mcp
7412
7565
  }),null)
7413
7566
  return _el$