opencode-navigator 0.19.2 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +6 -0
- package/dist/tui.js +155 -142
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.19.3] - 2026-10-03
|
|
6
|
+
|
|
7
|
+
- Indent grouped Todo, Subagent, Skill, and MCP rows and align MCP server status indicators with their group headings.
|
|
8
|
+
- Place Skill, MCP, and Quick Action bookmarks before item names. Reveal unselected bookmarks on hover or keyboard focus, keep favorites visible, and keep labels steady.
|
|
9
|
+
|
|
5
10
|
## [0.19.2] - 2026-10-02
|
|
6
11
|
|
|
7
12
|
- Show MCP group connection states with the same radio-style indicators as individual servers, without Connect/Disconnect labels on group headings.
|
|
@@ -59,6 +64,7 @@
|
|
|
59
64
|
|
|
60
65
|
Earlier release notes are available on [GitHub Releases](https://github.com/St1ggy/opencode-navigator/releases).
|
|
61
66
|
|
|
67
|
+
[0.19.3]: https://github.com/St1ggy/opencode-navigator/compare/v0.19.2...v0.19.3
|
|
62
68
|
[0.19.2]: https://github.com/St1ggy/opencode-navigator/compare/v0.19.1...v0.19.2
|
|
63
69
|
[0.19.1]: https://github.com/St1ggy/opencode-navigator/compare/v0.19.0...v0.19.1
|
|
64
70
|
[0.19.0]: https://github.com/St1ggy/opencode-navigator/compare/v0.18.2...v0.19.0
|
package/README.md
CHANGED
|
@@ -103,6 +103,12 @@ belong to each Skill's exact source path, so assignments survive when a Skill
|
|
|
103
103
|
is absent from the current workspace. Filters and Search Everything also match
|
|
104
104
|
group names; choosing a group heading never runs its Skills.
|
|
105
105
|
|
|
106
|
+
Rows beneath group headings are indented in Todo, Subagents, Skills, and MCP.
|
|
107
|
+
Skill, MCP, and Quick Action rows reserve a leading bookmark control: unselected
|
|
108
|
+
bookmarks appear on hover or keyboard focus, while favorites stay visible.
|
|
109
|
+
Labels do not shift when the control appears. MCP server status icons align with
|
|
110
|
+
their group status icons, including when a server has an error detail control.
|
|
111
|
+
|
|
106
112
|

|
|
107
113
|
|
|
108
114
|
Search Everything preserves one query across Skills, Subagents, MCP, and Actions:
|
package/dist/tui.js
CHANGED
|
@@ -3,7 +3,7 @@ import {insert as _$insert,setProp as _$setProp,createElement as _$createElement
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
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,createSignal as createSignal11,Index,createSignal as createSignal12,onCleanup as onCleanup5,createEffect as createEffect6,onCleanup as onCleanup7,batch as batch2,createEffect as createEffect5,createMemo,createSignal as createSignal13,onCleanup as onCleanup6,onMount,For as For2,For as For3,Show as Show2,createMemo as createMemo2,Show as Show3,createSignal as createSignal14,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 createSignal15,onCleanup as onCleanup9,Show as Show4,For as For6,For as For9,createEffect as createEffect8,createMemo as createMemo5,onCleanup as onCleanup10,createEffect as createEffect9,createMemo as createMemo6,untrack as untrack2,For as For10,createEffect as createEffect10,createMemo as createMemo9,onCleanup as onCleanup11,onMount as onMount4,createMemo as createMemo7,createMemo as createMemo8,Show as Show6,onCleanup as onCleanup12,createEffect as createEffect11,onCleanup as onCleanup13,createSignal as createSignal16,createEffect as createEffect12,onCleanup as onCleanup14,onMount as onMount5,onCleanup as onCleanup15,onMount as onMount6,For as For11,createSignal as createSignal17,createSignal as createSignal18,Show as Show7,createSignal as createSignal20,createSignal as createSignal19,onCleanup as onCleanup16,For as For12,Show as Show10,createMemo as createMemo11,createComputed,createMemo as createMemo10,createSignal as createSignal21,untrack as untrack3,Show as Show8,createComputed as createComputed2,untrack as untrack4,Show as Show9,createEffect as createEffect13,createSignal as createSignal22,createMemo as createMemo13,createSignal as
|
|
6
|
+
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,createSignal as createSignal11,Index,createSignal as createSignal12,onCleanup as onCleanup5,createEffect as createEffect6,onCleanup as onCleanup7,batch as batch2,createEffect as createEffect5,createMemo,createSignal as createSignal13,onCleanup as onCleanup6,onMount,For as For2,For as For3,Show as Show2,createMemo as createMemo2,Show as Show3,createSignal as createSignal14,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 createSignal15,onCleanup as onCleanup9,Show as Show4,For as For6,For as For9,createEffect as createEffect8,createMemo as createMemo5,onCleanup as onCleanup10,createEffect as createEffect9,createMemo as createMemo6,untrack as untrack2,For as For10,createEffect as createEffect10,createMemo as createMemo9,onCleanup as onCleanup11,onMount as onMount4,createMemo as createMemo7,createMemo as createMemo8,Show as Show6,onCleanup as onCleanup12,createEffect as createEffect11,onCleanup as onCleanup13,createSignal as createSignal16,createEffect as createEffect12,onCleanup as onCleanup14,onMount as onMount5,onCleanup as onCleanup15,onMount as onMount6,For as For11,createSignal as createSignal17,createSignal as createSignal18,Show as Show7,createSignal as createSignal20,createSignal as createSignal19,onCleanup as onCleanup16,For as For12,Show as Show10,createMemo as createMemo11,createComputed,createMemo as createMemo10,createSignal as createSignal21,untrack as untrack3,Show as Show8,createComputed as createComputed2,untrack as untrack4,Show as Show9,createEffect as createEffect13,createSignal as createSignal22,createMemo as createMemo13,createSignal as createSignal25,createMemo as createMemo12,For as For13,Show as Show14,Show as Show11,Show as Show12,createSignal as createSignal23,createContext as createContext3,useContext as useContext3,Show as Show13,createSignal as createSignal24,onCleanup as onCleanup17,For as For14,Show as Show16,createMemo as createMemo15,Show as Show15,createMemo as createMemo14,createSignal as createSignal26,createEffect as createEffect14,onCleanup as onCleanup18,For as For19,Match,Switch,createMemo as createMemo19,onCleanup as onCleanup22,For as For15,Show as Show17,createSignal as createSignal27,createEffect as createEffect15,createMemo as createMemo16,onCleanup as onCleanup19,untrack as untrack5,For as For17,Show as Show20,createEffect as createEffect16,createMemo as createMemo17,createSignal as createSignal28,onCleanup as onCleanup20,untrack as untrack6,For as For16,Show as Show19,Show as Show18,Show as Show24,createEffect as createEffect17,createMemo as createMemo18,createSignal as createSignal29,onCleanup as onCleanup21,untrack as untrack7,For as For18,Show as Show22,Show as Show21,Show as Show23,createEffect as createEffect18,createMemo as createMemo20,onCleanup as onCleanup23,untrack as untrack8,Show as Show25,createMemo as createMemo21,onCleanup as onCleanup24,createSignal as createSignal30,onCleanup as onCleanup25,onMount as onMount7} from "solid-js"
|
|
7
7
|
var SIDEBAR_SECTIONS=["todo","subagents","skills","quick_actions","lsp","mcp"]
|
|
8
8
|
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"]
|
|
9
9
|
function preferencesScope(path){return path.worktree||path.directory||"global"
|
|
@@ -846,6 +846,7 @@ return _el$
|
|
|
846
846
|
|
|
847
847
|
|
|
848
848
|
|
|
849
|
+
|
|
849
850
|
function IconControl(props){function mouseOver(event){props.onMouseOver?.()
|
|
850
851
|
event.stopPropagation()
|
|
851
852
|
}
|
|
@@ -873,7 +874,7 @@ function BookmarkControl(props){const icons=useIcons()
|
|
|
873
874
|
return _$createComponent(IconControl,{ref(r$){var _ref$=props.ref
|
|
874
875
|
typeof _ref$==="function"?_ref$(r$):props.ref=r$
|
|
875
876
|
},get id(){return props.id
|
|
876
|
-
},get icon(){return icons.icon(props.bookmarked?"bookmark":"bookmarkEmpty")
|
|
877
|
+
},get icon(){return _$memo(()=>props.visible?.()===false)()?" ":icons.icon(props.bookmarked?"bookmark":"bookmarkEmpty")
|
|
877
878
|
},get backgroundColor(){return props.backgroundColor
|
|
878
879
|
},get foregroundColor(){return props.foregroundColor
|
|
879
880
|
},get onMouseOver(){return props.onMouseOver
|
|
@@ -5808,7 +5809,7 @@ const item=useSidebarItem(props.api,props.interaction,{id:id(),position:()=>prop
|
|
|
5808
5809
|
})
|
|
5809
5810
|
return _$createComponent(SelectionBox,{ref:(node)=>item.ref(node),get id(){return id()
|
|
5810
5811
|
},height:1,get marginTop(){return props.marginTop
|
|
5811
|
-
},flexDirection:"row",justifyContent:"space-between",gap:1,get backgroundColor(){return item.backgroundColor()
|
|
5812
|
+
},flexDirection:"row",justifyContent:"space-between",gap:1,paddingRight:1,get backgroundColor(){return item.backgroundColor()
|
|
5812
5813
|
},get onMouseOver(){return item.onMouseOver
|
|
5813
5814
|
},get onMouseOut(){return item.onMouseOut
|
|
5814
5815
|
},onMouseUp:(event)=>{event.stopPropagation()
|
|
@@ -5905,25 +5906,70 @@ return _el$8
|
|
|
5905
5906
|
return _el$5
|
|
5906
5907
|
})()
|
|
5907
5908
|
}
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5909
|
+
|
|
5910
|
+
|
|
5911
|
+
|
|
5912
|
+
function createSidebarBookmark(input){const{api,interaction,row,position,favorite,disabled,onToggle
|
|
5913
|
+
}=input
|
|
5914
|
+
const id=`${input.id}.favorite`
|
|
5915
|
+
const [rowHovered,setRowHovered]=createSignal23(false)
|
|
5916
|
+
const [controlHovered,setControlHovered]=createSignal23(false)
|
|
5917
|
+
const control=useSidebarItem(api,interaction,{id,position:()=>({...position(),column:0
|
|
5918
|
+
}),disabled,activate:()=>{onToggle()
|
|
5919
|
+
queueMicrotask(()=>interaction?.select(id))
|
|
5920
|
+
}},()=>api.theme.current.warning,"control")
|
|
5921
|
+
const visible=()=>favorite()||row.focused()||control.focused()||rowHovered()||controlHovered()
|
|
5922
|
+
return{onRowOver:()=>{row.onMouseOver()
|
|
5923
|
+
setRowHovered(true)
|
|
5924
|
+
},onRowOut:()=>{row.onMouseOut()
|
|
5925
|
+
setRowHovered(false)
|
|
5926
|
+
},render:()=>_$createComponent(BookmarkControl,{ref:(node)=>control.ref(node),id,get bookmarked(){return favorite()
|
|
5927
|
+
},visible,get backgroundColor(){return _$memo(()=>control.backgroundColor()==="transparent")()?row.backgroundColor():control.backgroundColor()
|
|
5928
|
+
},get foregroundColor(){return _$memo(()=>!!row.focused())()?row.foregroundColor():control.foregroundColor()
|
|
5929
|
+
},onMouseOver:()=>{control.onMouseOver()
|
|
5930
|
+
setControlHovered(true)
|
|
5931
|
+
},onMouseOut:()=>{control.onMouseOut()
|
|
5932
|
+
setControlHovered(false)
|
|
5933
|
+
},onMouseUp:(event)=>control.activate(event)
|
|
5934
|
+
})
|
|
5935
|
+
}}
|
|
5936
|
+
|
|
5937
|
+
|
|
5938
|
+
|
|
5939
|
+
|
|
5940
|
+
|
|
5941
|
+
|
|
5942
|
+
var Context=createContext3()
|
|
5943
|
+
function useSidebarList(){const value=useContext3(Context)
|
|
5944
|
+
if(!value)
|
|
5945
|
+
throw new Error("No sidebar list")
|
|
5946
|
+
return value
|
|
5947
|
+
}
|
|
5948
|
+
function SidebarRowList(props){return _$createComponent(Context.Provider,{get value(){return{api:props.api,interaction:props.interaction,grouped:props.grouped??(()=>false)
|
|
5949
|
+
}},get children(){var _el$=_$createElement("box")
|
|
5950
|
+
_$insert(_el$,()=>props.children)
|
|
5951
|
+
_$effect((_$p)=>_$setProp(_el$,"gap",props.density==="comfortable"?1:0,_$p))
|
|
5952
|
+
return _el$
|
|
5953
|
+
}})
|
|
5954
|
+
}
|
|
5955
|
+
function McpRow(props){const{api,interaction,grouped
|
|
5956
|
+
}=useSidebarList()
|
|
5957
|
+
const icons=useIcons()
|
|
5958
|
+
const dialogs=useDialogs(api)
|
|
5959
|
+
const theme=()=>api.theme.current
|
|
5911
5960
|
const busy=()=>props.state.status==="loading"||props.state.status==="refreshing"
|
|
5912
5961
|
const error=()=>props.state.error
|
|
5913
5962
|
const disabled=()=>props.disabled||busy()
|
|
5914
5963
|
const id=()=>`${PLUGIN_ID}.mcp.${props.item.name}`
|
|
5915
|
-
const row=useSidebarItem(
|
|
5964
|
+
const row=useSidebarItem(api,interaction,{id:id(),position:()=>({...props.position,column:1
|
|
5916
5965
|
}),disabled,activate:props.onToggle
|
|
5917
5966
|
})
|
|
5918
|
-
const bookmark=
|
|
5919
|
-
})
|
|
5920
|
-
|
|
5921
|
-
}},()=>theme().warning,"control")
|
|
5922
|
-
const info=useSidebarItem(props.api,props.interaction,{id:`${id()}.info`,position:()=>({...props.position,column:1
|
|
5967
|
+
const bookmark=createSidebarBookmark({api,interaction,id:id(),position:()=>props.position,row,favorite:()=>props.favorite,disabled:()=>props.favoriteDisabled,onToggle:props.onToggleFavorite
|
|
5968
|
+
})
|
|
5969
|
+
const info=useSidebarItem(api,interaction,{id:`${id()}.info`,position:()=>({...props.position,column:2
|
|
5923
5970
|
}),activate:()=>{if(!props.item.error)
|
|
5924
5971
|
return
|
|
5925
|
-
dialogs.open(()=>_$createComponent(McpErrorDialog,{get
|
|
5926
|
-
},get name(){return props.item.name
|
|
5972
|
+
dialogs.open(()=>_$createComponent(McpErrorDialog,{api,get name(){return props.item.name
|
|
5927
5973
|
},get status(){return props.item.status
|
|
5928
5974
|
},get error(){return props.item.error
|
|
5929
5975
|
}}),"medium")
|
|
@@ -5931,12 +5977,14 @@ dialogs.open(()=>_$createComponent(McpErrorDialog,{get api(){return props.api
|
|
|
5931
5977
|
const nestedBackground=(background)=>background==="transparent"?row.backgroundColor():background
|
|
5932
5978
|
return _$createComponent(ListRow,{ref:(node)=>row.ref(node),get id(){return id()
|
|
5933
5979
|
},get backgroundColor(){return row.backgroundColor()
|
|
5934
|
-
},
|
|
5980
|
+
},get paddingLeft(){return grouped()?0:1
|
|
5981
|
+
},paddingRight:1,contentGap:0,get paddingTop(){return error()?1:0
|
|
5935
5982
|
},get paddingBottom(){return error()?1:0
|
|
5936
5983
|
},get marginTop(){return props.separator?1:0
|
|
5937
|
-
},get onMouseOver(){return
|
|
5938
|
-
},get onMouseOut(){return
|
|
5939
|
-
},onMouseDown:(event)=>row.activate(event),get
|
|
5984
|
+
},get onMouseOver(){return bookmark.onRowOver
|
|
5985
|
+
},get onMouseOut(){return bookmark.onRowOut
|
|
5986
|
+
},onMouseDown:(event)=>row.activate(event),get leading(){return bookmark.render()
|
|
5987
|
+
},get content(){return(()=>{var _el$=_$createElement("text")
|
|
5940
5988
|
_$setProp(_el$,"flexGrow",1)
|
|
5941
5989
|
_$setProp(_el$,"wrapMode","none")
|
|
5942
5990
|
_$insert(_el$,()=>props.item.name)
|
|
@@ -5948,8 +5996,6 @@ _$insertNode(_el$2,_el$3)
|
|
|
5948
5996
|
_$setProp(_el$2,"flexDirection","row")
|
|
5949
5997
|
_$setProp(_el$2,"flexShrink",0)
|
|
5950
5998
|
_$setProp(_el$2,"gap",1)
|
|
5951
|
-
_$insertNode(_el$3,_el$4)
|
|
5952
|
-
_$insert(_el$4,()=>icons.icon(mcpToggle(props.item.status,busy())))
|
|
5953
5999
|
_$insert(_el$2,(()=>{var _c$=_$memo(()=>!!props.item.error)
|
|
5954
6000
|
return()=>_c$()?_$createComponent(IconControl,{ref:(node)=>info.ref(node),get id(){return `${id()}.info`
|
|
5955
6001
|
},get icon(){return icons.icon("info")
|
|
@@ -5959,21 +6005,13 @@ return()=>_c$()?_$createComponent(IconControl,{ref:(node)=>info.ref(node),get id
|
|
|
5959
6005
|
},get onMouseOut(){return info.onMouseOut
|
|
5960
6006
|
},onMouseUp:(event)=>info.activate(event)
|
|
5961
6007
|
}):null
|
|
5962
|
-
})(),
|
|
5963
|
-
_$
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
},get foregroundColor(){return _$memo(()=>!!row.focused())()?row.foregroundColor():bookmark.foregroundColor()
|
|
5967
|
-
},get onMouseOver(){return bookmark.onMouseOver
|
|
5968
|
-
},get onMouseOut(){return bookmark.onMouseOut
|
|
5969
|
-
},onMouseUp:(event)=>bookmark.activate(event)
|
|
5970
|
-
}),null)
|
|
5971
|
-
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():mcpColor(props.api,props.item.status),_$p))
|
|
6008
|
+
})(),_el$3)
|
|
6009
|
+
_$insertNode(_el$3,_el$4)
|
|
6010
|
+
_$insert(_el$4,()=>icons.icon(mcpToggle(props.item.status,busy())))
|
|
6011
|
+
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():mcpColor(api,props.item.status),_$p))
|
|
5972
6012
|
return _el$2
|
|
5973
6013
|
})()
|
|
5974
|
-
},get details(){return _$createComponent(RequestErrorRow,{get
|
|
5975
|
-
},get interaction(){return props.interaction
|
|
5976
|
-
},get id(){return `${id()}.retry`
|
|
6014
|
+
},get details(){return _$createComponent(RequestErrorRow,{api,interaction,get id(){return `${id()}.retry`
|
|
5977
6015
|
},get position(){return{...props.position,row:props.position.row + 1,column:0
|
|
5978
6016
|
}},get state(){return props.state
|
|
5979
6017
|
},get onRetry(){return props.onRetry
|
|
@@ -5991,7 +6029,7 @@ return _el$2
|
|
|
5991
6029
|
function SectionFilter(props){const icons=useIcons()
|
|
5992
6030
|
let input
|
|
5993
6031
|
let unregisterInput
|
|
5994
|
-
const [inputFocused,setInputFocused]=
|
|
6032
|
+
const [inputFocused,setInputFocused]=createSignal24(false)
|
|
5995
6033
|
const theme=()=>props.api.theme.current
|
|
5996
6034
|
const item=useSidebarItem(props.api,props.interaction,{id:props.id??`filter.${props.placeholder}`,position:()=>props.position??{section:0,row:0,column:0
|
|
5997
6035
|
},activate:()=>{if(!input)
|
|
@@ -6060,16 +6098,6 @@ return _el$3
|
|
|
6060
6098
|
}})]
|
|
6061
6099
|
}})
|
|
6062
6100
|
}
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
function SidebarRowList(props){return(()=>{var _el$=_$createElement("box")
|
|
6068
|
-
_$insert(_el$,()=>props.children)
|
|
6069
|
-
_$effect((_$p)=>_$setProp(_el$,"gap",props.density==="comfortable"?1:0,_$p))
|
|
6070
|
-
return _el$
|
|
6071
|
-
})()
|
|
6072
|
-
}
|
|
6073
6101
|
function McpSectionContent(props){const model=props.model
|
|
6074
6102
|
return _$createComponent(SectionRequestBody,{get api(){return props.api
|
|
6075
6103
|
},get interaction(){return props.interaction
|
|
@@ -6095,7 +6123,10 @@ _$insertNode(_el$2,_$createTextNode(`No matching MCP servers`))
|
|
|
6095
6123
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
6096
6124
|
return _el$2
|
|
6097
6125
|
})()
|
|
6098
|
-
},get children(){return [_$createComponent(SidebarRowList,{get
|
|
6126
|
+
},get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6127
|
+
},get interaction(){return props.interaction
|
|
6128
|
+
},get grouped(){return model.grouped
|
|
6129
|
+
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6099
6130
|
},get children(){return _$createComponent(For13,{get each(){return model.visibility.visible()
|
|
6100
6131
|
},children:(item,index)=>[_$createComponent(Show14,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6101
6132
|
},get children(){return _$createComponent(McpGroupHeader,{get api(){return props.api
|
|
@@ -6108,9 +6139,7 @@ return _el$2
|
|
|
6108
6139
|
},get position(){return{section:props.navigationSection,row:9 + index()*3,column:0
|
|
6109
6140
|
}},onToggle:()=>void props.controller.toggleGroup(item.bucket,model.groupNames(item.bucket),model.target())
|
|
6110
6141
|
})
|
|
6111
|
-
}}),_$createComponent(McpRow,{get
|
|
6112
|
-
},get interaction(){return props.interaction
|
|
6113
|
-
},item,get position(){return{section:props.navigationSection,row:10 + index()*3,column:0
|
|
6142
|
+
}}),_$createComponent(McpRow,{item,get position(){return{section:props.navigationSection,row:10 + index()*3,column:0
|
|
6114
6143
|
}},get state(){return props.controller.serverState(item.name,model.target())
|
|
6115
6144
|
},get disabled(){return model.bulkRunning()
|
|
6116
6145
|
},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)
|
|
@@ -6130,7 +6159,7 @@ return _el$
|
|
|
6130
6159
|
}})
|
|
6131
6160
|
}
|
|
6132
6161
|
function McpSection(props){const icons=useIcons()
|
|
6133
|
-
const [query,setQuery]=
|
|
6162
|
+
const [query,setQuery]=createSignal25("")
|
|
6134
6163
|
const model=createMcpSectionModel(props,query)
|
|
6135
6164
|
const navigationSection=()=>props.navigationSection??6
|
|
6136
6165
|
const summary=createMemo13(()=>`${model.active()}/${model.list().length}${model.errors() ? ` \xB7 ${model.errors()} ${icons.icon("error")}` : ""}`)
|
|
@@ -6165,48 +6194,46 @@ return _$createComponent(SectionWithHeaderAction,{get api(){return props.api
|
|
|
6165
6194
|
|
|
6166
6195
|
|
|
6167
6196
|
|
|
6168
|
-
function QuickActionRow(props){const
|
|
6169
|
-
|
|
6170
|
-
const
|
|
6171
|
-
const
|
|
6197
|
+
function QuickActionRow(props){const{api,interaction
|
|
6198
|
+
}=useSidebarList()
|
|
6199
|
+
const icons=useIcons()
|
|
6200
|
+
const theme=()=>api.theme.current
|
|
6201
|
+
const [width,setWidth]=createSignal26(0)
|
|
6202
|
+
const shortcut=createMemo14(()=>{const bindings=api.keymap.getCommandBindings({visibility:"registered",commands:[props.action.command]
|
|
6172
6203
|
})
|
|
6173
|
-
return
|
|
6204
|
+
return api.keys.formatBindings(bindings.get(props.action.command))
|
|
6174
6205
|
})
|
|
6175
6206
|
const visibleShortcut=createMemo14(()=>{const value=shortcut()
|
|
6176
|
-
return value&&width()>=Bun.stringWidth(props.action.label) + Bun.stringWidth(value) +
|
|
6207
|
+
return value&&width()>=Bun.stringWidth(props.action.label) + Bun.stringWidth(value) + 8?value:undefined
|
|
6177
6208
|
})
|
|
6178
6209
|
function run(){if(props.action.command==="session.new"&&props.onNewSession?.())
|
|
6179
6210
|
return
|
|
6180
|
-
const result=
|
|
6211
|
+
const result=interaction?interaction.dispatchFromReturnTarget(props.action.command):api.keymap.dispatchCommand(props.action.command)
|
|
6181
6212
|
if(result.ok)
|
|
6182
6213
|
return
|
|
6183
|
-
|
|
6214
|
+
api.ui.toast({variant:"warning",title:props.action.label,message:`Command is ${result.reason}`,duration:3000
|
|
6184
6215
|
})
|
|
6185
6216
|
}
|
|
6186
6217
|
const id=()=>`${PLUGIN_ID}.quick-action.${props.action.command}`
|
|
6187
|
-
const row=useSidebarItem(
|
|
6218
|
+
const row=useSidebarItem(api,interaction,{id:id(),position:()=>({...props.position,column:1
|
|
6219
|
+
}),activate:run,disabled:()=>Boolean(props.disabled)
|
|
6220
|
+
})
|
|
6221
|
+
const bookmark=createSidebarBookmark({api,interaction,id:id(),position:()=>props.position,row,favorite:()=>props.favorite,disabled:()=>props.favoriteDisabled,onToggle:props.onToggleFavorite
|
|
6188
6222
|
})
|
|
6189
|
-
const favorite=useSidebarItem(props.api,props.interaction,{id:`${id()}.favorite`,position:()=>({...props.position,column:1
|
|
6190
|
-
}),disabled:()=>props.favoriteDisabled,activate:()=>{props.onToggleFavorite()
|
|
6191
|
-
queueMicrotask(()=>props.interaction?.select(`${id()}.favorite`))
|
|
6192
|
-
}},()=>theme().warning,"control")
|
|
6193
|
-
const controlBackground=()=>{const background=favorite.backgroundColor()
|
|
6194
|
-
return background==="transparent"?row.backgroundColor():background
|
|
6195
|
-
}
|
|
6196
6223
|
return _$createComponent(ListRow,{ref:(node)=>row.ref(node),get id(){return id()
|
|
6197
6224
|
},paddingLeft:1,paddingRight:1,get marginTop(){return props.separator?1:0
|
|
6198
6225
|
},onSizeChange:function(){setWidth(this.width)
|
|
6199
6226
|
},get backgroundColor(){return row.backgroundColor()
|
|
6200
|
-
},get onMouseOver(){return
|
|
6201
|
-
},get onMouseOut(){return
|
|
6227
|
+
},get onMouseOver(){return bookmark.onRowOver
|
|
6228
|
+
},get onMouseOut(){return bookmark.onRowOut
|
|
6202
6229
|
},onMouseUp:(event)=>{event.stopPropagation()
|
|
6203
6230
|
row.activate(event)
|
|
6204
|
-
},get leading(){return(()=>{var _el$=_$createElement("text")
|
|
6231
|
+
},get leading(){return [_$memo(()=>bookmark.render()),(()=>{var _el$=_$createElement("text")
|
|
6205
6232
|
_$setProp(_el$,"flexShrink",0)
|
|
6206
6233
|
_$insert(_el$,()=>icons.action(props.action.command))
|
|
6207
6234
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.disabled?theme().textMuted:row.focused()?row.foregroundColor():theme().accent,_$p))
|
|
6208
6235
|
return _el$
|
|
6209
|
-
})()
|
|
6236
|
+
})()]
|
|
6210
6237
|
},get content(){return(()=>{var _el$2=_$createElement("text")
|
|
6211
6238
|
_$setProp(_el$2,"flexGrow",1)
|
|
6212
6239
|
_$setProp(_el$2,"wrapMode","none")
|
|
@@ -6232,14 +6259,6 @@ _$effect((_$p)=>_$setProp(_el$4,"fg",row.focused()?row.foregroundColor():theme()
|
|
|
6232
6259
|
return _el$4
|
|
6233
6260
|
})()
|
|
6234
6261
|
})
|
|
6235
|
-
},get trailing(){return _$createComponent(BookmarkControl,{ref:(node)=>favorite.ref(node),get id(){return `${id()}.favorite`
|
|
6236
|
-
},get bookmarked(){return props.favorite
|
|
6237
|
-
},get backgroundColor(){return controlBackground()
|
|
6238
|
-
},get foregroundColor(){return _$memo(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
|
|
6239
|
-
},get onMouseOver(){return favorite.onMouseOver
|
|
6240
|
-
},get onMouseOut(){return favorite.onMouseOut
|
|
6241
|
-
},onMouseUp:(event)=>favorite.activate(event)
|
|
6242
|
-
})
|
|
6243
6262
|
}})
|
|
6244
6263
|
}
|
|
6245
6264
|
function QuickActionsSection(props){const commandRevision=createQuickActionRevision(props.api)
|
|
@@ -6257,16 +6276,16 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6257
6276
|
},sectionId:`${PLUGIN_ID}.section.quick_actions`,get navigationSection(){return navigationSection()
|
|
6258
6277
|
},title:"QUICK ACTIONS",section:"quick_actions",get summary(){return String(actions().length)
|
|
6259
6278
|
},get open(){return props.preferences.expanded().quick_actions
|
|
6260
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get
|
|
6279
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6280
|
+
},get interaction(){return props.interaction
|
|
6281
|
+
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6261
6282
|
},get children(){return [_$createComponent(Show16,{get when(){return actions().length===0
|
|
6262
6283
|
},get children(){var _el$=_$createElement("text")
|
|
6263
6284
|
_$insertNode(_el$,_$createTextNode(`No quick actions selected`))
|
|
6264
6285
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
6265
6286
|
return _el$
|
|
6266
6287
|
}}),_$createComponent(For14,{get each(){return visibility.visible()
|
|
6267
|
-
},children:(action,index)=>_$createComponent(QuickActionRow,{get
|
|
6268
|
-
},get interaction(){return props.interaction
|
|
6269
|
-
},get onNewSession(){return props.onNewSession
|
|
6288
|
+
},children:(action,index)=>_$createComponent(QuickActionRow,{get onNewSession(){return props.onNewSession
|
|
6270
6289
|
},action,get disabled(){return action.disabled
|
|
6271
6290
|
},get favorite(){return props.preferences.favoriteQuickActions?.().has(action.command)??false
|
|
6272
6291
|
},get favoriteDisabled(){return _$memo(()=>!!props.preferences.ready)()?!props.preferences.ready():false
|
|
@@ -6445,49 +6464,36 @@ return{target,recent,grouped,list,filtered,visibility,state,useSkill,skillGroup}
|
|
|
6445
6464
|
|
|
6446
6465
|
|
|
6447
6466
|
|
|
6448
|
-
function SkillRow(props){const
|
|
6449
|
-
|
|
6467
|
+
function SkillRow(props){const{api,interaction,grouped
|
|
6468
|
+
}=useSidebarList()
|
|
6469
|
+
const icons=useIcons()
|
|
6450
6470
|
const id=()=>`${PLUGIN_ID}.skill.${props.item.location || props.item.name}`
|
|
6451
|
-
const row=useSidebarItem(
|
|
6471
|
+
const row=useSidebarItem(api,interaction,{id:id(),position:()=>({...props.position,column:1
|
|
6452
6472
|
}),activate:props.onUse
|
|
6453
6473
|
})
|
|
6454
|
-
const
|
|
6455
|
-
})
|
|
6456
|
-
queueMicrotask(()=>props.interaction?.select(`${id()}.favorite`))
|
|
6457
|
-
}},()=>theme().warning,"control")
|
|
6458
|
-
const controlBackground=()=>{const background=favorite.backgroundColor()
|
|
6459
|
-
return background==="transparent"?row.backgroundColor():background
|
|
6460
|
-
}
|
|
6474
|
+
const bookmark=createSidebarBookmark({api,interaction,id:id(),position:()=>props.position,row,favorite:()=>props.favorite,disabled:()=>props.favoriteDisabled,onToggle:props.onToggleFavorite
|
|
6475
|
+
})
|
|
6461
6476
|
return _$createComponent(ListRow,{ref:(node)=>row.ref(node),get id(){return id()
|
|
6462
|
-
},
|
|
6477
|
+
},get paddingLeft(){return grouped()?0:1
|
|
6478
|
+
},paddingRight:1,contentGap:0,get marginTop(){return props.separator?1:0
|
|
6463
6479
|
},get backgroundColor(){return row.backgroundColor()
|
|
6464
|
-
},get onMouseOver(){return
|
|
6465
|
-
},get onMouseOut(){return
|
|
6466
|
-
},onMouseUp:(event)=>row.activate(event),get leading(){return
|
|
6467
|
-
_$
|
|
6468
|
-
_$
|
|
6469
|
-
_$
|
|
6480
|
+
},get onMouseOver(){return bookmark.onRowOver
|
|
6481
|
+
},get onMouseOut(){return bookmark.onRowOut
|
|
6482
|
+
},onMouseUp:(event)=>row.activate(event),get leading(){return bookmark.render()
|
|
6483
|
+
},get content(){return(()=>{var _el$=_$createElement("text")
|
|
6484
|
+
_$setProp(_el$,"flexGrow",1)
|
|
6485
|
+
_$setProp(_el$,"wrapMode","word")
|
|
6486
|
+
_$insert(_el$,(()=>{var _c$=_$memo(()=>!!props.recent)
|
|
6487
|
+
return()=>_c$()?`${icons.icon("recent")} `:""
|
|
6488
|
+
})(),null)
|
|
6489
|
+
_$insert(_el$,()=>props.item.name,null)
|
|
6490
|
+
_$effect((_$p)=>_$setProp(_el$,"fg",row.foregroundColor(),_$p))
|
|
6470
6491
|
return _el$
|
|
6471
6492
|
})()
|
|
6472
|
-
},get content(){return(()=>{var _el$2=_$createElement("text")
|
|
6473
|
-
_$setProp(_el$2,"flexGrow",1)
|
|
6474
|
-
_$setProp(_el$2,"wrapMode","word")
|
|
6475
|
-
_$insert(_el$2,()=>props.item.name)
|
|
6476
|
-
_$effect((_$p)=>_$setProp(_el$2,"fg",row.foregroundColor(),_$p))
|
|
6477
|
-
return _el$2
|
|
6478
|
-
})()
|
|
6479
|
-
},get trailing(){return _$createComponent(BookmarkControl,{ref:(node)=>favorite.ref(node),get id(){return `${id()}.favorite`
|
|
6480
|
-
},get bookmarked(){return props.favorite
|
|
6481
|
-
},get backgroundColor(){return controlBackground()
|
|
6482
|
-
},get foregroundColor(){return _$memo(()=>!!row.focused())()?row.foregroundColor():favorite.foregroundColor()
|
|
6483
|
-
},get onMouseOver(){return favorite.onMouseOver
|
|
6484
|
-
},get onMouseOut(){return favorite.onMouseOut
|
|
6485
|
-
},onMouseUp:(event)=>favorite.activate(event)
|
|
6486
|
-
})
|
|
6487
6493
|
}})
|
|
6488
6494
|
}
|
|
6489
6495
|
function SkillsSection(props){const dialogs=useDialogs(props.api)
|
|
6490
|
-
const [query,setQuery]=
|
|
6496
|
+
const [query,setQuery]=createSignal27("")
|
|
6491
6497
|
const model=createSkillSectionModel(props,query)
|
|
6492
6498
|
const navigationSection=()=>props.navigationSection??3
|
|
6493
6499
|
function selectSkill(item){if(!props.preferences.shouldConfirmSkill(item)){model.useSkill(item)
|
|
@@ -6526,7 +6532,10 @@ _$insertNode(_el$2,_$createTextNode(`No matching skills`))
|
|
|
6526
6532
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
6527
6533
|
return _el$2
|
|
6528
6534
|
})()
|
|
6529
|
-
},get children(){return [_$createComponent(SidebarRowList,{get
|
|
6535
|
+
},get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6536
|
+
},get interaction(){return props.interaction
|
|
6537
|
+
},get grouped(){return model.grouped
|
|
6538
|
+
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6530
6539
|
},get children(){return _$createComponent(For15,{get each(){return model.visibility.visible()
|
|
6531
6540
|
},children:(item,index)=>[_$createComponent(Show17,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6532
6541
|
},get children(){var _el$4=_$createElement("text")
|
|
@@ -6541,9 +6550,7 @@ return _p$
|
|
|
6541
6550
|
},{e:undefined,t:undefined
|
|
6542
6551
|
})
|
|
6543
6552
|
return _el$4
|
|
6544
|
-
}}),_$createComponent(SkillRow,{get
|
|
6545
|
-
},get interaction(){return props.interaction
|
|
6546
|
-
},item,get position(){return{section:navigationSection(),row:10 + index()*(model.grouped()?2:1),column:0
|
|
6553
|
+
}}),_$createComponent(SkillRow,{item,get position(){return{section:navigationSection(),row:10 + index()*(model.grouped()?2:1),column:0
|
|
6547
6554
|
}},onUse:()=>selectSkill(item),get recent(){return model.recent().has(item.location)
|
|
6548
6555
|
},get favorite(){return props.preferences.isFavoriteSkill?.(item)??false
|
|
6549
6556
|
},get favoriteDisabled(){return props.preferences.ready?.()===false
|
|
@@ -6575,8 +6582,8 @@ return _el$
|
|
|
6575
6582
|
function createSubagentSectionModel(props){const list=createMemo17(()=>props.controller.list(props.sessionID))
|
|
6576
6583
|
const recent=createMemo17(()=>props.controller.recent?.(props.sessionID)??[])
|
|
6577
6584
|
const rows=createMemo17(()=>buildSubagentView(list(),recent()))
|
|
6578
|
-
const [query,setQuery]=
|
|
6579
|
-
const [mode,setMode]=
|
|
6585
|
+
const [query,setQuery]=createSignal28("")
|
|
6586
|
+
const [mode,setMode]=createSignal28("all")
|
|
6580
6587
|
const counts=createMemo17(()=>countSubagentView(rows(),query()))
|
|
6581
6588
|
const tabs=createMemo17(()=>["all","active","recent",...counts().errors>0?["errors"]:[]])
|
|
6582
6589
|
const filtered=createMemo17(()=>filterSubagentView(rows(),mode(),query()))
|
|
@@ -6620,18 +6627,20 @@ return{list,recent,rows,query,setQuery,mode,setMode,counts,tabs,filtered,parentI
|
|
|
6620
6627
|
|
|
6621
6628
|
|
|
6622
6629
|
|
|
6623
|
-
function SubagentRow(props){const
|
|
6624
|
-
|
|
6630
|
+
function SubagentRow(props){const{api,interaction
|
|
6631
|
+
}=useSidebarList()
|
|
6632
|
+
const icons=useIcons()
|
|
6633
|
+
const theme=()=>api.theme.current
|
|
6625
6634
|
const retrying=()=>props.item.status.type==="retry"
|
|
6626
6635
|
const idle=()=>props.item.status.type==="idle"
|
|
6627
6636
|
const failed=()=>props.item.run?.outcome==="error"
|
|
6628
6637
|
const cancelled=()=>props.item.run?.outcome==="cancelled"
|
|
6629
6638
|
const id=()=>`${PLUGIN_ID}.subagent.${props.item.session.id}`
|
|
6630
|
-
const row=useSidebarItem(
|
|
6639
|
+
const row=useSidebarItem(api,interaction,{id:id(),position:()=>props.position,activate:props.onOpen
|
|
6631
6640
|
})
|
|
6632
6641
|
const leadingColor=()=>row.focused()?row.foregroundColor():failed()?theme().error:retrying()||props.item.unavailable?theme().warning:idle()?theme().textMuted:theme().primary
|
|
6633
6642
|
return _$createComponent(ListRow,{ref:(node)=>row.ref(node),get id(){return id()
|
|
6634
|
-
},paddingLeft:
|
|
6643
|
+
},paddingLeft:2,paddingRight:1,get backgroundColor(){return row.backgroundColor()
|
|
6635
6644
|
},get onMouseOver(){return row.onMouseOver
|
|
6636
6645
|
},get onMouseOut(){return row.onMouseOut
|
|
6637
6646
|
},onMouseDown:(event)=>row.activate(event),get leading(){return(()=>{var _el$=_$createElement("text")
|
|
@@ -6688,7 +6697,9 @@ return _el$8
|
|
|
6688
6697
|
}})]
|
|
6689
6698
|
}})
|
|
6690
6699
|
}
|
|
6691
|
-
function SubagentList(props){return _$createComponent(SidebarRowList,{get
|
|
6700
|
+
function SubagentList(props){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6701
|
+
},get interaction(){return props.interaction
|
|
6702
|
+
},get density(){return props.density
|
|
6692
6703
|
},get children(){return _$createComponent(For16,{get each(){return props.ids
|
|
6693
6704
|
},children:(id,index)=>{const initial=props.itemById(id)
|
|
6694
6705
|
const item=()=>props.itemById(id)??initial
|
|
@@ -6701,9 +6712,7 @@ _$insert(_el$3,()=>item().group)
|
|
|
6701
6712
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
6702
6713
|
return _el$2
|
|
6703
6714
|
}}),null)
|
|
6704
|
-
_$insert(_el$,_$createComponent(SubagentRow,{get
|
|
6705
|
-
},get interaction(){return props.interaction
|
|
6706
|
-
},get item(){return item()
|
|
6715
|
+
_$insert(_el$,_$createComponent(SubagentRow,{get item(){return item()
|
|
6707
6716
|
},get now(){return props.now
|
|
6708
6717
|
},get position(){return{section:props.navigationSection,row:10 + index(),column:0
|
|
6709
6718
|
}},onOpen:()=>props.controller.open(id)
|
|
@@ -6808,8 +6817,10 @@ return _el$
|
|
|
6808
6817
|
|
|
6809
6818
|
|
|
6810
6819
|
|
|
6811
|
-
function TodoRow(props){const
|
|
6812
|
-
|
|
6820
|
+
function TodoRow(props){const{api
|
|
6821
|
+
}=useSidebarList()
|
|
6822
|
+
const icons=useIcons()
|
|
6823
|
+
const theme=()=>api.theme.current
|
|
6813
6824
|
const done=()=>props.item.status==="completed"
|
|
6814
6825
|
const active=()=>props.item.status==="in_progress"
|
|
6815
6826
|
const cancelled=()=>props.item.status==="cancelled"
|
|
@@ -6832,6 +6843,7 @@ _$insertNode(_el$,_el$2)
|
|
|
6832
6843
|
_$insertNode(_el$,_el$3)
|
|
6833
6844
|
_$setProp(_el$,"flexDirection","row")
|
|
6834
6845
|
_$setProp(_el$,"gap",1)
|
|
6846
|
+
_$setProp(_el$,"paddingLeft",2)
|
|
6835
6847
|
_$setProp(_el$2,"flexShrink",0)
|
|
6836
6848
|
_$insert(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":"idle"))
|
|
6837
6849
|
_$setProp(_el$3,"flexGrow",1)
|
|
@@ -6877,7 +6889,9 @@ _$insert(_el$,_$createComponent(Show22,{get when(){return props.view.rows.length
|
|
|
6877
6889
|
},get fallback(){return _$createComponent(EmptyTodo,{get api(){return props.api
|
|
6878
6890
|
},get mode(){return props.mode
|
|
6879
6891
|
}})
|
|
6880
|
-
},get children(){return _$createComponent(SidebarRowList,{get
|
|
6892
|
+
},get children(){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6893
|
+
},get interaction(){return props.interaction
|
|
6894
|
+
},get density(){return props.density
|
|
6881
6895
|
},get children(){return _$createComponent(For18,{get each(){return props.visibility.visible()
|
|
6882
6896
|
},children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index()-1].group!==row.group
|
|
6883
6897
|
return(()=>{var _el$3=_$createElement("box")
|
|
@@ -6888,8 +6902,7 @@ _$insert(_el$5,()=>row.group)
|
|
|
6888
6902
|
_$effect((_$p)=>_$setProp(_el$4,"fg",props.api.theme.current.textMuted,_$p))
|
|
6889
6903
|
return _el$4
|
|
6890
6904
|
}}),null)
|
|
6891
|
-
_$insert(_el$3,_$createComponent(TodoRow,{get
|
|
6892
|
-
},get item(){return row.item
|
|
6905
|
+
_$insert(_el$3,_$createComponent(TodoRow,{get item(){return row.item
|
|
6893
6906
|
}}),null)
|
|
6894
6907
|
_$effect((_$p)=>_$setProp(_el$3,"marginTop",index()>0&&startsGroup()?1:0,_$p))
|
|
6895
6908
|
return _el$3
|
|
@@ -6944,7 +6957,7 @@ function TodoSection(props){const list=createMemo18(()=>props.controller.list(pr
|
|
|
6944
6957
|
const icons=useIcons()
|
|
6945
6958
|
const unavailable=()=>hostCapabilityUnavailable(props.api,"todo")
|
|
6946
6959
|
const managed=()=>("guidance" in props.controller)?props.controller:undefined
|
|
6947
|
-
const [mode,setMode]=
|
|
6960
|
+
const [mode,setMode]=createSignal29("all")
|
|
6948
6961
|
const targetKey=createMemo18(()=>props.controller.target?.(props.sessionID).key??props.sessionID)
|
|
6949
6962
|
createEffect17(()=>{targetKey()
|
|
6950
6963
|
setMode("all")
|
|
@@ -7262,7 +7275,7 @@ return false
|
|
|
7262
7275
|
}
|
|
7263
7276
|
function enabled(value){return typeof value==="function"?value():value!==false
|
|
7264
7277
|
}
|
|
7265
|
-
function createV2Keymap(context){const [revision,setRevision]=
|
|
7278
|
+
function createV2Keymap(context){const [revision,setRevision]=createSignal30(0)
|
|
7266
7279
|
const layers=new Map
|
|
7267
7280
|
let sequence=0
|
|
7268
7281
|
function layerActive(layer){const mode=layer.mode??"base"
|
|
@@ -7555,7 +7568,7 @@ api.slots.register({order:100,slots:{app(){return _$createComponent(IconProvider
|
|
|
7555
7568
|
},interaction,skills,subagents,mcp
|
|
7556
7569
|
}),_$createComponent(FirstRunWizardPersistence,{api,preferences
|
|
7557
7570
|
}),_$createComponent(StartupSessionBinding,{api,controller:startup
|
|
7558
|
-
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.19.
|
|
7571
|
+
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.19.3"
|
|
7559
7572
|
}),_$createComponent(McpPersistence,{api,controller:mcp
|
|
7560
7573
|
})]
|
|
7561
7574
|
}})
|
|
@@ -7585,12 +7598,12 @@ throw result.error
|
|
|
7585
7598
|
}
|
|
7586
7599
|
return result.data?.type==="text"?result.data.content:undefined
|
|
7587
7600
|
})
|
|
7588
|
-
const versionStatus=createVersionStatus(api,"0.19.
|
|
7589
|
-
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.19.
|
|
7601
|
+
const versionStatus=createVersionStatus(api,"0.19.3")
|
|
7602
|
+
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.19.3"))
|
|
7590
7603
|
api.slots.register({order:90,slots:{sidebar_footer(_context,props){return _$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7591
7604
|
},get multilineCorners(){return preferences.cornerFont
|
|
7592
7605
|
},get children(){return _$createComponent(VersionFooter,{api,get sessionID(){return props.session_id
|
|
7593
|
-
},navigatorVersion:"0.19.
|
|
7606
|
+
},navigatorVersion:"0.19.3",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7594
7607
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7595
7608
|
}})
|
|
7596
7609
|
}})
|
|
@@ -7604,15 +7617,15 @@ return
|
|
|
7604
7617
|
return new TextDecoder().decode(await context.client.file.read({location:context.location,path:".opencode/navigator.json"
|
|
7605
7618
|
}))
|
|
7606
7619
|
},todo)
|
|
7607
|
-
const versionStatus=createVersionStatus(adapter.api,"0.19.
|
|
7608
|
-
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.19.
|
|
7620
|
+
const versionStatus=createVersionStatus(adapter.api,"0.19.3")
|
|
7621
|
+
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.19.3"))
|
|
7609
7622
|
const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7610
7623
|
},get multilineCorners(){return preferences.cornerFont
|
|
7611
7624
|
},get children(){var _el$=_$createElement("box")
|
|
7612
7625
|
_$setProp(_el$,"flexDirection","row")
|
|
7613
7626
|
_$setProp(_el$,"justifyContent","space-between")
|
|
7614
7627
|
_$insert(_el$,_$createComponent(VersionSummary,{get api(){return adapter.api
|
|
7615
|
-
},navigatorVersion:"0.19.
|
|
7628
|
+
},navigatorVersion:"0.19.3",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7616
7629
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7617
7630
|
}}),null)
|
|
7618
7631
|
_$insert(_el$,_$createComponent(SettingsFooterButton,{get api(){return adapter.api
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "opencode-navigator",
|
|
4
|
-
"version": "0.19.
|
|
4
|
+
"version": "0.19.3",
|
|
5
5
|
"description": "Search, navigate, and manage OpenCode sessions from the TUI",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"packageManager": "bun@1.4.2",
|