opencode-navigator 0.21.5 → 0.21.7
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 +10 -0
- package/README.md +5 -3
- package/dist/provider-limits.js +166 -134
- package/dist/tui.js +43 -38
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.21.7] - 2026-10-09
|
|
6
|
+
|
|
7
|
+
- Remove the vertical guide and its reserved gutter from Limits in both icon modes. Keep full-width quota scales, reset-left/remaining-right details, and one blank row between quota windows.
|
|
8
|
+
|
|
9
|
+
## [0.21.6] - 2026-10-09
|
|
10
|
+
|
|
11
|
+
- Refine Limits with a continuous muted guide, full-width thin-line quota scales, and reset-left/remaining-right details. Keep long reset text from overlapping the remaining value and preserve Text fallback, resize clipping, and existing controls.
|
|
12
|
+
|
|
5
13
|
## [0.21.5] - 2026-10-07
|
|
6
14
|
|
|
7
15
|
- Make automatic Limits refresh configurable in scoped Behavior settings and portable configuration, with a five-minute default and one-minute minimum. Keep manual Refresh and supported model/account switches immediate.
|
|
@@ -100,6 +108,8 @@
|
|
|
100
108
|
|
|
101
109
|
Earlier release notes are available on [GitHub Releases](https://github.com/St1ggy/opencode-navigator/releases).
|
|
102
110
|
|
|
111
|
+
[0.21.7]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.6...v0.21.7
|
|
112
|
+
[0.21.6]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.5...v0.21.6
|
|
103
113
|
[0.21.5]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.4...v0.21.5
|
|
104
114
|
[0.21.4]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.3...v0.21.4
|
|
105
115
|
[0.21.3]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.2...v0.21.3
|
package/README.md
CHANGED
|
@@ -432,9 +432,11 @@ Codex account** and **Unlink Codex account** for the outdated manual association
|
|
|
432
432
|
bindings are reused; conflicting bindings remain isolated until a deliberate relink.
|
|
433
433
|
|
|
434
434
|
Limits starts with **[Provider name] Model name · variant**. Activate the model or
|
|
435
|
-
variant with the mouse or keyboard to open OpenCode's native selector.
|
|
436
|
-
|
|
437
|
-
|
|
435
|
+
variant with the mouse or keyboard to open OpenCode's native selector. Quota
|
|
436
|
+
windows have one blank row between them, without a vertical guide or gutter.
|
|
437
|
+
Each window uses two compact rows: a full-width adaptive
|
|
438
|
+
thin-line scale, then muted reset time on the left and remaining headroom aligned
|
|
439
|
+
to the right. The remaining value keeps its own space; long reset text is clipped.
|
|
438
440
|
Both rows stay within the sidebar's padding when it resizes. Healthy views omit
|
|
439
441
|
account IDs, technical scope/window-duration suffixes, source explanations, and update timestamps. Account scope and native window durations remain in the data model;
|
|
440
442
|
durations describe provider quota windows, not time remaining until reset. Balances retain their native
|
package/dist/provider-limits.js
CHANGED
|
@@ -389,42 +389,56 @@ const [columns,setColumns]=createSignal4(0)
|
|
|
389
389
|
const view=()=>quotaPresentation(props.window)
|
|
390
390
|
const scale=()=>{const ratio=view().ratio
|
|
391
391
|
if(ratio===undefined)
|
|
392
|
-
return "
|
|
393
|
-
const width=
|
|
392
|
+
return "Scale unknown"
|
|
393
|
+
const width=columns()
|
|
394
394
|
const filled=Math.round(ratio*width)
|
|
395
395
|
const symbols=icons.style()==="text"?["=","-"]:["\u2501","\u2500"]
|
|
396
|
-
return
|
|
396
|
+
return symbols[0].repeat(filled) + symbols[1].repeat(width-filled)
|
|
397
397
|
}
|
|
398
|
-
|
|
398
|
+
const valueWidth=()=>Math.min(columns(),Bun.stringWidth(view().value))
|
|
399
|
+
const gap=()=>columns()>valueWidth()?1:0
|
|
400
|
+
const resetWidth=()=>Math.max(0,columns()-valueWidth()-gap())
|
|
401
|
+
return(()=>{var _el$=_$createElement("box"),_el$2=_$createElement("text"),_el$3=_$createElement("box"),_el$4=_$createElement("text"),_el$5=_$createElement("text")
|
|
399
402
|
_$insertNode(_el$,_el$2)
|
|
400
|
-
_$insertNode(_el$,_el$
|
|
403
|
+
_$insertNode(_el$,_el$3)
|
|
401
404
|
_$setProp(_el$,"width","100%")
|
|
402
405
|
_$setProp(_el$,"minWidth",0)
|
|
403
406
|
_$setProp(_el$,"flexShrink",1)
|
|
407
|
+
_$setProp(_el$,"height",2)
|
|
404
408
|
_$setProp(_el$,"overflow","hidden")
|
|
405
409
|
_$setProp(_el$,"onSizeChange",function(){setColumns(this.width)
|
|
406
410
|
})
|
|
407
|
-
_$insertNode(_el$2,_el$3)
|
|
408
411
|
_$setProp(_el$2,"width","100%")
|
|
409
412
|
_$setProp(_el$2,"minWidth",0)
|
|
410
413
|
_$setProp(_el$2,"height",1)
|
|
411
414
|
_$setProp(_el$2,"wrapMode","none")
|
|
412
415
|
_$setProp(_el$2,"truncate",true)
|
|
413
|
-
_$insert(_el$
|
|
414
|
-
_$
|
|
415
|
-
_$
|
|
416
|
+
_$insert(_el$2,scale)
|
|
417
|
+
_$insertNode(_el$3,_el$4)
|
|
418
|
+
_$insertNode(_el$3,_el$5)
|
|
419
|
+
_$setProp(_el$3,"width","100%")
|
|
420
|
+
_$setProp(_el$3,"minWidth",0)
|
|
421
|
+
_$setProp(_el$3,"height",1)
|
|
422
|
+
_$setProp(_el$3,"flexDirection","row")
|
|
423
|
+
_$setProp(_el$3,"overflow","hidden")
|
|
416
424
|
_$setProp(_el$4,"minWidth",0)
|
|
417
425
|
_$setProp(_el$4,"height",1)
|
|
418
426
|
_$setProp(_el$4,"wrapMode","none")
|
|
419
427
|
_$setProp(_el$4,"truncate",true)
|
|
420
428
|
_$insert(_el$4,()=>view().reset)
|
|
421
|
-
_$
|
|
422
|
-
|
|
429
|
+
_$setProp(_el$5,"height",1)
|
|
430
|
+
_$setProp(_el$5,"wrapMode","none")
|
|
431
|
+
_$setProp(_el$5,"truncate",true)
|
|
432
|
+
_$insert(_el$5,()=>view().value)
|
|
433
|
+
_$effect((_p$)=>{var _v$=props.api.theme.current.textMuted,_v$2=resetWidth(),_v$3=props.api.theme.current.textMuted,_v$4=valueWidth(),_v$5=gap(),_v$6=props.api.theme.current.text
|
|
423
434
|
_v$!==_p$.e&&(_p$.e=_$setProp(_el$2,"fg",_v$,_p$.e))
|
|
424
|
-
_v$2!==_p$.t&&(_p$.t=_$setProp(_el$
|
|
435
|
+
_v$2!==_p$.t&&(_p$.t=_$setProp(_el$4,"width",_v$2,_p$.t))
|
|
425
436
|
_v$3!==_p$.a&&(_p$.a=_$setProp(_el$4,"fg",_v$3,_p$.a))
|
|
437
|
+
_v$4!==_p$.o&&(_p$.o=_$setProp(_el$5,"width",_v$4,_p$.o))
|
|
438
|
+
_v$5!==_p$.i&&(_p$.i=_$setProp(_el$5,"marginLeft",_v$5,_p$.i))
|
|
439
|
+
_v$6!==_p$.n&&(_p$.n=_$setProp(_el$5,"fg",_v$6,_p$.n))
|
|
426
440
|
return _p$
|
|
427
|
-
},{e:undefined,t:undefined,a:undefined
|
|
441
|
+
},{e:undefined,t:undefined,a:undefined,o:undefined,i:undefined,n:undefined
|
|
428
442
|
})
|
|
429
443
|
return _el$
|
|
430
444
|
})()
|
|
@@ -509,8 +523,8 @@ else if(option.value.startsWith("credit:"))
|
|
|
509
523
|
actions.review(option.value.slice("credit:".length)||undefined)
|
|
510
524
|
}})
|
|
511
525
|
}
|
|
512
|
-
import {createComponent as _$
|
|
513
|
-
import {For} from "solid-js"
|
|
526
|
+
import {createComponent as _$createComponent5} from "@opentui/solid"
|
|
527
|
+
import {For as For2,Show} from "solid-js"
|
|
514
528
|
import {effect as _$effect2} from "@opentui/solid"
|
|
515
529
|
import {insertNode as _$insertNode2} from "@opentui/solid"
|
|
516
530
|
import {insert as _$insert2} from "@opentui/solid"
|
|
@@ -535,12 +549,30 @@ return _p$
|
|
|
535
549
|
return _el$
|
|
536
550
|
})()
|
|
537
551
|
}
|
|
538
|
-
|
|
552
|
+
import {insert as _$insert3} from "@opentui/solid"
|
|
553
|
+
import {createComponent as _$createComponent4} from "@opentui/solid"
|
|
554
|
+
import {setProp as _$setProp3} from "@opentui/solid"
|
|
555
|
+
import {createElement as _$createElement3} from "@opentui/solid"
|
|
556
|
+
import {For} from "solid-js"
|
|
557
|
+
function QuotaWindowGroup(props){return(()=>{var _el$=_$createElement3("box")
|
|
558
|
+
_$setProp3(_el$,"width","100%")
|
|
559
|
+
_$setProp3(_el$,"minWidth",0)
|
|
560
|
+
_$setProp3(_el$,"gap",1)
|
|
561
|
+
_$setProp3(_el$,"overflow","hidden")
|
|
562
|
+
_$insert3(_el$,_$createComponent4(For,{get each(){return props.windows
|
|
539
563
|
},children:(window)=>_$createComponent4(QuotaWindowRow,{get api(){return props.api
|
|
540
564
|
},window
|
|
541
565
|
})
|
|
542
|
-
})
|
|
543
|
-
|
|
566
|
+
}))
|
|
567
|
+
return _el$
|
|
568
|
+
})()
|
|
569
|
+
}
|
|
570
|
+
function QuotaSnapshotRows(props){return [_$createComponent5(Show,{get when(){return props.snapshot.windows.length>0
|
|
571
|
+
},get children(){return _$createComponent5(QuotaWindowGroup,{get api(){return props.api
|
|
572
|
+
},get windows(){return props.snapshot.windows
|
|
573
|
+
}})
|
|
574
|
+
}}),_$createComponent5(For2,{get each(){return props.snapshot.balances
|
|
575
|
+
},children:(balance)=>_$createComponent5(QuotaBalanceRow,{get api(){return props.api
|
|
544
576
|
},balance
|
|
545
577
|
})
|
|
546
578
|
})]
|
|
@@ -590,31 +622,31 @@ function providerQuotaCapability(id,canonical){const key=aliases[canonical??id]?
|
|
|
590
622
|
const found=PROVIDER_QUOTA_CAPABILITIES.find((entry)=>entry.id===key)
|
|
591
623
|
return found??{id,name:id,sources:[],reason:"No independent quota/balance API or native counter semantics are verified for this provider.",documentation:["https://opencode.ai/docs/providers/"]
|
|
592
624
|
}}
|
|
593
|
-
import {insert as _$
|
|
625
|
+
import {insert as _$insert9} from "@opentui/solid"
|
|
594
626
|
import {mergeProps as _$mergeProps} from "@opentui/solid"
|
|
595
|
-
import {setProp as _$
|
|
627
|
+
import {setProp as _$setProp10} from "@opentui/solid"
|
|
596
628
|
import {effect as _$effect9} from "@opentui/solid"
|
|
597
629
|
import {createTextNode as _$createTextNode4} from "@opentui/solid"
|
|
598
630
|
import {insertNode as _$insertNode6} from "@opentui/solid"
|
|
599
|
-
import {createElement as _$
|
|
631
|
+
import {createElement as _$createElement10} from "@opentui/solid"
|
|
600
632
|
import {memo as _$memo7} from "@opentui/solid"
|
|
601
|
-
import {createComponent as _$
|
|
602
|
-
import {Show as
|
|
633
|
+
import {createComponent as _$createComponent13} from "@opentui/solid"
|
|
634
|
+
import {Show as Show7} from "solid-js"
|
|
603
635
|
import {useDialogs as useDialogs3} from "./tui.js"
|
|
604
|
-
import {setProp as _$
|
|
636
|
+
import {setProp as _$setProp5} from "@opentui/solid"
|
|
605
637
|
import {effect as _$effect4} from "@opentui/solid"
|
|
606
638
|
import {createTextNode as _$createTextNode} from "@opentui/solid"
|
|
607
639
|
import {insertNode as _$insertNode3} from "@opentui/solid"
|
|
608
|
-
import {createElement as _$
|
|
640
|
+
import {createElement as _$createElement5} from "@opentui/solid"
|
|
609
641
|
import {memo as _$memo2} from "@opentui/solid"
|
|
610
|
-
import {createComponent as _$
|
|
611
|
-
import {Show} from "solid-js"
|
|
642
|
+
import {createComponent as _$createComponent7} from "@opentui/solid"
|
|
643
|
+
import {Show as Show2} from "solid-js"
|
|
612
644
|
import {useDialogs as useDialogs2,useIcons as useIcons2} from "./tui.js"
|
|
613
|
-
import {createComponent as _$
|
|
645
|
+
import {createComponent as _$createComponent6} from "@opentui/solid"
|
|
614
646
|
import {effect as _$effect3} from "@opentui/solid"
|
|
615
|
-
import {insert as _$
|
|
616
|
-
import {setProp as _$
|
|
617
|
-
import {createElement as _$
|
|
647
|
+
import {insert as _$insert4} from "@opentui/solid"
|
|
648
|
+
import {setProp as _$setProp4} from "@opentui/solid"
|
|
649
|
+
import {createElement as _$createElement4} from "@opentui/solid"
|
|
618
650
|
import {SelectionBox} from "./tui.js"
|
|
619
651
|
import {createSignal as createSignal5,onCleanup} from "solid-js"
|
|
620
652
|
function sidebarInteractiveColors(theme,state,normalColor=theme.text,mode="row"){const highlighted=!state.disabled&&(state.focused||mode==="control"&&state.hovered)
|
|
@@ -650,7 +682,7 @@ return true
|
|
|
650
682
|
}}}
|
|
651
683
|
function LimitsAction(props){const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>props.position,disabled:()=>props.disabled===true,activate:props.onActivate
|
|
652
684
|
},()=>props.api.theme.current.text,props.inline?"control":"row")
|
|
653
|
-
return _$
|
|
685
|
+
return _$createComponent6(SelectionBox,{ref:(node)=>item.ref(node),get id(){return props.id
|
|
654
686
|
},height:1,get flexGrow(){return props.flexGrow
|
|
655
687
|
},get maxWidth(){return props.maxWidth
|
|
656
688
|
},flexShrink:1,minWidth:3,get backgroundColor(){return item.backgroundColor()
|
|
@@ -658,11 +690,11 @@ return _$createComponent5(SelectionBox,{ref:(node)=>item.ref(node),get id(){retu
|
|
|
658
690
|
},get onMouseOut(){return item.onMouseOut
|
|
659
691
|
},onMouseUp:(event)=>{event.stopPropagation()
|
|
660
692
|
item.activate(event)
|
|
661
|
-
},get children(){var _el$=_$
|
|
662
|
-
_$
|
|
663
|
-
_$
|
|
664
|
-
_$
|
|
665
|
-
_$effect3((_$p)=>_$
|
|
693
|
+
},get children(){var _el$=_$createElement4("text")
|
|
694
|
+
_$setProp4(_el$,"wrapMode","none")
|
|
695
|
+
_$setProp4(_el$,"truncate",true)
|
|
696
|
+
_$insert4(_el$,()=>props.label)
|
|
697
|
+
_$effect3((_$p)=>_$setProp4(_el$,"fg",item.foregroundColor(),_$p))
|
|
666
698
|
return _el$
|
|
667
699
|
}})
|
|
668
700
|
}
|
|
@@ -671,33 +703,33 @@ const model=()=>props.controller.current().model
|
|
|
671
703
|
const accountLink=createCodexAccountLink({api:props.api,preferences:props.preferences,adapter:props.codex,model,dialogs:useDialogs2(props.api)
|
|
672
704
|
})
|
|
673
705
|
const eligible=()=>(props.model.providerID==="openai"||props.model.hostConnection?.providerID==="openai")&&props.model.hostConnection?.method!=="api"
|
|
674
|
-
const action=(id,row,label,onActivate)=>_$
|
|
706
|
+
const action=(id,row,label,onActivate)=>_$createComponent7(LimitsAction,{get api(){return props.api
|
|
675
707
|
},get interaction(){return props.interaction
|
|
676
708
|
},id:`${PLUGIN_ID}.limits.${id}`,get position(){return{section:props.navigationSection,row,column:0
|
|
677
709
|
}},label,onActivate,get disabled(){return accountLink.busy()
|
|
678
710
|
}})
|
|
679
|
-
return _$
|
|
680
|
-
},get children(){return [_$
|
|
681
|
-
},get children(){return [(()=>{var _el$=_$
|
|
711
|
+
return _$createComponent7(Show2,{get when(){return eligible()
|
|
712
|
+
},get children(){return [_$createComponent7(Show2,{get when(){return _$memo2(()=>!!!props.model.accountID)()&&(!props.model.hostConnection||props.model.hostConnection.status==="ready")
|
|
713
|
+
},get children(){return [(()=>{var _el$=_$createElement5("text")
|
|
682
714
|
_$insertNode3(_el$,_$createTextNode(`Link the matching Codex account once for this connection`))
|
|
683
|
-
_$effect4((_$p)=>_$
|
|
715
|
+
_$effect4((_$p)=>_$setProp5(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
684
716
|
return _el$
|
|
685
717
|
})(),_$memo2(()=>action("link",2,`${icons.icon("scope")} Link Codex CLI account`,()=>void accountLink.link()))]
|
|
686
|
-
}}),_$
|
|
687
|
-
},get children(){return [_$memo2(()=>action("unlink",4,`${icons.icon("close")} Unlink Codex account`,()=>props.preferences.setCodexConnectionBinding(props.model.providerID,props.model.hostConnection?.id))),_$
|
|
718
|
+
}}),_$createComponent7(Show2,{get when(){return _$memo2(()=>!!(props.model.accountID&&props.model.accountSource!=="host"))()&&props.controller.snapshot()?.availability==="unauthenticated"
|
|
719
|
+
},get children(){return [_$memo2(()=>action("unlink",4,`${icons.icon("close")} Unlink Codex account`,()=>props.preferences.setCodexConnectionBinding(props.model.providerID,props.model.hostConnection?.id))),_$createComponent7(Show2,{get when(){return props.controller.snapshot()?.availability==="unauthenticated"
|
|
688
720
|
},get children(){return action("relink",5,`${icons.icon("scope")} Relink Codex account`,()=>void accountLink.link())
|
|
689
721
|
}})]
|
|
690
722
|
}})]
|
|
691
723
|
}})
|
|
692
724
|
}
|
|
693
|
-
import {createComponent as _$
|
|
694
|
-
import {Show as
|
|
725
|
+
import {createComponent as _$createComponent9} from "@opentui/solid"
|
|
726
|
+
import {Show as Show3} from "solid-js"
|
|
695
727
|
import {useIcons as useIcons3} from "./tui.js"
|
|
696
|
-
import {createComponent as _$
|
|
728
|
+
import {createComponent as _$createComponent8} from "@opentui/solid"
|
|
697
729
|
import {effect as _$effect5} from "@opentui/solid"
|
|
698
|
-
import {insert as _$
|
|
699
|
-
import {setProp as _$
|
|
700
|
-
import {createElement as _$
|
|
730
|
+
import {insert as _$insert5} from "@opentui/solid"
|
|
731
|
+
import {setProp as _$setProp6} from "@opentui/solid"
|
|
732
|
+
import {createElement as _$createElement6} from "@opentui/solid"
|
|
701
733
|
import {memo as _$memo3} from "@opentui/solid"
|
|
702
734
|
import {createEffect as createEffect2,createSignal as createSignal6,on} from "solid-js"
|
|
703
735
|
import {SelectionBox as SelectionBox2} from "./tui.js"
|
|
@@ -721,7 +753,7 @@ const control=useSidebarItem(props.api,props.interaction,{id:props.action.id,pos
|
|
|
721
753
|
},()=>props.api.theme.current.accent,"control")
|
|
722
754
|
createEffect2(on(()=>[props.action.label(),props.resetWidth],()=>setWidth(undefined)))
|
|
723
755
|
const label=()=>width()===undefined||props.iconOnly?props.action.label():truncateEnd(props.action.label(),width()-2)
|
|
724
|
-
return _$
|
|
756
|
+
return _$createComponent8(SelectionBox2,{ref:(node)=>control.ref(node),get id(){return props.action.id
|
|
725
757
|
},get iconOnly(){return props.iconOnly
|
|
726
758
|
},get width(){return props.iconOnly?3:undefined
|
|
727
759
|
},get flexShrink(){return props.iconOnly?0:1
|
|
@@ -732,42 +764,42 @@ return _$createComponent7(SelectionBox2,{ref:(node)=>control.ref(node),get id(){
|
|
|
732
764
|
},get onMouseOut(){return control.onMouseOut
|
|
733
765
|
},onMouseDown:(event)=>event.stopPropagation(),onMouseUp:(event)=>{event.stopPropagation()
|
|
734
766
|
control.activate(event)
|
|
735
|
-
},get children(){var _el$=_$
|
|
736
|
-
_$
|
|
737
|
-
_$
|
|
738
|
-
_$
|
|
739
|
-
_$effect5((_$p)=>_$
|
|
767
|
+
},get children(){var _el$=_$createElement6("text")
|
|
768
|
+
_$setProp6(_el$,"wrapMode","none")
|
|
769
|
+
_$setProp6(_el$,"height",1)
|
|
770
|
+
_$insert5(_el$,label)
|
|
771
|
+
_$effect5((_$p)=>_$setProp6(_el$,"fg",control.foregroundColor(),_$p))
|
|
740
772
|
return _el$
|
|
741
773
|
}})
|
|
742
774
|
}
|
|
743
775
|
function LimitsHeaderControls(props){const icons=useIcons3()
|
|
744
|
-
return [_$
|
|
745
|
-
},get children(){return _$
|
|
776
|
+
return [_$createComponent9(Show3,{get when(){return props.credits
|
|
777
|
+
},get children(){return _$createComponent9(SectionHeaderControl,{get api(){return props.api
|
|
746
778
|
},get interaction(){return props.interaction
|
|
747
779
|
},get position(){return{section:props.navigationSection,row:0,column:1
|
|
748
780
|
}},get action(){return{id:`${PLUGIN_ID}.limits.credits`,label:()=>"Banked Resets",disabled:()=>false,onActivate:props.onCredits
|
|
749
781
|
}}})
|
|
750
|
-
}}),_$
|
|
782
|
+
}}),_$createComponent9(SectionHeaderControl,{get api(){return props.api
|
|
751
783
|
},get interaction(){return props.interaction
|
|
752
784
|
},iconOnly:true,get position(){return{section:props.navigationSection,row:0,column:2
|
|
753
785
|
}},get action(){return{id:`${PLUGIN_ID}.limits.refresh`,label:()=>icons.icon(props.refreshing?"pending":"retry"),disabled:()=>props.refreshing||!props.canRefresh,onActivate:props.onRefresh
|
|
754
786
|
}}})]
|
|
755
787
|
}
|
|
756
|
-
import {insert as _$
|
|
788
|
+
import {insert as _$insert6} from "@opentui/solid"
|
|
757
789
|
import {effect as _$effect6} from "@opentui/solid"
|
|
758
790
|
import {createTextNode as _$createTextNode2} from "@opentui/solid"
|
|
759
791
|
import {insertNode as _$insertNode4} from "@opentui/solid"
|
|
760
792
|
import {memo as _$memo4} from "@opentui/solid"
|
|
761
|
-
import {createComponent as _$
|
|
762
|
-
import {setProp as _$
|
|
763
|
-
import {createElement as _$
|
|
764
|
-
import {Show as
|
|
793
|
+
import {createComponent as _$createComponent10} from "@opentui/solid"
|
|
794
|
+
import {setProp as _$setProp7} from "@opentui/solid"
|
|
795
|
+
import {createElement as _$createElement7} from "@opentui/solid"
|
|
796
|
+
import {Show as Show4} from "solid-js"
|
|
765
797
|
function LimitsModelRow(props){const names=()=>props.selection?.names(props.model)??{provider:props.model.providerID,model:props.model.modelID
|
|
766
798
|
}
|
|
767
|
-
return(()=>{var _el$=_$
|
|
768
|
-
_$
|
|
769
|
-
_$
|
|
770
|
-
_$
|
|
799
|
+
return(()=>{var _el$=_$createElement7("box")
|
|
800
|
+
_$setProp7(_el$,"flexDirection","row")
|
|
801
|
+
_$setProp7(_el$,"minWidth",0)
|
|
802
|
+
_$insert6(_el$,_$createComponent10(LimitsAction,{get api(){return props.api
|
|
771
803
|
},get interaction(){return props.interaction
|
|
772
804
|
},inline:true,flexGrow:1,get maxWidth(){return Bun.stringWidth(`[${names().provider}] ${names().model}`) + 2
|
|
773
805
|
},id:`${PLUGIN_ID}.limits.model`,get position(){return{section:props.navigationSection,row:1,column:0
|
|
@@ -775,13 +807,13 @@ _$insert5(_el$,_$createComponent9(LimitsAction,{get api(){return props.api
|
|
|
775
807
|
},get disabled(){return !props.selection?.canOpen("model",props.model)
|
|
776
808
|
},onActivate:()=>props.selection?.open("model",props.model)
|
|
777
809
|
}),null)
|
|
778
|
-
_$
|
|
779
|
-
},get children(){return [(()=>{var _el$2=_$
|
|
810
|
+
_$insert6(_el$,_$createComponent10(Show4,{get when(){return props.model.variant||props.selection?.variants(props.model).length
|
|
811
|
+
},get children(){return [(()=>{var _el$2=_$createElement7("text"),_el$3=_$createTextNode2(` \xB7 `)
|
|
780
812
|
_$insertNode4(_el$2,_el$3)
|
|
781
|
-
_$
|
|
782
|
-
_$effect6((_$p)=>_$
|
|
813
|
+
_$setProp7(_el$2,"flexShrink",0)
|
|
814
|
+
_$effect6((_$p)=>_$setProp7(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
783
815
|
return _el$2
|
|
784
|
-
})(),_$
|
|
816
|
+
})(),_$createComponent10(LimitsAction,{get api(){return props.api
|
|
785
817
|
},get interaction(){return props.interaction
|
|
786
818
|
},inline:true,id:`${PLUGIN_ID}.limits.variant`,get position(){return{section:props.navigationSection,row:1,column:1
|
|
787
819
|
}},get label(){return props.model.variant??"Default"
|
|
@@ -793,12 +825,12 @@ return _el$
|
|
|
793
825
|
})()
|
|
794
826
|
}
|
|
795
827
|
import {effect as _$effect7} from "@opentui/solid"
|
|
796
|
-
import {insert as _$
|
|
797
|
-
import {setProp as _$
|
|
798
|
-
import {createElement as _$
|
|
799
|
-
import {createComponent as _$
|
|
828
|
+
import {insert as _$insert7} from "@opentui/solid"
|
|
829
|
+
import {setProp as _$setProp8} from "@opentui/solid"
|
|
830
|
+
import {createElement as _$createElement8} from "@opentui/solid"
|
|
831
|
+
import {createComponent as _$createComponent11} from "@opentui/solid"
|
|
800
832
|
import {memo as _$memo5} from "@opentui/solid"
|
|
801
|
-
import {Show as
|
|
833
|
+
import {Show as Show5} from "solid-js"
|
|
802
834
|
function LimitsStatus(props){const message=()=>{const model=props.controller.current().model
|
|
803
835
|
const connection=model?.hostConnection
|
|
804
836
|
const snapshot=props.controller.snapshot()
|
|
@@ -828,24 +860,24 @@ if(availability==="stale")
|
|
|
828
860
|
return "Stale provider data \xB7 refresh to update"
|
|
829
861
|
return `Updated ${new Date(snapshot.fetchedAt).toLocaleTimeString()}`
|
|
830
862
|
}
|
|
831
|
-
return _$
|
|
832
|
-
},children:(value)=>(()=>{var _el$=_$
|
|
833
|
-
_$
|
|
834
|
-
_$
|
|
835
|
-
_$effect7((_$p)=>_$
|
|
863
|
+
return _$createComponent11(Show5,{get when(){return _$memo5(()=>!!props.controller.current().model)()&&message()
|
|
864
|
+
},children:(value)=>(()=>{var _el$=_$createElement8("text")
|
|
865
|
+
_$setProp8(_el$,"wrapMode","word")
|
|
866
|
+
_$insert7(_el$,value)
|
|
867
|
+
_$effect7((_$p)=>_$setProp8(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
836
868
|
return _el$
|
|
837
869
|
})()
|
|
838
870
|
})
|
|
839
871
|
}
|
|
840
|
-
import {createComponent as _$
|
|
872
|
+
import {createComponent as _$createComponent12} from "@opentui/solid"
|
|
841
873
|
import {effect as _$effect8} from "@opentui/solid"
|
|
842
874
|
import {createTextNode as _$createTextNode3} from "@opentui/solid"
|
|
843
875
|
import {insertNode as _$insertNode5} from "@opentui/solid"
|
|
844
876
|
import {memo as _$memo6} from "@opentui/solid"
|
|
845
|
-
import {insert as _$
|
|
846
|
-
import {setProp as _$
|
|
847
|
-
import {createElement as _$
|
|
848
|
-
import {Show as
|
|
877
|
+
import {insert as _$insert8} from "@opentui/solid"
|
|
878
|
+
import {setProp as _$setProp9} from "@opentui/solid"
|
|
879
|
+
import {createElement as _$createElement9} from "@opentui/solid"
|
|
880
|
+
import {Show as Show6,createSignal as createSignal7} from "solid-js"
|
|
849
881
|
import {SelectionBox as SelectionBox3,useIcons as useIcons4} from "./tui.js"
|
|
850
882
|
function Section(props){const icons=useIcons4()
|
|
851
883
|
const [headerWidth,setHeaderWidth]=createSignal7(0)
|
|
@@ -854,59 +886,59 @@ const theme=()=>props.api.theme.current
|
|
|
854
886
|
const item=useSidebarItem(props.api,props.interaction,{id:props.sectionId??`section.${props.title}`,position:()=>({section:props.navigationSection??0,row:0,column:0
|
|
855
887
|
}),activate:props.onToggle
|
|
856
888
|
})
|
|
857
|
-
return(()=>{var _el$=_$
|
|
858
|
-
_$
|
|
859
|
-
_$
|
|
889
|
+
return(()=>{var _el$=_$createElement9("box")
|
|
890
|
+
_$setProp9(_el$,"gap",1)
|
|
891
|
+
_$insert8(_el$,_$createComponent12(SelectionBox3,{ref:(node)=>item.ref(node),get id(){return props.sectionId
|
|
860
892
|
},flexDirection:"row",height:1,justifyContent:"space-between",gap:1,get backgroundColor(){return item.backgroundColor()
|
|
861
893
|
},get onMouseOver(){return item.onMouseOver
|
|
862
894
|
},get onMouseOut(){return item.onMouseOut
|
|
863
895
|
},onMouseDown:(event)=>item.activate(event),onSizeChange:function(){setHeaderWidth(this.width)
|
|
864
|
-
},get children(){return [(()=>{var _el$2=_$
|
|
896
|
+
},get children(){return [(()=>{var _el$2=_$createElement9("text"),_el$3=_$createElement9("span"),_el$4=_$createTextNode3(` `),_el$5=_$createElement9("span"),_el$6=_$createElement9("b")
|
|
865
897
|
_$insertNode5(_el$2,_el$3)
|
|
866
898
|
_$insertNode5(_el$2,_el$4)
|
|
867
899
|
_$insertNode5(_el$2,_el$5)
|
|
868
900
|
_$insertNode5(_el$2,_el$6)
|
|
869
|
-
_$
|
|
870
|
-
_$
|
|
871
|
-
_$
|
|
872
|
-
_$
|
|
901
|
+
_$setProp9(_el$2,"flexShrink",0)
|
|
902
|
+
_$setProp9(_el$2,"wrapMode","none")
|
|
903
|
+
_$insert8(_el$3,()=>icons.icon(props.open?"expanded":"collapsed"))
|
|
904
|
+
_$insert8(_el$5,(()=>{var _c$=_$memo6(()=>!!icon())
|
|
873
905
|
return()=>_c$()?`${icon()} `:""
|
|
874
906
|
})())
|
|
875
|
-
_$
|
|
907
|
+
_$insert8(_el$6,()=>props.title)
|
|
876
908
|
_$effect8((_p$)=>{var _v$=item.foregroundColor(),_v$2={fg:item.focused()?item.foregroundColor():theme().accent
|
|
877
909
|
},_v$3={fg:item.focused()?item.foregroundColor():theme().accent
|
|
878
910
|
}
|
|
879
|
-
_v$!==_p$.e&&(_p$.e=_$
|
|
880
|
-
_v$2!==_p$.t&&(_p$.t=_$
|
|
881
|
-
_v$3!==_p$.a&&(_p$.a=_$
|
|
911
|
+
_v$!==_p$.e&&(_p$.e=_$setProp9(_el$2,"fg",_v$,_p$.e))
|
|
912
|
+
_v$2!==_p$.t&&(_p$.t=_$setProp9(_el$3,"style",_v$2,_p$.t))
|
|
913
|
+
_v$3!==_p$.a&&(_p$.a=_$setProp9(_el$5,"style",_v$3,_p$.a))
|
|
882
914
|
return _p$
|
|
883
915
|
},{e:undefined,t:undefined,a:undefined
|
|
884
916
|
})
|
|
885
917
|
return _el$2
|
|
886
|
-
})(),(()=>{var _el$7=_$
|
|
887
|
-
_$
|
|
888
|
-
_$
|
|
889
|
-
_$
|
|
890
|
-
_$
|
|
891
|
-
_$
|
|
892
|
-
_$
|
|
893
|
-
_$
|
|
894
|
-
},children:(action)=>_$
|
|
918
|
+
})(),(()=>{var _el$7=_$createElement9("box")
|
|
919
|
+
_$setProp9(_el$7,"flexDirection","row")
|
|
920
|
+
_$setProp9(_el$7,"gap",1)
|
|
921
|
+
_$setProp9(_el$7,"flexGrow",1)
|
|
922
|
+
_$setProp9(_el$7,"minWidth",0)
|
|
923
|
+
_$setProp9(_el$7,"justifyContent","flex-end")
|
|
924
|
+
_$insert8(_el$7,()=>props.headerControls,null)
|
|
925
|
+
_$insert8(_el$7,_$createComponent12(Show6,{get when(){return props.headerAction
|
|
926
|
+
},children:(action)=>_$createComponent12(SectionHeaderControl,{get api(){return props.api
|
|
895
927
|
},get interaction(){return props.interaction
|
|
896
928
|
},get action(){return action()
|
|
897
929
|
},get resetWidth(){return headerWidth()
|
|
898
930
|
},get position(){return{section:props.navigationSection??0,row:0,column:1
|
|
899
931
|
}}})
|
|
900
932
|
}),null)
|
|
901
|
-
_$
|
|
902
|
-
},get children(){var _el$8=_$
|
|
903
|
-
_$
|
|
904
|
-
_$
|
|
905
|
-
_$
|
|
906
|
-
_$
|
|
933
|
+
_$insert8(_el$7,_$createComponent12(Show6,{get when(){return props.summary
|
|
934
|
+
},get children(){var _el$8=_$createElement9("text")
|
|
935
|
+
_$setProp9(_el$8,"wrapMode","none")
|
|
936
|
+
_$setProp9(_el$8,"truncate",true)
|
|
937
|
+
_$setProp9(_el$8,"height",1)
|
|
938
|
+
_$insert8(_el$8,()=>props.summary)
|
|
907
939
|
_$effect8((_p$)=>{var _v$4=item.focused()?item.foregroundColor():theme().textMuted,_v$5=props.headerAction?0:1
|
|
908
|
-
_v$4!==_p$.e&&(_p$.e=_$
|
|
909
|
-
_v$5!==_p$.t&&(_p$.t=_$
|
|
940
|
+
_v$4!==_p$.e&&(_p$.e=_$setProp9(_el$8,"fg",_v$4,_p$.e))
|
|
941
|
+
_v$5!==_p$.t&&(_p$.t=_$setProp9(_el$8,"flexShrink",_v$5,_p$.t))
|
|
910
942
|
return _p$
|
|
911
943
|
},{e:undefined,t:undefined
|
|
912
944
|
})
|
|
@@ -915,7 +947,7 @@ return _el$8
|
|
|
915
947
|
return _el$7
|
|
916
948
|
})()]
|
|
917
949
|
}}),null)
|
|
918
|
-
_$
|
|
950
|
+
_$insert8(_el$,_$createComponent12(Show6,{get when(){return props.open
|
|
919
951
|
},get children(){return props.children
|
|
920
952
|
}}),null)
|
|
921
953
|
return _el$
|
|
@@ -926,17 +958,17 @@ const model=()=>props.controller.current().model
|
|
|
926
958
|
const snapshot=props.controller.snapshot
|
|
927
959
|
function openCredits(){const selected=model()
|
|
928
960
|
if(selected)
|
|
929
|
-
dialogs.open(()=>_$
|
|
961
|
+
dialogs.open(()=>_$createComponent13(ResetCreditDialog,{get api(){return props.api
|
|
930
962
|
},get preferences(){return props.preferences
|
|
931
963
|
},get controller(){return props.controller
|
|
932
964
|
},get adapter(){return props.codex
|
|
933
965
|
},model:selected
|
|
934
966
|
}))
|
|
935
967
|
}
|
|
936
|
-
return _$
|
|
968
|
+
return _$createComponent13(Section,{get api(){return props.api
|
|
937
969
|
},get interaction(){return props.interaction
|
|
938
970
|
},sectionId:`${PLUGIN_ID}.section.limits`,get navigationSection(){return props.navigationSection
|
|
939
|
-
},title:"LIMITS",section:"limits",summary:"",get headerControls(){return _$
|
|
971
|
+
},title:"LIMITS",section:"limits",summary:"",get headerControls(){return _$createComponent13(LimitsHeaderControls,{get api(){return props.api
|
|
940
972
|
},get interaction(){return props.interaction
|
|
941
973
|
},get navigationSection(){return props.navigationSection
|
|
942
974
|
},get credits(){return(snapshot()?.bankedResets?.availableCount??0)>0||Boolean(props.preferences.pendingResetAttempt())
|
|
@@ -945,28 +977,28 @@ return _$createComponent12(Section,{get api(){return props.api
|
|
|
945
977
|
},onCredits:openCredits,onRefresh:()=>void props.controller.refresh(true)
|
|
946
978
|
})
|
|
947
979
|
},get open(){return props.preferences.expanded().limits
|
|
948
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("limits"),get children(){return _$
|
|
949
|
-
},get fallback(){return(()=>{var _el$=_$
|
|
980
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("limits"),get children(){return _$createComponent13(Show7,{get when(){return model()
|
|
981
|
+
},get fallback(){return(()=>{var _el$=_$createElement10("text")
|
|
950
982
|
_$insertNode6(_el$,_$createTextNode4(`Open a session to view model limits`))
|
|
951
|
-
_$effect9((_$p)=>_$
|
|
983
|
+
_$effect9((_$p)=>_$setProp10(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
952
984
|
return _el$
|
|
953
985
|
})()
|
|
954
|
-
},children:(selected)=>(()=>{var _el$3=_$
|
|
955
|
-
_$
|
|
956
|
-
_$
|
|
957
|
-
_$
|
|
958
|
-
_$
|
|
959
|
-
_$
|
|
986
|
+
},children:(selected)=>(()=>{var _el$3=_$createElement10("box")
|
|
987
|
+
_$setProp10(_el$3,"width","100%")
|
|
988
|
+
_$setProp10(_el$3,"minWidth",0)
|
|
989
|
+
_$setProp10(_el$3,"flexShrink",1)
|
|
990
|
+
_$setProp10(_el$3,"overflow","hidden")
|
|
991
|
+
_$insert9(_el$3,_$createComponent13(LimitsModelRow,_$mergeProps(props,{get model(){return selected()
|
|
960
992
|
},get selection(){return props.modelSelection
|
|
961
993
|
}})),null)
|
|
962
|
-
_$
|
|
994
|
+
_$insert9(_el$3,_$createComponent13(CodexAccountControls,_$mergeProps(props,{get model(){return selected()
|
|
963
995
|
}})),null)
|
|
964
|
-
_$
|
|
965
|
-
},children:(quota)=>_$
|
|
996
|
+
_$insert9(_el$3,_$createComponent13(Show7,{get when(){return _$memo7(()=>!!(snapshot()&&["ready","stale"].includes(snapshot().availability)))()?snapshot():undefined
|
|
997
|
+
},children:(quota)=>_$createComponent13(QuotaSnapshotRows,{get api(){return props.api
|
|
966
998
|
},get snapshot(){return quota()
|
|
967
999
|
}})
|
|
968
1000
|
}),null)
|
|
969
|
-
_$
|
|
1001
|
+
_$insert9(_el$3,_$createComponent13(LimitsStatus,{get api(){return props.api
|
|
970
1002
|
},get controller(){return props.controller
|
|
971
1003
|
}}),null)
|
|
972
1004
|
return _el$3
|
package/dist/tui.js
CHANGED
|
@@ -3,7 +3,7 @@ import {insert as _$insert,setProp as _$setProp,createElement as _$createElement
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
import {createSignal as createSignal2,createSignal,createEffect,onCleanup,createContext,useContext,createContext as createContext2,createSignal as createSignal3,useContext as useContext2,createEffect as createEffect2,splitProps,untrack,splitProps as splitProps2,For,createEffect as createEffect3,onCleanup as onCleanup2,createEffect as createEffect4,Show,splitProps as splitProps3,createSignal as createSignal4,createSignal as createSignal5,createSignal as createSignal6,onCleanup as onCleanup3,batch,createSignal as createSignal8,createSignal as createSignal7,createEffect as createEffect5,createSignal as createSignal9,onCleanup as onCleanup4,createSignal as createSignal10,createSignal as createSignal11,Index,createSignal as createSignal12,onCleanup as onCleanup5,createEffect as createEffect7,onCleanup as onCleanup7,batch as batch2,createEffect as createEffect6,createMemo,createSignal as createSignal13,onCleanup as onCleanup6,onMount,For as For2,For as For3,Show as Show2,createMemo as createMemo2,Show as Show3,createSignal as createSignal14,onCleanup as onCleanup8,For as For4,For as For5,For as For8,createMemo as createMemo4,onMount as onMount3,For as For7,createMemo as createMemo3,onMount as onMount2,Show as Show5,createEffect as createEffect8,createSignal as createSignal15,onCleanup as onCleanup9,Show as Show4,For as For6,For as For9,createEffect as createEffect9,createMemo as createMemo5,onCleanup as onCleanup10,createEffect as createEffect10,createMemo as createMemo6,untrack as untrack2,For as For10,createEffect as createEffect11,createMemo as createMemo8,onCleanup as onCleanup11,onMount as onMount4,createMemo as createMemo7,Show as Show6,onCleanup as onCleanup12,createEffect as createEffect12,onCleanup as onCleanup13,createSignal as createSignal16,createMemo as createMemo9,createEffect as createEffect13,onCleanup as onCleanup14,onMount as onMount5,onCleanup as onCleanup15,onMount as onMount6,For as For11,createSignal as createSignal17,createSignal as createSignal18,Show as Show7,createSignal as createSignal20,createSignal as createSignal19,onCleanup as onCleanup16,For as For12,Show as Show10,createMemo as createMemo11,createComputed,createMemo as createMemo10,createSignal as createSignal21,untrack as untrack3,Show as Show8,createComputed as createComputed2,untrack as untrack4,Show as Show9,createSignal as createSignal23,createEffect as createEffect14,createSignal as createSignal22,on,createMemo as createMemo13,createSignal as createSignal26,createMemo as createMemo12,For as For13,Show as Show14,Show as Show11,Show as Show12,createSignal as createSignal24,createContext as createContext3,useContext as useContext3,Show as Show13,createSignal as createSignal25,onCleanup as onCleanup17,Show as
|
|
6
|
+
import {createSignal as createSignal2,createSignal,createEffect,onCleanup,createContext,useContext,createContext as createContext2,createSignal as createSignal3,useContext as useContext2,createEffect as createEffect2,splitProps,untrack,splitProps as splitProps2,For,createEffect as createEffect3,onCleanup as onCleanup2,createEffect as createEffect4,Show,splitProps as splitProps3,createSignal as createSignal4,createSignal as createSignal5,createSignal as createSignal6,onCleanup as onCleanup3,batch,createSignal as createSignal8,createSignal as createSignal7,createEffect as createEffect5,createSignal as createSignal9,onCleanup as onCleanup4,createSignal as createSignal10,createSignal as createSignal11,Index,createSignal as createSignal12,onCleanup as onCleanup5,createEffect as createEffect7,onCleanup as onCleanup7,batch as batch2,createEffect as createEffect6,createMemo,createSignal as createSignal13,onCleanup as onCleanup6,onMount,For as For2,For as For3,Show as Show2,createMemo as createMemo2,Show as Show3,createSignal as createSignal14,onCleanup as onCleanup8,For as For4,For as For5,For as For8,createMemo as createMemo4,onMount as onMount3,For as For7,createMemo as createMemo3,onMount as onMount2,Show as Show5,createEffect as createEffect8,createSignal as createSignal15,onCleanup as onCleanup9,Show as Show4,For as For6,For as For9,createEffect as createEffect9,createMemo as createMemo5,onCleanup as onCleanup10,createEffect as createEffect10,createMemo as createMemo6,untrack as untrack2,For as For10,createEffect as createEffect11,createMemo as createMemo8,onCleanup as onCleanup11,onMount as onMount4,createMemo as createMemo7,Show as Show6,onCleanup as onCleanup12,createEffect as createEffect12,onCleanup as onCleanup13,createSignal as createSignal16,createMemo as createMemo9,createEffect as createEffect13,onCleanup as onCleanup14,onMount as onMount5,onCleanup as onCleanup15,onMount as onMount6,For as For11,createSignal as createSignal17,createSignal as createSignal18,Show as Show7,createSignal as createSignal20,createSignal as createSignal19,onCleanup as onCleanup16,For as For12,Show as Show10,createMemo as createMemo11,createComputed,createMemo as createMemo10,createSignal as createSignal21,untrack as untrack3,Show as Show8,createComputed as createComputed2,untrack as untrack4,Show as Show9,createSignal as createSignal23,createEffect as createEffect14,createSignal as createSignal22,on,createMemo as createMemo13,createSignal as createSignal26,createMemo as createMemo12,For as For13,Show as Show14,Show as Show11,Show as Show12,createSignal as createSignal24,createContext as createContext3,useContext as useContext3,Show as Show13,createSignal as createSignal25,onCleanup as onCleanup17,Show as Show20,createSignal as createSignal27,untrack as untrack5,createSignal as createSignal28,createSignal as createSignal29,createEffect as createEffect15,For as For15,Show as Show15,For as For14,Show as Show16,Show as Show17,Show as Show18,Show as Show19,For as For16,Show as Show22,createMemo as createMemo15,Show as Show21,createMemo as createMemo14,createSignal as createSignal30,createEffect as createEffect16,onCleanup as onCleanup18,For as For21,Match,Switch,createMemo as createMemo19,onCleanup as onCleanup22,For as For17,Show as Show23,createSignal as createSignal31,createEffect as createEffect17,createMemo as createMemo16,onCleanup as onCleanup19,untrack as untrack6,For as For19,Show as Show26,createEffect as createEffect18,createMemo as createMemo17,createSignal as createSignal32,onCleanup as onCleanup20,untrack as untrack7,For as For18,Show as Show25,Show as Show24,Show as Show30,createEffect as createEffect19,createMemo as createMemo18,createSignal as createSignal33,onCleanup as onCleanup21,untrack as untrack8,For as For20,Show as Show28,Show as Show27,Show as Show29,createEffect as createEffect20,createMemo as createMemo20,onCleanup as onCleanup23,untrack as untrack9,Show as Show31,createMemo as createMemo21,onCleanup as onCleanup24,createEffect as createEffect21,createMemo as createMemo22,on as on2,onCleanup as onCleanup25,createSignal as createSignal34,onCleanup as onCleanup26,onMount as onMount7} from "solid-js"
|
|
7
7
|
var SIDEBAR_SECTIONS=["limits","todo","subagents","skills","quick_actions","lsp","mcp"]
|
|
8
8
|
var QUICK_ACTION_IDS=["session.rename","session.timeline","session.copy","session.export","session.compact","session.list","session.new","session.fork","messages.copy","session.first","session.last","session.messages_last_user","session.message.next","session.message.previous","permission.mode"]
|
|
9
9
|
function preferencesScope(path){return path.worktree||path.directory||"global"
|
|
@@ -6182,6 +6182,11 @@ return _$createComponent(SectionWithHeaderAction,{get api(){return props.api
|
|
|
6182
6182
|
|
|
6183
6183
|
|
|
6184
6184
|
|
|
6185
|
+
|
|
6186
|
+
|
|
6187
|
+
|
|
6188
|
+
|
|
6189
|
+
|
|
6185
6190
|
|
|
6186
6191
|
|
|
6187
6192
|
|
|
@@ -6236,7 +6241,7 @@ _$insert(_el$2,()=>props.action.label)
|
|
|
6236
6241
|
_$effect((_$p)=>_$setProp(_el$2,"fg",row.foregroundColor(),_$p))
|
|
6237
6242
|
return _el$2
|
|
6238
6243
|
})()
|
|
6239
|
-
},get metadata(){return _$createComponent(
|
|
6244
|
+
},get metadata(){return _$createComponent(Show21,{get when(){return visibleShortcut()
|
|
6240
6245
|
},children:(value)=>(()=>{var _el$3=_$createElement("text")
|
|
6241
6246
|
_$setProp(_el$3,"flexShrink",0)
|
|
6242
6247
|
_$setProp(_el$3,"wrapMode","none")
|
|
@@ -6245,7 +6250,7 @@ _$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme()
|
|
|
6245
6250
|
return _el$3
|
|
6246
6251
|
})()
|
|
6247
6252
|
})
|
|
6248
|
-
},get details(){return _$createComponent(
|
|
6253
|
+
},get details(){return _$createComponent(Show21,{get when(){return props.disabled
|
|
6249
6254
|
},children:(reason)=>(()=>{var _el$4=_$createElement("text")
|
|
6250
6255
|
_$setProp(_el$4,"wrapMode","word")
|
|
6251
6256
|
_$insert(_el$4,reason)
|
|
@@ -6273,12 +6278,12 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6273
6278
|
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6274
6279
|
},get interaction(){return props.interaction
|
|
6275
6280
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6276
|
-
},get children(){return [_$createComponent(
|
|
6281
|
+
},get children(){return [_$createComponent(Show22,{get when(){return actions().length===0
|
|
6277
6282
|
},get children(){var _el$=_$createElement("text")
|
|
6278
6283
|
_$insertNode(_el$,_$createTextNode(`No quick actions selected`))
|
|
6279
6284
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
6280
6285
|
return _el$
|
|
6281
|
-
}}),_$createComponent(
|
|
6286
|
+
}}),_$createComponent(For16,{get each(){return visibility.visible()
|
|
6282
6287
|
},children:(action,index)=>_$createComponent(QuickActionRow,{get onNewSession(){return props.onNewSession
|
|
6283
6288
|
},action,get disabled(){return action.disabled
|
|
6284
6289
|
},get favorite(){return props.preferences.favoriteQuickActions?.().has(action.command)??false
|
|
@@ -6521,7 +6526,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6521
6526
|
}},get query(){return query()
|
|
6522
6527
|
},placeholder:"Filter skills...",onInput:setQuery
|
|
6523
6528
|
}),null)
|
|
6524
|
-
_$insert(_el$,_$createComponent(
|
|
6529
|
+
_$insert(_el$,_$createComponent(Show23,{get when(){return model.filtered().length>0
|
|
6525
6530
|
},get fallback(){return(()=>{var _el$2=_$createElement("text")
|
|
6526
6531
|
_$insertNode(_el$2,_$createTextNode(`No matching skills`))
|
|
6527
6532
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6531,8 +6536,8 @@ return _el$2
|
|
|
6531
6536
|
},get interaction(){return props.interaction
|
|
6532
6537
|
},get grouped(){return model.grouped
|
|
6533
6538
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6534
|
-
},get children(){return _$createComponent(
|
|
6535
|
-
},children:(item,index)=>[_$createComponent(
|
|
6539
|
+
},get children(){return _$createComponent(For17,{get each(){return model.visibility.visible()
|
|
6540
|
+
},children:(item,index)=>[_$createComponent(Show23,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6536
6541
|
},get children(){var _el$4=_$createElement("text")
|
|
6537
6542
|
_$setProp(_el$4,"height",1)
|
|
6538
6543
|
_$setProp(_el$4,"wrapMode","none")
|
|
@@ -6659,7 +6664,7 @@ return()=>_c$()?`${props.item.run.startedBeforeObservation ? `${icons.icon("rece
|
|
|
6659
6664
|
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
|
|
6660
6665
|
return _el$3
|
|
6661
6666
|
})()
|
|
6662
|
-
},get details(){return [_$createComponent(
|
|
6667
|
+
},get details(){return [_$createComponent(Show24,{get when(){return props.item.run?.errorMessage
|
|
6663
6668
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createTextNode(`: `)
|
|
6664
6669
|
_$insertNode(_el$4,_el$5)
|
|
6665
6670
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -6667,12 +6672,12 @@ _$insert(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
|
|
|
6667
6672
|
_$insert(_el$4,()=>props.item.run?.errorMessage,null)
|
|
6668
6673
|
_$effect((_$p)=>_$setProp(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
|
|
6669
6674
|
return _el$4
|
|
6670
|
-
}}),_$createComponent(
|
|
6675
|
+
}}),_$createComponent(Show24,{get when(){return props.item.unavailable
|
|
6671
6676
|
},get children(){var _el$6=_$createElement("text")
|
|
6672
6677
|
_$insertNode(_el$6,_$createTextNode(`Worker status unavailable`))
|
|
6673
6678
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().warning,_$p))
|
|
6674
6679
|
return _el$6
|
|
6675
|
-
}}),_$createComponent(
|
|
6680
|
+
}}),_$createComponent(Show24,{get when(){return _$memo(()=>props.item.status.type==="retry")()?props.item.status:undefined
|
|
6676
6681
|
},children:(status)=>(()=>{var _el$0=_$createElement("text"),_el$1=_$createTextNode(`Retry #`),_el$10=_$createTextNode(` \xB7 `),_el$11=_$createTextNode(`s \xB7 `)
|
|
6677
6682
|
_$insertNode(_el$0,_el$1)
|
|
6678
6683
|
_$insertNode(_el$0,_el$10)
|
|
@@ -6684,7 +6689,7 @@ _$insert(_el$0,()=>status().message,null)
|
|
|
6684
6689
|
_$effect((_$p)=>_$setProp(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
|
|
6685
6690
|
return _el$0
|
|
6686
6691
|
})()
|
|
6687
|
-
}),_$createComponent(
|
|
6692
|
+
}),_$createComponent(Show24,{get when(){return _$memo(()=>!!idle())()&&!props.item.run?.errorMessage
|
|
6688
6693
|
},get children(){var _el$8=_$createElement("text")
|
|
6689
6694
|
_$insertNode(_el$8,_$createTextNode(`Finished`))
|
|
6690
6695
|
_$effect((_$p)=>_$setProp(_el$8,"fg",theme().textMuted,_$p))
|
|
@@ -6695,12 +6700,12 @@ return _el$8
|
|
|
6695
6700
|
function SubagentList(props){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6696
6701
|
},get interaction(){return props.interaction
|
|
6697
6702
|
},get density(){return props.density
|
|
6698
|
-
},get children(){return _$createComponent(
|
|
6703
|
+
},get children(){return _$createComponent(For18,{get each(){return props.ids
|
|
6699
6704
|
},children:(id,index)=>{const initial=props.itemById(id)
|
|
6700
6705
|
const item=()=>props.itemById(id)??initial
|
|
6701
6706
|
const startsGroup=()=>index()===0||props.visible[index()-1]?.group!==item().group
|
|
6702
6707
|
return(()=>{var _el$=_$createElement("box")
|
|
6703
|
-
_$insert(_el$,_$createComponent(
|
|
6708
|
+
_$insert(_el$,_$createComponent(Show25,{get when(){return startsGroup()
|
|
6704
6709
|
},get children(){var _el$2=_$createElement("text"),_el$3=_$createElement("b")
|
|
6705
6710
|
_$insertNode(_el$2,_el$3)
|
|
6706
6711
|
_$insert(_el$3,()=>item().group)
|
|
@@ -6726,7 +6731,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6726
6731
|
},sectionId:`${PLUGIN_ID}.section.subagents`,get navigationSection(){return navigationSection()
|
|
6727
6732
|
},title:"SUBAGENTS",section:"subagents",get summary(){return `${model.list().length} active \xB7 ${model.recent().length} recent`
|
|
6728
6733
|
},get open(){return props.preferences.expanded().subagents
|
|
6729
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(
|
|
6734
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(Show26,{get when(){return model.parentID()
|
|
6730
6735
|
},children:(id)=>_$createComponent(McpBulkAction,{get api(){return props.api
|
|
6731
6736
|
},get interaction(){return props.interaction
|
|
6732
6737
|
},id:`${PLUGIN_ID}.subagents.parent`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -6749,7 +6754,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6749
6754
|
}}),_el$2)
|
|
6750
6755
|
_$setProp(_el$2,"flexDirection","row")
|
|
6751
6756
|
_$setProp(_el$2,"flexWrap","wrap")
|
|
6752
|
-
_$insert(_el$2,_$createComponent(
|
|
6757
|
+
_$insert(_el$2,_$createComponent(For19,{get each(){return model.tabs()
|
|
6753
6758
|
},children:(value,index)=>_$createComponent(SectionTab,{get api(){return props.api
|
|
6754
6759
|
},get interaction(){return props.interaction
|
|
6755
6760
|
},id:`${PLUGIN_ID}.subagents.filter.${value}`,get position(){return{section:navigationSection(),row:4,column:index()
|
|
@@ -6760,7 +6765,7 @@ _$insert(_el$2,_$createComponent(For18,{get each(){return model.tabs()
|
|
|
6760
6765
|
},onActivate:()=>model.setMode(value)
|
|
6761
6766
|
})
|
|
6762
6767
|
}))
|
|
6763
|
-
_$insert(_el$,_$createComponent(
|
|
6768
|
+
_$insert(_el$,_$createComponent(Show26,{get when(){return model.filtered().length===0
|
|
6764
6769
|
},get children(){var _el$3=_$createElement("text")
|
|
6765
6770
|
_$insertNode(_el$3,_$createTextNode(`No matching subagents`))
|
|
6766
6771
|
_$effect((_$p)=>_$setProp(_el$3,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6844,7 +6849,7 @@ _$insert(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":
|
|
|
6844
6849
|
_$setProp(_el$3,"flexGrow",1)
|
|
6845
6850
|
_$setProp(_el$3,"wrapMode","word")
|
|
6846
6851
|
_$insert(_el$3,()=>props.item.content)
|
|
6847
|
-
_$insert(_el$,_$createComponent(
|
|
6852
|
+
_$insert(_el$,_$createComponent(Show27,{get when(){return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
|
|
6848
6853
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b"),_el$6=_$createTextNode(` `)
|
|
6849
6854
|
_$insertNode(_el$4,_el$5)
|
|
6850
6855
|
_$setProp(_el$4,"width",2)
|
|
@@ -6871,7 +6876,7 @@ _$insertNode(_el$,_el$2)
|
|
|
6871
6876
|
_$setProp(_el$,"gap",1)
|
|
6872
6877
|
_$setProp(_el$2,"flexDirection","row")
|
|
6873
6878
|
_$setProp(_el$2,"flexWrap","wrap")
|
|
6874
|
-
_$insert(_el$2,_$createComponent(
|
|
6879
|
+
_$insert(_el$2,_$createComponent(For20,{each:["all","active","finished"],children:(value,index)=>_$createComponent(SectionTab,{get api(){return props.api
|
|
6875
6880
|
},get interaction(){return props.interaction
|
|
6876
6881
|
},id:`${PLUGIN_ID}.todo.filter.${value}`,get position(){return{section:navigationSection(),row:tabsRow(),column:index()
|
|
6877
6882
|
}},get label(){return value[0].toUpperCase() + value.slice(1)
|
|
@@ -6880,17 +6885,17 @@ _$insert(_el$2,_$createComponent(For19,{each:["all","active","finished"],childre
|
|
|
6880
6885
|
},onActivate:()=>props.setMode(value)
|
|
6881
6886
|
})
|
|
6882
6887
|
}))
|
|
6883
|
-
_$insert(_el$,_$createComponent(
|
|
6888
|
+
_$insert(_el$,_$createComponent(Show28,{get when(){return props.view.rows.length>0
|
|
6884
6889
|
},get fallback(){return _$createComponent(EmptyTodo,{get api(){return props.api
|
|
6885
6890
|
},get mode(){return props.mode
|
|
6886
6891
|
}})
|
|
6887
6892
|
},get children(){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6888
6893
|
},get interaction(){return props.interaction
|
|
6889
6894
|
},get density(){return props.density
|
|
6890
|
-
},get children(){return _$createComponent(
|
|
6895
|
+
},get children(){return _$createComponent(For20,{get each(){return props.visibility.visible()
|
|
6891
6896
|
},children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index()-1].group!==row.group
|
|
6892
6897
|
return(()=>{var _el$3=_$createElement("box")
|
|
6893
|
-
_$insert(_el$3,_$createComponent(
|
|
6898
|
+
_$insert(_el$3,_$createComponent(Show28,{get when(){return startsGroup()
|
|
6894
6899
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
6895
6900
|
_$insertNode(_el$4,_el$5)
|
|
6896
6901
|
_$insert(_el$5,()=>row.group)
|
|
@@ -6927,7 +6932,7 @@ return _el$6
|
|
|
6927
6932
|
|
|
6928
6933
|
|
|
6929
6934
|
function TodoGuidanceControl(props){const state=()=>props.controller.guidance(props.sessionID)
|
|
6930
|
-
return _$createComponent(
|
|
6935
|
+
return _$createComponent(Show29,{get when(){return state().available
|
|
6931
6936
|
},get children(){var _el$=_$createElement("box")
|
|
6932
6937
|
_$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
6933
6938
|
},get interaction(){return props.interaction
|
|
@@ -6937,7 +6942,7 @@ _$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
|
6937
6942
|
},get disabled(){return state().saving
|
|
6938
6943
|
},onActivate:()=>void props.controller.setGuidance(props.sessionID,!state().enabled)
|
|
6939
6944
|
}),null)
|
|
6940
|
-
_$insert(_el$,_$createComponent(
|
|
6945
|
+
_$insert(_el$,_$createComponent(Show29,{get when(){return state().error
|
|
6941
6946
|
},children:(message)=>(()=>{var _el$2=_$createElement("text")
|
|
6942
6947
|
_$setProp(_el$2,"wrapMode","word")
|
|
6943
6948
|
_$insert(_el$2,message)
|
|
@@ -6975,10 +6980,10 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6975
6980
|
},sectionId:`${PLUGIN_ID}.section.todo`,get navigationSection(){return navigationSection()
|
|
6976
6981
|
},title:"TODO",section:"todo",get summary(){return _$memo(()=>!!(unavailable()||managed()?.missing(props.sessionID)))()?"\u2014":`${view().counts.completed}/${list().length}`
|
|
6977
6982
|
},get open(){return props.preferences.expanded().todo
|
|
6978
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(
|
|
6983
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(Show30,{get when(){return unavailable()
|
|
6979
6984
|
},get fallback(){return(()=>{var _el$=_$createElement("box")
|
|
6980
6985
|
_$setProp(_el$,"gap",1)
|
|
6981
|
-
_$insert(_el$,_$createComponent(
|
|
6986
|
+
_$insert(_el$,_$createComponent(Show30,{get when(){return managed()?.guidance(props.sessionID).available
|
|
6982
6987
|
},get children(){return _$createComponent(TodoGuidanceControl,{get api(){return props.api
|
|
6983
6988
|
},get controller(){return managed()
|
|
6984
6989
|
},get sessionID(){return props.sessionID
|
|
@@ -6986,7 +6991,7 @@ _$insert(_el$,_$createComponent(Show29,{get when(){return managed()?.guidance(pr
|
|
|
6986
6991
|
},get navigationSection(){return navigationSection()
|
|
6987
6992
|
}})
|
|
6988
6993
|
}}),null)
|
|
6989
|
-
_$insert(_el$,_$createComponent(
|
|
6994
|
+
_$insert(_el$,_$createComponent(Show30,{get when(){return managed()?.missing(props.sessionID)
|
|
6990
6995
|
},get fallback(){return _$createComponent(SectionRequestBody,{get api(){return props.api
|
|
6991
6996
|
},get interaction(){return props.interaction
|
|
6992
6997
|
},id:`${PLUGIN_ID}.retry.todo`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -7035,7 +7040,7 @@ event.preventDefault()
|
|
|
7035
7040
|
event.stopPropagation()
|
|
7036
7041
|
props.interaction.leave()
|
|
7037
7042
|
})
|
|
7038
|
-
_$insert(_el$,_$createComponent(
|
|
7043
|
+
_$insert(_el$,_$createComponent(For21,{get each(){return visibleSections()
|
|
7039
7044
|
},children:(section,index)=>_$createComponent(SectionBoundary,{get api(){return props.api
|
|
7040
7045
|
},get divided(){return index()<visibleSections().length-1
|
|
7041
7046
|
},get children(){return _$createComponent(Switch,{get children(){return [_$createComponent(Match,{when:section==="limits",get children(){return props.limitsSection(index() + 1)
|
|
@@ -7130,7 +7135,7 @@ _$setProp(_el$2,"flexDirection","row")
|
|
|
7130
7135
|
_$setProp(_el$2,"justifyContent","space-between")
|
|
7131
7136
|
_$setProp(_el$2,"gap",1)
|
|
7132
7137
|
_$setProp(_el$3,"flexGrow",1)
|
|
7133
|
-
_$insert(_el$3,_$createComponent(
|
|
7138
|
+
_$insert(_el$3,_$createComponent(Show31,{get when(){return props.preferences.showSessionTitle()
|
|
7134
7139
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
7135
7140
|
_$insertNode(_el$4,_el$5)
|
|
7136
7141
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -7138,7 +7143,7 @@ _$insert(_el$5,()=>props.title)
|
|
|
7138
7143
|
_$effect((_$p)=>_$setProp(_el$4,"fg",theme().text,_$p))
|
|
7139
7144
|
return _el$4
|
|
7140
7145
|
}}),null)
|
|
7141
|
-
_$insert(_el$3,_$createComponent(
|
|
7146
|
+
_$insert(_el$3,_$createComponent(Show31,{get when(){return _$memo(()=>!!props.preferences.showSessionDate())()&&created()
|
|
7142
7147
|
},children:(value)=>(()=>{var _el$6=_$createElement("text")
|
|
7143
7148
|
_$insert(_el$6,value)
|
|
7144
7149
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().textMuted,_$p))
|
|
@@ -7515,7 +7520,7 @@ const limitsPath=import.meta.url.includes("/dist/tui.js")?"./provider-limits.js"
|
|
|
7515
7520
|
const limitsModule=await import(limitsPath)
|
|
7516
7521
|
const LimitsSection=limitsModule.ProviderLimitsSection
|
|
7517
7522
|
const{controller:limits,codex,accountSource,selectModel,modelSelection
|
|
7518
|
-
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.21.
|
|
7523
|
+
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.21.7",hostContext)
|
|
7519
7524
|
const mcp=createMcpController(api,preferences.persistMcp,preferences)
|
|
7520
7525
|
const interaction=createSidebarInteraction(api,()=>openKeyboardHelp(api,preferences.lspIconStyle,preferences.cornerFont))
|
|
7521
7526
|
const startup=createStartupSessionController(api,preferences)
|
|
@@ -7543,7 +7548,7 @@ api.slots.register({order:100,slots:{app(){return _$createComponent(IconProvider
|
|
|
7543
7548
|
},interaction,skills,subagents,mcp
|
|
7544
7549
|
}),_$createComponent(FirstRunWizardPersistence,{api,preferences
|
|
7545
7550
|
}),_$createComponent(StartupSessionBinding,{api,controller:startup
|
|
7546
|
-
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.21.
|
|
7551
|
+
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.21.7"
|
|
7547
7552
|
}),_$createComponent(McpPersistence,{api,controller:mcp
|
|
7548
7553
|
})]
|
|
7549
7554
|
}})
|
|
@@ -7576,12 +7581,12 @@ return result.data?.type==="text"?result.data.content:undefined
|
|
|
7576
7581
|
})
|
|
7577
7582
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV1VersionUpdater
|
|
7578
7583
|
}=await loadNavigatorUpdates()
|
|
7579
|
-
const versionStatus=createVersionStatus(api,"0.21.
|
|
7580
|
-
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.
|
|
7584
|
+
const versionStatus=createVersionStatus(api,"0.21.7")
|
|
7585
|
+
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.7"))
|
|
7581
7586
|
api.slots.register({order:90,slots:{sidebar_footer(_context,props){return _$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7582
7587
|
},get multilineCorners(){return preferences.cornerFont
|
|
7583
7588
|
},get children(){return _$createComponent(VersionFooter,{api,get sessionID(){return props.session_id
|
|
7584
|
-
},navigatorVersion:"0.21.
|
|
7589
|
+
},navigatorVersion:"0.21.7",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7585
7590
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7586
7591
|
}})
|
|
7587
7592
|
}})
|
|
@@ -7597,15 +7602,15 @@ return new TextDecoder().decode(await context.client.file.read({location:context
|
|
|
7597
7602
|
},todo,context)
|
|
7598
7603
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV2VersionUpdater
|
|
7599
7604
|
}=await loadNavigatorUpdates()
|
|
7600
|
-
const versionStatus=createVersionStatus(adapter.api,"0.21.
|
|
7601
|
-
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.
|
|
7605
|
+
const versionStatus=createVersionStatus(adapter.api,"0.21.7")
|
|
7606
|
+
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.7"))
|
|
7602
7607
|
const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7603
7608
|
},get multilineCorners(){return preferences.cornerFont
|
|
7604
7609
|
},get children(){var _el$=_$createElement("box")
|
|
7605
7610
|
_$setProp(_el$,"flexDirection","row")
|
|
7606
7611
|
_$setProp(_el$,"justifyContent","space-between")
|
|
7607
7612
|
_$insert(_el$,_$createComponent(VersionSummary,{get api(){return adapter.api
|
|
7608
|
-
},navigatorVersion:"0.21.
|
|
7613
|
+
},navigatorVersion:"0.21.7",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7609
7614
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7610
7615
|
}}),null)
|
|
7611
7616
|
_$insert(_el$,_$createComponent(SettingsFooterButton,{get api(){return adapter.api
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "opencode-navigator",
|
|
4
|
-
"version": "0.21.
|
|
4
|
+
"version": "0.21.7",
|
|
5
5
|
"description": "Search, navigate, and manage OpenCode sessions from the TUI",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"packageManager": "bun@1.4.2",
|