opencode-navigator 0.27.2 → 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/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 Show23,createSignal as createSignal30,untrack as untrack5,createSignal as createSignal31,createSignal as createSignal32,createEffect as createEffect16,For as For13,Show as Show18,For as For12,createSignal as createSignal33,Show as Show19,Show as Show20,Show as Show21,Show as Show22,createSignal as createSignal34,createEffect as createEffect17,createMemo as createMemo12,on as on2,onCleanup as onCleanup21,For as For14,Show as Show25,createMemo as createMemo14,Show as Show24,createMemo as createMemo13,createSignal as createSignal35,createContext as createContext4,useContext as useContext4,Show as Show26,Suspense as Suspense5,createEffect as createEffect18,onCleanup as onCleanup22,untrack as untrack6,For as For20,Match,Switch,createMemo as createMemo20,onCleanup as onCleanup28,For as For15,Show as Show28,createMemo as createMemo16,createSignal as createSignal37,createEffect as createEffect19,createMemo as createMemo15,onCleanup as onCleanup23,untrack as untrack7,Show as Show27,createEffect as createEffect20,createSignal as createSignal36,onCleanup as onCleanup24,For as For16,Show as Show30,createSignal as createSignal38,createEffect as createEffect21,createMemo as createMemo17,onCleanup as onCleanup25,untrack as untrack8,Show as Show29,For as For18,Show as Show33,createEffect as createEffect22,createMemo as createMemo18,createSignal as createSignal39,onCleanup as onCleanup26,untrack as untrack9,For as For17,Show as Show32,Show as Show31,Show as Show38,createEffect as createEffect23,createMemo as createMemo19,createSignal as createSignal40,onCleanup as onCleanup27,untrack as untrack10,Show as Show34,For as For19,Show as Show36,Show as Show35,Show as Show37,createEffect as createEffect24,createMemo as createMemo21,onCleanup as onCleanup29,untrack as untrack11,Show as Show39,createMemo as createMemo22,onCleanup as onCleanup30,createRoot,createSignal as createSignal41,getOwner,createSignal as createSignal42,onCleanup as onCleanup31,onMount as onMount7} from "solid-js"
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)=>{onCleanup21(schedule(()=>void refresh().catch(()=>{}),milliseconds))
5901
+ createEffect17(on2(interval,(milliseconds)=>{onCleanup22(schedule(()=>void refresh().catch(()=>{}),milliseconds))
5893
5902
  }))
5894
- onCleanup21(()=>{disposed=true
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]=createSignal35(0)
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(Show24,{get when(){return visibleShortcut()
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(Show24,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
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(Show24,{get when(){return props.disabled
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(Show25,{get when(){return actions().length===0
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
- onCleanup22(shortcuts.dispose)
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(Show26,{get when(){return shortcuts.active()
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
- onCleanup22(unregisterCommands)
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
- onCleanup22(unregister)
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
- onCleanup23(release)
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]=createSignal36(false)
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
- onCleanup24(()=>props.onDetails(props.id,false))
6259
- return _$createComponent(Show27,{get when(){return _$memo(()=>!!(props.width===3&&props.icons.length===1))()&&!props.text
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]=createSignal37(3)
6300
- const [detail,setDetail]=createSignal37()
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(Show28,{get when(){return keys().length>0
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(Show28,{get when(){return details()
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
- onCleanup25(deactivate)
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(Show29,{when:toolbar,get children(){return _$createComponent(SidebarPinControl,{get id(){return id()
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]=createSignal38("")
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(Show30,{get when(){return model.filtered().length>0
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(Show30,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
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]=createSignal39("")
6535
- const [mode,setMode]=createSignal39("all")
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
- onCleanup26(deactivate)
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(Show31,{get when(){return props.item.run?.errorMessage
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(Show31,{get when(){return props.item.unavailable
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(Show31,{get when(){return _$memo(()=>props.item.status.type==="retry")()?props.item.status:undefined
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(Show31,{get when(){return _$memo(()=>!!idle())()&&!props.item.run?.errorMessage
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(Show32,{get when(){return startsGroup()
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(Show33,{get when(){return model.parentID()
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(Show33,{get when(){return model.filtered().length===0
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(Show34,{get when(){return _$memo(()=>!!props.setup)()&&(disabled()||failed())
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(Show35,{get when(){return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
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(Show36,{get when(){return props.view.rows.length>0
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(Show36,{get when(){return startsGroup()
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(Show37,{get when(){return state().available
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(Show37,{get when(){return state().error
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]=createSignal40("all")
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
- onCleanup27(deactivate)
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(Show38,{get when(){return unavailable()
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(Show38,{get when(){return native()
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(Show38,{get when(){return managed()?.guidance(props.sessionID).available
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(Show38,{get when(){return managed()?.missing(props.sessionID)
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
- onCleanup28(()=>props.interaction.setContentRoot(undefined))
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
- onCleanup29(()=>props.controller.deactivate(current))
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
- onCleanup30(()=>props.interaction.setTitleRoot(undefined))
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(Show39,{get when(){return props.preferences.showSessionTitle()
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(Show39,{get when(){return _$memo(()=>!!props.preferences.showSessionDate())()&&created()
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.2",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()
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]=createSignal41(true)
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]=createSignal42({})
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
- onCleanup31(()=>{active=false
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.2",hostContext)
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.2"
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.2")
7728
- const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.2"))
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.2",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
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.2")
7753
- const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.27.2"))
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.2",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
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.2",
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",