opencode-navigator 0.27.3 → 0.27.4
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 +7 -0
- package/HOST_API.md +10 -0
- package/README.md +14 -3
- package/dist/gui-experimental.cjs +792 -526
- package/dist/provider-limits.js +297 -199
- package/dist/tui.js +75 -66
- package/package.json +1 -1
package/dist/tui.js
CHANGED
|
@@ -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,createSignal as createSignal11,Suspense as Suspense2,lazy as lazy2,Index,onCleanup as onCleanup7,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 For6,createMemo as createMemo4,onMount as onMount4,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,For as For7,createEffect as createEffect10,createMemo as createMemo5,onCleanup as onCleanup12,createEffect as createEffect11,createMemo as createMemo6,untrack as untrack2,Suspense as Suspense4,lazy as lazy4,onCleanup as onCleanup13,createEffect as createEffect12,onCleanup as onCleanup14,createSignal as createSignal15,createMemo as createMemo7,createSignal as createSignal16,createSignal as createSignal17,lazy as lazy5,Show as Show9,For as For8,Show as Show8,Show as Show7,createEffect as createEffect13,onCleanup as onCleanup15,onMount as onMount5,onCleanup as onCleanup16,onMount as onMount6,For as For9,createSignal as createSignal18,createEffect as createEffect14,createSignal as createSignal19,onCleanup as onCleanup17,createSignal as createSignal20,onCleanup as onCleanup18,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,Show as
|
|
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,createSignal as createSignal11,Suspense as Suspense2,lazy as lazy2,Index,onCleanup as onCleanup7,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 For6,createMemo as createMemo4,onMount as onMount4,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,For as For7,createEffect as createEffect10,createMemo as createMemo5,onCleanup as onCleanup12,createEffect as createEffect11,createMemo as createMemo6,untrack as untrack2,Suspense as Suspense4,lazy as lazy4,onCleanup as onCleanup13,createEffect as createEffect12,onCleanup as onCleanup14,createSignal as createSignal15,createMemo as createMemo7,createSignal as createSignal16,createSignal as createSignal17,lazy as lazy5,Show as Show9,For as For8,Show as Show8,Show as Show7,createEffect as createEffect13,onCleanup as onCleanup15,onMount as onMount5,onCleanup as onCleanup16,onMount as onMount6,For as For9,createSignal as createSignal18,createEffect as createEffect14,createSignal as createSignal19,onCleanup as onCleanup17,createSignal as createSignal20,onCleanup as onCleanup18,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,Show as Show25,createSignal as createSignal30,untrack as untrack5,createSignal as createSignal31,createSignal as createSignal32,Show as Show19,createEffect as createEffect16,createSignal as createSignal34,onCleanup as onCleanup21,Show as Show18,createSignal as createSignal33,For as For13,Show as Show20,For as For12,createSignal as createSignal35,Show as Show21,Show as Show22,Show as Show23,Show as Show24,createSignal as createSignal36,createEffect as createEffect17,createMemo as createMemo12,on as on2,onCleanup as onCleanup22,For as For14,Show as Show27,createMemo as createMemo14,Show as Show26,createMemo as createMemo13,createSignal as createSignal37,createContext as createContext4,useContext as useContext4,Show as Show28,Suspense as Suspense5,createEffect as createEffect18,onCleanup as onCleanup23,untrack as untrack6,For as For20,Match,Switch,createMemo as createMemo20,onCleanup as onCleanup29,For as For15,Show as Show30,createMemo as createMemo16,createSignal as createSignal39,createEffect as createEffect19,createMemo as createMemo15,onCleanup as onCleanup24,untrack as untrack7,Show as Show29,createEffect as createEffect20,createSignal as createSignal38,onCleanup as onCleanup25,For as For16,Show as Show32,createSignal as createSignal40,createEffect as createEffect21,createMemo as createMemo17,onCleanup as onCleanup26,untrack as untrack8,Show as Show31,For as For18,Show as Show35,createEffect as createEffect22,createMemo as createMemo18,createSignal as createSignal41,onCleanup as onCleanup27,untrack as untrack9,For as For17,Show as Show34,Show as Show33,Show as Show40,createEffect as createEffect23,createMemo as createMemo19,createSignal as createSignal42,onCleanup as onCleanup28,untrack as untrack10,Show as Show36,For as For19,Show as Show38,Show as Show37,Show as Show39,createEffect as createEffect24,createMemo as createMemo21,onCleanup as onCleanup30,untrack as untrack11,Show as Show41,createMemo as createMemo22,onCleanup as onCleanup31,createRoot,createSignal as createSignal43,getOwner,createSignal as createSignal44,onCleanup as onCleanup32,onMount as onMount7} from "solid-js"
|
|
88
88
|
function mcpToggleAction(status){if(status==="pending")
|
|
89
89
|
return
|
|
90
90
|
return status==="connected"?"disconnect":"connect"
|
|
@@ -1018,7 +1018,7 @@ _$setProp(_el$10,"wrapMode","word")
|
|
|
1018
1018
|
_$insert(_el$10,()=>option.description)
|
|
1019
1019
|
_$effect((_$p)=>_$setProp(_el$10,"fg",theme().textMuted,_$p))
|
|
1020
1020
|
return _el$10
|
|
1021
|
-
})()]
|
|
1021
|
+
})(),_$memo(()=>props.renderDetails?.(option))]
|
|
1022
1022
|
}})
|
|
1023
1023
|
}))
|
|
1024
1024
|
_$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 +3305,7 @@ const skills=[...input.skills].sort((a,b)=>Number(input.favoriteSkills.has(b.loc
|
|
|
3305
3305
|
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
3306
|
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
3307
|
})),...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}
|
|
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,connected:item.status==="connected",...input.mcpErrorMode==="details"&&item.error&&{information:{title:`MCP \xB7 ${item.name}`,body:`Status: ${item.status}
|
|
3309
3309
|
|
|
3310
3310
|
${item.error}`}}})),...orderQuickActionIds(input.actionOrder,input.favoriteQuickActions??new Set).flatMap((id)=>{const action=QUICK_ACTIONS.find((item)=>item.command===id)
|
|
3311
3311
|
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)
|
|
@@ -5855,6 +5855,15 @@ var CHATGPT_METHODS=new Set(["chatgpt-browser","chatgpt-headless"]);
|
|
|
5855
5855
|
|
|
5856
5856
|
|
|
5857
5857
|
|
|
5858
|
+
|
|
5859
|
+
|
|
5860
|
+
|
|
5861
|
+
|
|
5862
|
+
|
|
5863
|
+
|
|
5864
|
+
|
|
5865
|
+
|
|
5866
|
+
|
|
5858
5867
|
|
|
5859
5868
|
|
|
5860
5869
|
|
|
@@ -5889,9 +5898,9 @@ await options.accountSource.refresh(model)
|
|
|
5889
5898
|
if(!disposed&&target===targetKey())
|
|
5890
5899
|
await options.controller.refresh()
|
|
5891
5900
|
}
|
|
5892
|
-
createEffect17(on2(interval,(milliseconds)=>{
|
|
5901
|
+
createEffect17(on2(interval,(milliseconds)=>{onCleanup22(schedule(()=>void refresh().catch(()=>{}),milliseconds))
|
|
5893
5902
|
}))
|
|
5894
|
-
|
|
5903
|
+
onCleanup22(()=>{disposed=true
|
|
5895
5904
|
})
|
|
5896
5905
|
}
|
|
5897
5906
|
|
|
@@ -5947,7 +5956,7 @@ function QuickActionRow(props){const{api,interaction
|
|
|
5947
5956
|
const icons=useIcons()
|
|
5948
5957
|
const toolbar=useToolbar()
|
|
5949
5958
|
const theme=()=>api.theme.current
|
|
5950
|
-
const [width,setWidth]=
|
|
5959
|
+
const [width,setWidth]=createSignal37(0)
|
|
5951
5960
|
const shortcut=createMemo13(()=>{const bindings=api.keymap.getCommandBindings({visibility:"registered",commands:[props.action.command]
|
|
5952
5961
|
})
|
|
5953
5962
|
return api.keys.formatBindings(bindings.get(props.action.command))
|
|
@@ -5991,7 +6000,7 @@ _$insert(_el$2,()=>props.action.label)
|
|
|
5991
6000
|
_$effect((_$p)=>_$setProp(_el$2,"fg",row.foregroundColor(),_$p))
|
|
5992
6001
|
return _el$2
|
|
5993
6002
|
})()
|
|
5994
|
-
},get metadata(){return _$createComponent(
|
|
6003
|
+
},get metadata(){return _$createComponent(Show26,{get when(){return visibleShortcut()
|
|
5995
6004
|
},children:(value)=>(()=>{var _el$3=_$createElement("text")
|
|
5996
6005
|
_$setProp(_el$3,"flexShrink",0)
|
|
5997
6006
|
_$setProp(_el$3,"wrapMode","none")
|
|
@@ -6000,12 +6009,12 @@ _$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme()
|
|
|
6000
6009
|
return _el$3
|
|
6001
6010
|
})()
|
|
6002
6011
|
})
|
|
6003
|
-
},get trailing(){return _$createComponent(
|
|
6012
|
+
},get trailing(){return _$createComponent(Show26,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
|
|
6004
6013
|
},get position(){return props.position
|
|
6005
6014
|
},get pin(){return{kind:"action",id:props.action.command,icon:"bolt"
|
|
6006
6015
|
}}})
|
|
6007
6016
|
}})
|
|
6008
|
-
},get details(){return _$createComponent(
|
|
6017
|
+
},get details(){return _$createComponent(Show26,{get when(){return props.disabled
|
|
6009
6018
|
},children:(reason)=>(()=>{var _el$4=_$createElement("text")
|
|
6010
6019
|
_$setProp(_el$4,"wrapMode","word")
|
|
6011
6020
|
_$insert(_el$4,reason)
|
|
@@ -6033,7 +6042,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6033
6042
|
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6034
6043
|
},get interaction(){return props.interaction
|
|
6035
6044
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6036
|
-
},get children(){return [_$createComponent(
|
|
6045
|
+
},get children(){return [_$createComponent(Show27,{get when(){return actions().length===0
|
|
6037
6046
|
},get children(){var _el$=_$createElement("text")
|
|
6038
6047
|
_$insertNode(_el$,_$createTextNode(`No quick actions selected`))
|
|
6039
6048
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6106,14 +6115,14 @@ untrack6(()=>shortcuts.bind(key))
|
|
|
6106
6115
|
createEffect18(()=>{if(shortcuts.active()&&(props.api.route.current.name!=="session"||props.api.ui.dialog.open||props.api.mode.current()==="modal"))
|
|
6107
6116
|
untrack6(shortcuts.cancel)
|
|
6108
6117
|
})
|
|
6109
|
-
|
|
6118
|
+
onCleanup23(shortcuts.dispose)
|
|
6110
6119
|
return(()=>{var _el$=_$createElement("box")
|
|
6111
6120
|
_$setProp(_el$,"position","absolute")
|
|
6112
6121
|
_$setProp(_el$,"top",0)
|
|
6113
6122
|
_$setProp(_el$,"left",0)
|
|
6114
6123
|
_$setProp(_el$,"width","100%")
|
|
6115
6124
|
_$setProp(_el$,"height","100%")
|
|
6116
|
-
_$insert(_el$,_$createComponent(
|
|
6125
|
+
_$insert(_el$,_$createComponent(Show28,{get when(){return shortcuts.active()
|
|
6117
6126
|
},get children(){return _$createComponent(Suspense5,{get children(){return _$createComponent(SidebarShortcutHint,{get api(){return props.api
|
|
6118
6127
|
},get actions(){return shortcuts.actions
|
|
6119
6128
|
}})
|
|
@@ -6128,11 +6137,11 @@ const unregisterCommands=props.api.keymap.registerLayer({commands:[...commands,.
|
|
|
6128
6137
|
})=>({name:name.replace(PLUGIN_ID,()=>LEGACY_PLUGIN_ID),run,enabled
|
|
6129
6138
|
}))]
|
|
6130
6139
|
})
|
|
6131
|
-
|
|
6140
|
+
onCleanup23(unregisterCommands)
|
|
6132
6141
|
createEffect18(()=>{const unregister=props.api.keymap.registerLayer({bindings:[{key:props.preferences.focusKey(),cmd:FOCUS_COMMAND
|
|
6133
6142
|
}]
|
|
6134
6143
|
})
|
|
6135
|
-
|
|
6144
|
+
onCleanup23(unregister)
|
|
6136
6145
|
})
|
|
6137
6146
|
return _$createElement("box")
|
|
6138
6147
|
}
|
|
@@ -6218,7 +6227,7 @@ createEffect19(()=>{if(!needsSkills())
|
|
|
6218
6227
|
return
|
|
6219
6228
|
const current=target()
|
|
6220
6229
|
const release=untrack7(()=>props.skills.activate(current))
|
|
6221
|
-
|
|
6230
|
+
onCleanup24(release)
|
|
6222
6231
|
untrack7(()=>{props.skills.refresh(current).catch(()=>{})
|
|
6223
6232
|
})
|
|
6224
6233
|
})
|
|
@@ -6249,14 +6258,14 @@ return{...model,width:toolbarPinWidth}}
|
|
|
6249
6258
|
|
|
6250
6259
|
function ToolbarButton(props){const icons=useIcons()
|
|
6251
6260
|
const foreground=()=>props.reason?props.api.theme.current.textMuted:item.foregroundColor()
|
|
6252
|
-
const [hovered,setHovered]=
|
|
6261
|
+
const [hovered,setHovered]=createSignal38(false)
|
|
6253
6262
|
const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>({section:0,row:props.row + 1,column:props.column
|
|
6254
6263
|
}),activate:props.onRun
|
|
6255
6264
|
},()=>props.reason?props.api.theme.current.textMuted:props.api.theme.current.accent,"control")
|
|
6256
6265
|
const content=()=>[props.icons.map((icon)=>terminalIcon(icon,icons.style())).join(" "),props.text].filter(Boolean).join(" ")
|
|
6257
6266
|
createEffect20(()=>props.onDetails(props.id,item.focused()||hovered()))
|
|
6258
|
-
|
|
6259
|
-
return _$createComponent(
|
|
6267
|
+
onCleanup25(()=>props.onDetails(props.id,false))
|
|
6268
|
+
return _$createComponent(Show29,{get when(){return _$memo(()=>!!(props.width===3&&props.icons.length===1))()&&!props.text
|
|
6260
6269
|
},get fallback(){return _$createComponent(SelectionBox,{get id(){return props.id
|
|
6261
6270
|
},ref(r$){var _ref$2=item.ref
|
|
6262
6271
|
typeof _ref$2==="function"?_ref$2(r$):item.ref=r$
|
|
@@ -6296,8 +6305,8 @@ setHovered(false)
|
|
|
6296
6305
|
}
|
|
6297
6306
|
function SidebarToolbar(props){const model=createToolbarModel(props)
|
|
6298
6307
|
const icons=useIcons()
|
|
6299
|
-
const [width,setWidth]=
|
|
6300
|
-
const [detail,setDetail]=
|
|
6308
|
+
const [width,setWidth]=createSignal39(3)
|
|
6309
|
+
const [detail,setDetail]=createSignal39()
|
|
6301
6310
|
const keys=createMemo16(()=>model.pins().map((pin)=>toolbarPinKey(pin)))
|
|
6302
6311
|
const widths=createMemo16(()=>new Map(model.pins().map((pin)=>[toolbarPinKey(pin),model.width(pin)])))
|
|
6303
6312
|
const layout=createMemo16(()=>toolbarLayout(keys(),width(),props.preferences.toolbarOverflow?.()??"menu",widths()))
|
|
@@ -6325,7 +6334,7 @@ dialogs.close()
|
|
|
6325
6334
|
model.run(option.value)
|
|
6326
6335
|
}}))
|
|
6327
6336
|
}
|
|
6328
|
-
return _$createComponent(
|
|
6337
|
+
return _$createComponent(Show30,{get when(){return keys().length>0
|
|
6329
6338
|
},get children(){var _el$=_$createElement("box")
|
|
6330
6339
|
_$setProp(_el$,"id","opencode-navigator.toolbar")
|
|
6331
6340
|
_$setProp(_el$,"overflow","visible")
|
|
@@ -6348,7 +6357,7 @@ _$insert(_el$2,_$createComponent(For15,{get each(){return layout().rows[row]
|
|
|
6348
6357
|
return _el$2
|
|
6349
6358
|
})()
|
|
6350
6359
|
}),null)
|
|
6351
|
-
_$insert(_el$,_$createComponent(
|
|
6360
|
+
_$insert(_el$,_$createComponent(Show30,{get when(){return details()
|
|
6352
6361
|
},children:(text)=>(()=>{var _el$3=_$createElement("text")
|
|
6353
6362
|
_$setProp(_el$3,"position","absolute")
|
|
6354
6363
|
_$setProp(_el$3,"left",0)
|
|
@@ -6390,7 +6399,7 @@ const visibility=createListVisibility({items:filtered,limit:()=>props.preference
|
|
|
6390
6399
|
const state=createMemo17(()=>props.controller.state(target()))
|
|
6391
6400
|
createEffect21(()=>{const current=target()
|
|
6392
6401
|
const deactivate=untrack8(()=>props.controller.activate?.(current)??(()=>{}))
|
|
6393
|
-
|
|
6402
|
+
onCleanup26(deactivate)
|
|
6394
6403
|
untrack8(()=>void props.controller.refresh(current).catch(()=>{}))
|
|
6395
6404
|
})
|
|
6396
6405
|
async function useSkill(item){try{const isInserted=await props.controller.use(target(),item.name)
|
|
@@ -6442,7 +6451,7 @@ _$insert(_el$,()=>props.item.name,null)
|
|
|
6442
6451
|
_$effect((_$p)=>_$setProp(_el$,"fg",row.foregroundColor(),_$p))
|
|
6443
6452
|
return _el$
|
|
6444
6453
|
})()
|
|
6445
|
-
},get trailing(){return _$createComponent(
|
|
6454
|
+
},get trailing(){return _$createComponent(Show31,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
|
|
6446
6455
|
},get position(){return props.position
|
|
6447
6456
|
},get pin(){return{kind:"skill",name:props.item.name,location:props.item.location,icon:"book"
|
|
6448
6457
|
}}})
|
|
@@ -6451,7 +6460,7 @@ return _el$
|
|
|
6451
6460
|
}
|
|
6452
6461
|
function SkillsSection(props){const dialogs=useDialogs(props.api)
|
|
6453
6462
|
const toolbar=useToolbar()
|
|
6454
|
-
const [query,setQuery]=
|
|
6463
|
+
const [query,setQuery]=createSignal40("")
|
|
6455
6464
|
const model=createSkillSectionModel(props,query)
|
|
6456
6465
|
const navigationSection=()=>props.navigationSection??3
|
|
6457
6466
|
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 +6484,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6475
6484
|
}},get query(){return query()
|
|
6476
6485
|
},placeholder:"Filter skills...",onInput:setQuery
|
|
6477
6486
|
}),null)
|
|
6478
|
-
_$insert(_el$,_$createComponent(
|
|
6487
|
+
_$insert(_el$,_$createComponent(Show32,{get when(){return model.filtered().length>0
|
|
6479
6488
|
},get fallback(){return(()=>{var _el$2=_$createElement("text")
|
|
6480
6489
|
_$insertNode(_el$2,_$createTextNode(`No matching skills`))
|
|
6481
6490
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6486,7 +6495,7 @@ return _el$2
|
|
|
6486
6495
|
},get grouped(){return model.grouped
|
|
6487
6496
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6488
6497
|
},get children(){return _$createComponent(For16,{get each(){return model.visibility.visible()
|
|
6489
|
-
},children:(item,index)=>[_$createComponent(
|
|
6498
|
+
},children:(item,index)=>[_$createComponent(Show32,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6490
6499
|
},get children(){var _el$4=_$createElement("text")
|
|
6491
6500
|
_$setProp(_el$4,"height",1)
|
|
6492
6501
|
_$setProp(_el$4,"wrapMode","none")
|
|
@@ -6531,8 +6540,8 @@ return _el$
|
|
|
6531
6540
|
function createSubagentSectionModel(props){const list=createMemo18(()=>props.controller.list(props.sessionID))
|
|
6532
6541
|
const recent=createMemo18(()=>props.controller.recent?.(props.sessionID)??[])
|
|
6533
6542
|
const rows=createMemo18(()=>buildSubagentView(list(),recent()))
|
|
6534
|
-
const [query,setQuery]=
|
|
6535
|
-
const [mode,setMode]=
|
|
6543
|
+
const [query,setQuery]=createSignal41("")
|
|
6544
|
+
const [mode,setMode]=createSignal41("all")
|
|
6536
6545
|
const counts=createMemo18(()=>countSubagentView(rows(),query()))
|
|
6537
6546
|
const tabs=createMemo18(()=>["all","active","recent",...counts().errors>0?["errors"]:[]])
|
|
6538
6547
|
const filtered=createMemo18(()=>filterSubagentView(rows(),mode(),query()))
|
|
@@ -6555,7 +6564,7 @@ const state=createMemo18(()=>props.controller.state(props.sessionID))
|
|
|
6555
6564
|
createEffect22(()=>{const sessionID=props.sessionID
|
|
6556
6565
|
targetKey()
|
|
6557
6566
|
const deactivate=untrack9(()=>props.controller.activate?.(sessionID)??(()=>{}))
|
|
6558
|
-
|
|
6567
|
+
onCleanup27(deactivate)
|
|
6559
6568
|
untrack9(()=>void props.controller.refresh(sessionID).catch(()=>{}))
|
|
6560
6569
|
})
|
|
6561
6570
|
return{list,recent,rows,query,setQuery,mode,setMode,counts,tabs,filtered,parentID,visibility,now,byId,ids,state
|
|
@@ -6613,7 +6622,7 @@ return()=>_c$()?`${props.item.run.startedBeforeObservation ? `${icons.icon("rece
|
|
|
6613
6622
|
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
|
|
6614
6623
|
return _el$3
|
|
6615
6624
|
})()
|
|
6616
|
-
},get details(){return [_$createComponent(
|
|
6625
|
+
},get details(){return [_$createComponent(Show33,{get when(){return props.item.run?.errorMessage
|
|
6617
6626
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createTextNode(`: `)
|
|
6618
6627
|
_$insertNode(_el$4,_el$5)
|
|
6619
6628
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -6621,12 +6630,12 @@ _$insert(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
|
|
|
6621
6630
|
_$insert(_el$4,()=>props.item.run?.errorMessage,null)
|
|
6622
6631
|
_$effect((_$p)=>_$setProp(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
|
|
6623
6632
|
return _el$4
|
|
6624
|
-
}}),_$createComponent(
|
|
6633
|
+
}}),_$createComponent(Show33,{get when(){return props.item.unavailable
|
|
6625
6634
|
},get children(){var _el$6=_$createElement("text")
|
|
6626
6635
|
_$insertNode(_el$6,_$createTextNode(`Worker status unavailable`))
|
|
6627
6636
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().warning,_$p))
|
|
6628
6637
|
return _el$6
|
|
6629
|
-
}}),_$createComponent(
|
|
6638
|
+
}}),_$createComponent(Show33,{get when(){return _$memo(()=>props.item.status.type==="retry")()?props.item.status:undefined
|
|
6630
6639
|
},children:(status)=>(()=>{var _el$0=_$createElement("text"),_el$1=_$createTextNode(`Retry #`),_el$10=_$createTextNode(` \xB7 `),_el$11=_$createTextNode(`s \xB7 `)
|
|
6631
6640
|
_$insertNode(_el$0,_el$1)
|
|
6632
6641
|
_$insertNode(_el$0,_el$10)
|
|
@@ -6638,7 +6647,7 @@ _$insert(_el$0,()=>status().message,null)
|
|
|
6638
6647
|
_$effect((_$p)=>_$setProp(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
|
|
6639
6648
|
return _el$0
|
|
6640
6649
|
})()
|
|
6641
|
-
}),_$createComponent(
|
|
6650
|
+
}),_$createComponent(Show33,{get when(){return _$memo(()=>!!idle())()&&!props.item.run?.errorMessage
|
|
6642
6651
|
},get children(){var _el$8=_$createElement("text")
|
|
6643
6652
|
_$insertNode(_el$8,_$createTextNode(`Finished`))
|
|
6644
6653
|
_$effect((_$p)=>_$setProp(_el$8,"fg",theme().textMuted,_$p))
|
|
@@ -6654,7 +6663,7 @@ function SubagentList(props){return _$createComponent(SidebarRowList,{get api(){
|
|
|
6654
6663
|
const item=()=>props.itemById(id)??initial
|
|
6655
6664
|
const startsGroup=()=>index()===0||props.visible[index()-1]?.group!==item().group
|
|
6656
6665
|
return(()=>{var _el$=_$createElement("box")
|
|
6657
|
-
_$insert(_el$,_$createComponent(
|
|
6666
|
+
_$insert(_el$,_$createComponent(Show34,{get when(){return startsGroup()
|
|
6658
6667
|
},get children(){var _el$2=_$createElement("text"),_el$3=_$createElement("b")
|
|
6659
6668
|
_$insertNode(_el$2,_el$3)
|
|
6660
6669
|
_$insert(_el$3,()=>item().group)
|
|
@@ -6680,7 +6689,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6680
6689
|
},sectionId:`${PLUGIN_ID}.section.subagents`,get navigationSection(){return navigationSection()
|
|
6681
6690
|
},title:"SUBAGENTS",section:"subagents",get summary(){return `${model.list().length} active \xB7 ${model.recent().length} recent`
|
|
6682
6691
|
},get open(){return props.preferences.expanded().subagents
|
|
6683
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(
|
|
6692
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(Show35,{get when(){return model.parentID()
|
|
6684
6693
|
},children:(id)=>_$createComponent(McpBulkAction,{get api(){return props.api
|
|
6685
6694
|
},get interaction(){return props.interaction
|
|
6686
6695
|
},id:`${PLUGIN_ID}.subagents.parent`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -6714,7 +6723,7 @@ _$insert(_el$2,_$createComponent(For18,{get each(){return model.tabs()
|
|
|
6714
6723
|
},onActivate:()=>model.setMode(value)
|
|
6715
6724
|
})
|
|
6716
6725
|
}))
|
|
6717
|
-
_$insert(_el$,_$createComponent(
|
|
6726
|
+
_$insert(_el$,_$createComponent(Show35,{get when(){return model.filtered().length===0
|
|
6718
6727
|
},get children(){var _el$3=_$createElement("text")
|
|
6719
6728
|
_$insertNode(_el$3,_$createTextNode(`No matching subagents`))
|
|
6720
6729
|
_$effect((_$p)=>_$setProp(_el$3,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6775,7 +6784,7 @@ _$insertNode(_el$2,_el$3)
|
|
|
6775
6784
|
_$setProp(_el$2,"wrapMode","word")
|
|
6776
6785
|
_$insert(_el$2,()=>icons.icon("info"),_el$3)
|
|
6777
6786
|
_$insert(_el$2,message,null)
|
|
6778
|
-
_$insert(_el$,_$createComponent(
|
|
6787
|
+
_$insert(_el$,_$createComponent(Show36,{get when(){return _$memo(()=>!!props.setup)()&&(disabled()||failed())
|
|
6779
6788
|
},get children(){return _$createComponent(SectionTab,{get api(){return props.api
|
|
6780
6789
|
},get interaction(){return props.interaction
|
|
6781
6790
|
},id:"opencode-navigator.todo.setup",get position(){return{section:props.navigationSection,row:2,column:0
|
|
@@ -6838,7 +6847,7 @@ _$insert(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":
|
|
|
6838
6847
|
_$setProp(_el$3,"flexGrow",1)
|
|
6839
6848
|
_$setProp(_el$3,"wrapMode","word")
|
|
6840
6849
|
_$insert(_el$3,()=>props.item.content)
|
|
6841
|
-
_$insert(_el$,_$createComponent(
|
|
6850
|
+
_$insert(_el$,_$createComponent(Show37,{get when(){return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
|
|
6842
6851
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b"),_el$6=_$createTextNode(` `)
|
|
6843
6852
|
_$insertNode(_el$4,_el$5)
|
|
6844
6853
|
_$setProp(_el$4,"width",2)
|
|
@@ -6874,7 +6883,7 @@ _$insert(_el$2,_$createComponent(For19,{each:["all","active","finished"],childre
|
|
|
6874
6883
|
},onActivate:()=>props.setMode(value)
|
|
6875
6884
|
})
|
|
6876
6885
|
}))
|
|
6877
|
-
_$insert(_el$,_$createComponent(
|
|
6886
|
+
_$insert(_el$,_$createComponent(Show38,{get when(){return props.view.rows.length>0
|
|
6878
6887
|
},get fallback(){return _$createComponent(EmptyTodo,{get api(){return props.api
|
|
6879
6888
|
},get mode(){return props.mode
|
|
6880
6889
|
}})
|
|
@@ -6884,7 +6893,7 @@ _$insert(_el$,_$createComponent(Show36,{get when(){return props.view.rows.length
|
|
|
6884
6893
|
},get children(){return _$createComponent(For19,{get each(){return props.visibility.visible()
|
|
6885
6894
|
},children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index()-1].group!==row.group
|
|
6886
6895
|
return(()=>{var _el$3=_$createElement("box")
|
|
6887
|
-
_$insert(_el$3,_$createComponent(
|
|
6896
|
+
_$insert(_el$3,_$createComponent(Show38,{get when(){return startsGroup()
|
|
6888
6897
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
6889
6898
|
_$insertNode(_el$4,_el$5)
|
|
6890
6899
|
_$insert(_el$5,()=>row.group)
|
|
@@ -6921,7 +6930,7 @@ return _el$6
|
|
|
6921
6930
|
|
|
6922
6931
|
|
|
6923
6932
|
function TodoGuidanceControl(props){const state=()=>props.controller.guidance(props.sessionID)
|
|
6924
|
-
return _$createComponent(
|
|
6933
|
+
return _$createComponent(Show39,{get when(){return state().available
|
|
6925
6934
|
},get children(){var _el$=_$createElement("box")
|
|
6926
6935
|
_$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
6927
6936
|
},get interaction(){return props.interaction
|
|
@@ -6931,7 +6940,7 @@ _$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
|
6931
6940
|
},get disabled(){return state().saving
|
|
6932
6941
|
},onActivate:()=>void props.controller.setGuidance(props.sessionID,!state().enabled)
|
|
6933
6942
|
}),null)
|
|
6934
|
-
_$insert(_el$,_$createComponent(
|
|
6943
|
+
_$insert(_el$,_$createComponent(Show39,{get when(){return state().error
|
|
6935
6944
|
},children:(message)=>(()=>{var _el$2=_$createElement("text")
|
|
6936
6945
|
_$setProp(_el$2,"wrapMode","word")
|
|
6937
6946
|
_$insert(_el$2,message)
|
|
@@ -6949,7 +6958,7 @@ const managed=()=>("guidance" in props.controller)?props.controller:undefined
|
|
|
6949
6958
|
const native=()=>("source" in props.controller)&&props.controller.source==="native"
|
|
6950
6959
|
const setup=()=>("setup" in props.controller)?props.controller.setup:undefined
|
|
6951
6960
|
const setupState=()=>setup()?.state(props.sessionID)
|
|
6952
|
-
const [mode,setMode]=
|
|
6961
|
+
const [mode,setMode]=createSignal42("all")
|
|
6953
6962
|
const targetKey=createMemo19(()=>props.controller.target?.(props.sessionID).key??props.sessionID)
|
|
6954
6963
|
createEffect23(()=>{targetKey()
|
|
6955
6964
|
setMode("all")
|
|
@@ -6963,7 +6972,7 @@ targetKey()
|
|
|
6963
6972
|
if(unavailable())
|
|
6964
6973
|
return
|
|
6965
6974
|
const deactivate=untrack10(()=>props.controller.activate?.(sessionID)??(()=>{}))
|
|
6966
|
-
|
|
6975
|
+
onCleanup28(deactivate)
|
|
6967
6976
|
untrack10(()=>void props.controller.refresh(sessionID).catch(()=>{}))
|
|
6968
6977
|
untrack10(()=>void setup()?.refresh(sessionID).catch(()=>{}))
|
|
6969
6978
|
})
|
|
@@ -6976,10 +6985,10 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6976
6985
|
setup()?.refresh(props.sessionID).catch(()=>{})
|
|
6977
6986
|
}}:undefined
|
|
6978
6987
|
},get open(){return props.preferences.expanded().todo
|
|
6979
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(
|
|
6988
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(Show40,{get when(){return unavailable()
|
|
6980
6989
|
},get fallback(){return(()=>{var _el$=_$createElement("box")
|
|
6981
6990
|
_$setProp(_el$,"gap",1)
|
|
6982
|
-
_$insert(_el$,_$createComponent(
|
|
6991
|
+
_$insert(_el$,_$createComponent(Show40,{get when(){return native()
|
|
6983
6992
|
},get children(){return _$createComponent(NativeTodoNotice,{get api(){return props.api
|
|
6984
6993
|
},get setup(){return setup()
|
|
6985
6994
|
},get sessionID(){return props.sessionID
|
|
@@ -6987,7 +6996,7 @@ _$insert(_el$,_$createComponent(Show38,{get when(){return native()
|
|
|
6987
6996
|
},get navigationSection(){return navigationSection()
|
|
6988
6997
|
}})
|
|
6989
6998
|
}}),null)
|
|
6990
|
-
_$insert(_el$,_$createComponent(
|
|
6999
|
+
_$insert(_el$,_$createComponent(Show40,{get when(){return managed()?.guidance(props.sessionID).available
|
|
6991
7000
|
},get children(){return _$createComponent(TodoGuidanceControl,{get api(){return props.api
|
|
6992
7001
|
},get controller(){return managed()
|
|
6993
7002
|
},get sessionID(){return props.sessionID
|
|
@@ -6995,7 +7004,7 @@ _$insert(_el$,_$createComponent(Show38,{get when(){return managed()?.guidance(pr
|
|
|
6995
7004
|
},get navigationSection(){return navigationSection()
|
|
6996
7005
|
}})
|
|
6997
7006
|
}}),null)
|
|
6998
|
-
_$insert(_el$,_$createComponent(
|
|
7007
|
+
_$insert(_el$,_$createComponent(Show40,{get when(){return managed()?.missing(props.sessionID)
|
|
6999
7008
|
},get fallback(){return _$createComponent(SectionRequestBody,{get api(){return props.api
|
|
7000
7009
|
},get interaction(){return props.interaction
|
|
7001
7010
|
},id:`${PLUGIN_ID}.retry.todo`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -7033,7 +7042,7 @@ return _el$4
|
|
|
7033
7042
|
}
|
|
7034
7043
|
function SidebarContent(props){const sections=props.preferences.sections
|
|
7035
7044
|
const visibleSections=createMemo20(()=>props.preferences.sectionOrder().filter((section)=>sections()[section]&&supportsSidebarSection(props.api,section)))
|
|
7036
|
-
|
|
7045
|
+
onCleanup29(()=>props.interaction.setContentRoot(undefined))
|
|
7037
7046
|
return _$createComponent(ToolbarProvider,{get api(){return props.api
|
|
7038
7047
|
},get preferences(){return props.preferences
|
|
7039
7048
|
},get skills(){return props.skills
|
|
@@ -7093,7 +7102,7 @@ const params="params" in route?route.params:undefined
|
|
|
7093
7102
|
if(typeof params?.sessionID!=="string")
|
|
7094
7103
|
return
|
|
7095
7104
|
const current=props.controller.target()
|
|
7096
|
-
|
|
7105
|
+
onCleanup30(()=>props.controller.deactivate(current))
|
|
7097
7106
|
untrack11(()=>void props.controller.activate(current).catch(()=>{}))
|
|
7098
7107
|
})
|
|
7099
7108
|
return _$createElement("box")
|
|
@@ -7133,7 +7142,7 @@ const settingsId=`${PLUGIN_ID}.settings`
|
|
|
7133
7142
|
const settings=useSidebarItem(props.api,props.interaction,{id:settingsId,position:{section:0,row:0,column:0
|
|
7134
7143
|
},activate:()=>openSettings(props.api,props.preferences,undefined,props.mcp,props.skills)
|
|
7135
7144
|
},()=>theme().textMuted,"control")
|
|
7136
|
-
|
|
7145
|
+
onCleanup31(()=>props.interaction.setTitleRoot(undefined))
|
|
7137
7146
|
return(()=>{var _el$=_$createElement("box"),_el$2=_$createElement("box"),_el$3=_$createElement("box")
|
|
7138
7147
|
_$insertNode(_el$,_el$2)
|
|
7139
7148
|
_$use((node)=>props.interaction.setTitleRoot(node),_el$)
|
|
@@ -7144,7 +7153,7 @@ _$setProp(_el$2,"flexDirection","row")
|
|
|
7144
7153
|
_$setProp(_el$2,"justifyContent","space-between")
|
|
7145
7154
|
_$setProp(_el$2,"gap",1)
|
|
7146
7155
|
_$setProp(_el$3,"flexGrow",1)
|
|
7147
|
-
_$insert(_el$3,_$createComponent(
|
|
7156
|
+
_$insert(_el$3,_$createComponent(Show41,{get when(){return props.preferences.showSessionTitle()
|
|
7148
7157
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
7149
7158
|
_$insertNode(_el$4,_el$5)
|
|
7150
7159
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -7152,7 +7161,7 @@ _$insert(_el$5,()=>props.title)
|
|
|
7152
7161
|
_$effect((_$p)=>_$setProp(_el$4,"fg",theme().text,_$p))
|
|
7153
7162
|
return _el$4
|
|
7154
7163
|
}}),null)
|
|
7155
|
-
_$insert(_el$3,_$createComponent(
|
|
7164
|
+
_$insert(_el$3,_$createComponent(Show41,{get when(){return _$memo(()=>!!props.preferences.showSessionDate())()&&created()
|
|
7156
7165
|
},children:(value)=>(()=>{var _el$6=_$createElement("text")
|
|
7157
7166
|
_$insert(_el$6,value)
|
|
7158
7167
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().textMuted,_$p))
|
|
@@ -7196,7 +7205,7 @@ return mergeConfiguredDefaults(configuredDefaultsFromPluginOptions(options),user
|
|
|
7196
7205
|
function LimitsPersistence(props){createLimitsRefresh(props)
|
|
7197
7206
|
return _$createElement("box")
|
|
7198
7207
|
}
|
|
7199
|
-
function bindNavigatorAbout(api,status,updates,notes){const dispose=registerNavigatorAboutServices(api,{navigatorVersion:"0.27.
|
|
7208
|
+
function bindNavigatorAbout(api,status,updates,notes){const dispose=registerNavigatorAboutServices(api,{navigatorVersion:"0.27.4",openCodeVersion:api.app.version,checkState:()=>status.navigatorCheckState?.()??{status:"idle"},checking:()=>status.navigatorCheckState?.().status==="checking",updating:updates.navigatorUpdating,installed:updates.navigatorInstalled,check:()=>status.refreshNavigator?.()??Promise.resolve("unavailable"),update(dialogs){const target=status.navigatorUpdate()
|
|
7200
7209
|
if(target)
|
|
7201
7210
|
updates.navigator(target,dialogs)
|
|
7202
7211
|
},changelog:async ()=>notes.parseChangelog(await notes.readBundledChangelog())
|
|
@@ -7332,7 +7341,7 @@ context.keymap.dispatch(command.id)
|
|
|
7332
7341
|
context.renderer.keyInput.on("keypress",onKeypress)
|
|
7333
7342
|
const keymap={registerLayer(layer){const id=++sequence
|
|
7334
7343
|
const owner=getOwner()
|
|
7335
|
-
const [active,setActive]=
|
|
7344
|
+
const [active,setActive]=createSignal43(true)
|
|
7336
7345
|
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
7346
|
}))
|
|
7338
7347
|
}
|
|
@@ -7377,7 +7386,7 @@ cleanups.clear()
|
|
|
7377
7386
|
context.renderer.keyInput.off("keypress",onKeypress)
|
|
7378
7387
|
}}}
|
|
7379
7388
|
|
|
7380
|
-
function createV2SessionAdapter(context){const [retryDetails,setRetryDetails]=
|
|
7389
|
+
function createV2SessionAdapter(context){const [retryDetails,setRetryDetails]=createSignal44({})
|
|
7381
7390
|
const projections=new WeakMap
|
|
7382
7391
|
function normalize(info){const directory=info.location.directory
|
|
7383
7392
|
const workspaceID=context.location?.directory===directory?context.location.workspaceID:undefined
|
|
@@ -7447,7 +7456,7 @@ function DialogPrompt(props){return _$createComponent(SingleLinePrompt,_$mergePr
|
|
|
7447
7456
|
}},props))
|
|
7448
7457
|
}
|
|
7449
7458
|
function DialogConfirm(props){let active=true
|
|
7450
|
-
|
|
7459
|
+
onCleanup32(()=>{active=false
|
|
7451
7460
|
})
|
|
7452
7461
|
async function confirm(){const confirmed=await context.ui.dialog.confirm({title:props.title,message:props.message
|
|
7453
7462
|
})
|
|
@@ -7661,7 +7670,7 @@ const limitsPath=import.meta.url.includes("/dist/tui.js")?"./provider-limits.js"
|
|
|
7661
7670
|
const limitsModule=await import(limitsPath)
|
|
7662
7671
|
const LimitsSection=limitsModule.ProviderLimitsSection
|
|
7663
7672
|
const{controller:limits,codex,accountSource,selectModel,modelSelection
|
|
7664
|
-
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.27.
|
|
7673
|
+
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.27.4",hostContext)
|
|
7665
7674
|
const mcp=createMcpController(api,preferences.persistMcp,preferences,nativeSources?.mcp)
|
|
7666
7675
|
const interaction=createSidebarInteraction(api,()=>openKeyboardHelp(api,preferences.lspIconStyle,preferences.cornerFont,sidebarShortcutActions(api)))
|
|
7667
7676
|
const startup=createStartupSessionController(api,preferences)
|
|
@@ -7690,7 +7699,7 @@ api.slots.register({order:100,slots:{app(){return _$createComponent(IconProvider
|
|
|
7690
7699
|
},interaction,skills,subagents,mcp
|
|
7691
7700
|
}),_$createComponent(FirstRunWizardPersistence,{api,preferences
|
|
7692
7701
|
}),_$createComponent(StartupSessionBinding,{api,controller:startup
|
|
7693
|
-
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.27.
|
|
7702
|
+
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.27.4"
|
|
7694
7703
|
}),_$createComponent(McpPersistence,{api,controller:mcp
|
|
7695
7704
|
})]
|
|
7696
7705
|
}})
|
|
@@ -7724,13 +7733,13 @@ return result.data?.type==="text"?result.data.content:undefined
|
|
|
7724
7733
|
const updateServices=await loadNavigatorUpdates()
|
|
7725
7734
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV1VersionUpdater
|
|
7726
7735
|
}=updateServices
|
|
7727
|
-
const versionStatus=createVersionStatus(api,"0.27.
|
|
7728
|
-
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.
|
|
7736
|
+
const versionStatus=createVersionStatus(api,"0.27.4")
|
|
7737
|
+
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.4"))
|
|
7729
7738
|
bindNavigatorAbout(api,versionStatus,versionUpdates,updateServices)
|
|
7730
7739
|
api.slots.register({order:90,slots:{sidebar_footer(_context,props){return _$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7731
7740
|
},get multilineCorners(){return preferences.cornerFont
|
|
7732
7741
|
},get children(){return _$createComponent(VersionFooter,{api,get sessionID(){return props.session_id
|
|
7733
|
-
},navigatorVersion:"0.27.
|
|
7742
|
+
},navigatorVersion:"0.27.4",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7734
7743
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7735
7744
|
},get navigatorProgress(){return versionUpdates.navigatorProgress()
|
|
7736
7745
|
},get openCodeProgress(){return versionUpdates.openCodeProgress()
|
|
@@ -7749,8 +7758,8 @@ return new TextDecoder().decode(await context.client.file.read({location:context
|
|
|
7749
7758
|
const updateServices=await loadNavigatorUpdates()
|
|
7750
7759
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV2VersionUpdater
|
|
7751
7760
|
}=updateServices
|
|
7752
|
-
const versionStatus=createVersionStatus(adapter.api,"0.27.
|
|
7753
|
-
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.
|
|
7761
|
+
const versionStatus=createVersionStatus(adapter.api,"0.27.4")
|
|
7762
|
+
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.4"))
|
|
7754
7763
|
bindNavigatorAbout(adapter.api,versionStatus,versionUpdates,updateServices)
|
|
7755
7764
|
const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7756
7765
|
},get multilineCorners(){return preferences.cornerFont
|
|
@@ -7758,7 +7767,7 @@ const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$create
|
|
|
7758
7767
|
_$setProp(_el$,"flexDirection","row")
|
|
7759
7768
|
_$setProp(_el$,"justifyContent","space-between")
|
|
7760
7769
|
_$insert(_el$,_$createComponent(VersionSummary,{get api(){return adapter.api
|
|
7761
|
-
},navigatorVersion:"0.27.
|
|
7770
|
+
},navigatorVersion:"0.27.4",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7762
7771
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7763
7772
|
},get navigatorProgress(){return versionUpdates.navigatorProgress()
|
|
7764
7773
|
},get openCodeProgress(){return versionUpdates.openCodeProgress()
|
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.27.
|
|
4
|
+
"version": "0.27.4",
|
|
5
5
|
"description": "Search, navigate, and manage OpenCode sessions in the TUI and experimental Desktop GUI",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"packageManager": "bun@1.4.4",
|