oc-go-usage-display 1.0.2 → 2.0.0

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.
Files changed (41) hide show
  1. package/README.md +249 -68
  2. package/bin/lib.js +433 -29
  3. package/bin/oc-go-usage-display-init.js +42 -13
  4. package/bin/oc-go-usage-display-remove.js +38 -0
  5. package/bin/oc-go-usage-display-show.js +47 -39
  6. package/bin/oc-go-usage-display-status.js +33 -42
  7. package/bin/oc-go-usage-display-update.js +27 -14
  8. package/dist/helpers.d.ts +116 -0
  9. package/dist/helpers.d.ts.map +1 -0
  10. package/dist/helpers.js +568 -0
  11. package/dist/helpers.js.map +1 -0
  12. package/dist/index.d.ts +5 -9
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +258 -278
  15. package/dist/index.js.map +1 -1
  16. package/dist/plugins/oc-go-usage-display.kilo.ts +678 -0
  17. package/dist/plugins/oc-go-usage-display.kilo.tsx +1272 -0
  18. package/dist/plugins/oc-go-usage-display.ts +678 -0
  19. package/dist/plugins/oc-go-usage-display.tsx +1018 -0
  20. package/dist/shared.d.ts +96 -0
  21. package/dist/shared.d.ts.map +1 -0
  22. package/dist/shared.js +575 -0
  23. package/dist/shared.js.map +1 -0
  24. package/dist/tui-shared.d.ts +109 -0
  25. package/dist/tui-shared.d.ts.map +1 -0
  26. package/dist/tui-shared.js +372 -0
  27. package/dist/tui-shared.js.map +1 -0
  28. package/dist/tui.d.ts.map +1 -1
  29. package/dist/tui.js +226 -377
  30. package/dist/tui.js.map +1 -1
  31. package/dist/tui.kilo.d.ts +8 -0
  32. package/dist/tui.kilo.d.ts.map +1 -0
  33. package/dist/tui.kilo.js +502 -0
  34. package/dist/tui.kilo.js.map +1 -0
  35. package/package.json +47 -13
  36. package/src/helpers.ts +733 -0
  37. package/src/index.ts +331 -304
  38. package/src/shared.ts +696 -0
  39. package/src/tui-shared.tsx +705 -0
  40. package/src/tui.kilo.tsx +816 -0
  41. package/src/tui.tsx +356 -465
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":";AA8DA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,+BAA+B,EAC/B,YAAY,EACZ,kBAAkB,EAClB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,gFAAgF;AAChF,8BAA8B;AAC9B,MAAM,IAAI,GAAG,UAAmB,CAAC;AACjC,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,8EAA8E;AAC9E,0EAA0E;AAC1E,+DAA+D;AAC/D,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,OAAkC;IAChF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAqC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,YAAY,CAAqB,SAAS,CAAC,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QAC7C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IACD,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAElF,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,wCAAwC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpD,SAAS,mBAAmB,CAAC,SAAiB;QAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,SAAS,gBAAgB,CAAC,KAAgD;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAC3B,gBAAgB,CACd,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EACtE,KAAK,CAAC,KAAK,CAAC,OAAO,EACnB,6BAA6B,CAC9B,CACF,CAAC;QACF,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,aAC5C,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAE,CAAC,YAC9D,IAAI,EAAE,GACF,EACP,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAC1B,QAAQ,EAAE,uBAAuB,CAAC,OAAO,EAAE,CAAC,GAC5C,EACF,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAE,CAAC,YACnE,iBAAiB,CAAC,OAAO,EAAE,CAAC,GACxB,IACH,CACP,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,+DAA+D;IAC/D,SAAS,kBAAkB,CAAC,KAAiE;QAC3F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,YAAY,CAAU,KAAK,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,GAAoB,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACrD,2EAA2E;QAC3E,4BAA4B;QAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAC1B,oBAAoB,CAClB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrB,IAAI,EAAE,cAAc,CAClB,gBAAgB,CACd,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAC1D,KAAK,CAAC,OAAO,EACb,6BAA6B,CAC9B,CACF;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC,CACJ,CACF,CAAC;QAEF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAC5B,eAAK,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAC/D,KAAC,GAAG,IAAC,IAAI,EAAE,IAAI,EAAE,YAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,GAAO,EAC5F,KAAC,GAAG,IAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,CAAC,YACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CACT,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,IAAI,GACA,CACR,GACG,IACF,CACP,CAAC,CAAC;QAEH,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,yEAAyE;QACzE,yEAAyE;QACzE,kCAAkC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,0EAA0E;YAC1E,qDAAqD;YACrD,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,YACjD,sBAAI,mBAAmB,GAAK,GACvB,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,kBAAkB,GACd,IACH,CACP,CAAC;YACJ,CAAC;YACD,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,KAAC,kBAAkB,IACjB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAC/B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EACpD,IAAI,EAAE,IAAI,GACV,EACF,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,UAAU,EAAE,YACvB,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,YACpE,aAAa,CAAC,GAAG,CAAC,GACd,GACF,IACH,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,cAAK,aAAa,EAAC,QAAQ,YAAE,aAAa,CAAC,OAAO,CAAC,GAAO,CAAC;IACpE,CAAC;IAED,SAAS,cAAc,CAAC,KAA6C;QACnE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa;gBAAE,OAAO,IAAI,CAAC;YACxE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,UAAU,EAAE,CAAC;YACb,OAAO,+BAA+B,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,YAAY,IACX,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,SAAS,EAAE,aAAa,GACxB,EACF,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,GAAI,IAC3D,CACP,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,mEAAmE;QACnE,qEAAqE;QACrE,oEAAoE;QACpE,gBAAgB;QAChB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,eAAe,CAAC,GAAmB,EAAE,KAA6B;wBAChE,uEAAuE;wBACvE,IAAI,CAAC;4BACH,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gCAAE,OAAO,IAAI,CAAC;4BAC/C,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gCAAE,OAAO,IAAI,CAAC;4BAC/E,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gCAAE,OAAO,IAAI,CAAC;4BACtD,IAAI,QAAQ,CAAC,kBAAkB,EAAE;gCAAE,OAAO,IAAI,CAAC;4BAC/C,OAAO,KAAC,cAAc,IAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,GAAI,CAAC;wBAC3E,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,oBAAoB,CAAC,IAAoB,EAAE,KAA6B;wBACtE,uEAAuE;wBACvE,IAAI,CAAC;4BACH,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gCAAE,OAAO,IAAI,CAAC;4BAC/C,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gCAAE,OAAO,IAAI,CAAC;4BAC/E,IAAI,QAAQ,CAAC,qBAAqB,EAAE;gCAAE,OAAO,IAAI,CAAC;4BAClD,OAAO,KAAC,YAAY,IAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAAI,CAAC;wBACzD,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,uBAAuB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC7C;gBACE,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,oCAAoC;gBAC3C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE;aACzC;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,KAAK,EAAE,uCAAuC;gBAC9C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;aAC5C;SACF,CAAC,CAAC;QACH,IAAI,OAAO,UAAU,KAAK,UAAU;YAAE,uBAAuB,GAAG,UAAU,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IAED,IAAI,kBAAkB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9C,IAAI,kBAAkB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5D,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC;YAC9D,IAAI,UAAU,KAAK,SAAS;gBAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC9D,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,WAAW,KAAK,UAAU;YAAE,kBAAkB,GAAG,WAAW,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvD,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACvC,wEAAwE;YACxE,+BAA+B;YAC/B,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,WAAW,KAAK,UAAU;YAAE,kBAAkB,GAAG,WAAW,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IAED,IAAI,SAAS,GAA0C,IAAI,CAAC;IAC5D,IAAI,CAAC;QACH,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC3B,oEAAoE;YACpE,2DAA2D;YAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;YACH,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,CAAC;gBACzF,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,aAAa,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,GAAc,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,kEAAkE;QAClE,KAAK,aAAa,CAChB,GAAG,EACH,sCAAsC,YAAY,CAAC,KAAK,CAAC,8BAA8B,CACxF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,UAAU,EAA4B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** @jsxImportSource @opentui/solid */
2
+ import type { TuiPlugin } from "@kilocode/plugin/tui";
3
+ declare const _default: {
4
+ id: string;
5
+ tui: TuiPlugin;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=tui.kilo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.kilo.d.ts","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAoEtC,OAAO,KAAK,EACV,SAAS,EAKV,MAAM,sBAAsB,CAAC;;;;;AAquB9B,wBAAwF"}
@@ -0,0 +1,502 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
+ import { For, Show, createEffect, createMemo, createSignal, onCleanup } from "solid-js";
3
+ import { buildModelTokenRows, buildPlanRows, buildTokenUsageRows, relevantReset, formatUsageCost, formatUsageCount, goSharePercent, groupModelsByProvider, modelDisplayName, parseSidebarMode, totalGoTokens, usageTokenCount, DEFAULT_SIDEBAR_MODE, } from "./helpers.js";
4
+ import { hostEnv, parseSessionModelUsage, errorMessage, GO_PROVIDER_ID, MODELS_EMPTY_LABEL, INTEGRATED_LOADING_LABEL, INTEGRATED_MODELS_SECTION_LABEL, INTEGRATED_TOKENS_SECTION_LABEL, INTEGRATED_UNAVAILABLE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, KILO_COST_COLUMN_WIDTH, KILO_INTEGRATED_SLOT_ORDER, KILO_SLOT_ORDER, KILO_STEPS_COLUMN_WIDTH, KILO_USAGE_PANEL_PLUGIN_ID, } from "./shared.js";
5
+ import { CollapsibleSection, GoPlanSection, GoShareRow, GoStatusline, GoUsageBlock, LabeledValueRow, createCollapseState, createUsageStore, isGoUsageProvider, logUsageError, makeProviderResolver, readModelDisplayName, readProviderDisplayNames, reactiveChild, resolveSurfaceSelection, EVENT_TTL_MS, POLL_INTERVAL_MS, } from "./tui-shared.js";
6
+ // ---------------------------------------------------------------------------
7
+ // Constants
8
+ // ---------------------------------------------------------------------------
9
+ // The endpoint reports the whole top-level session tree, so a change in a child
10
+ // session still changes our numbers. The walk is bounded because a cycle in the
11
+ // host's parent chain must not hang a render.
12
+ const SESSION_TREE_WALK_LIMIT = 32;
13
+ // This entry is the Kilo build, so it resolves `KILO_OC_GO_*` and never reads
14
+ // an opencode-prefixed name.
15
+ const HOST = "kilo";
16
+ const SLOT_ORDER = KILO_SLOT_ORDER;
17
+ const INTEGRATED_SLOT_ORDER = KILO_INTEGRATED_SLOT_ORDER;
18
+ const KV_SIDEBAR_MODE_KEY = "sidebar_mode";
19
+ // ---------------------------------------------------------------------------
20
+ // Settings: sidebar placement
21
+ // ---------------------------------------------------------------------------
22
+ // Sidebar placement uses the same precedence ladder as the surface selection,
23
+ // including the Kilo-hostile case of an option its tui.json schema cannot
24
+ // carry: the plugin cannot fix the host's schema, and it must not skip the
25
+ // option because of it (that would silently diverge from the surface ladder
26
+ // and make the two axes disagree about which source won).
27
+ function resolveSidebarMode(options, api) {
28
+ if (options !== undefined) {
29
+ const option = parseSidebarMode(options.sidebar_mode);
30
+ if (option !== null)
31
+ return option;
32
+ }
33
+ const env = parseSidebarMode(hostEnv(HOST, "SIDEBAR_MODE"));
34
+ if (env !== null)
35
+ return env;
36
+ try {
37
+ const stored = parseSidebarMode(api.kv.get(KV_SIDEBAR_MODE_KEY, null));
38
+ if (stored !== null)
39
+ return stored;
40
+ }
41
+ catch {
42
+ // Persisted settings are best-effort; fall through to the default.
43
+ }
44
+ return DEFAULT_SIDEBAR_MODE;
45
+ }
46
+ // Whether the host's own token-usage panel is currently switched on, or null
47
+ // when the host does not report it. Reading the state first keeps every launch
48
+ // from writing an unchanged `plugin_enabled` entry.
49
+ function hostUsagePanelEnabled(api) {
50
+ try {
51
+ const entry = api.plugins?.list?.().find((status) => status.id === KILO_USAGE_PANEL_PLUGIN_ID);
52
+ if (entry === undefined)
53
+ return null;
54
+ return entry.active || entry.enabled;
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ // Integrated mode replaces Kilo's `Token Usage` band, so the host panel has to
61
+ // go; standalone mode puts it back. The SDK's `deactivate`/`activate` are the
62
+ // runtime form of the `plugin_enabled` map in tui.json and persist to KV, which
63
+ // is what makes the switch survive a restart. Kilo's panel is not reachable
64
+ // through `api.slots` (that facade only exposes `register`), so this is the
65
+ // only supported way to take its band. Every step is best-effort: a failure
66
+ // leaves both panels on screen and is logged, never thrown.
67
+ async function applyHostUsagePanel(api, mode) {
68
+ const wantEnabled = mode === "standalone";
69
+ try {
70
+ const current = hostUsagePanelEnabled(api);
71
+ if (current === wantEnabled)
72
+ return;
73
+ const applied = await (wantEnabled
74
+ ? api.plugins.activate(KILO_USAGE_PANEL_PLUGIN_ID)
75
+ : api.plugins.deactivate(KILO_USAGE_PANEL_PLUGIN_ID));
76
+ if (applied === true)
77
+ return;
78
+ await logUsageError(api, `Could not ${wantEnabled ? "enable" : "disable"} Kilo's ${KILO_USAGE_PANEL_PLUGIN_ID} panel`);
79
+ }
80
+ catch (error) {
81
+ await logUsageError(api, `Kilo ${KILO_USAGE_PANEL_PLUGIN_ID} panel switch failed: ${errorMessage(error)}`);
82
+ }
83
+ }
84
+ // ---------------------------------------------------------------------------
85
+ // Session model usage (the integrated panel's replacement for Kilo's own
86
+ // token-usage band)
87
+ // ---------------------------------------------------------------------------
88
+ // This is the same typed call Kilo's own panel makes
89
+ // (`client.kilocode.sessionModelUsage`), which the SDK resolves to
90
+ // `GET /session/{sessionID}/model-usage`; that path is a PATH param and is
91
+ // pinned against the real host by test/e2e/kilo-contract.test.js, because
92
+ // `/kilocode/sessionModelUsage` 404s and `/session/model-usage` collides with
93
+ // `/session/:id`. No timer: the panel refreshes on host events instead.
94
+ async function fetchSessionModelUsage(api, sessionId) {
95
+ if (sessionId.length === 0)
96
+ return null;
97
+ try {
98
+ const result = await api.client.kilocode.sessionModelUsage({ sessionID: sessionId });
99
+ return parseSessionModelUsage(result.data);
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ }
105
+ // Whether `sessionId` is the rendered session or one of its descendants: the
106
+ // endpoint sums the tree, so a step finished in a child session moves our
107
+ // numbers too. Mirrors the check Kilo makes before it refetches.
108
+ function isInSessionTree(api, sessionId, rootId) {
109
+ if (sessionId === rootId)
110
+ return true;
111
+ let current = sessionId;
112
+ for (let depth = 0; depth < SESSION_TREE_WALK_LIMIT; depth += 1) {
113
+ let parent;
114
+ try {
115
+ parent = api.state?.session.get(current)?.parentID;
116
+ }
117
+ catch {
118
+ return false;
119
+ }
120
+ if (parent === undefined || parent.length === 0)
121
+ return false;
122
+ if (parent === rootId)
123
+ return true;
124
+ current = parent;
125
+ }
126
+ return false;
127
+ }
128
+ function trackSubscription(unsubscribes, subscribe) {
129
+ try {
130
+ const unsubscribe = subscribe();
131
+ if (typeof unsubscribe === "function")
132
+ unsubscribes.push(unsubscribe);
133
+ }
134
+ catch {
135
+ // Event subscription is additive; a failure must not abort the panel.
136
+ }
137
+ }
138
+ // ---------------------------------------------------------------------------
139
+ // TUI plugin
140
+ // ---------------------------------------------------------------------------
141
+ // The factory body lives here so the exported `goUsageTui` can wrap the whole
142
+ // initialization in a single fail-safe boundary. A throwing factory would
143
+ // destabilize the host's plugin load, so it must never reject.
144
+ async function initializeTui(api, options) {
145
+ const surfaces = resolveSurfaceSelection(options, api, HOST);
146
+ const usageStore = createUsageStore(api, HOST);
147
+ const collapse = createCollapseState(api);
148
+ // Live mode: the host panel below follows it immediately. The sidebar slot's
149
+ // ORDER is read once at registration, because the SDK exposes no slot
150
+ // unregister -- so a toggle moves the block on the next TUI start.
151
+ let sidebarMode = resolveSidebarMode(options, api);
152
+ void applyHostUsagePanel(api, sidebarMode);
153
+ const [activeProviderId, setActiveProviderId] = createSignal(undefined);
154
+ try {
155
+ const modelString = api.state?.config?.model;
156
+ if (typeof modelString === "string" && modelString.length > 0) {
157
+ const providerPart = modelString.split("/")[0];
158
+ if (providerPart !== undefined && providerPart.length > 0)
159
+ setActiveProviderId(providerPart);
160
+ }
161
+ }
162
+ catch {
163
+ // State may not be ready; fall through to the event signal.
164
+ }
165
+ const resolveActiveProviderId = makeProviderResolver(api.state, activeProviderId);
166
+ function toggleSidebarMode() {
167
+ const next = sidebarMode === "integrated" ? "standalone" : "integrated";
168
+ sidebarMode = next;
169
+ // Fire-and-forget: the host panel switch is async and may fail, and the
170
+ // command must return either way.
171
+ void applyHostUsagePanel(api, next);
172
+ try {
173
+ api.kv.set(KV_SIDEBAR_MODE_KEY, next);
174
+ }
175
+ catch {
176
+ // Mode persistence is best-effort; the panel switch above still happened.
177
+ }
178
+ }
179
+ // The countdown the plan is waiting on, on one line under the block header.
180
+ function planResetLine() {
181
+ const snapshot = usageStore.snapshot();
182
+ if (snapshot === null || snapshot.source === "unavailable")
183
+ return null;
184
+ return relevantReset(snapshot);
185
+ }
186
+ // The plan meters, or nothing at all: an unavailable snapshot has no windows,
187
+ // and a missing one is still loading.
188
+ function currentPlanRows() {
189
+ const snapshot = usageStore.snapshot();
190
+ if (snapshot === null || snapshot.source === "unavailable")
191
+ return [];
192
+ return buildPlanRows(snapshot);
193
+ }
194
+ function ProviderUsageGroup(props) {
195
+ const isGo = props.group.providerID === GO_PROVIDER_ID;
196
+ return (_jsxs("box", { flexDirection: "column", gap: 1, children: [_jsx("text", { fg: props.theme.current.text, wrapMode: "none", children: props.group.providerName }), _jsx(Show, { when: isGo && props.planRows.length > 0, children: _jsx(GoPlanSection, { theme: props.theme, rows: props.planRows }) }), _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("box", { width: 1, flexShrink: 0 }), _jsx("text", { flexGrow: 1, minWidth: 0, fg: props.theme.current.textMuted, wrapMode: "none", children: "Model" }), _jsx("box", { width: KILO_STEPS_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: "Steps" }) }), _jsx("box", { width: KILO_COST_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: "Cost" }) })] }), _jsx(For, { each: props.group.models, children: (model) => {
197
+ const key = `${model.providerID}/${model.modelID}`;
198
+ return (_jsx(ModelUsageRow, { theme: props.theme, model: model, isGo: isGo, expanded: () => props.expandedModels().has(key), goShare: () => goSharePercent(usageTokenCount(model.tokens), props.goTotal), onToggle: () => props.onToggleModel(key) }));
199
+ } })] }));
200
+ }
201
+ function ModelUsageRow(props) {
202
+ const detail = createMemo(() => props.expanded() ? (_jsx("box", { flexDirection: "column", paddingLeft: 2, children: _jsx(For, { each: buildModelTokenRows(props.model.tokens), children: (row) => _jsx(LabeledValueRow, { theme: props.theme, row: row }) }) })) : null);
203
+ return (_jsxs("box", { flexDirection: "column", gap: 1, children: [_jsxs("box", { flexDirection: "row", gap: 1, flexShrink: 0, onMouseDown: props.onToggle, children: [_jsx("text", { fg: props.theme.current.text, wrapMode: "none", flexShrink: 0, children: reactiveChild(() => (props.expanded() ? SIDEBAR_EXPANDED_GLYPH : SIDEBAR_COLLAPSED_GLYPH)) }), _jsx("box", { flexGrow: 1, minWidth: 0, overflow: "hidden", children: _jsx("text", { fg: props.theme.current.text, wrapMode: "none", children: _jsx("b", { children: modelDisplayName(readModelDisplayName(api, props.model.providerID, props.model.modelID), props.model.modelID) }) }) }), _jsx("box", { width: KILO_STEPS_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: formatUsageCount(props.model.steps) }) }), _jsx("box", { width: KILO_COST_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: formatUsageCost(props.model.cost) }) })] }), _jsx(Show, { when: props.isGo, children: _jsx("box", { paddingLeft: 2, children: _jsx(GoShareRow, { theme: props.theme, percent: props.goShare() }) }) }), reactiveChild(detail)] }));
204
+ }
205
+ function ModelsSection(props) {
206
+ const [isExpanded, setIsExpanded] = createSignal(true);
207
+ const [expandedModels, setExpandedModels] = createSignal(new Set());
208
+ // Fold state is local, like Kilo's: it resets on remount rather than
209
+ // outliving the session it described.
210
+ function toggleModel(key) {
211
+ setExpandedModels((current) => {
212
+ const next = new Set(current);
213
+ if (!next.delete(key))
214
+ next.add(key);
215
+ return next;
216
+ });
217
+ }
218
+ const modelCount = createMemo(() => props.usage()?.models.length ?? 0);
219
+ const body = createMemo(() => {
220
+ const usage = props.usage();
221
+ const models = usage?.models ?? [];
222
+ const providerNames = readProviderDisplayNames(api);
223
+ const grouped = groupModelsByProvider(models, providerNames);
224
+ // A failed or still-loading request leaves no model list, and the Go plan
225
+ // would disappear with it. A model-less Go group keeps the plan on screen:
226
+ // it comes from a different endpoint, and those numbers stay ours to show
227
+ // regardless of what the host's per-model request did.
228
+ const groups = grouped.length === 0 && props.planRows().length > 0
229
+ ? [
230
+ {
231
+ providerID: GO_PROVIDER_ID,
232
+ providerName: providerNames.get(GO_PROVIDER_ID) ?? GO_PROVIDER_ID,
233
+ models: [],
234
+ },
235
+ ]
236
+ : grouped;
237
+ const goTotal = totalGoTokens(models);
238
+ return (_jsxs("box", { flexDirection: "column", gap: 1, paddingTop: 1, children: [_jsx(Show, { when: models.length === 0, children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: MODELS_EMPTY_LABEL }) }), _jsx(For, { each: groups, children: (group) => (_jsx(ProviderUsageGroup, { theme: props.theme, group: group, planRows: props.planRows(), goTotal: goTotal, expandedModels: expandedModels, onToggleModel: toggleModel })) })] }));
239
+ });
240
+ return (_jsx(CollapsibleSection, { theme: props.theme, label: INTEGRATED_MODELS_SECTION_LABEL, count: modelCount, expanded: isExpanded, onToggle: () => setIsExpanded((current) => !current), body: body }));
241
+ }
242
+ // Integrated mode's replacement for Kilo's own 150 band: the compact Go
243
+ // readout, Kilo's session token totals, and Kilo's per-model table with the
244
+ // plan nested inside the OpenCode Go group.
245
+ function GoIntegratedPanel(props) {
246
+ const [usage, setUsage] = createSignal(null);
247
+ const [loadFailed, setLoadFailed] = createSignal(false);
248
+ const [refetchToken, setRefetchToken] = createSignal(0);
249
+ const [isTokensExpanded, setIsTokensExpanded] = createSignal(true);
250
+ createEffect(() => {
251
+ const sessionId = props.sessionId;
252
+ refetchToken();
253
+ if (sessionId.length === 0)
254
+ return;
255
+ let cancelled = false;
256
+ void fetchSessionModelUsage(api, sessionId).then((result) => {
257
+ if (cancelled)
258
+ return;
259
+ setUsage(result);
260
+ // Log the transition, not every event: a step-finish storm must not
261
+ // fill the host log with the same line.
262
+ if (result === null && !loadFailed()) {
263
+ void logUsageError(api, "Session model usage unavailable (request failed)");
264
+ }
265
+ setLoadFailed(result === null);
266
+ });
267
+ onCleanup(() => {
268
+ cancelled = true;
269
+ });
270
+ });
271
+ createEffect(() => {
272
+ const sessionId = props.sessionId;
273
+ const unsubscribes = [];
274
+ const inTree = (id) => isInSessionTree(api, id, sessionId);
275
+ const refetch = () => {
276
+ setRefetchToken((current) => current + 1);
277
+ };
278
+ trackSubscription(unsubscribes, () => api.event.on("message.part.updated", (event) => {
279
+ if (event.properties.part.type !== "step-finish")
280
+ return;
281
+ if (inTree(event.properties.sessionID))
282
+ refetch();
283
+ }));
284
+ trackSubscription(unsubscribes, () => api.event.on("message.part.removed", (event) => {
285
+ if (inTree(event.properties.sessionID))
286
+ refetch();
287
+ }));
288
+ trackSubscription(unsubscribes, () => api.event.on("message.removed", (event) => {
289
+ if (inTree(event.properties.sessionID))
290
+ refetch();
291
+ }));
292
+ trackSubscription(unsubscribes, () => api.event.on("session.created", (event) => {
293
+ if (inTree(event.properties.sessionID))
294
+ refetch();
295
+ }));
296
+ trackSubscription(unsubscribes, () => api.event.on("session.deleted", (event) => {
297
+ if (inTree(event.properties.sessionID))
298
+ refetch();
299
+ }));
300
+ trackSubscription(unsubscribes, () => api.event.on("server.connected", refetch));
301
+ onCleanup(() => {
302
+ for (const unsubscribe of unsubscribes) {
303
+ try {
304
+ unsubscribe();
305
+ }
306
+ catch {
307
+ // A throwing unsubscribe must not stop the rest of the teardown.
308
+ }
309
+ }
310
+ });
311
+ });
312
+ const tokenBody = createMemo(() => {
313
+ const data = usage();
314
+ if (data === null) {
315
+ return (_jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: loadFailed() ? INTEGRATED_UNAVAILABLE_LABEL : INTEGRATED_LOADING_LABEL }));
316
+ }
317
+ return (_jsx("box", { flexDirection: "column", children: _jsx(For, { each: buildTokenUsageRows(data.totals), children: (row) => _jsx(LabeledValueRow, { theme: props.theme, row: row }) }) }));
318
+ });
319
+ return (_jsxs("box", { flexDirection: "column", gap: 1, children: [_jsx(CollapsibleSection, { theme: props.theme, label: INTEGRATED_TOKENS_SECTION_LABEL, count: () => null, expanded: isTokensExpanded, onToggle: () => setIsTokensExpanded((current) => !current), body: tokenBody }), _jsx(ModelsSection, { theme: props.theme, usage: usage, planRows: currentPlanRows })] }));
320
+ }
321
+ // The `Go Usage` block: the plan as meters, the next reset on one line --
322
+ // the same block opencode's sidebar leads with, so the plan looks identical
323
+ // whichever host draws it. Kilo's sidebar is wider, so its meters keep the
324
+ // full 16 cells.
325
+ function GoSidebarPanel(props) {
326
+ return (_jsx(GoUsageBlock, { api: api, theme: props.theme, snapshot: usageStore.snapshot, resetLine: planResetLine }));
327
+ }
328
+ if (surfaces.sidebar) {
329
+ // Host-owned slot: `register` returns an id but the SDK exposes no
330
+ // unregister API, so there is nothing to dispose here (the slot dies
331
+ // with the host). Interval/event/command teardown below is the full
332
+ // dispose path.
333
+ try {
334
+ api.slots.register({
335
+ order: sidebarMode === "integrated" ? INTEGRATED_SLOT_ORDER : SLOT_ORDER,
336
+ slots: {
337
+ sidebar_content(ctx, props) {
338
+ // Individually guarded: a later render must never throw into the host.
339
+ try {
340
+ if (props.session_id.length === 0)
341
+ return null;
342
+ if (!isGoUsageProvider(resolveActiveProviderId(props.session_id)))
343
+ return null;
344
+ if (api.route.current.name !== "session")
345
+ return null;
346
+ if (collapse.isSidebarCollapsed())
347
+ return null;
348
+ // Read live so the mode command takes effect at once, the same way
349
+ // the host panel follows it; only the ORDER stays bound to
350
+ // registration.
351
+ if (sidebarMode === "integrated") {
352
+ return _jsx(GoIntegratedPanel, { theme: ctx.theme, sessionId: props.session_id });
353
+ }
354
+ return _jsx(GoSidebarPanel, { theme: ctx.theme });
355
+ }
356
+ catch {
357
+ return null;
358
+ }
359
+ },
360
+ },
361
+ });
362
+ }
363
+ catch {
364
+ // Additive slot: a registration failure must not abort the plugin.
365
+ }
366
+ }
367
+ if (surfaces.statusline) {
368
+ // Host-owned slot (see sidebar note above): no unregister API exists,
369
+ // so disposal is a no-op for slots.
370
+ try {
371
+ api.slots.register({
372
+ order: SLOT_ORDER,
373
+ slots: {
374
+ session_prompt_right(_ctx, props) {
375
+ // Individually guarded: a later render must never throw into the host.
376
+ try {
377
+ if (props.session_id.length === 0)
378
+ return null;
379
+ if (!isGoUsageProvider(resolveActiveProviderId(props.session_id)))
380
+ return null;
381
+ if (collapse.isStatuslineCollapsed())
382
+ return null;
383
+ return _jsx(GoStatusline, { snapshot: usageStore.snapshot });
384
+ }
385
+ catch {
386
+ return null;
387
+ }
388
+ },
389
+ },
390
+ });
391
+ }
392
+ catch {
393
+ // Additive slot: a registration failure must not abort the plugin.
394
+ }
395
+ }
396
+ // `api.command` is a deprecated legacy shim that hosts may omit; guard so
397
+ // the plugin still initializes and disposes safely without it.
398
+ let unregisterToggleCommand = () => { };
399
+ try {
400
+ const unregister = api.command?.register(() => [
401
+ {
402
+ title: "Go usage: toggle sidebar",
403
+ value: "oc-go-usage-display.toggle-sidebar",
404
+ category: "Go",
405
+ onSelect: () => collapse.toggleSidebar(),
406
+ },
407
+ {
408
+ title: "Go usage: toggle statusline",
409
+ value: "oc-go-usage-display.toggle-statusline",
410
+ category: "Go",
411
+ onSelect: () => collapse.toggleStatusline(),
412
+ },
413
+ {
414
+ title: "Go usage: toggle sidebar mode",
415
+ value: "oc-go-usage-display.toggle-sidebar-mode",
416
+ category: "Go",
417
+ onSelect: () => toggleSidebarMode(),
418
+ },
419
+ ]);
420
+ if (typeof unregister === "function")
421
+ unregisterToggleCommand = unregister;
422
+ }
423
+ catch {
424
+ // Legacy command registration is optional; ignore failures.
425
+ }
426
+ let unsubscribeSession = () => { };
427
+ let unsubscribeMessage = () => { };
428
+ try {
429
+ const unsubscribe = api.event.on("session.updated", (event) => {
430
+ const providerId = event?.properties?.info?.model?.providerID;
431
+ if (providerId !== undefined)
432
+ setActiveProviderId(providerId);
433
+ usageStore.refreshSafely(0);
434
+ });
435
+ if (typeof unsubscribe === "function")
436
+ unsubscribeSession = unsubscribe;
437
+ }
438
+ catch {
439
+ // Event subscription is additive; a failure must not abort the plugin.
440
+ }
441
+ try {
442
+ const unsubscribe = api.event.on("message.updated", () => usageStore.refreshSafely(EVENT_TTL_MS));
443
+ if (typeof unsubscribe === "function")
444
+ unsubscribeMessage = unsubscribe;
445
+ }
446
+ catch {
447
+ // Event subscription is additive; a failure must not abort the plugin.
448
+ }
449
+ let pollTimer = null;
450
+ try {
451
+ pollTimer = setInterval(() => usageStore.refreshSafely(), POLL_INTERVAL_MS);
452
+ }
453
+ catch {
454
+ // No poll timer: the on-demand refresh below still runs.
455
+ }
456
+ try {
457
+ api.lifecycle.onDispose(() => {
458
+ // Each teardown step is isolated: one throwing unsubscribe must not
459
+ // prevent the rest (or leak into the host's dispose pass).
460
+ if (pollTimer !== null) {
461
+ try {
462
+ clearInterval(pollTimer);
463
+ }
464
+ catch {
465
+ // noop
466
+ }
467
+ }
468
+ for (const teardown of [unsubscribeSession, unsubscribeMessage, unregisterToggleCommand]) {
469
+ try {
470
+ teardown();
471
+ }
472
+ catch {
473
+ // noop
474
+ }
475
+ }
476
+ });
477
+ }
478
+ catch {
479
+ // Lifecycle registration is best-effort; never leak a timer into the host.
480
+ if (pollTimer !== null) {
481
+ try {
482
+ clearInterval(pollTimer);
483
+ }
484
+ catch {
485
+ // noop
486
+ }
487
+ }
488
+ }
489
+ await usageStore.refresh();
490
+ }
491
+ const goUsageTui = async (api, options) => {
492
+ try {
493
+ await initializeTui(api, options);
494
+ }
495
+ catch (error) {
496
+ // Best-effort and non-blocking: never delay plugin resolution on the host
497
+ // log and never let an initialization error reject into the host.
498
+ void logUsageError(api, `Go usage TUI failed to initialize: ${errorMessage(error)}; continuing without display`);
499
+ }
500
+ };
501
+ export default { id: "oc-go-usage-display", tui: goUsageTui };
502
+ //# sourceMappingURL=tui.kilo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.kilo.js","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"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"}