opencode-navigator 0.27.3 → 0.27.5
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 +16 -0
- package/HOST_API.md +17 -0
- package/PROVIDERS.md +4 -0
- package/README.md +72 -5
- package/dist/{chunk-fd7394y1.js → chunk-4rh7rb74.js} +15 -1
- package/dist/chunk-sm9ej5ac.js +6 -0
- package/dist/chunk-tq2z58v5.js +23 -0
- package/dist/chunk-v6qckzat.js +838 -0
- package/dist/gui-experimental.cjs +9567 -8828
- package/dist/native-todo-setup.js +5 -830
- package/dist/navigator-updates.js +671 -321
- package/dist/provider-limits.js +491 -239
- package/dist/sidebar-settings.js +14 -17
- package/dist/tui.js +172 -132
- package/dist/upgrade-notes.js +4 -2
- package/package.json +5 -1
- package/dist/chunk-rrvwmnyh.js +0 -22
package/dist/tui.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {insert as _$insert,setProp as _$setProp,createElement as _$createElement,memo as _$memo,createComponent as _$createComponent,mergeProps as _$mergeProps,useRenderer,effect as _$effect,createTextNode as _$createTextNode,insertNode as _$insertNode,use as _$use,spread as _$spread,useTerminalDimensions,useTerminalDimensions as useTerminalDimensions2,useTerminalDimensions as useTerminalDimensions3,
|
|
1
|
+
import {insert as _$insert,setProp as _$setProp,createElement as _$createElement,memo as _$memo,createComponent as _$createComponent,mergeProps as _$mergeProps,useRenderer,effect as _$effect,createTextNode as _$createTextNode,insertNode as _$insertNode,use as _$use,spread as _$spread,useTerminalDimensions,useTerminalDimensions as useTerminalDimensions2,useTerminalDimensions as useTerminalDimensions3,useRenderer as useRenderer2,useTerminalDimensions as useTerminalDimensions5,useTerminalDimensions as useTerminalDimensions6} from "@opentui/solid"
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
@@ -84,7 +84,7 @@ const session=sessionID?api.state.session.get(sessionID):undefined
|
|
|
84
84
|
const directory=session?.directory??api.state.path.directory
|
|
85
85
|
const workspace=session?.workspaceID
|
|
86
86
|
return{key:JSON.stringify([directory,workspace??null]),routing:{directory,...workspace&&{workspace}}}}
|
|
87
|
-
import {createSignal as createSignal2,createSignal,createEffect,onCleanup,createContext,useContext,createContext as createContext2,createSignal as createSignal3,onCleanup as onCleanup2,useContext as useContext2,createEffect as createEffect2,splitProps,untrack,splitProps as splitProps2,For,createEffect as createEffect3,onCleanup as onCleanup3,Show,createEffect as createEffect4,Show as Show2,splitProps as splitProps3,createEffect as createEffect5,createSignal as createSignal4,onCleanup as onCleanup4,onMount,Suspense,lazy,batch,createSignal as createSignal5,createSignal as createSignal6,onCleanup as onCleanup5,Show as Show3,batch as batch2,createSignal as createSignal8,createSignal as createSignal7,createEffect as createEffect6,createSignal as createSignal9,onCleanup as onCleanup6,createSignal as createSignal10,
|
|
87
|
+
import {createSignal as createSignal2,createSignal,createEffect,onCleanup,createContext,useContext,createContext as createContext2,createSignal as createSignal3,onCleanup as onCleanup2,useContext as useContext2,createEffect as createEffect2,splitProps,untrack,splitProps as splitProps2,For,createEffect as createEffect3,onCleanup as onCleanup3,Show,createEffect as createEffect4,Show as Show2,splitProps as splitProps3,createEffect as createEffect5,createSignal as createSignal4,onCleanup as onCleanup4,onMount,Suspense,lazy,batch,createSignal as createSignal5,createSignal as createSignal6,onCleanup as onCleanup5,Show as Show3,batch as batch2,createSignal as createSignal8,createSignal as createSignal7,createEffect as createEffect6,createSignal as createSignal9,onCleanup as onCleanup6,createSignal as createSignal10,Suspense as Suspense2,lazy as lazy2,createEffect as createEffect8,onCleanup as onCleanup10,batch as batch3,createEffect as createEffect7,createMemo,createSignal as createSignal13,onCleanup as onCleanup9,onMount as onMount2,createSignal as createSignal12,onCleanup as onCleanup8,For as For2,For as For3,Show as Show4,createMemo as createMemo2,Suspense as Suspense3,lazy as lazy3,For as For5,createMemo as createMemo3,onMount as onMount3,Show as Show6,createEffect as createEffect9,createSignal as createSignal14,onCleanup as onCleanup11,Show as Show5,For as For4,Suspense as Suspense4,lazy as lazy4,onCleanup as onCleanup13,createEffect as createEffect12,onCleanup as onCleanup14,createSignal as createSignal15,createSignal as createSignal16,createSignal as createSignal17,lazy as lazy5,createEffect as createEffect13,onCleanup as onCleanup15,onMount as onMount5,onCleanup as onCleanup16,onMount as onMount6,createEffect as createEffect14,createSignal as createSignal19,onCleanup as onCleanup17,createSignal as createSignal21,Show as Show10,createSignal as createSignal23,createSignal as createSignal22,onCleanup as onCleanup19,For as For10,Show as Show13,createMemo as createMemo9,createComputed,createMemo as createMemo8,createSignal as createSignal24,untrack as untrack3,Show as Show11,createComputed as createComputed2,untrack as untrack4,Show as Show12,createSignal as createSignal26,createEffect as createEffect15,createSignal as createSignal25,on,createMemo as createMemo11,createSignal as createSignal29,createMemo as createMemo10,For as For11,Show as Show17,Show as Show14,Show as Show15,createSignal as createSignal27,createContext as createContext3,useContext as useContext3,Show as Show16,createSignal as createSignal28,onCleanup as onCleanup20,createEffect as createEffect17,createMemo as createMemo13,on as on2,onCleanup as onCleanup23,For as For14,Show as Show26,createMemo as createMemo15,Show as Show25,createMemo as createMemo14,createSignal as createSignal38,createContext as createContext4,useContext as useContext4,Show as Show27,Suspense as Suspense5,createEffect as createEffect18,onCleanup as onCleanup24,untrack as untrack6,For as For20,Match,Switch,createMemo as createMemo21,onCleanup as onCleanup30,For as For15,Show as Show29,createMemo as createMemo17,createSignal as createSignal40,createEffect as createEffect19,createMemo as createMemo16,onCleanup as onCleanup25,untrack as untrack7,Show as Show28,createEffect as createEffect20,createSignal as createSignal39,onCleanup as onCleanup26,For as For16,Show as Show31,createSignal as createSignal41,createEffect as createEffect21,createMemo as createMemo18,onCleanup as onCleanup27,untrack as untrack8,Show as Show30,For as For18,Show as Show34,createEffect as createEffect22,createMemo as createMemo19,createSignal as createSignal42,onCleanup as onCleanup28,untrack as untrack9,For as For17,Show as Show33,Show as Show32,Show as Show39,createEffect as createEffect23,createMemo as createMemo20,createSignal as createSignal43,onCleanup as onCleanup29,untrack as untrack10,Show as Show35,For as For19,Show as Show37,Show as Show36,Show as Show38,createEffect as createEffect24,createMemo as createMemo22,onCleanup as onCleanup31,untrack as untrack11,Show as Show40,createMemo as createMemo23,onCleanup as onCleanup32,createRoot,createSignal as createSignal44,getOwner,createSignal as createSignal45,onMount as onMount7} from "solid-js"
|
|
88
88
|
function mcpToggleAction(status){if(status==="pending")
|
|
89
89
|
return
|
|
90
90
|
return status==="connected"?"disconnect":"connect"
|
|
@@ -744,7 +744,7 @@ renderer.requestRender()
|
|
|
744
744
|
|
|
745
745
|
|
|
746
746
|
|
|
747
|
-
import {RGBA,TextAttributes,TextAttributes as TextAttributes2,TextAttributes as TextAttributes3,RGBA as RGBA2,parseColor,TextAttributes as TextAttributes4,TextAttributes as TextAttributes5,TextAttributes as TextAttributes6,
|
|
747
|
+
import {RGBA,TextAttributes,TextAttributes as TextAttributes2,TextAttributes as TextAttributes3,RGBA as RGBA2,parseColor,TextAttributes as TextAttributes4,TextAttributes as TextAttributes5,TextAttributes as TextAttributes6,RGBA as RGBA3,parseColor as parseColor2,TextAttributes as TextAttributes8,TextAttributes as TextAttributes9,TextAttributes as TextAttributes10,ScrollBoxRenderable,TextAttributes as TextAttributes16} from "@opentui/core"
|
|
748
748
|
|
|
749
749
|
var transparent=RGBA.fromInts(0,0,0,0)
|
|
750
750
|
function selectionBackdrop(node){for(let parent=node.parent;parent; parent=parent.parent){if("backgroundColor" in parent&&parent.backgroundColor instanceof RGBA&&parent.backgroundColor.a>0&&(!("shouldFill" in parent)||parent.shouldFill!==false))
|
|
@@ -987,7 +987,12 @@ return _p$
|
|
|
987
987
|
},{e:undefined,t:undefined,a:undefined,o:undefined
|
|
988
988
|
})
|
|
989
989
|
return _el$
|
|
990
|
-
})(),(()=>
|
|
990
|
+
})(),_$memo(()=>_$memo(()=>!!props.description)()&&(()=>{var _el$1=_$createElement("text")
|
|
991
|
+
_$setProp(_el$1,"wrapMode","word")
|
|
992
|
+
_$insert(_el$1,()=>props.description)
|
|
993
|
+
_$effect((_$p)=>_$setProp(_el$1,"fg",theme().textMuted,_$p))
|
|
994
|
+
return _el$1
|
|
995
|
+
})()),(()=>{var _el$5=_$createElement("scrollbox"),_el$6=_$createElement("box")
|
|
991
996
|
_$insertNode(_el$5,_el$6)
|
|
992
997
|
_$use((node)=>{body=node
|
|
993
998
|
scroll.ref(node)
|
|
@@ -1000,25 +1005,25 @@ _$insert(_el$6,_$createComponent(For,{get each(){return props.options
|
|
|
1000
1005
|
},onMouseOver:()=>setActive(index()),onMouseUp:(event)=>{event.stopPropagation()
|
|
1001
1006
|
setActive(index())
|
|
1002
1007
|
props.onSelect(option)
|
|
1003
|
-
},get children(){return [(()=>{var _el$
|
|
1004
|
-
_$setProp(_el$
|
|
1005
|
-
_$insert(_el$
|
|
1008
|
+
},get children(){return props.renderOption?.(option)??[(()=>{var _el$10=_$createElement("text")
|
|
1009
|
+
_$setProp(_el$10,"wrapMode","word")
|
|
1010
|
+
_$insert(_el$10,(()=>{var _c$=_$memo(()=>!!option.icon)
|
|
1006
1011
|
return()=>_c$()?`${icons.icon(option.icon)} `:""
|
|
1007
1012
|
})(),null)
|
|
1008
|
-
_$insert(_el$
|
|
1013
|
+
_$insert(_el$10,()=>option.title,null)
|
|
1009
1014
|
_$effect((_p$)=>{var _v$5=active()===index()?TextAttributes2.BOLD:undefined,_v$6=theme().text
|
|
1010
|
-
_v$5!==_p$.e&&(_p$.e=_$setProp(_el$
|
|
1011
|
-
_v$6!==_p$.t&&(_p$.t=_$setProp(_el$
|
|
1015
|
+
_v$5!==_p$.e&&(_p$.e=_$setProp(_el$10,"attributes",_v$5,_p$.e))
|
|
1016
|
+
_v$6!==_p$.t&&(_p$.t=_$setProp(_el$10,"fg",_v$6,_p$.t))
|
|
1012
1017
|
return _p$
|
|
1013
1018
|
},{e:undefined,t:undefined
|
|
1014
1019
|
})
|
|
1015
|
-
return _el$1
|
|
1016
|
-
})(),(()=>{var _el$10=_$createElement("text")
|
|
1017
|
-
_$setProp(_el$10,"wrapMode","word")
|
|
1018
|
-
_$insert(_el$10,()=>option.description)
|
|
1019
|
-
_$effect((_$p)=>_$setProp(_el$10,"fg",theme().textMuted,_$p))
|
|
1020
1020
|
return _el$10
|
|
1021
|
-
})()
|
|
1021
|
+
})(),(()=>{var _el$11=_$createElement("text")
|
|
1022
|
+
_$setProp(_el$11,"wrapMode","word")
|
|
1023
|
+
_$insert(_el$11,()=>option.description)
|
|
1024
|
+
_$effect((_$p)=>_$setProp(_el$11,"fg",theme().textMuted,_$p))
|
|
1025
|
+
return _el$11
|
|
1026
|
+
})(),_$memo(()=>props.renderDetails?.(option))]
|
|
1022
1027
|
}})
|
|
1023
1028
|
}))
|
|
1024
1029
|
_$effect((_$p)=>_$setProp(_el$5,"height",props.adaptive?Math.min(props.height??Math.min(props.options.length*3,15),Math.max(2,Math.floor(dimensions().height*0.75)-8)):props.height??Math.min(props.options.length*3,15),_$p))
|
|
@@ -3305,7 +3310,7 @@ const skills=[...input.skills].sort((a,b)=>Number(input.favoriteSkills.has(b.loc
|
|
|
3305
3310
|
const mcp=[...input.mcp].sort((a,b)=>Number(input.favoriteMcp.has(b.name))-Number(input.favoriteMcp.has(a.name))||a.name.localeCompare(b.name))
|
|
3306
3311
|
const results=[...skills.map((skill)=>({id:`skill:${skill.location || skill.name}`,group:"Skills",title:skill.name,description:[input.skillGroups?.[skill.location],skill.description?.trim()||skill.location].filter(Boolean).join(" \xB7 "),keywords:`${skill.location} ${input.skillGroups?.[skill.location] ?? ""}`,skill
|
|
3307
3312
|
})),...input.subagents.map((item)=>({id:`subagent:${item.session.id}`,group:"Subagents",title:item.session.title,description:[item.run?.outcome??item.status.type,item.run?.errorMessage].filter(Boolean).join(" \xB7 "),keywords:item.session.id,sessionID:item.session.id
|
|
3308
|
-
})),...mcp.map((item)=>({id:`mcp:${item.name}`,group:"MCP",title:item.name,description:[input.mcpGroups?.[item.name],mcpToggleAction2(item.status)==="disconnect"?"Disconnect":"Connect",item.status,input.mcpErrorMode==="details"?undefined:item.error].filter(Boolean).join(" \xB7 "),keywords:input.mcpGroups?.[item.name],disabled:input.mcpBusy||!mcpToggleAction2(item.status)?"MCP operation in progress":undefined,server:item.name,...input.mcpErrorMode==="details"&&item.error&&{information:{title:`MCP \xB7 ${item.name}`,body:`Status: ${item.status}
|
|
3313
|
+
})),...mcp.map((item)=>({id:`mcp:${item.name}`,group:"MCP",title:item.name,description:[input.mcpGroups?.[item.name],mcpToggleAction2(item.status)==="disconnect"?"Disconnect":"Connect",item.status,input.mcpErrorMode==="details"?undefined:item.error].filter(Boolean).join(" \xB7 "),keywords:input.mcpGroups?.[item.name],disabled:input.mcpBusy||!mcpToggleAction2(item.status)?"MCP operation in progress":undefined,server:item.name,connected:item.status==="connected",...input.mcpErrorMode==="details"&&item.error&&{information:{title:`MCP \xB7 ${item.name}`,body:`Status: ${item.status}
|
|
3309
3314
|
|
|
3310
3315
|
${item.error}`}}})),...orderQuickActionIds(input.actionOrder,input.favoriteQuickActions??new Set).flatMap((id)=>{const action=QUICK_ACTIONS.find((item)=>item.command===id)
|
|
3311
3316
|
return action?[{id:`action:${id}`,group:"Actions",title:input.actionLabel?.(action)??action.label,description:id,command:id,disabled:input.actionDisabledReason?.(action)??(quickActionRequiresSession(action.command)&&!input.hasSession?"Requires an open session":undefined)
|
|
@@ -5805,7 +5810,34 @@ return _$createComponent(SectionWithHeaderAction,{get api(){return props.api
|
|
|
5805
5810
|
|
|
5806
5811
|
|
|
5807
5812
|
|
|
5808
|
-
var CHATGPT_METHODS=new Set(["chatgpt-browser","chatgpt-headless"]);
|
|
5813
|
+
var CHATGPT_METHODS=new Set(["chatgpt-browser","chatgpt-headless","chatgpt-token-sharing"]);
|
|
5814
|
+
|
|
5815
|
+
|
|
5816
|
+
|
|
5817
|
+
|
|
5818
|
+
|
|
5819
|
+
|
|
5820
|
+
|
|
5821
|
+
|
|
5822
|
+
|
|
5823
|
+
|
|
5824
|
+
|
|
5825
|
+
|
|
5826
|
+
|
|
5827
|
+
|
|
5828
|
+
|
|
5829
|
+
|
|
5830
|
+
|
|
5831
|
+
|
|
5832
|
+
|
|
5833
|
+
|
|
5834
|
+
|
|
5835
|
+
|
|
5836
|
+
|
|
5837
|
+
|
|
5838
|
+
|
|
5839
|
+
|
|
5840
|
+
|
|
5809
5841
|
|
|
5810
5842
|
|
|
5811
5843
|
|
|
@@ -5869,9 +5901,9 @@ var scheduleInterval=(callback,milliseconds)=>{const timer=setInterval(callback,
|
|
|
5869
5901
|
return()=>clearInterval(timer)
|
|
5870
5902
|
}
|
|
5871
5903
|
function createLimitsRefresh(options,schedule=scheduleInterval){let disposed=false
|
|
5872
|
-
const selectedKey=
|
|
5873
|
-
const targetKey=
|
|
5874
|
-
const interval=
|
|
5904
|
+
const selectedKey=createMemo13(()=>JSON.stringify(options.selectedModel?.()))
|
|
5905
|
+
const targetKey=createMemo13(()=>JSON.stringify(options.controller.current().model))
|
|
5906
|
+
const interval=createMemo13(()=>(parseLimitsRefreshMinutes(options.refreshMinutes?.())??DEFAULT_LIMITS_REFRESH_MINUTES)*60000)
|
|
5875
5907
|
createEffect17(on2(selectedKey,()=>{const model=options.selectedModel?.()
|
|
5876
5908
|
if(model&&options.accountSource)
|
|
5877
5909
|
options.accountSource.refresh(model).catch(()=>{})
|
|
@@ -5889,9 +5921,9 @@ await options.accountSource.refresh(model)
|
|
|
5889
5921
|
if(!disposed&&target===targetKey())
|
|
5890
5922
|
await options.controller.refresh()
|
|
5891
5923
|
}
|
|
5892
|
-
createEffect17(on2(interval,(milliseconds)=>{
|
|
5924
|
+
createEffect17(on2(interval,(milliseconds)=>{onCleanup23(schedule(()=>void refresh().catch(()=>{}),milliseconds))
|
|
5893
5925
|
}))
|
|
5894
|
-
|
|
5926
|
+
onCleanup23(()=>{disposed=true
|
|
5895
5927
|
})
|
|
5896
5928
|
}
|
|
5897
5929
|
|
|
@@ -5947,12 +5979,12 @@ function QuickActionRow(props){const{api,interaction
|
|
|
5947
5979
|
const icons=useIcons()
|
|
5948
5980
|
const toolbar=useToolbar()
|
|
5949
5981
|
const theme=()=>api.theme.current
|
|
5950
|
-
const [width,setWidth]=
|
|
5951
|
-
const shortcut=
|
|
5982
|
+
const [width,setWidth]=createSignal38(0)
|
|
5983
|
+
const shortcut=createMemo14(()=>{const bindings=api.keymap.getCommandBindings({visibility:"registered",commands:[props.action.command]
|
|
5952
5984
|
})
|
|
5953
5985
|
return api.keys.formatBindings(bindings.get(props.action.command))
|
|
5954
5986
|
})
|
|
5955
|
-
const visibleShortcut=
|
|
5987
|
+
const visibleShortcut=createMemo14(()=>{const value=shortcut()
|
|
5956
5988
|
return value&&width()>=Bun.stringWidth(props.action.label) + Bun.stringWidth(value) + (toolbar?11:8)?value:undefined
|
|
5957
5989
|
})
|
|
5958
5990
|
function run(){if(props.action.command==="session.new"&&props.onNewSession?.())
|
|
@@ -5991,7 +6023,7 @@ _$insert(_el$2,()=>props.action.label)
|
|
|
5991
6023
|
_$effect((_$p)=>_$setProp(_el$2,"fg",row.foregroundColor(),_$p))
|
|
5992
6024
|
return _el$2
|
|
5993
6025
|
})()
|
|
5994
|
-
},get metadata(){return _$createComponent(
|
|
6026
|
+
},get metadata(){return _$createComponent(Show25,{get when(){return visibleShortcut()
|
|
5995
6027
|
},children:(value)=>(()=>{var _el$3=_$createElement("text")
|
|
5996
6028
|
_$setProp(_el$3,"flexShrink",0)
|
|
5997
6029
|
_$setProp(_el$3,"wrapMode","none")
|
|
@@ -6000,12 +6032,12 @@ _$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme()
|
|
|
6000
6032
|
return _el$3
|
|
6001
6033
|
})()
|
|
6002
6034
|
})
|
|
6003
|
-
},get trailing(){return _$createComponent(
|
|
6035
|
+
},get trailing(){return _$createComponent(Show25,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
|
|
6004
6036
|
},get position(){return props.position
|
|
6005
6037
|
},get pin(){return{kind:"action",id:props.action.command,icon:"bolt"
|
|
6006
6038
|
}}})
|
|
6007
6039
|
}})
|
|
6008
|
-
},get details(){return _$createComponent(
|
|
6040
|
+
},get details(){return _$createComponent(Show25,{get when(){return props.disabled
|
|
6009
6041
|
},children:(reason)=>(()=>{var _el$4=_$createElement("text")
|
|
6010
6042
|
_$setProp(_el$4,"wrapMode","word")
|
|
6011
6043
|
_$insert(_el$4,reason)
|
|
@@ -6016,7 +6048,7 @@ return _el$4
|
|
|
6016
6048
|
}})
|
|
6017
6049
|
}
|
|
6018
6050
|
function QuickActionsSection(props){const commandRevision=createQuickActionRevision(props.api)
|
|
6019
|
-
const actions=
|
|
6051
|
+
const actions=createMemo15(()=>{commandRevision()
|
|
6020
6052
|
return orderQuickActionIds(props.preferences.quickActionOrder?.()??QUICK_ACTIONS.map((action)=>action.command),props.preferences.favoriteQuickActions?.()??new Set).flatMap((id)=>{const action=QUICK_ACTIONS.find((candidate)=>candidate.command===id)
|
|
6021
6053
|
return action&&props.preferences.quickActionVisible?.(id)!==false?[{...action,label:quickActionLabel(props.api,action),disabled:quickActionDisabledReason(props.api,action)
|
|
6022
6054
|
}]:[]
|
|
@@ -6033,7 +6065,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6033
6065
|
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6034
6066
|
},get interaction(){return props.interaction
|
|
6035
6067
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6036
|
-
},get children(){return [_$createComponent(
|
|
6068
|
+
},get children(){return [_$createComponent(Show26,{get when(){return actions().length===0
|
|
6037
6069
|
},get children(){var _el$=_$createElement("text")
|
|
6038
6070
|
_$insertNode(_el$,_$createTextNode(`No quick actions selected`))
|
|
6039
6071
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6106,14 +6138,14 @@ untrack6(()=>shortcuts.bind(key))
|
|
|
6106
6138
|
createEffect18(()=>{if(shortcuts.active()&&(props.api.route.current.name!=="session"||props.api.ui.dialog.open||props.api.mode.current()==="modal"))
|
|
6107
6139
|
untrack6(shortcuts.cancel)
|
|
6108
6140
|
})
|
|
6109
|
-
|
|
6141
|
+
onCleanup24(shortcuts.dispose)
|
|
6110
6142
|
return(()=>{var _el$=_$createElement("box")
|
|
6111
6143
|
_$setProp(_el$,"position","absolute")
|
|
6112
6144
|
_$setProp(_el$,"top",0)
|
|
6113
6145
|
_$setProp(_el$,"left",0)
|
|
6114
6146
|
_$setProp(_el$,"width","100%")
|
|
6115
6147
|
_$setProp(_el$,"height","100%")
|
|
6116
|
-
_$insert(_el$,_$createComponent(
|
|
6148
|
+
_$insert(_el$,_$createComponent(Show27,{get when(){return shortcuts.active()
|
|
6117
6149
|
},get children(){return _$createComponent(Suspense5,{get children(){return _$createComponent(SidebarShortcutHint,{get api(){return props.api
|
|
6118
6150
|
},get actions(){return shortcuts.actions
|
|
6119
6151
|
}})
|
|
@@ -6128,11 +6160,11 @@ const unregisterCommands=props.api.keymap.registerLayer({commands:[...commands,.
|
|
|
6128
6160
|
})=>({name:name.replace(PLUGIN_ID,()=>LEGACY_PLUGIN_ID),run,enabled
|
|
6129
6161
|
}))]
|
|
6130
6162
|
})
|
|
6131
|
-
|
|
6163
|
+
onCleanup24(unregisterCommands)
|
|
6132
6164
|
createEffect18(()=>{const unregister=props.api.keymap.registerLayer({bindings:[{key:props.preferences.focusKey(),cmd:FOCUS_COMMAND
|
|
6133
6165
|
}]
|
|
6134
6166
|
})
|
|
6135
|
-
|
|
6167
|
+
onCleanup24(unregister)
|
|
6136
6168
|
})
|
|
6137
6169
|
return _$createElement("box")
|
|
6138
6170
|
}
|
|
@@ -6212,13 +6244,13 @@ return 2 + Math.max(1,iconsWidth + (count&&pin.text?1:0) + Bun.stringWidth(pin.t
|
|
|
6212
6244
|
function createToolbarModel(props){const icons=useIcons()
|
|
6213
6245
|
const revision=createQuickActionRevision(props.api)
|
|
6214
6246
|
const pins=()=>props.preferences.toolbarPins?.()??[]
|
|
6215
|
-
const needsSkills=
|
|
6216
|
-
const target=
|
|
6247
|
+
const needsSkills=createMemo16(()=>pins().some((pin)=>pin.kind==="skill"))
|
|
6248
|
+
const target=createMemo16(()=>props.skills.target())
|
|
6217
6249
|
createEffect19(()=>{if(!needsSkills())
|
|
6218
6250
|
return
|
|
6219
6251
|
const current=target()
|
|
6220
6252
|
const release=untrack7(()=>props.skills.activate(current))
|
|
6221
|
-
|
|
6253
|
+
onCleanup25(release)
|
|
6222
6254
|
untrack7(()=>{props.skills.refresh(current).catch(()=>{})
|
|
6223
6255
|
})
|
|
6224
6256
|
})
|
|
@@ -6249,14 +6281,14 @@ return{...model,width:toolbarPinWidth}}
|
|
|
6249
6281
|
|
|
6250
6282
|
function ToolbarButton(props){const icons=useIcons()
|
|
6251
6283
|
const foreground=()=>props.reason?props.api.theme.current.textMuted:item.foregroundColor()
|
|
6252
|
-
const [hovered,setHovered]=
|
|
6284
|
+
const [hovered,setHovered]=createSignal39(false)
|
|
6253
6285
|
const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>({section:0,row:props.row + 1,column:props.column
|
|
6254
6286
|
}),activate:props.onRun
|
|
6255
6287
|
},()=>props.reason?props.api.theme.current.textMuted:props.api.theme.current.accent,"control")
|
|
6256
6288
|
const content=()=>[props.icons.map((icon)=>terminalIcon(icon,icons.style())).join(" "),props.text].filter(Boolean).join(" ")
|
|
6257
6289
|
createEffect20(()=>props.onDetails(props.id,item.focused()||hovered()))
|
|
6258
|
-
|
|
6259
|
-
return _$createComponent(
|
|
6290
|
+
onCleanup26(()=>props.onDetails(props.id,false))
|
|
6291
|
+
return _$createComponent(Show28,{get when(){return _$memo(()=>!!(props.width===3&&props.icons.length===1))()&&!props.text
|
|
6260
6292
|
},get fallback(){return _$createComponent(SelectionBox,{get id(){return props.id
|
|
6261
6293
|
},ref(r$){var _ref$2=item.ref
|
|
6262
6294
|
typeof _ref$2==="function"?_ref$2(r$):item.ref=r$
|
|
@@ -6296,17 +6328,17 @@ setHovered(false)
|
|
|
6296
6328
|
}
|
|
6297
6329
|
function SidebarToolbar(props){const model=createToolbarModel(props)
|
|
6298
6330
|
const icons=useIcons()
|
|
6299
|
-
const [width,setWidth]=
|
|
6300
|
-
const [detail,setDetail]=
|
|
6301
|
-
const keys=
|
|
6302
|
-
const widths=
|
|
6303
|
-
const layout=
|
|
6304
|
-
const rows=
|
|
6305
|
-
const byKey=
|
|
6331
|
+
const [width,setWidth]=createSignal40(3)
|
|
6332
|
+
const [detail,setDetail]=createSignal40()
|
|
6333
|
+
const keys=createMemo17(()=>model.pins().map((pin)=>toolbarPinKey(pin)))
|
|
6334
|
+
const widths=createMemo17(()=>new Map(model.pins().map((pin)=>[toolbarPinKey(pin),model.width(pin)])))
|
|
6335
|
+
const layout=createMemo17(()=>toolbarLayout(keys(),width(),props.preferences.toolbarOverflow?.()??"menu",widths()))
|
|
6336
|
+
const rows=createMemo17(()=>layout().rows.map((_,index)=>index))
|
|
6337
|
+
const byKey=createMemo17(()=>new Map(model.pins().map((pin)=>[toolbarPinKey(pin),pin])))
|
|
6306
6338
|
const view=(key)=>{const pin=byKey().get(key)
|
|
6307
6339
|
return pin&&model.view(pin)
|
|
6308
6340
|
}
|
|
6309
|
-
const details=
|
|
6341
|
+
const details=createMemo17(()=>{if(detail()==="toolbar:more")
|
|
6310
6342
|
return "More pinned actions and Skills"
|
|
6311
6343
|
const item=view(detail()??"")
|
|
6312
6344
|
return item?[item.label,item.stateLabel,item.reason].filter(Boolean).join(" \xB7 "):undefined
|
|
@@ -6325,7 +6357,7 @@ dialogs.close()
|
|
|
6325
6357
|
model.run(option.value)
|
|
6326
6358
|
}}))
|
|
6327
6359
|
}
|
|
6328
|
-
return _$createComponent(
|
|
6360
|
+
return _$createComponent(Show29,{get when(){return keys().length>0
|
|
6329
6361
|
},get children(){var _el$=_$createElement("box")
|
|
6330
6362
|
_$setProp(_el$,"id","opencode-navigator.toolbar")
|
|
6331
6363
|
_$setProp(_el$,"overflow","visible")
|
|
@@ -6348,7 +6380,7 @@ _$insert(_el$2,_$createComponent(For15,{get each(){return layout().rows[row]
|
|
|
6348
6380
|
return _el$2
|
|
6349
6381
|
})()
|
|
6350
6382
|
}),null)
|
|
6351
|
-
_$insert(_el$,_$createComponent(
|
|
6383
|
+
_$insert(_el$,_$createComponent(Show29,{get when(){return details()
|
|
6352
6384
|
},children:(text)=>(()=>{var _el$3=_$createElement("text")
|
|
6353
6385
|
_$setProp(_el$3,"position","absolute")
|
|
6354
6386
|
_$setProp(_el$3,"left",0)
|
|
@@ -6379,18 +6411,18 @@ return _el$
|
|
|
6379
6411
|
|
|
6380
6412
|
|
|
6381
6413
|
|
|
6382
|
-
function createSkillSectionModel(props,query){const target=
|
|
6383
|
-
const recent=
|
|
6384
|
-
const groups=
|
|
6385
|
-
const grouped=
|
|
6386
|
-
const list=
|
|
6387
|
-
const filtered=
|
|
6414
|
+
function createSkillSectionModel(props,query){const target=createMemo18(()=>props.controller.target())
|
|
6415
|
+
const recent=createMemo18(()=>new Map((props.preferences.recentSkills?.()??[]).map((location,index)=>[location,index])))
|
|
6416
|
+
const groups=createMemo18(()=>props.preferences.skillGroups?.()??{})
|
|
6417
|
+
const grouped=createMemo18(()=>Object.keys(groups()).length>0)
|
|
6418
|
+
const list=createMemo18(()=>buildSkillGroupedView(props.controller.list(target()),props.preferences.favoriteSkills?.()??new Set,groups(),recent()))
|
|
6419
|
+
const filtered=createMemo18(()=>list().filter((item)=>matchesFilter(query(),item.name,item.description,item.assignedGroup)))
|
|
6388
6420
|
const visibility=createListVisibility({items:filtered,limit:()=>props.preferences.sectionItemLimit?.("skills")??0,resetKey:()=>JSON.stringify([target().key,query()])
|
|
6389
6421
|
})
|
|
6390
|
-
const state=
|
|
6422
|
+
const state=createMemo18(()=>props.controller.state(target()))
|
|
6391
6423
|
createEffect21(()=>{const current=target()
|
|
6392
6424
|
const deactivate=untrack8(()=>props.controller.activate?.(current)??(()=>{}))
|
|
6393
|
-
|
|
6425
|
+
onCleanup27(deactivate)
|
|
6394
6426
|
untrack8(()=>void props.controller.refresh(current).catch(()=>{}))
|
|
6395
6427
|
})
|
|
6396
6428
|
async function useSkill(item){try{const isInserted=await props.controller.use(target(),item.name)
|
|
@@ -6442,7 +6474,7 @@ _$insert(_el$,()=>props.item.name,null)
|
|
|
6442
6474
|
_$effect((_$p)=>_$setProp(_el$,"fg",row.foregroundColor(),_$p))
|
|
6443
6475
|
return _el$
|
|
6444
6476
|
})()
|
|
6445
|
-
},get trailing(){return _$createComponent(
|
|
6477
|
+
},get trailing(){return _$createComponent(Show30,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
|
|
6446
6478
|
},get position(){return props.position
|
|
6447
6479
|
},get pin(){return{kind:"skill",name:props.item.name,location:props.item.location,icon:"book"
|
|
6448
6480
|
}}})
|
|
@@ -6451,7 +6483,7 @@ return _el$
|
|
|
6451
6483
|
}
|
|
6452
6484
|
function SkillsSection(props){const dialogs=useDialogs(props.api)
|
|
6453
6485
|
const toolbar=useToolbar()
|
|
6454
|
-
const [query,setQuery]=
|
|
6486
|
+
const [query,setQuery]=createSignal41("")
|
|
6455
6487
|
const model=createSkillSectionModel(props,query)
|
|
6456
6488
|
const navigationSection=()=>props.navigationSection??3
|
|
6457
6489
|
function selectSkill(item){activateSkill({api:props.api,controller:props.controller,access:props.preferences,dialogs,skill:item,onConfigure:toolbar?(navigation)=>toolbar.configure({kind:"skill",name:item.name,location:item.location,icon:"book"
|
|
@@ -6475,7 +6507,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6475
6507
|
}},get query(){return query()
|
|
6476
6508
|
},placeholder:"Filter skills...",onInput:setQuery
|
|
6477
6509
|
}),null)
|
|
6478
|
-
_$insert(_el$,_$createComponent(
|
|
6510
|
+
_$insert(_el$,_$createComponent(Show31,{get when(){return model.filtered().length>0
|
|
6479
6511
|
},get fallback(){return(()=>{var _el$2=_$createElement("text")
|
|
6480
6512
|
_$insertNode(_el$2,_$createTextNode(`No matching skills`))
|
|
6481
6513
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6486,7 +6518,7 @@ return _el$2
|
|
|
6486
6518
|
},get grouped(){return model.grouped
|
|
6487
6519
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6488
6520
|
},get children(){return _$createComponent(For16,{get each(){return model.visibility.visible()
|
|
6489
|
-
},children:(item,index)=>[_$createComponent(
|
|
6521
|
+
},children:(item,index)=>[_$createComponent(Show31,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6490
6522
|
},get children(){var _el$4=_$createElement("text")
|
|
6491
6523
|
_$setProp(_el$4,"height",1)
|
|
6492
6524
|
_$setProp(_el$4,"wrapMode","none")
|
|
@@ -6528,16 +6560,16 @@ return _el$
|
|
|
6528
6560
|
|
|
6529
6561
|
|
|
6530
6562
|
|
|
6531
|
-
function createSubagentSectionModel(props){const list=
|
|
6532
|
-
const recent=
|
|
6533
|
-
const rows=
|
|
6534
|
-
const [query,setQuery]=
|
|
6535
|
-
const [mode,setMode]=
|
|
6536
|
-
const counts=
|
|
6537
|
-
const tabs=
|
|
6538
|
-
const filtered=
|
|
6539
|
-
const parentID=
|
|
6540
|
-
const targetKey=
|
|
6563
|
+
function createSubagentSectionModel(props){const list=createMemo19(()=>props.controller.list(props.sessionID))
|
|
6564
|
+
const recent=createMemo19(()=>props.controller.recent?.(props.sessionID)??[])
|
|
6565
|
+
const rows=createMemo19(()=>buildSubagentView(list(),recent()))
|
|
6566
|
+
const [query,setQuery]=createSignal42("")
|
|
6567
|
+
const [mode,setMode]=createSignal42("all")
|
|
6568
|
+
const counts=createMemo19(()=>countSubagentView(rows(),query()))
|
|
6569
|
+
const tabs=createMemo19(()=>["all","active","recent",...counts().errors>0?["errors"]:[]])
|
|
6570
|
+
const filtered=createMemo19(()=>filterSubagentView(rows(),mode(),query()))
|
|
6571
|
+
const parentID=createMemo19(()=>props.api.state?.session?.get(props.sessionID)?.parentID)
|
|
6572
|
+
const targetKey=createMemo19(()=>props.controller.target?.(props.sessionID).key??props.sessionID)
|
|
6541
6573
|
createEffect22(()=>{targetKey()
|
|
6542
6574
|
setQuery("")
|
|
6543
6575
|
setMode("all")
|
|
@@ -6547,15 +6579,15 @@ setMode("all")
|
|
|
6547
6579
|
})
|
|
6548
6580
|
const visibility=createListVisibility({items:filtered,limit:()=>props.preferences.sectionItemLimit?.("subagents")??0,resetKey:()=>JSON.stringify([targetKey(),query(),mode()])
|
|
6549
6581
|
})
|
|
6550
|
-
const clockKey=
|
|
6582
|
+
const clockKey=createMemo19(()=>props.preferences.expanded().subagents&&visibility.visible().some((item)=>item.status.type!=="idle")?targetKey():undefined)
|
|
6551
6583
|
const now=createSubagentClock(clockKey)
|
|
6552
|
-
const byId=
|
|
6553
|
-
const ids=
|
|
6554
|
-
const state=
|
|
6584
|
+
const byId=createMemo19(()=>new Map(visibility.visible().map((item)=>[item.session.id,item])))
|
|
6585
|
+
const ids=createMemo19(()=>visibility.visible().map((item)=>item.session.id))
|
|
6586
|
+
const state=createMemo19(()=>props.controller.state(props.sessionID))
|
|
6555
6587
|
createEffect22(()=>{const sessionID=props.sessionID
|
|
6556
6588
|
targetKey()
|
|
6557
6589
|
const deactivate=untrack9(()=>props.controller.activate?.(sessionID)??(()=>{}))
|
|
6558
|
-
|
|
6590
|
+
onCleanup28(deactivate)
|
|
6559
6591
|
untrack9(()=>void props.controller.refresh(sessionID).catch(()=>{}))
|
|
6560
6592
|
})
|
|
6561
6593
|
return{list,recent,rows,query,setQuery,mode,setMode,counts,tabs,filtered,parentID,visibility,now,byId,ids,state
|
|
@@ -6613,7 +6645,7 @@ return()=>_c$()?`${props.item.run.startedBeforeObservation ? `${icons.icon("rece
|
|
|
6613
6645
|
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
|
|
6614
6646
|
return _el$3
|
|
6615
6647
|
})()
|
|
6616
|
-
},get details(){return [_$createComponent(
|
|
6648
|
+
},get details(){return [_$createComponent(Show32,{get when(){return props.item.run?.errorMessage
|
|
6617
6649
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createTextNode(`: `)
|
|
6618
6650
|
_$insertNode(_el$4,_el$5)
|
|
6619
6651
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -6621,12 +6653,12 @@ _$insert(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
|
|
|
6621
6653
|
_$insert(_el$4,()=>props.item.run?.errorMessage,null)
|
|
6622
6654
|
_$effect((_$p)=>_$setProp(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
|
|
6623
6655
|
return _el$4
|
|
6624
|
-
}}),_$createComponent(
|
|
6656
|
+
}}),_$createComponent(Show32,{get when(){return props.item.unavailable
|
|
6625
6657
|
},get children(){var _el$6=_$createElement("text")
|
|
6626
6658
|
_$insertNode(_el$6,_$createTextNode(`Worker status unavailable`))
|
|
6627
6659
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().warning,_$p))
|
|
6628
6660
|
return _el$6
|
|
6629
|
-
}}),_$createComponent(
|
|
6661
|
+
}}),_$createComponent(Show32,{get when(){return _$memo(()=>props.item.status.type==="retry")()?props.item.status:undefined
|
|
6630
6662
|
},children:(status)=>(()=>{var _el$0=_$createElement("text"),_el$1=_$createTextNode(`Retry #`),_el$10=_$createTextNode(` \xB7 `),_el$11=_$createTextNode(`s \xB7 `)
|
|
6631
6663
|
_$insertNode(_el$0,_el$1)
|
|
6632
6664
|
_$insertNode(_el$0,_el$10)
|
|
@@ -6638,7 +6670,7 @@ _$insert(_el$0,()=>status().message,null)
|
|
|
6638
6670
|
_$effect((_$p)=>_$setProp(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
|
|
6639
6671
|
return _el$0
|
|
6640
6672
|
})()
|
|
6641
|
-
}),_$createComponent(
|
|
6673
|
+
}),_$createComponent(Show32,{get when(){return _$memo(()=>!!idle())()&&!props.item.run?.errorMessage
|
|
6642
6674
|
},get children(){var _el$8=_$createElement("text")
|
|
6643
6675
|
_$insertNode(_el$8,_$createTextNode(`Finished`))
|
|
6644
6676
|
_$effect((_$p)=>_$setProp(_el$8,"fg",theme().textMuted,_$p))
|
|
@@ -6654,7 +6686,7 @@ function SubagentList(props){return _$createComponent(SidebarRowList,{get api(){
|
|
|
6654
6686
|
const item=()=>props.itemById(id)??initial
|
|
6655
6687
|
const startsGroup=()=>index()===0||props.visible[index()-1]?.group!==item().group
|
|
6656
6688
|
return(()=>{var _el$=_$createElement("box")
|
|
6657
|
-
_$insert(_el$,_$createComponent(
|
|
6689
|
+
_$insert(_el$,_$createComponent(Show33,{get when(){return startsGroup()
|
|
6658
6690
|
},get children(){var _el$2=_$createElement("text"),_el$3=_$createElement("b")
|
|
6659
6691
|
_$insertNode(_el$2,_el$3)
|
|
6660
6692
|
_$insert(_el$3,()=>item().group)
|
|
@@ -6680,7 +6712,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6680
6712
|
},sectionId:`${PLUGIN_ID}.section.subagents`,get navigationSection(){return navigationSection()
|
|
6681
6713
|
},title:"SUBAGENTS",section:"subagents",get summary(){return `${model.list().length} active \xB7 ${model.recent().length} recent`
|
|
6682
6714
|
},get open(){return props.preferences.expanded().subagents
|
|
6683
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(
|
|
6715
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(Show34,{get when(){return model.parentID()
|
|
6684
6716
|
},children:(id)=>_$createComponent(McpBulkAction,{get api(){return props.api
|
|
6685
6717
|
},get interaction(){return props.interaction
|
|
6686
6718
|
},id:`${PLUGIN_ID}.subagents.parent`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -6714,7 +6746,7 @@ _$insert(_el$2,_$createComponent(For18,{get each(){return model.tabs()
|
|
|
6714
6746
|
},onActivate:()=>model.setMode(value)
|
|
6715
6747
|
})
|
|
6716
6748
|
}))
|
|
6717
|
-
_$insert(_el$,_$createComponent(
|
|
6749
|
+
_$insert(_el$,_$createComponent(Show34,{get when(){return model.filtered().length===0
|
|
6718
6750
|
},get children(){var _el$3=_$createElement("text")
|
|
6719
6751
|
_$insertNode(_el$3,_$createTextNode(`No matching subagents`))
|
|
6720
6752
|
_$effect((_$p)=>_$setProp(_el$3,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6775,7 +6807,7 @@ _$insertNode(_el$2,_el$3)
|
|
|
6775
6807
|
_$setProp(_el$2,"wrapMode","word")
|
|
6776
6808
|
_$insert(_el$2,()=>icons.icon("info"),_el$3)
|
|
6777
6809
|
_$insert(_el$2,message,null)
|
|
6778
|
-
_$insert(_el$,_$createComponent(
|
|
6810
|
+
_$insert(_el$,_$createComponent(Show35,{get when(){return _$memo(()=>!!props.setup)()&&(disabled()||failed())
|
|
6779
6811
|
},get children(){return _$createComponent(SectionTab,{get api(){return props.api
|
|
6780
6812
|
},get interaction(){return props.interaction
|
|
6781
6813
|
},id:"opencode-navigator.todo.setup",get position(){return{section:props.navigationSection,row:2,column:0
|
|
@@ -6838,7 +6870,7 @@ _$insert(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":
|
|
|
6838
6870
|
_$setProp(_el$3,"flexGrow",1)
|
|
6839
6871
|
_$setProp(_el$3,"wrapMode","word")
|
|
6840
6872
|
_$insert(_el$3,()=>props.item.content)
|
|
6841
|
-
_$insert(_el$,_$createComponent(
|
|
6873
|
+
_$insert(_el$,_$createComponent(Show36,{get when(){return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
|
|
6842
6874
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b"),_el$6=_$createTextNode(` `)
|
|
6843
6875
|
_$insertNode(_el$4,_el$5)
|
|
6844
6876
|
_$setProp(_el$4,"width",2)
|
|
@@ -6848,7 +6880,7 @@ _$insert(_el$5,priorityLabel,null)
|
|
|
6848
6880
|
_$effect((_$p)=>_$setProp(_el$4,"fg",priorityColor(),_$p))
|
|
6849
6881
|
return _el$4
|
|
6850
6882
|
}}),null)
|
|
6851
|
-
_$effect((_p$)=>{var _v$=active()?theme().warning:done()?theme().success:cancelled()?theme().error:theme().textMuted,_v$2=active()?theme().primary:theme().textMuted,_v$3=done()?
|
|
6883
|
+
_$effect((_p$)=>{var _v$=active()?theme().warning:done()?theme().success:cancelled()?theme().error:theme().textMuted,_v$2=active()?theme().primary:theme().textMuted,_v$3=done()?TextAttributes16.STRIKETHROUGH:active()?TextAttributes16.BOLD:undefined
|
|
6852
6884
|
_v$!==_p$.e&&(_p$.e=_$setProp(_el$2,"fg",_v$,_p$.e))
|
|
6853
6885
|
_v$2!==_p$.t&&(_p$.t=_$setProp(_el$3,"fg",_v$2,_p$.t))
|
|
6854
6886
|
_v$3!==_p$.a&&(_p$.a=_$setProp(_el$3,"attributes",_v$3,_p$.a))
|
|
@@ -6874,7 +6906,7 @@ _$insert(_el$2,_$createComponent(For19,{each:["all","active","finished"],childre
|
|
|
6874
6906
|
},onActivate:()=>props.setMode(value)
|
|
6875
6907
|
})
|
|
6876
6908
|
}))
|
|
6877
|
-
_$insert(_el$,_$createComponent(
|
|
6909
|
+
_$insert(_el$,_$createComponent(Show37,{get when(){return props.view.rows.length>0
|
|
6878
6910
|
},get fallback(){return _$createComponent(EmptyTodo,{get api(){return props.api
|
|
6879
6911
|
},get mode(){return props.mode
|
|
6880
6912
|
}})
|
|
@@ -6884,7 +6916,7 @@ _$insert(_el$,_$createComponent(Show36,{get when(){return props.view.rows.length
|
|
|
6884
6916
|
},get children(){return _$createComponent(For19,{get each(){return props.visibility.visible()
|
|
6885
6917
|
},children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index()-1].group!==row.group
|
|
6886
6918
|
return(()=>{var _el$3=_$createElement("box")
|
|
6887
|
-
_$insert(_el$3,_$createComponent(
|
|
6919
|
+
_$insert(_el$3,_$createComponent(Show37,{get when(){return startsGroup()
|
|
6888
6920
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
6889
6921
|
_$insertNode(_el$4,_el$5)
|
|
6890
6922
|
_$insert(_el$5,()=>row.group)
|
|
@@ -6921,7 +6953,7 @@ return _el$6
|
|
|
6921
6953
|
|
|
6922
6954
|
|
|
6923
6955
|
function TodoGuidanceControl(props){const state=()=>props.controller.guidance(props.sessionID)
|
|
6924
|
-
return _$createComponent(
|
|
6956
|
+
return _$createComponent(Show38,{get when(){return state().available
|
|
6925
6957
|
},get children(){var _el$=_$createElement("box")
|
|
6926
6958
|
_$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
6927
6959
|
},get interaction(){return props.interaction
|
|
@@ -6931,7 +6963,7 @@ _$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
|
6931
6963
|
},get disabled(){return state().saving
|
|
6932
6964
|
},onActivate:()=>void props.controller.setGuidance(props.sessionID,!state().enabled)
|
|
6933
6965
|
}),null)
|
|
6934
|
-
_$insert(_el$,_$createComponent(
|
|
6966
|
+
_$insert(_el$,_$createComponent(Show38,{get when(){return state().error
|
|
6935
6967
|
},children:(message)=>(()=>{var _el$2=_$createElement("text")
|
|
6936
6968
|
_$setProp(_el$2,"wrapMode","word")
|
|
6937
6969
|
_$insert(_el$2,message)
|
|
@@ -6942,28 +6974,28 @@ return _el$2
|
|
|
6942
6974
|
return _el$
|
|
6943
6975
|
}})
|
|
6944
6976
|
}
|
|
6945
|
-
function TodoSection(props){const list=
|
|
6977
|
+
function TodoSection(props){const list=createMemo20(()=>props.controller.list(props.sessionID))
|
|
6946
6978
|
const icons=useIcons()
|
|
6947
6979
|
const unavailable=()=>hostCapabilityUnavailable(props.api,"todo")
|
|
6948
6980
|
const managed=()=>("guidance" in props.controller)?props.controller:undefined
|
|
6949
6981
|
const native=()=>("source" in props.controller)&&props.controller.source==="native"
|
|
6950
6982
|
const setup=()=>("setup" in props.controller)?props.controller.setup:undefined
|
|
6951
6983
|
const setupState=()=>setup()?.state(props.sessionID)
|
|
6952
|
-
const [mode,setMode]=
|
|
6953
|
-
const targetKey=
|
|
6984
|
+
const [mode,setMode]=createSignal43("all")
|
|
6985
|
+
const targetKey=createMemo20(()=>props.controller.target?.(props.sessionID).key??props.sessionID)
|
|
6954
6986
|
createEffect23(()=>{targetKey()
|
|
6955
6987
|
setMode("all")
|
|
6956
6988
|
})
|
|
6957
|
-
const view=
|
|
6989
|
+
const view=createMemo20(()=>buildTodoView(list(),mode()))
|
|
6958
6990
|
const visibility=createListVisibility({items:()=>view().rows,limit:()=>props.preferences.sectionItemLimit?.("todo")??0,resetKey:()=>JSON.stringify([targetKey(),mode()])
|
|
6959
6991
|
})
|
|
6960
|
-
const state=
|
|
6992
|
+
const state=createMemo20(()=>props.controller.state(props.sessionID))
|
|
6961
6993
|
createEffect23(()=>{const sessionID=props.sessionID
|
|
6962
6994
|
targetKey()
|
|
6963
6995
|
if(unavailable())
|
|
6964
6996
|
return
|
|
6965
6997
|
const deactivate=untrack10(()=>props.controller.activate?.(sessionID)??(()=>{}))
|
|
6966
|
-
|
|
6998
|
+
onCleanup29(deactivate)
|
|
6967
6999
|
untrack10(()=>void props.controller.refresh(sessionID).catch(()=>{}))
|
|
6968
7000
|
untrack10(()=>void setup()?.refresh(sessionID).catch(()=>{}))
|
|
6969
7001
|
})
|
|
@@ -6976,10 +7008,10 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6976
7008
|
setup()?.refresh(props.sessionID).catch(()=>{})
|
|
6977
7009
|
}}:undefined
|
|
6978
7010
|
},get open(){return props.preferences.expanded().todo
|
|
6979
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(
|
|
7011
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(Show39,{get when(){return unavailable()
|
|
6980
7012
|
},get fallback(){return(()=>{var _el$=_$createElement("box")
|
|
6981
7013
|
_$setProp(_el$,"gap",1)
|
|
6982
|
-
_$insert(_el$,_$createComponent(
|
|
7014
|
+
_$insert(_el$,_$createComponent(Show39,{get when(){return native()
|
|
6983
7015
|
},get children(){return _$createComponent(NativeTodoNotice,{get api(){return props.api
|
|
6984
7016
|
},get setup(){return setup()
|
|
6985
7017
|
},get sessionID(){return props.sessionID
|
|
@@ -6987,7 +7019,7 @@ _$insert(_el$,_$createComponent(Show38,{get when(){return native()
|
|
|
6987
7019
|
},get navigationSection(){return navigationSection()
|
|
6988
7020
|
}})
|
|
6989
7021
|
}}),null)
|
|
6990
|
-
_$insert(_el$,_$createComponent(
|
|
7022
|
+
_$insert(_el$,_$createComponent(Show39,{get when(){return managed()?.guidance(props.sessionID).available
|
|
6991
7023
|
},get children(){return _$createComponent(TodoGuidanceControl,{get api(){return props.api
|
|
6992
7024
|
},get controller(){return managed()
|
|
6993
7025
|
},get sessionID(){return props.sessionID
|
|
@@ -6995,7 +7027,7 @@ _$insert(_el$,_$createComponent(Show38,{get when(){return managed()?.guidance(pr
|
|
|
6995
7027
|
},get navigationSection(){return navigationSection()
|
|
6996
7028
|
}})
|
|
6997
7029
|
}}),null)
|
|
6998
|
-
_$insert(_el$,_$createComponent(
|
|
7030
|
+
_$insert(_el$,_$createComponent(Show39,{get when(){return managed()?.missing(props.sessionID)
|
|
6999
7031
|
},get fallback(){return _$createComponent(SectionRequestBody,{get api(){return props.api
|
|
7000
7032
|
},get interaction(){return props.interaction
|
|
7001
7033
|
},id:`${PLUGIN_ID}.retry.todo`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -7032,8 +7064,8 @@ return _el$4
|
|
|
7032
7064
|
}})
|
|
7033
7065
|
}
|
|
7034
7066
|
function SidebarContent(props){const sections=props.preferences.sections
|
|
7035
|
-
const visibleSections=
|
|
7036
|
-
|
|
7067
|
+
const visibleSections=createMemo21(()=>props.preferences.sectionOrder().filter((section)=>sections()[section]&&supportsSidebarSection(props.api,section)))
|
|
7068
|
+
onCleanup30(()=>props.interaction.setContentRoot(undefined))
|
|
7037
7069
|
return _$createComponent(ToolbarProvider,{get api(){return props.api
|
|
7038
7070
|
},get preferences(){return props.preferences
|
|
7039
7071
|
},get skills(){return props.skills
|
|
@@ -7084,7 +7116,7 @@ return _el$
|
|
|
7084
7116
|
}
|
|
7085
7117
|
|
|
7086
7118
|
|
|
7087
|
-
function McpPersistence(props){const persist=
|
|
7119
|
+
function McpPersistence(props){const persist=createMemo22(()=>props.controller.persist())
|
|
7088
7120
|
createEffect24(()=>{if(!props.api.state.ready)
|
|
7089
7121
|
return
|
|
7090
7122
|
persist()
|
|
@@ -7093,7 +7125,7 @@ const params="params" in route?route.params:undefined
|
|
|
7093
7125
|
if(typeof params?.sessionID!=="string")
|
|
7094
7126
|
return
|
|
7095
7127
|
const current=props.controller.target()
|
|
7096
|
-
|
|
7128
|
+
onCleanup31(()=>props.controller.deactivate(current))
|
|
7097
7129
|
untrack11(()=>void props.controller.activate(current).catch(()=>{}))
|
|
7098
7130
|
})
|
|
7099
7131
|
return _$createElement("box")
|
|
@@ -7124,7 +7156,7 @@ return _$createElement("box")
|
|
|
7124
7156
|
|
|
7125
7157
|
function SidebarTitle(props){const icons=useIcons()
|
|
7126
7158
|
const theme=()=>props.api.theme.current
|
|
7127
|
-
const created=
|
|
7159
|
+
const created=createMemo23(()=>{const value=props.api.state.session.get(props.sessionID)?.time?.created
|
|
7128
7160
|
return value===undefined?undefined:`Created ${new Date(value).toLocaleDateString("en", {
|
|
7129
7161
|
dateStyle: "medium"
|
|
7130
7162
|
})}`
|
|
@@ -7133,7 +7165,7 @@ const settingsId=`${PLUGIN_ID}.settings`
|
|
|
7133
7165
|
const settings=useSidebarItem(props.api,props.interaction,{id:settingsId,position:{section:0,row:0,column:0
|
|
7134
7166
|
},activate:()=>openSettings(props.api,props.preferences,undefined,props.mcp,props.skills)
|
|
7135
7167
|
},()=>theme().textMuted,"control")
|
|
7136
|
-
|
|
7168
|
+
onCleanup32(()=>props.interaction.setTitleRoot(undefined))
|
|
7137
7169
|
return(()=>{var _el$=_$createElement("box"),_el$2=_$createElement("box"),_el$3=_$createElement("box")
|
|
7138
7170
|
_$insertNode(_el$,_el$2)
|
|
7139
7171
|
_$use((node)=>props.interaction.setTitleRoot(node),_el$)
|
|
@@ -7144,7 +7176,7 @@ _$setProp(_el$2,"flexDirection","row")
|
|
|
7144
7176
|
_$setProp(_el$2,"justifyContent","space-between")
|
|
7145
7177
|
_$setProp(_el$2,"gap",1)
|
|
7146
7178
|
_$setProp(_el$3,"flexGrow",1)
|
|
7147
|
-
_$insert(_el$3,_$createComponent(
|
|
7179
|
+
_$insert(_el$3,_$createComponent(Show40,{get when(){return props.preferences.showSessionTitle()
|
|
7148
7180
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
7149
7181
|
_$insertNode(_el$4,_el$5)
|
|
7150
7182
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -7152,7 +7184,7 @@ _$insert(_el$5,()=>props.title)
|
|
|
7152
7184
|
_$effect((_$p)=>_$setProp(_el$4,"fg",theme().text,_$p))
|
|
7153
7185
|
return _el$4
|
|
7154
7186
|
}}),null)
|
|
7155
|
-
_$insert(_el$3,_$createComponent(
|
|
7187
|
+
_$insert(_el$3,_$createComponent(Show40,{get when(){return _$memo(()=>!!props.preferences.showSessionDate())()&&created()
|
|
7156
7188
|
},children:(value)=>(()=>{var _el$6=_$createElement("text")
|
|
7157
7189
|
_$insert(_el$6,value)
|
|
7158
7190
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().textMuted,_$p))
|
|
@@ -7196,7 +7228,7 @@ return mergeConfiguredDefaults(configuredDefaultsFromPluginOptions(options),user
|
|
|
7196
7228
|
function LimitsPersistence(props){createLimitsRefresh(props)
|
|
7197
7229
|
return _$createElement("box")
|
|
7198
7230
|
}
|
|
7199
|
-
function bindNavigatorAbout(api,status,updates,notes){const dispose=registerNavigatorAboutServices(api,{navigatorVersion:"0.27.
|
|
7231
|
+
function bindNavigatorAbout(api,status,updates,notes){const dispose=registerNavigatorAboutServices(api,{navigatorVersion:"0.27.5",openCodeVersion:api.app.version,checkState:()=>status.navigatorCheckState?.()??{status:"idle"},checking:()=>status.navigatorCheckState?.().status==="checking",updating:updates.navigatorUpdating,installed:updates.navigatorInstalled,installation:updates,check:()=>status.refreshNavigator?.()??Promise.resolve("unavailable"),update(dialogs){const target=status.navigatorUpdate()
|
|
7200
7232
|
if(target)
|
|
7201
7233
|
updates.navigator(target,dialogs)
|
|
7202
7234
|
},changelog:async ()=>notes.parseChangelog(await notes.readBundledChangelog())
|
|
@@ -7332,7 +7364,7 @@ context.keymap.dispatch(command.id)
|
|
|
7332
7364
|
context.renderer.keyInput.on("keypress",onKeypress)
|
|
7333
7365
|
const keymap={registerLayer(layer){const id=++sequence
|
|
7334
7366
|
const owner=getOwner()
|
|
7335
|
-
const [active,setActive]=
|
|
7367
|
+
const [active,setActive]=createSignal44(true)
|
|
7336
7368
|
const install=()=>{context.keymap.layer(()=>({mode:typeof layer.mode==="string"?layer.mode:"base",priority:layer.priority,enabled:()=>active()&&enabled(layer.enabled),target:layer.target?()=>layer.target:undefined,commands:v2LayerCommands(id,layer,()=>true,run,context.keymap.dispatch)
|
|
7337
7369
|
}))
|
|
7338
7370
|
}
|
|
@@ -7377,7 +7409,7 @@ cleanups.clear()
|
|
|
7377
7409
|
context.renderer.keyInput.off("keypress",onKeypress)
|
|
7378
7410
|
}}}
|
|
7379
7411
|
|
|
7380
|
-
function createV2SessionAdapter(context){const [retryDetails,setRetryDetails]=
|
|
7412
|
+
function createV2SessionAdapter(context){const [retryDetails,setRetryDetails]=createSignal45({})
|
|
7381
7413
|
const projections=new WeakMap
|
|
7382
7414
|
function normalize(info){const directory=info.location.directory
|
|
7383
7415
|
const workspaceID=context.location?.directory===directory?context.location.workspaceID:undefined
|
|
@@ -7443,34 +7475,42 @@ return context.data.session.message.list(route.sessionID).some((message)=>(!reve
|
|
|
7443
7475
|
|
|
7444
7476
|
|
|
7445
7477
|
function createV2UI(context,api){let dialogOpen=false
|
|
7478
|
+
let dialogGeneration=0
|
|
7479
|
+
let handingOff=false
|
|
7446
7480
|
function DialogPrompt(props){return _$createComponent(SingleLinePrompt,_$mergeProps({get api(){return api()
|
|
7447
7481
|
}},props))
|
|
7448
7482
|
}
|
|
7449
|
-
function DialogConfirm(props){
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
async function confirm(){const confirmed=await context.ui.dialog.confirm({title:props.title,message:props.message
|
|
7483
|
+
function DialogConfirm(props){const generation=dialogGeneration
|
|
7484
|
+
async function confirm(){handingOff=true
|
|
7485
|
+
try{return context.ui.dialog.confirm({title:props.title,message:props.message
|
|
7453
7486
|
})
|
|
7454
|
-
|
|
7487
|
+
} finally{handingOff=false
|
|
7488
|
+
}}
|
|
7489
|
+
onMount7(()=>{confirm().catch(()=>false).then((confirmed)=>{if(generation!==dialogGeneration||api().lifecycle.signal.aborted)
|
|
7490
|
+
return
|
|
7491
|
+
dialogOpen=false
|
|
7492
|
+
if(context.keymap.mode.current()==="modal")
|
|
7455
7493
|
return
|
|
7456
7494
|
if(confirmed)
|
|
7457
7495
|
props.onConfirm?.()
|
|
7458
7496
|
else
|
|
7459
7497
|
props.onCancel?.()
|
|
7460
|
-
}
|
|
7461
|
-
onMount7(()=>{confirm().catch(()=>{if(active)
|
|
7462
|
-
props.onCancel?.()
|
|
7463
7498
|
})
|
|
7464
7499
|
})
|
|
7465
7500
|
return _$createElement("box")
|
|
7466
7501
|
}
|
|
7467
|
-
return{DialogConfirm,DialogPrompt,toast:(input)=>context.ui.toast.show(input),dialog:{replace(render,onClose){
|
|
7468
|
-
|
|
7502
|
+
return{DialogConfirm,DialogPrompt,toast:(input)=>context.ui.toast.show(input),dialog:{replace(render,onClose){const generation=++dialogGeneration
|
|
7503
|
+
dialogOpen=true
|
|
7504
|
+
context.ui.dialog.show(render,()=>{if(handingOff||generation!==dialogGeneration)
|
|
7505
|
+
return
|
|
7506
|
+
dialogGeneration++
|
|
7507
|
+
dialogOpen=false
|
|
7469
7508
|
onClose?.()
|
|
7470
7509
|
})
|
|
7471
7510
|
},setSize(size){context.ui.dialog.set({size
|
|
7472
7511
|
})
|
|
7473
|
-
},clear(){
|
|
7512
|
+
},clear(){dialogGeneration++
|
|
7513
|
+
dialogOpen=false
|
|
7474
7514
|
context.ui.dialog.clear()
|
|
7475
7515
|
},get open(){return dialogOpen
|
|
7476
7516
|
}}}}
|
|
@@ -7661,7 +7701,7 @@ const limitsPath=import.meta.url.includes("/dist/tui.js")?"./provider-limits.js"
|
|
|
7661
7701
|
const limitsModule=await import(limitsPath)
|
|
7662
7702
|
const LimitsSection=limitsModule.ProviderLimitsSection
|
|
7663
7703
|
const{controller:limits,codex,accountSource,selectModel,modelSelection
|
|
7664
|
-
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.27.
|
|
7704
|
+
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.27.5",hostContext)
|
|
7665
7705
|
const mcp=createMcpController(api,preferences.persistMcp,preferences,nativeSources?.mcp)
|
|
7666
7706
|
const interaction=createSidebarInteraction(api,()=>openKeyboardHelp(api,preferences.lspIconStyle,preferences.cornerFont,sidebarShortcutActions(api)))
|
|
7667
7707
|
const startup=createStartupSessionController(api,preferences)
|
|
@@ -7690,7 +7730,7 @@ api.slots.register({order:100,slots:{app(){return _$createComponent(IconProvider
|
|
|
7690
7730
|
},interaction,skills,subagents,mcp
|
|
7691
7731
|
}),_$createComponent(FirstRunWizardPersistence,{api,preferences
|
|
7692
7732
|
}),_$createComponent(StartupSessionBinding,{api,controller:startup
|
|
7693
|
-
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.27.
|
|
7733
|
+
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.27.5"
|
|
7694
7734
|
}),_$createComponent(McpPersistence,{api,controller:mcp
|
|
7695
7735
|
})]
|
|
7696
7736
|
}})
|
|
@@ -7724,13 +7764,13 @@ return result.data?.type==="text"?result.data.content:undefined
|
|
|
7724
7764
|
const updateServices=await loadNavigatorUpdates()
|
|
7725
7765
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV1VersionUpdater
|
|
7726
7766
|
}=updateServices
|
|
7727
|
-
const versionStatus=createVersionStatus(api,"0.27.
|
|
7728
|
-
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.
|
|
7767
|
+
const versionStatus=createVersionStatus(api,"0.27.5")
|
|
7768
|
+
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.5"))
|
|
7729
7769
|
bindNavigatorAbout(api,versionStatus,versionUpdates,updateServices)
|
|
7730
7770
|
api.slots.register({order:90,slots:{sidebar_footer(_context,props){return _$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7731
7771
|
},get multilineCorners(){return preferences.cornerFont
|
|
7732
7772
|
},get children(){return _$createComponent(VersionFooter,{api,get sessionID(){return props.session_id
|
|
7733
|
-
},navigatorVersion:"0.27.
|
|
7773
|
+
},navigatorVersion:"0.27.5",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7734
7774
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7735
7775
|
},get navigatorProgress(){return versionUpdates.navigatorProgress()
|
|
7736
7776
|
},get openCodeProgress(){return versionUpdates.openCodeProgress()
|
|
@@ -7749,8 +7789,8 @@ return new TextDecoder().decode(await context.client.file.read({location:context
|
|
|
7749
7789
|
const updateServices=await loadNavigatorUpdates()
|
|
7750
7790
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV2VersionUpdater
|
|
7751
7791
|
}=updateServices
|
|
7752
|
-
const versionStatus=createVersionStatus(adapter.api,"0.27.
|
|
7753
|
-
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.
|
|
7792
|
+
const versionStatus=createVersionStatus(adapter.api,"0.27.5")
|
|
7793
|
+
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.5"))
|
|
7754
7794
|
bindNavigatorAbout(adapter.api,versionStatus,versionUpdates,updateServices)
|
|
7755
7795
|
const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7756
7796
|
},get multilineCorners(){return preferences.cornerFont
|
|
@@ -7758,7 +7798,7 @@ const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$create
|
|
|
7758
7798
|
_$setProp(_el$,"flexDirection","row")
|
|
7759
7799
|
_$setProp(_el$,"justifyContent","space-between")
|
|
7760
7800
|
_$insert(_el$,_$createComponent(VersionSummary,{get api(){return adapter.api
|
|
7761
|
-
},navigatorVersion:"0.27.
|
|
7801
|
+
},navigatorVersion:"0.27.5",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7762
7802
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7763
7803
|
},get navigatorProgress(){return versionUpdates.navigatorProgress()
|
|
7764
7804
|
},get openCodeProgress(){return versionUpdates.openCodeProgress()
|