opencode-navigator 0.21.5 → 0.21.6
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 +5 -0
- package/README.md +5 -3
- package/dist/provider-limits.js +210 -158
- package/dist/tui.js +45 -38
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.21.6] - 2026-10-09
|
|
6
|
+
|
|
7
|
+
- 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.
|
|
8
|
+
|
|
5
9
|
## [0.21.5] - 2026-10-07
|
|
6
10
|
|
|
7
11
|
- 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 +104,7 @@
|
|
|
100
104
|
|
|
101
105
|
Earlier release notes are available on [GitHub Releases](https://github.com/St1ggy/opencode-navigator/releases).
|
|
102
106
|
|
|
107
|
+
[0.21.6]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.5...v0.21.6
|
|
103
108
|
[0.21.5]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.4...v0.21.5
|
|
104
109
|
[0.21.4]: https://github.com/St1ggy/opencode-navigator/compare/v0.21.3...v0.21.4
|
|
105
110
|
[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. A muted
|
|
436
|
+
vertical guide joins the quota windows, with one guide-only row between them
|
|
437
|
+
(`|` in Text fallback). 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,50 @@ return _p$
|
|
|
535
549
|
return _el$
|
|
536
550
|
})()
|
|
537
551
|
}
|
|
538
|
-
|
|
552
|
+
import {effect as _$effect3} from "@opentui/solid"
|
|
553
|
+
import {insertNode as _$insertNode3} from "@opentui/solid"
|
|
554
|
+
import {createComponent as _$createComponent4} from "@opentui/solid"
|
|
555
|
+
import {insert as _$insert3} from "@opentui/solid"
|
|
556
|
+
import {setProp as _$setProp3} from "@opentui/solid"
|
|
557
|
+
import {createElement as _$createElement3} from "@opentui/solid"
|
|
558
|
+
import {For} from "solid-js"
|
|
559
|
+
import {useIcons as useIcons2} from "./tui.js"
|
|
560
|
+
function QuotaWindowGroup(props){const icons=useIcons2()
|
|
561
|
+
const guide=()=>Array.from({length:Math.max(0,props.windows.length*3-1)
|
|
562
|
+
},()=>icons.style()==="text"?"|":"\u2502").join(`
|
|
563
|
+
`)
|
|
564
|
+
return(()=>{var _el$=_$createElement3("box"),_el$2=_$createElement3("text"),_el$3=_$createElement3("box")
|
|
565
|
+
_$insertNode3(_el$,_el$2)
|
|
566
|
+
_$insertNode3(_el$,_el$3)
|
|
567
|
+
_$setProp3(_el$,"width","100%")
|
|
568
|
+
_$setProp3(_el$,"minWidth",0)
|
|
569
|
+
_$setProp3(_el$,"flexDirection","row")
|
|
570
|
+
_$setProp3(_el$,"overflow","hidden")
|
|
571
|
+
_$setProp3(_el$2,"width",1)
|
|
572
|
+
_$setProp3(_el$2,"marginRight",1)
|
|
573
|
+
_$setProp3(_el$2,"flexShrink",0)
|
|
574
|
+
_$setProp3(_el$2,"wrapMode","none")
|
|
575
|
+
_$insert3(_el$2,guide)
|
|
576
|
+
_$setProp3(_el$3,"width","100%")
|
|
577
|
+
_$setProp3(_el$3,"flexGrow",1)
|
|
578
|
+
_$setProp3(_el$3,"flexShrink",1)
|
|
579
|
+
_$setProp3(_el$3,"minWidth",0)
|
|
580
|
+
_$setProp3(_el$3,"gap",1)
|
|
581
|
+
_$insert3(_el$3,_$createComponent4(For,{get each(){return props.windows
|
|
539
582
|
},children:(window)=>_$createComponent4(QuotaWindowRow,{get api(){return props.api
|
|
540
583
|
},window
|
|
541
584
|
})
|
|
542
|
-
})
|
|
543
|
-
|
|
585
|
+
}))
|
|
586
|
+
_$effect3((_$p)=>_$setProp3(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
587
|
+
return _el$
|
|
588
|
+
})()
|
|
589
|
+
}
|
|
590
|
+
function QuotaSnapshotRows(props){return [_$createComponent5(Show,{get when(){return props.snapshot.windows.length>0
|
|
591
|
+
},get children(){return _$createComponent5(QuotaWindowGroup,{get api(){return props.api
|
|
592
|
+
},get windows(){return props.snapshot.windows
|
|
593
|
+
}})
|
|
594
|
+
}}),_$createComponent5(For2,{get each(){return props.snapshot.balances
|
|
595
|
+
},children:(balance)=>_$createComponent5(QuotaBalanceRow,{get api(){return props.api
|
|
544
596
|
},balance
|
|
545
597
|
})
|
|
546
598
|
})]
|
|
@@ -590,31 +642,31 @@ function providerQuotaCapability(id,canonical){const key=aliases[canonical??id]?
|
|
|
590
642
|
const found=PROVIDER_QUOTA_CAPABILITIES.find((entry)=>entry.id===key)
|
|
591
643
|
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
644
|
}}
|
|
593
|
-
import {insert as _$
|
|
645
|
+
import {insert as _$insert9} from "@opentui/solid"
|
|
594
646
|
import {mergeProps as _$mergeProps} from "@opentui/solid"
|
|
595
|
-
import {setProp as _$
|
|
596
|
-
import {effect as _$
|
|
647
|
+
import {setProp as _$setProp10} from "@opentui/solid"
|
|
648
|
+
import {effect as _$effect10} from "@opentui/solid"
|
|
597
649
|
import {createTextNode as _$createTextNode4} from "@opentui/solid"
|
|
598
|
-
import {insertNode as _$
|
|
599
|
-
import {createElement as _$
|
|
650
|
+
import {insertNode as _$insertNode7} from "@opentui/solid"
|
|
651
|
+
import {createElement as _$createElement10} from "@opentui/solid"
|
|
600
652
|
import {memo as _$memo7} from "@opentui/solid"
|
|
601
|
-
import {createComponent as _$
|
|
602
|
-
import {Show as
|
|
653
|
+
import {createComponent as _$createComponent13} from "@opentui/solid"
|
|
654
|
+
import {Show as Show7} from "solid-js"
|
|
603
655
|
import {useDialogs as useDialogs3} from "./tui.js"
|
|
604
|
-
import {setProp as _$
|
|
605
|
-
import {effect as _$
|
|
656
|
+
import {setProp as _$setProp5} from "@opentui/solid"
|
|
657
|
+
import {effect as _$effect5} from "@opentui/solid"
|
|
606
658
|
import {createTextNode as _$createTextNode} from "@opentui/solid"
|
|
607
|
-
import {insertNode as _$
|
|
608
|
-
import {createElement as _$
|
|
659
|
+
import {insertNode as _$insertNode4} from "@opentui/solid"
|
|
660
|
+
import {createElement as _$createElement5} from "@opentui/solid"
|
|
609
661
|
import {memo as _$memo2} from "@opentui/solid"
|
|
662
|
+
import {createComponent as _$createComponent7} from "@opentui/solid"
|
|
663
|
+
import {Show as Show2} from "solid-js"
|
|
664
|
+
import {useDialogs as useDialogs2,useIcons as useIcons3} from "./tui.js"
|
|
610
665
|
import {createComponent as _$createComponent6} from "@opentui/solid"
|
|
611
|
-
import {
|
|
612
|
-
import {
|
|
613
|
-
import {
|
|
614
|
-
import {
|
|
615
|
-
import {insert as _$insert3} from "@opentui/solid"
|
|
616
|
-
import {setProp as _$setProp3} from "@opentui/solid"
|
|
617
|
-
import {createElement as _$createElement3} from "@opentui/solid"
|
|
666
|
+
import {effect as _$effect4} from "@opentui/solid"
|
|
667
|
+
import {insert as _$insert4} from "@opentui/solid"
|
|
668
|
+
import {setProp as _$setProp4} from "@opentui/solid"
|
|
669
|
+
import {createElement as _$createElement4} from "@opentui/solid"
|
|
618
670
|
import {SelectionBox} from "./tui.js"
|
|
619
671
|
import {createSignal as createSignal5,onCleanup} from "solid-js"
|
|
620
672
|
function sidebarInteractiveColors(theme,state,normalColor=theme.text,mode="row"){const highlighted=!state.disabled&&(state.focused||mode==="control"&&state.hovered)
|
|
@@ -650,7 +702,7 @@ return true
|
|
|
650
702
|
}}}
|
|
651
703
|
function LimitsAction(props){const item=useSidebarItem(props.api,props.interaction,{id:props.id,position:()=>props.position,disabled:()=>props.disabled===true,activate:props.onActivate
|
|
652
704
|
},()=>props.api.theme.current.text,props.inline?"control":"row")
|
|
653
|
-
return _$
|
|
705
|
+
return _$createComponent6(SelectionBox,{ref:(node)=>item.ref(node),get id(){return props.id
|
|
654
706
|
},height:1,get flexGrow(){return props.flexGrow
|
|
655
707
|
},get maxWidth(){return props.maxWidth
|
|
656
708
|
},flexShrink:1,minWidth:3,get backgroundColor(){return item.backgroundColor()
|
|
@@ -658,46 +710,46 @@ return _$createComponent5(SelectionBox,{ref:(node)=>item.ref(node),get id(){retu
|
|
|
658
710
|
},get onMouseOut(){return item.onMouseOut
|
|
659
711
|
},onMouseUp:(event)=>{event.stopPropagation()
|
|
660
712
|
item.activate(event)
|
|
661
|
-
},get children(){var _el$=_$
|
|
662
|
-
_$
|
|
663
|
-
_$
|
|
664
|
-
_$
|
|
665
|
-
_$
|
|
713
|
+
},get children(){var _el$=_$createElement4("text")
|
|
714
|
+
_$setProp4(_el$,"wrapMode","none")
|
|
715
|
+
_$setProp4(_el$,"truncate",true)
|
|
716
|
+
_$insert4(_el$,()=>props.label)
|
|
717
|
+
_$effect4((_$p)=>_$setProp4(_el$,"fg",item.foregroundColor(),_$p))
|
|
666
718
|
return _el$
|
|
667
719
|
}})
|
|
668
720
|
}
|
|
669
|
-
function CodexAccountControls(props){const icons=
|
|
721
|
+
function CodexAccountControls(props){const icons=useIcons3()
|
|
670
722
|
const model=()=>props.controller.current().model
|
|
671
723
|
const accountLink=createCodexAccountLink({api:props.api,preferences:props.preferences,adapter:props.codex,model,dialogs:useDialogs2(props.api)
|
|
672
724
|
})
|
|
673
725
|
const eligible=()=>(props.model.providerID==="openai"||props.model.hostConnection?.providerID==="openai")&&props.model.hostConnection?.method!=="api"
|
|
674
|
-
const action=(id,row,label,onActivate)=>_$
|
|
726
|
+
const action=(id,row,label,onActivate)=>_$createComponent7(LimitsAction,{get api(){return props.api
|
|
675
727
|
},get interaction(){return props.interaction
|
|
676
728
|
},id:`${PLUGIN_ID}.limits.${id}`,get position(){return{section:props.navigationSection,row,column:0
|
|
677
729
|
}},label,onActivate,get disabled(){return accountLink.busy()
|
|
678
730
|
}})
|
|
679
|
-
return _$
|
|
680
|
-
},get children(){return [_$
|
|
681
|
-
},get children(){return [(()=>{var _el$=_$
|
|
682
|
-
_$
|
|
683
|
-
_$
|
|
731
|
+
return _$createComponent7(Show2,{get when(){return eligible()
|
|
732
|
+
},get children(){return [_$createComponent7(Show2,{get when(){return _$memo2(()=>!!!props.model.accountID)()&&(!props.model.hostConnection||props.model.hostConnection.status==="ready")
|
|
733
|
+
},get children(){return [(()=>{var _el$=_$createElement5("text")
|
|
734
|
+
_$insertNode4(_el$,_$createTextNode(`Link the matching Codex account once for this connection`))
|
|
735
|
+
_$effect5((_$p)=>_$setProp5(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
684
736
|
return _el$
|
|
685
737
|
})(),_$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))),_$
|
|
738
|
+
}}),_$createComponent7(Show2,{get when(){return _$memo2(()=>!!(props.model.accountID&&props.model.accountSource!=="host"))()&&props.controller.snapshot()?.availability==="unauthenticated"
|
|
739
|
+
},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
740
|
},get children(){return action("relink",5,`${icons.icon("scope")} Relink Codex account`,()=>void accountLink.link())
|
|
689
741
|
}})]
|
|
690
742
|
}})]
|
|
691
743
|
}})
|
|
692
744
|
}
|
|
745
|
+
import {createComponent as _$createComponent9} from "@opentui/solid"
|
|
746
|
+
import {Show as Show3} from "solid-js"
|
|
747
|
+
import {useIcons as useIcons4} from "./tui.js"
|
|
693
748
|
import {createComponent as _$createComponent8} from "@opentui/solid"
|
|
694
|
-
import {
|
|
695
|
-
import {
|
|
696
|
-
import {
|
|
697
|
-
import {
|
|
698
|
-
import {insert as _$insert4} from "@opentui/solid"
|
|
699
|
-
import {setProp as _$setProp5} from "@opentui/solid"
|
|
700
|
-
import {createElement as _$createElement5} from "@opentui/solid"
|
|
749
|
+
import {effect as _$effect6} from "@opentui/solid"
|
|
750
|
+
import {insert as _$insert5} from "@opentui/solid"
|
|
751
|
+
import {setProp as _$setProp6} from "@opentui/solid"
|
|
752
|
+
import {createElement as _$createElement6} from "@opentui/solid"
|
|
701
753
|
import {memo as _$memo3} from "@opentui/solid"
|
|
702
754
|
import {createEffect as createEffect2,createSignal as createSignal6,on} from "solid-js"
|
|
703
755
|
import {SelectionBox as SelectionBox2} from "./tui.js"
|
|
@@ -721,7 +773,7 @@ const control=useSidebarItem(props.api,props.interaction,{id:props.action.id,pos
|
|
|
721
773
|
},()=>props.api.theme.current.accent,"control")
|
|
722
774
|
createEffect2(on(()=>[props.action.label(),props.resetWidth],()=>setWidth(undefined)))
|
|
723
775
|
const label=()=>width()===undefined||props.iconOnly?props.action.label():truncateEnd(props.action.label(),width()-2)
|
|
724
|
-
return _$
|
|
776
|
+
return _$createComponent8(SelectionBox2,{ref:(node)=>control.ref(node),get id(){return props.action.id
|
|
725
777
|
},get iconOnly(){return props.iconOnly
|
|
726
778
|
},get width(){return props.iconOnly?3:undefined
|
|
727
779
|
},get flexShrink(){return props.iconOnly?0:1
|
|
@@ -732,42 +784,42 @@ return _$createComponent7(SelectionBox2,{ref:(node)=>control.ref(node),get id(){
|
|
|
732
784
|
},get onMouseOut(){return control.onMouseOut
|
|
733
785
|
},onMouseDown:(event)=>event.stopPropagation(),onMouseUp:(event)=>{event.stopPropagation()
|
|
734
786
|
control.activate(event)
|
|
735
|
-
},get children(){var _el$=_$
|
|
736
|
-
_$
|
|
737
|
-
_$
|
|
738
|
-
_$
|
|
739
|
-
_$
|
|
787
|
+
},get children(){var _el$=_$createElement6("text")
|
|
788
|
+
_$setProp6(_el$,"wrapMode","none")
|
|
789
|
+
_$setProp6(_el$,"height",1)
|
|
790
|
+
_$insert5(_el$,label)
|
|
791
|
+
_$effect6((_$p)=>_$setProp6(_el$,"fg",control.foregroundColor(),_$p))
|
|
740
792
|
return _el$
|
|
741
793
|
}})
|
|
742
794
|
}
|
|
743
|
-
function LimitsHeaderControls(props){const icons=
|
|
744
|
-
return [_$
|
|
745
|
-
},get children(){return _$
|
|
795
|
+
function LimitsHeaderControls(props){const icons=useIcons4()
|
|
796
|
+
return [_$createComponent9(Show3,{get when(){return props.credits
|
|
797
|
+
},get children(){return _$createComponent9(SectionHeaderControl,{get api(){return props.api
|
|
746
798
|
},get interaction(){return props.interaction
|
|
747
799
|
},get position(){return{section:props.navigationSection,row:0,column:1
|
|
748
800
|
}},get action(){return{id:`${PLUGIN_ID}.limits.credits`,label:()=>"Banked Resets",disabled:()=>false,onActivate:props.onCredits
|
|
749
801
|
}}})
|
|
750
|
-
}}),_$
|
|
802
|
+
}}),_$createComponent9(SectionHeaderControl,{get api(){return props.api
|
|
751
803
|
},get interaction(){return props.interaction
|
|
752
804
|
},iconOnly:true,get position(){return{section:props.navigationSection,row:0,column:2
|
|
753
805
|
}},get action(){return{id:`${PLUGIN_ID}.limits.refresh`,label:()=>icons.icon(props.refreshing?"pending":"retry"),disabled:()=>props.refreshing||!props.canRefresh,onActivate:props.onRefresh
|
|
754
806
|
}}})]
|
|
755
807
|
}
|
|
756
|
-
import {insert as _$
|
|
757
|
-
import {effect as _$
|
|
808
|
+
import {insert as _$insert6} from "@opentui/solid"
|
|
809
|
+
import {effect as _$effect7} from "@opentui/solid"
|
|
758
810
|
import {createTextNode as _$createTextNode2} from "@opentui/solid"
|
|
759
|
-
import {insertNode as _$
|
|
811
|
+
import {insertNode as _$insertNode5} from "@opentui/solid"
|
|
760
812
|
import {memo as _$memo4} from "@opentui/solid"
|
|
761
|
-
import {createComponent as _$
|
|
762
|
-
import {setProp as _$
|
|
763
|
-
import {createElement as _$
|
|
764
|
-
import {Show as
|
|
813
|
+
import {createComponent as _$createComponent10} from "@opentui/solid"
|
|
814
|
+
import {setProp as _$setProp7} from "@opentui/solid"
|
|
815
|
+
import {createElement as _$createElement7} from "@opentui/solid"
|
|
816
|
+
import {Show as Show4} from "solid-js"
|
|
765
817
|
function LimitsModelRow(props){const names=()=>props.selection?.names(props.model)??{provider:props.model.providerID,model:props.model.modelID
|
|
766
818
|
}
|
|
767
|
-
return(()=>{var _el$=_$
|
|
768
|
-
_$
|
|
769
|
-
_$
|
|
770
|
-
_$
|
|
819
|
+
return(()=>{var _el$=_$createElement7("box")
|
|
820
|
+
_$setProp7(_el$,"flexDirection","row")
|
|
821
|
+
_$setProp7(_el$,"minWidth",0)
|
|
822
|
+
_$insert6(_el$,_$createComponent10(LimitsAction,{get api(){return props.api
|
|
771
823
|
},get interaction(){return props.interaction
|
|
772
824
|
},inline:true,flexGrow:1,get maxWidth(){return Bun.stringWidth(`[${names().provider}] ${names().model}`) + 2
|
|
773
825
|
},id:`${PLUGIN_ID}.limits.model`,get position(){return{section:props.navigationSection,row:1,column:0
|
|
@@ -775,13 +827,13 @@ _$insert5(_el$,_$createComponent9(LimitsAction,{get api(){return props.api
|
|
|
775
827
|
},get disabled(){return !props.selection?.canOpen("model",props.model)
|
|
776
828
|
},onActivate:()=>props.selection?.open("model",props.model)
|
|
777
829
|
}),null)
|
|
778
|
-
_$
|
|
779
|
-
},get children(){return [(()=>{var _el$2=_$
|
|
780
|
-
_$
|
|
781
|
-
_$
|
|
782
|
-
_$
|
|
830
|
+
_$insert6(_el$,_$createComponent10(Show4,{get when(){return props.model.variant||props.selection?.variants(props.model).length
|
|
831
|
+
},get children(){return [(()=>{var _el$2=_$createElement7("text"),_el$3=_$createTextNode2(` \xB7 `)
|
|
832
|
+
_$insertNode5(_el$2,_el$3)
|
|
833
|
+
_$setProp7(_el$2,"flexShrink",0)
|
|
834
|
+
_$effect7((_$p)=>_$setProp7(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
783
835
|
return _el$2
|
|
784
|
-
})(),_$
|
|
836
|
+
})(),_$createComponent10(LimitsAction,{get api(){return props.api
|
|
785
837
|
},get interaction(){return props.interaction
|
|
786
838
|
},inline:true,id:`${PLUGIN_ID}.limits.variant`,get position(){return{section:props.navigationSection,row:1,column:1
|
|
787
839
|
}},get label(){return props.model.variant??"Default"
|
|
@@ -792,13 +844,13 @@ return _el$2
|
|
|
792
844
|
return _el$
|
|
793
845
|
})()
|
|
794
846
|
}
|
|
795
|
-
import {effect as _$
|
|
796
|
-
import {insert as _$
|
|
797
|
-
import {setProp as _$
|
|
798
|
-
import {createElement as _$
|
|
799
|
-
import {createComponent as _$
|
|
847
|
+
import {effect as _$effect8} from "@opentui/solid"
|
|
848
|
+
import {insert as _$insert7} from "@opentui/solid"
|
|
849
|
+
import {setProp as _$setProp8} from "@opentui/solid"
|
|
850
|
+
import {createElement as _$createElement8} from "@opentui/solid"
|
|
851
|
+
import {createComponent as _$createComponent11} from "@opentui/solid"
|
|
800
852
|
import {memo as _$memo5} from "@opentui/solid"
|
|
801
|
-
import {Show as
|
|
853
|
+
import {Show as Show5} from "solid-js"
|
|
802
854
|
function LimitsStatus(props){const message=()=>{const model=props.controller.current().model
|
|
803
855
|
const connection=model?.hostConnection
|
|
804
856
|
const snapshot=props.controller.snapshot()
|
|
@@ -828,85 +880,85 @@ if(availability==="stale")
|
|
|
828
880
|
return "Stale provider data \xB7 refresh to update"
|
|
829
881
|
return `Updated ${new Date(snapshot.fetchedAt).toLocaleTimeString()}`
|
|
830
882
|
}
|
|
831
|
-
return _$
|
|
832
|
-
},children:(value)=>(()=>{var _el$=_$
|
|
833
|
-
_$
|
|
834
|
-
_$
|
|
835
|
-
_$
|
|
883
|
+
return _$createComponent11(Show5,{get when(){return _$memo5(()=>!!props.controller.current().model)()&&message()
|
|
884
|
+
},children:(value)=>(()=>{var _el$=_$createElement8("text")
|
|
885
|
+
_$setProp8(_el$,"wrapMode","word")
|
|
886
|
+
_$insert7(_el$,value)
|
|
887
|
+
_$effect8((_$p)=>_$setProp8(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
836
888
|
return _el$
|
|
837
889
|
})()
|
|
838
890
|
})
|
|
839
891
|
}
|
|
840
|
-
import {createComponent as _$
|
|
841
|
-
import {effect as _$
|
|
892
|
+
import {createComponent as _$createComponent12} from "@opentui/solid"
|
|
893
|
+
import {effect as _$effect9} from "@opentui/solid"
|
|
842
894
|
import {createTextNode as _$createTextNode3} from "@opentui/solid"
|
|
843
|
-
import {insertNode as _$
|
|
895
|
+
import {insertNode as _$insertNode6} from "@opentui/solid"
|
|
844
896
|
import {memo as _$memo6} from "@opentui/solid"
|
|
845
|
-
import {insert as _$
|
|
846
|
-
import {setProp as _$
|
|
847
|
-
import {createElement as _$
|
|
848
|
-
import {Show as
|
|
849
|
-
import {SelectionBox as SelectionBox3,useIcons as
|
|
850
|
-
function Section(props){const icons=
|
|
897
|
+
import {insert as _$insert8} from "@opentui/solid"
|
|
898
|
+
import {setProp as _$setProp9} from "@opentui/solid"
|
|
899
|
+
import {createElement as _$createElement9} from "@opentui/solid"
|
|
900
|
+
import {Show as Show6,createSignal as createSignal7} from "solid-js"
|
|
901
|
+
import {SelectionBox as SelectionBox3,useIcons as useIcons5} from "./tui.js"
|
|
902
|
+
function Section(props){const icons=useIcons5()
|
|
851
903
|
const [headerWidth,setHeaderWidth]=createSignal7(0)
|
|
852
904
|
const icon=()=>props.section?icons.section(props.section):props.icon
|
|
853
905
|
const theme=()=>props.api.theme.current
|
|
854
906
|
const item=useSidebarItem(props.api,props.interaction,{id:props.sectionId??`section.${props.title}`,position:()=>({section:props.navigationSection??0,row:0,column:0
|
|
855
907
|
}),activate:props.onToggle
|
|
856
908
|
})
|
|
857
|
-
return(()=>{var _el$=_$
|
|
858
|
-
_$
|
|
859
|
-
_$
|
|
909
|
+
return(()=>{var _el$=_$createElement9("box")
|
|
910
|
+
_$setProp9(_el$,"gap",1)
|
|
911
|
+
_$insert8(_el$,_$createComponent12(SelectionBox3,{ref:(node)=>item.ref(node),get id(){return props.sectionId
|
|
860
912
|
},flexDirection:"row",height:1,justifyContent:"space-between",gap:1,get backgroundColor(){return item.backgroundColor()
|
|
861
913
|
},get onMouseOver(){return item.onMouseOver
|
|
862
914
|
},get onMouseOut(){return item.onMouseOut
|
|
863
915
|
},onMouseDown:(event)=>item.activate(event),onSizeChange:function(){setHeaderWidth(this.width)
|
|
864
|
-
},get children(){return [(()=>{var _el$2=_$
|
|
865
|
-
_$
|
|
866
|
-
_$
|
|
867
|
-
_$
|
|
868
|
-
_$
|
|
869
|
-
_$
|
|
870
|
-
_$
|
|
871
|
-
_$
|
|
872
|
-
_$
|
|
916
|
+
},get children(){return [(()=>{var _el$2=_$createElement9("text"),_el$3=_$createElement9("span"),_el$4=_$createTextNode3(` `),_el$5=_$createElement9("span"),_el$6=_$createElement9("b")
|
|
917
|
+
_$insertNode6(_el$2,_el$3)
|
|
918
|
+
_$insertNode6(_el$2,_el$4)
|
|
919
|
+
_$insertNode6(_el$2,_el$5)
|
|
920
|
+
_$insertNode6(_el$2,_el$6)
|
|
921
|
+
_$setProp9(_el$2,"flexShrink",0)
|
|
922
|
+
_$setProp9(_el$2,"wrapMode","none")
|
|
923
|
+
_$insert8(_el$3,()=>icons.icon(props.open?"expanded":"collapsed"))
|
|
924
|
+
_$insert8(_el$5,(()=>{var _c$=_$memo6(()=>!!icon())
|
|
873
925
|
return()=>_c$()?`${icon()} `:""
|
|
874
926
|
})())
|
|
875
|
-
_$
|
|
876
|
-
_$
|
|
927
|
+
_$insert8(_el$6,()=>props.title)
|
|
928
|
+
_$effect9((_p$)=>{var _v$=item.foregroundColor(),_v$2={fg:item.focused()?item.foregroundColor():theme().accent
|
|
877
929
|
},_v$3={fg:item.focused()?item.foregroundColor():theme().accent
|
|
878
930
|
}
|
|
879
|
-
_v$!==_p$.e&&(_p$.e=_$
|
|
880
|
-
_v$2!==_p$.t&&(_p$.t=_$
|
|
881
|
-
_v$3!==_p$.a&&(_p$.a=_$
|
|
931
|
+
_v$!==_p$.e&&(_p$.e=_$setProp9(_el$2,"fg",_v$,_p$.e))
|
|
932
|
+
_v$2!==_p$.t&&(_p$.t=_$setProp9(_el$3,"style",_v$2,_p$.t))
|
|
933
|
+
_v$3!==_p$.a&&(_p$.a=_$setProp9(_el$5,"style",_v$3,_p$.a))
|
|
882
934
|
return _p$
|
|
883
935
|
},{e:undefined,t:undefined,a:undefined
|
|
884
936
|
})
|
|
885
937
|
return _el$2
|
|
886
|
-
})(),(()=>{var _el$7=_$
|
|
887
|
-
_$
|
|
888
|
-
_$
|
|
889
|
-
_$
|
|
890
|
-
_$
|
|
891
|
-
_$
|
|
892
|
-
_$
|
|
893
|
-
_$
|
|
894
|
-
},children:(action)=>_$
|
|
938
|
+
})(),(()=>{var _el$7=_$createElement9("box")
|
|
939
|
+
_$setProp9(_el$7,"flexDirection","row")
|
|
940
|
+
_$setProp9(_el$7,"gap",1)
|
|
941
|
+
_$setProp9(_el$7,"flexGrow",1)
|
|
942
|
+
_$setProp9(_el$7,"minWidth",0)
|
|
943
|
+
_$setProp9(_el$7,"justifyContent","flex-end")
|
|
944
|
+
_$insert8(_el$7,()=>props.headerControls,null)
|
|
945
|
+
_$insert8(_el$7,_$createComponent12(Show6,{get when(){return props.headerAction
|
|
946
|
+
},children:(action)=>_$createComponent12(SectionHeaderControl,{get api(){return props.api
|
|
895
947
|
},get interaction(){return props.interaction
|
|
896
948
|
},get action(){return action()
|
|
897
949
|
},get resetWidth(){return headerWidth()
|
|
898
950
|
},get position(){return{section:props.navigationSection??0,row:0,column:1
|
|
899
951
|
}}})
|
|
900
952
|
}),null)
|
|
901
|
-
_$
|
|
902
|
-
},get children(){var _el$8=_$
|
|
903
|
-
_$
|
|
904
|
-
_$
|
|
905
|
-
_$
|
|
906
|
-
_$
|
|
907
|
-
_$
|
|
908
|
-
_v$4!==_p$.e&&(_p$.e=_$
|
|
909
|
-
_v$5!==_p$.t&&(_p$.t=_$
|
|
953
|
+
_$insert8(_el$7,_$createComponent12(Show6,{get when(){return props.summary
|
|
954
|
+
},get children(){var _el$8=_$createElement9("text")
|
|
955
|
+
_$setProp9(_el$8,"wrapMode","none")
|
|
956
|
+
_$setProp9(_el$8,"truncate",true)
|
|
957
|
+
_$setProp9(_el$8,"height",1)
|
|
958
|
+
_$insert8(_el$8,()=>props.summary)
|
|
959
|
+
_$effect9((_p$)=>{var _v$4=item.focused()?item.foregroundColor():theme().textMuted,_v$5=props.headerAction?0:1
|
|
960
|
+
_v$4!==_p$.e&&(_p$.e=_$setProp9(_el$8,"fg",_v$4,_p$.e))
|
|
961
|
+
_v$5!==_p$.t&&(_p$.t=_$setProp9(_el$8,"flexShrink",_v$5,_p$.t))
|
|
910
962
|
return _p$
|
|
911
963
|
},{e:undefined,t:undefined
|
|
912
964
|
})
|
|
@@ -915,7 +967,7 @@ return _el$8
|
|
|
915
967
|
return _el$7
|
|
916
968
|
})()]
|
|
917
969
|
}}),null)
|
|
918
|
-
_$
|
|
970
|
+
_$insert8(_el$,_$createComponent12(Show6,{get when(){return props.open
|
|
919
971
|
},get children(){return props.children
|
|
920
972
|
}}),null)
|
|
921
973
|
return _el$
|
|
@@ -926,17 +978,17 @@ const model=()=>props.controller.current().model
|
|
|
926
978
|
const snapshot=props.controller.snapshot
|
|
927
979
|
function openCredits(){const selected=model()
|
|
928
980
|
if(selected)
|
|
929
|
-
dialogs.open(()=>_$
|
|
981
|
+
dialogs.open(()=>_$createComponent13(ResetCreditDialog,{get api(){return props.api
|
|
930
982
|
},get preferences(){return props.preferences
|
|
931
983
|
},get controller(){return props.controller
|
|
932
984
|
},get adapter(){return props.codex
|
|
933
985
|
},model:selected
|
|
934
986
|
}))
|
|
935
987
|
}
|
|
936
|
-
return _$
|
|
988
|
+
return _$createComponent13(Section,{get api(){return props.api
|
|
937
989
|
},get interaction(){return props.interaction
|
|
938
990
|
},sectionId:`${PLUGIN_ID}.section.limits`,get navigationSection(){return props.navigationSection
|
|
939
|
-
},title:"LIMITS",section:"limits",summary:"",get headerControls(){return _$
|
|
991
|
+
},title:"LIMITS",section:"limits",summary:"",get headerControls(){return _$createComponent13(LimitsHeaderControls,{get api(){return props.api
|
|
940
992
|
},get interaction(){return props.interaction
|
|
941
993
|
},get navigationSection(){return props.navigationSection
|
|
942
994
|
},get credits(){return(snapshot()?.bankedResets?.availableCount??0)>0||Boolean(props.preferences.pendingResetAttempt())
|
|
@@ -945,28 +997,28 @@ return _$createComponent12(Section,{get api(){return props.api
|
|
|
945
997
|
},onCredits:openCredits,onRefresh:()=>void props.controller.refresh(true)
|
|
946
998
|
})
|
|
947
999
|
},get open(){return props.preferences.expanded().limits
|
|
948
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("limits"),get children(){return _$
|
|
949
|
-
},get fallback(){return(()=>{var _el$=_$
|
|
950
|
-
_$
|
|
951
|
-
_$
|
|
1000
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("limits"),get children(){return _$createComponent13(Show7,{get when(){return model()
|
|
1001
|
+
},get fallback(){return(()=>{var _el$=_$createElement10("text")
|
|
1002
|
+
_$insertNode7(_el$,_$createTextNode4(`Open a session to view model limits`))
|
|
1003
|
+
_$effect10((_$p)=>_$setProp10(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
952
1004
|
return _el$
|
|
953
1005
|
})()
|
|
954
|
-
},children:(selected)=>(()=>{var _el$3=_$
|
|
955
|
-
_$
|
|
956
|
-
_$
|
|
957
|
-
_$
|
|
958
|
-
_$
|
|
959
|
-
_$
|
|
1006
|
+
},children:(selected)=>(()=>{var _el$3=_$createElement10("box")
|
|
1007
|
+
_$setProp10(_el$3,"width","100%")
|
|
1008
|
+
_$setProp10(_el$3,"minWidth",0)
|
|
1009
|
+
_$setProp10(_el$3,"flexShrink",1)
|
|
1010
|
+
_$setProp10(_el$3,"overflow","hidden")
|
|
1011
|
+
_$insert9(_el$3,_$createComponent13(LimitsModelRow,_$mergeProps(props,{get model(){return selected()
|
|
960
1012
|
},get selection(){return props.modelSelection
|
|
961
1013
|
}})),null)
|
|
962
|
-
_$
|
|
1014
|
+
_$insert9(_el$3,_$createComponent13(CodexAccountControls,_$mergeProps(props,{get model(){return selected()
|
|
963
1015
|
}})),null)
|
|
964
|
-
_$
|
|
965
|
-
},children:(quota)=>_$
|
|
1016
|
+
_$insert9(_el$3,_$createComponent13(Show7,{get when(){return _$memo7(()=>!!(snapshot()&&["ready","stale"].includes(snapshot().availability)))()?snapshot():undefined
|
|
1017
|
+
},children:(quota)=>_$createComponent13(QuotaSnapshotRows,{get api(){return props.api
|
|
966
1018
|
},get snapshot(){return quota()
|
|
967
1019
|
}})
|
|
968
1020
|
}),null)
|
|
969
|
-
_$
|
|
1021
|
+
_$insert9(_el$3,_$createComponent13(LimitsStatus,{get api(){return props.api
|
|
970
1022
|
},get controller(){return props.controller
|
|
971
1023
|
}}),null)
|
|
972
1024
|
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"
|
|
@@ -6180,6 +6180,13 @@ return _$createComponent(SectionWithHeaderAction,{get api(){return props.api
|
|
|
6180
6180
|
|
|
6181
6181
|
|
|
6182
6182
|
|
|
6183
|
+
|
|
6184
|
+
|
|
6185
|
+
|
|
6186
|
+
|
|
6187
|
+
|
|
6188
|
+
|
|
6189
|
+
|
|
6183
6190
|
|
|
6184
6191
|
|
|
6185
6192
|
|
|
@@ -6236,7 +6243,7 @@ _$insert(_el$2,()=>props.action.label)
|
|
|
6236
6243
|
_$effect((_$p)=>_$setProp(_el$2,"fg",row.foregroundColor(),_$p))
|
|
6237
6244
|
return _el$2
|
|
6238
6245
|
})()
|
|
6239
|
-
},get metadata(){return _$createComponent(
|
|
6246
|
+
},get metadata(){return _$createComponent(Show21,{get when(){return visibleShortcut()
|
|
6240
6247
|
},children:(value)=>(()=>{var _el$3=_$createElement("text")
|
|
6241
6248
|
_$setProp(_el$3,"flexShrink",0)
|
|
6242
6249
|
_$setProp(_el$3,"wrapMode","none")
|
|
@@ -6245,7 +6252,7 @@ _$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme()
|
|
|
6245
6252
|
return _el$3
|
|
6246
6253
|
})()
|
|
6247
6254
|
})
|
|
6248
|
-
},get details(){return _$createComponent(
|
|
6255
|
+
},get details(){return _$createComponent(Show21,{get when(){return props.disabled
|
|
6249
6256
|
},children:(reason)=>(()=>{var _el$4=_$createElement("text")
|
|
6250
6257
|
_$setProp(_el$4,"wrapMode","word")
|
|
6251
6258
|
_$insert(_el$4,reason)
|
|
@@ -6273,12 +6280,12 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6273
6280
|
},onToggle:()=>props.preferences.toggleSectionExpanded("quick_actions"),get children(){return [_$createComponent(SidebarRowList,{get api(){return props.api
|
|
6274
6281
|
},get interaction(){return props.interaction
|
|
6275
6282
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6276
|
-
},get children(){return [_$createComponent(
|
|
6283
|
+
},get children(){return [_$createComponent(Show22,{get when(){return actions().length===0
|
|
6277
6284
|
},get children(){var _el$=_$createElement("text")
|
|
6278
6285
|
_$insertNode(_el$,_$createTextNode(`No quick actions selected`))
|
|
6279
6286
|
_$effect((_$p)=>_$setProp(_el$,"fg",props.api.theme.current.textMuted,_$p))
|
|
6280
6287
|
return _el$
|
|
6281
|
-
}}),_$createComponent(
|
|
6288
|
+
}}),_$createComponent(For16,{get each(){return visibility.visible()
|
|
6282
6289
|
},children:(action,index)=>_$createComponent(QuickActionRow,{get onNewSession(){return props.onNewSession
|
|
6283
6290
|
},action,get disabled(){return action.disabled
|
|
6284
6291
|
},get favorite(){return props.preferences.favoriteQuickActions?.().has(action.command)??false
|
|
@@ -6521,7 +6528,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6521
6528
|
}},get query(){return query()
|
|
6522
6529
|
},placeholder:"Filter skills...",onInput:setQuery
|
|
6523
6530
|
}),null)
|
|
6524
|
-
_$insert(_el$,_$createComponent(
|
|
6531
|
+
_$insert(_el$,_$createComponent(Show23,{get when(){return model.filtered().length>0
|
|
6525
6532
|
},get fallback(){return(()=>{var _el$2=_$createElement("text")
|
|
6526
6533
|
_$insertNode(_el$2,_$createTextNode(`No matching skills`))
|
|
6527
6534
|
_$effect((_$p)=>_$setProp(_el$2,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6531,8 +6538,8 @@ return _el$2
|
|
|
6531
6538
|
},get interaction(){return props.interaction
|
|
6532
6539
|
},get grouped(){return model.grouped
|
|
6533
6540
|
},get density(){return props.preferences.rowDensity?.()??"compact"
|
|
6534
|
-
},get children(){return _$createComponent(
|
|
6535
|
-
},children:(item,index)=>[_$createComponent(
|
|
6541
|
+
},get children(){return _$createComponent(For17,{get each(){return model.visibility.visible()
|
|
6542
|
+
},children:(item,index)=>[_$createComponent(Show23,{get when(){return _$memo(()=>!!model.grouped())()&&(index()===0||model.visibility.visible()[index()-1]?.bucket!==item.bucket)
|
|
6536
6543
|
},get children(){var _el$4=_$createElement("text")
|
|
6537
6544
|
_$setProp(_el$4,"height",1)
|
|
6538
6545
|
_$setProp(_el$4,"wrapMode","none")
|
|
@@ -6659,7 +6666,7 @@ return()=>_c$()?`${props.item.run.startedBeforeObservation ? `${icons.icon("rece
|
|
|
6659
6666
|
_$effect((_$p)=>_$setProp(_el$3,"fg",row.focused()?row.foregroundColor():theme().textMuted,_$p))
|
|
6660
6667
|
return _el$3
|
|
6661
6668
|
})()
|
|
6662
|
-
},get details(){return [_$createComponent(
|
|
6669
|
+
},get details(){return [_$createComponent(Show24,{get when(){return props.item.run?.errorMessage
|
|
6663
6670
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createTextNode(`: `)
|
|
6664
6671
|
_$insertNode(_el$4,_el$5)
|
|
6665
6672
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -6667,12 +6674,12 @@ _$insert(_el$4,()=>cancelled()?"Cancelled":"Error",_el$5)
|
|
|
6667
6674
|
_$insert(_el$4,()=>props.item.run?.errorMessage,null)
|
|
6668
6675
|
_$effect((_$p)=>_$setProp(_el$4,"fg",row.focused()?row.foregroundColor():failed()?theme().error:theme().textMuted,_$p))
|
|
6669
6676
|
return _el$4
|
|
6670
|
-
}}),_$createComponent(
|
|
6677
|
+
}}),_$createComponent(Show24,{get when(){return props.item.unavailable
|
|
6671
6678
|
},get children(){var _el$6=_$createElement("text")
|
|
6672
6679
|
_$insertNode(_el$6,_$createTextNode(`Worker status unavailable`))
|
|
6673
6680
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().warning,_$p))
|
|
6674
6681
|
return _el$6
|
|
6675
|
-
}}),_$createComponent(
|
|
6682
|
+
}}),_$createComponent(Show24,{get when(){return _$memo(()=>props.item.status.type==="retry")()?props.item.status:undefined
|
|
6676
6683
|
},children:(status)=>(()=>{var _el$0=_$createElement("text"),_el$1=_$createTextNode(`Retry #`),_el$10=_$createTextNode(` \xB7 `),_el$11=_$createTextNode(`s \xB7 `)
|
|
6677
6684
|
_$insertNode(_el$0,_el$1)
|
|
6678
6685
|
_$insertNode(_el$0,_el$10)
|
|
@@ -6684,7 +6691,7 @@ _$insert(_el$0,()=>status().message,null)
|
|
|
6684
6691
|
_$effect((_$p)=>_$setProp(_el$0,"fg",row.focused()?row.foregroundColor():theme().warning,_$p))
|
|
6685
6692
|
return _el$0
|
|
6686
6693
|
})()
|
|
6687
|
-
}),_$createComponent(
|
|
6694
|
+
}),_$createComponent(Show24,{get when(){return _$memo(()=>!!idle())()&&!props.item.run?.errorMessage
|
|
6688
6695
|
},get children(){var _el$8=_$createElement("text")
|
|
6689
6696
|
_$insertNode(_el$8,_$createTextNode(`Finished`))
|
|
6690
6697
|
_$effect((_$p)=>_$setProp(_el$8,"fg",theme().textMuted,_$p))
|
|
@@ -6695,12 +6702,12 @@ return _el$8
|
|
|
6695
6702
|
function SubagentList(props){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6696
6703
|
},get interaction(){return props.interaction
|
|
6697
6704
|
},get density(){return props.density
|
|
6698
|
-
},get children(){return _$createComponent(
|
|
6705
|
+
},get children(){return _$createComponent(For18,{get each(){return props.ids
|
|
6699
6706
|
},children:(id,index)=>{const initial=props.itemById(id)
|
|
6700
6707
|
const item=()=>props.itemById(id)??initial
|
|
6701
6708
|
const startsGroup=()=>index()===0||props.visible[index()-1]?.group!==item().group
|
|
6702
6709
|
return(()=>{var _el$=_$createElement("box")
|
|
6703
|
-
_$insert(_el$,_$createComponent(
|
|
6710
|
+
_$insert(_el$,_$createComponent(Show25,{get when(){return startsGroup()
|
|
6704
6711
|
},get children(){var _el$2=_$createElement("text"),_el$3=_$createElement("b")
|
|
6705
6712
|
_$insertNode(_el$2,_el$3)
|
|
6706
6713
|
_$insert(_el$3,()=>item().group)
|
|
@@ -6726,7 +6733,7 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6726
6733
|
},sectionId:`${PLUGIN_ID}.section.subagents`,get navigationSection(){return navigationSection()
|
|
6727
6734
|
},title:"SUBAGENTS",section:"subagents",get summary(){return `${model.list().length} active \xB7 ${model.recent().length} recent`
|
|
6728
6735
|
},get open(){return props.preferences.expanded().subagents
|
|
6729
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(
|
|
6736
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("subagents"),get children(){return [_$createComponent(Show26,{get when(){return model.parentID()
|
|
6730
6737
|
},children:(id)=>_$createComponent(McpBulkAction,{get api(){return props.api
|
|
6731
6738
|
},get interaction(){return props.interaction
|
|
6732
6739
|
},id:`${PLUGIN_ID}.subagents.parent`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -6749,7 +6756,7 @@ _$insert(_el$,_$createComponent(SectionFilter,{get api(){return props.api
|
|
|
6749
6756
|
}}),_el$2)
|
|
6750
6757
|
_$setProp(_el$2,"flexDirection","row")
|
|
6751
6758
|
_$setProp(_el$2,"flexWrap","wrap")
|
|
6752
|
-
_$insert(_el$2,_$createComponent(
|
|
6759
|
+
_$insert(_el$2,_$createComponent(For19,{get each(){return model.tabs()
|
|
6753
6760
|
},children:(value,index)=>_$createComponent(SectionTab,{get api(){return props.api
|
|
6754
6761
|
},get interaction(){return props.interaction
|
|
6755
6762
|
},id:`${PLUGIN_ID}.subagents.filter.${value}`,get position(){return{section:navigationSection(),row:4,column:index()
|
|
@@ -6760,7 +6767,7 @@ _$insert(_el$2,_$createComponent(For18,{get each(){return model.tabs()
|
|
|
6760
6767
|
},onActivate:()=>model.setMode(value)
|
|
6761
6768
|
})
|
|
6762
6769
|
}))
|
|
6763
|
-
_$insert(_el$,_$createComponent(
|
|
6770
|
+
_$insert(_el$,_$createComponent(Show26,{get when(){return model.filtered().length===0
|
|
6764
6771
|
},get children(){var _el$3=_$createElement("text")
|
|
6765
6772
|
_$insertNode(_el$3,_$createTextNode(`No matching subagents`))
|
|
6766
6773
|
_$effect((_$p)=>_$setProp(_el$3,"fg",props.api.theme.current.textMuted,_$p))
|
|
@@ -6844,7 +6851,7 @@ _$insert(_el$2,()=>icons.icon(done()?"done":active()?"busy":cancelled()?"close":
|
|
|
6844
6851
|
_$setProp(_el$3,"flexGrow",1)
|
|
6845
6852
|
_$setProp(_el$3,"wrapMode","word")
|
|
6846
6853
|
_$insert(_el$3,()=>props.item.content)
|
|
6847
|
-
_$insert(_el$,_$createComponent(
|
|
6854
|
+
_$insert(_el$,_$createComponent(Show27,{get when(){return props.item.priority==="high"||props.item.priority==="medium"||props.item.priority==="low"
|
|
6848
6855
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b"),_el$6=_$createTextNode(` `)
|
|
6849
6856
|
_$insertNode(_el$4,_el$5)
|
|
6850
6857
|
_$setProp(_el$4,"width",2)
|
|
@@ -6871,7 +6878,7 @@ _$insertNode(_el$,_el$2)
|
|
|
6871
6878
|
_$setProp(_el$,"gap",1)
|
|
6872
6879
|
_$setProp(_el$2,"flexDirection","row")
|
|
6873
6880
|
_$setProp(_el$2,"flexWrap","wrap")
|
|
6874
|
-
_$insert(_el$2,_$createComponent(
|
|
6881
|
+
_$insert(_el$2,_$createComponent(For20,{each:["all","active","finished"],children:(value,index)=>_$createComponent(SectionTab,{get api(){return props.api
|
|
6875
6882
|
},get interaction(){return props.interaction
|
|
6876
6883
|
},id:`${PLUGIN_ID}.todo.filter.${value}`,get position(){return{section:navigationSection(),row:tabsRow(),column:index()
|
|
6877
6884
|
}},get label(){return value[0].toUpperCase() + value.slice(1)
|
|
@@ -6880,17 +6887,17 @@ _$insert(_el$2,_$createComponent(For19,{each:["all","active","finished"],childre
|
|
|
6880
6887
|
},onActivate:()=>props.setMode(value)
|
|
6881
6888
|
})
|
|
6882
6889
|
}))
|
|
6883
|
-
_$insert(_el$,_$createComponent(
|
|
6890
|
+
_$insert(_el$,_$createComponent(Show28,{get when(){return props.view.rows.length>0
|
|
6884
6891
|
},get fallback(){return _$createComponent(EmptyTodo,{get api(){return props.api
|
|
6885
6892
|
},get mode(){return props.mode
|
|
6886
6893
|
}})
|
|
6887
6894
|
},get children(){return _$createComponent(SidebarRowList,{get api(){return props.api
|
|
6888
6895
|
},get interaction(){return props.interaction
|
|
6889
6896
|
},get density(){return props.density
|
|
6890
|
-
},get children(){return _$createComponent(
|
|
6897
|
+
},get children(){return _$createComponent(For20,{get each(){return props.visibility.visible()
|
|
6891
6898
|
},children:(row,index)=>{const startsGroup=()=>index()===0||props.visibility.visible()[index()-1].group!==row.group
|
|
6892
6899
|
return(()=>{var _el$3=_$createElement("box")
|
|
6893
|
-
_$insert(_el$3,_$createComponent(
|
|
6900
|
+
_$insert(_el$3,_$createComponent(Show28,{get when(){return startsGroup()
|
|
6894
6901
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
6895
6902
|
_$insertNode(_el$4,_el$5)
|
|
6896
6903
|
_$insert(_el$5,()=>row.group)
|
|
@@ -6927,7 +6934,7 @@ return _el$6
|
|
|
6927
6934
|
|
|
6928
6935
|
|
|
6929
6936
|
function TodoGuidanceControl(props){const state=()=>props.controller.guidance(props.sessionID)
|
|
6930
|
-
return _$createComponent(
|
|
6937
|
+
return _$createComponent(Show29,{get when(){return state().available
|
|
6931
6938
|
},get children(){var _el$=_$createElement("box")
|
|
6932
6939
|
_$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
6933
6940
|
},get interaction(){return props.interaction
|
|
@@ -6937,7 +6944,7 @@ _$insert(_el$,_$createComponent(SectionTab,{get api(){return props.api
|
|
|
6937
6944
|
},get disabled(){return state().saving
|
|
6938
6945
|
},onActivate:()=>void props.controller.setGuidance(props.sessionID,!state().enabled)
|
|
6939
6946
|
}),null)
|
|
6940
|
-
_$insert(_el$,_$createComponent(
|
|
6947
|
+
_$insert(_el$,_$createComponent(Show29,{get when(){return state().error
|
|
6941
6948
|
},children:(message)=>(()=>{var _el$2=_$createElement("text")
|
|
6942
6949
|
_$setProp(_el$2,"wrapMode","word")
|
|
6943
6950
|
_$insert(_el$2,message)
|
|
@@ -6975,10 +6982,10 @@ return _$createComponent(Section,{get api(){return props.api
|
|
|
6975
6982
|
},sectionId:`${PLUGIN_ID}.section.todo`,get navigationSection(){return navigationSection()
|
|
6976
6983
|
},title:"TODO",section:"todo",get summary(){return _$memo(()=>!!(unavailable()||managed()?.missing(props.sessionID)))()?"\u2014":`${view().counts.completed}/${list().length}`
|
|
6977
6984
|
},get open(){return props.preferences.expanded().todo
|
|
6978
|
-
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(
|
|
6985
|
+
},onToggle:()=>props.preferences.toggleSectionExpanded("todo"),get children(){return _$createComponent(Show30,{get when(){return unavailable()
|
|
6979
6986
|
},get fallback(){return(()=>{var _el$=_$createElement("box")
|
|
6980
6987
|
_$setProp(_el$,"gap",1)
|
|
6981
|
-
_$insert(_el$,_$createComponent(
|
|
6988
|
+
_$insert(_el$,_$createComponent(Show30,{get when(){return managed()?.guidance(props.sessionID).available
|
|
6982
6989
|
},get children(){return _$createComponent(TodoGuidanceControl,{get api(){return props.api
|
|
6983
6990
|
},get controller(){return managed()
|
|
6984
6991
|
},get sessionID(){return props.sessionID
|
|
@@ -6986,7 +6993,7 @@ _$insert(_el$,_$createComponent(Show29,{get when(){return managed()?.guidance(pr
|
|
|
6986
6993
|
},get navigationSection(){return navigationSection()
|
|
6987
6994
|
}})
|
|
6988
6995
|
}}),null)
|
|
6989
|
-
_$insert(_el$,_$createComponent(
|
|
6996
|
+
_$insert(_el$,_$createComponent(Show30,{get when(){return managed()?.missing(props.sessionID)
|
|
6990
6997
|
},get fallback(){return _$createComponent(SectionRequestBody,{get api(){return props.api
|
|
6991
6998
|
},get interaction(){return props.interaction
|
|
6992
6999
|
},id:`${PLUGIN_ID}.retry.todo`,get position(){return{section:navigationSection(),row:1,column:0
|
|
@@ -7035,7 +7042,7 @@ event.preventDefault()
|
|
|
7035
7042
|
event.stopPropagation()
|
|
7036
7043
|
props.interaction.leave()
|
|
7037
7044
|
})
|
|
7038
|
-
_$insert(_el$,_$createComponent(
|
|
7045
|
+
_$insert(_el$,_$createComponent(For21,{get each(){return visibleSections()
|
|
7039
7046
|
},children:(section,index)=>_$createComponent(SectionBoundary,{get api(){return props.api
|
|
7040
7047
|
},get divided(){return index()<visibleSections().length-1
|
|
7041
7048
|
},get children(){return _$createComponent(Switch,{get children(){return [_$createComponent(Match,{when:section==="limits",get children(){return props.limitsSection(index() + 1)
|
|
@@ -7130,7 +7137,7 @@ _$setProp(_el$2,"flexDirection","row")
|
|
|
7130
7137
|
_$setProp(_el$2,"justifyContent","space-between")
|
|
7131
7138
|
_$setProp(_el$2,"gap",1)
|
|
7132
7139
|
_$setProp(_el$3,"flexGrow",1)
|
|
7133
|
-
_$insert(_el$3,_$createComponent(
|
|
7140
|
+
_$insert(_el$3,_$createComponent(Show31,{get when(){return props.preferences.showSessionTitle()
|
|
7134
7141
|
},get children(){var _el$4=_$createElement("text"),_el$5=_$createElement("b")
|
|
7135
7142
|
_$insertNode(_el$4,_el$5)
|
|
7136
7143
|
_$setProp(_el$4,"wrapMode","word")
|
|
@@ -7138,7 +7145,7 @@ _$insert(_el$5,()=>props.title)
|
|
|
7138
7145
|
_$effect((_$p)=>_$setProp(_el$4,"fg",theme().text,_$p))
|
|
7139
7146
|
return _el$4
|
|
7140
7147
|
}}),null)
|
|
7141
|
-
_$insert(_el$3,_$createComponent(
|
|
7148
|
+
_$insert(_el$3,_$createComponent(Show31,{get when(){return _$memo(()=>!!props.preferences.showSessionDate())()&&created()
|
|
7142
7149
|
},children:(value)=>(()=>{var _el$6=_$createElement("text")
|
|
7143
7150
|
_$insert(_el$6,value)
|
|
7144
7151
|
_$effect((_$p)=>_$setProp(_el$6,"fg",theme().textMuted,_$p))
|
|
@@ -7515,7 +7522,7 @@ const limitsPath=import.meta.url.includes("/dist/tui.js")?"./provider-limits.js"
|
|
|
7515
7522
|
const limitsModule=await import(limitsPath)
|
|
7516
7523
|
const LimitsSection=limitsModule.ProviderLimitsSection
|
|
7517
7524
|
const{controller:limits,codex,accountSource,selectModel,modelSelection
|
|
7518
|
-
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.21.
|
|
7525
|
+
}=limitsModule.createProviderQuotaIntegration(api,preferences,"0.21.6",hostContext)
|
|
7519
7526
|
const mcp=createMcpController(api,preferences.persistMcp,preferences)
|
|
7520
7527
|
const interaction=createSidebarInteraction(api,()=>openKeyboardHelp(api,preferences.lspIconStyle,preferences.cornerFont))
|
|
7521
7528
|
const startup=createStartupSessionController(api,preferences)
|
|
@@ -7543,7 +7550,7 @@ api.slots.register({order:100,slots:{app(){return _$createComponent(IconProvider
|
|
|
7543
7550
|
},interaction,skills,subagents,mcp
|
|
7544
7551
|
}),_$createComponent(FirstRunWizardPersistence,{api,preferences
|
|
7545
7552
|
}),_$createComponent(StartupSessionBinding,{api,controller:startup
|
|
7546
|
-
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.21.
|
|
7553
|
+
}),_$createComponent(UpgradeNotesBinding,{api,preferences,version:"0.21.6"
|
|
7547
7554
|
}),_$createComponent(McpPersistence,{api,controller:mcp
|
|
7548
7555
|
})]
|
|
7549
7556
|
}})
|
|
@@ -7576,12 +7583,12 @@ return result.data?.type==="text"?result.data.content:undefined
|
|
|
7576
7583
|
})
|
|
7577
7584
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV1VersionUpdater
|
|
7578
7585
|
}=await loadNavigatorUpdates()
|
|
7579
|
-
const versionStatus=createVersionStatus(api,"0.21.
|
|
7580
|
-
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.
|
|
7586
|
+
const versionStatus=createVersionStatus(api,"0.21.6")
|
|
7587
|
+
const versionUpdates=createVersionUpdateActions(api,versionStatus,createOpenCodeV1VersionUpdater(api,meta),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.6"))
|
|
7581
7588
|
api.slots.register({order:90,slots:{sidebar_footer(_context,props){return _$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7582
7589
|
},get multilineCorners(){return preferences.cornerFont
|
|
7583
7590
|
},get children(){return _$createComponent(VersionFooter,{api,get sessionID(){return props.session_id
|
|
7584
|
-
},navigatorVersion:"0.21.
|
|
7591
|
+
},navigatorVersion:"0.21.6",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7585
7592
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7586
7593
|
}})
|
|
7587
7594
|
}})
|
|
@@ -7597,15 +7604,15 @@ return new TextDecoder().decode(await context.client.file.read({location:context
|
|
|
7597
7604
|
},todo,context)
|
|
7598
7605
|
const{createVersionStatus,createVersionUpdateActions,createOpenCodeV2VersionUpdater
|
|
7599
7606
|
}=await loadNavigatorUpdates()
|
|
7600
|
-
const versionStatus=createVersionStatus(adapter.api,"0.21.
|
|
7601
|
-
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.
|
|
7607
|
+
const versionStatus=createVersionStatus(adapter.api,"0.21.6")
|
|
7608
|
+
const versionUpdates=createVersionUpdateActions(adapter.api,versionStatus,createOpenCodeV2VersionUpdater(context),()=>preferences.rememberNavigatorVersionBeforeUpdate("0.21.6"))
|
|
7602
7609
|
const disposeFooter=context.ui.slot({append:"sidebar.footer",render:()=>_$createComponent(IconProvider,{get style(){return preferences.lspIconStyle
|
|
7603
7610
|
},get multilineCorners(){return preferences.cornerFont
|
|
7604
7611
|
},get children(){var _el$=_$createElement("box")
|
|
7605
7612
|
_$setProp(_el$,"flexDirection","row")
|
|
7606
7613
|
_$setProp(_el$,"justifyContent","space-between")
|
|
7607
7614
|
_$insert(_el$,_$createComponent(VersionSummary,{get api(){return adapter.api
|
|
7608
|
-
},navigatorVersion:"0.21.
|
|
7615
|
+
},navigatorVersion:"0.21.6",status:versionStatus,get onOpenCodeUpdate(){return versionUpdates.openCode
|
|
7609
7616
|
},get onNavigatorUpdate(){return versionUpdates.navigator
|
|
7610
7617
|
}}),null)
|
|
7611
7618
|
_$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.6",
|
|
5
5
|
"description": "Search, navigate, and manage OpenCode sessions from the TUI",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"packageManager": "bun@1.4.2",
|