agent-afk 5.327.13 → 5.328.1

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 (82) hide show
  1. package/dist/cli.mjs +404 -404
  2. package/dist/index.mjs +204 -204
  3. package/dist/telegram.mjs +219 -219
  4. package/dist/web-ui-assets/assets/{angular-html-BWWN6Nsd.js → angular-html-CC3lIXKP.js} +1 -1
  5. package/dist/web-ui-assets/assets/{angular-ts-D1psiOiZ.js → angular-ts-B55StdDa.js} +1 -1
  6. package/dist/web-ui-assets/assets/{apl-BPXJUDWM.js → apl-CodQVCEj.js} +1 -1
  7. package/dist/web-ui-assets/assets/{astro-BEdECd8S.js → astro-D_fPYeDd.js} +1 -1
  8. package/dist/web-ui-assets/assets/{blade-PXxjs4dN.js → blade-BNccT06L.js} +1 -1
  9. package/dist/web-ui-assets/assets/{c-CzLCl6WM.js → c-C-qzdgmp.js} +1 -1
  10. package/dist/web-ui-assets/assets/{chapel-BnYnO51g.js → chapel-DsZFg65P.js} +1 -1
  11. package/dist/web-ui-assets/assets/{cobol-DfjWc4Yl.js → cobol-B2ulHFSx.js} +1 -1
  12. package/dist/web-ui-assets/assets/{coffee-B6HTfAsF.js → coffee-D0yCs5eE.js} +1 -1
  13. package/dist/web-ui-assets/assets/{cpp-Rvf0Fdzs.js → cpp-Bxbsp_nz.js} +1 -1
  14. package/dist/web-ui-assets/assets/{crystal-CFlKCos_.js → crystal-BY2bY632.js} +1 -1
  15. package/dist/web-ui-assets/assets/{css-iASUT60Y.js → css-DCCzboh8.js} +1 -1
  16. package/dist/web-ui-assets/assets/{dist-Ct8xc1yl.js → dist-UwYaNxlm.js} +2 -2
  17. package/dist/web-ui-assets/assets/{edge-C2TYdM5y.js → edge-9TiGLit-.js} +1 -1
  18. package/dist/web-ui-assets/assets/{elixir-Bx_hUt-E.js → elixir-B83WkyBZ.js} +1 -1
  19. package/dist/web-ui-assets/assets/{elm-Df0GtCFC.js → elm-jejqKQFX.js} +1 -1
  20. package/dist/web-ui-assets/assets/{erb-M5vk3vu5.js → erb-CJKGWEWI.js} +1 -1
  21. package/dist/web-ui-assets/assets/{git-rebase-BlxAdCTl.js → git-rebase-ob6EunlV.js} +1 -1
  22. package/dist/web-ui-assets/assets/{glimmer-js-DDeuSK2f.js → glimmer-js-DRRkpqBC.js} +1 -1
  23. package/dist/web-ui-assets/assets/{glimmer-ts-C3QVhotQ.js → glimmer-ts-DdPZl6xW.js} +1 -1
  24. package/dist/web-ui-assets/assets/{glsl-Bx1tFkyj.js → glsl-D1CrBs2Z.js} +1 -1
  25. package/dist/web-ui-assets/assets/{graphql-CMBg6f29.js → graphql-DOEPJbJj.js} +1 -1
  26. package/dist/web-ui-assets/assets/{hack-BvD_bWJC.js → hack-Bhnm8i0e.js} +1 -1
  27. package/dist/web-ui-assets/assets/{haml-DL_OA1us.js → haml-Bmonj8m3.js} +1 -1
  28. package/dist/web-ui-assets/assets/{handlebars-KKUGg2Gt.js → handlebars-D7Ai8STP.js} +1 -1
  29. package/dist/web-ui-assets/assets/{html-DiSPJz6v.js → html-CSHkoXuE.js} +1 -1
  30. package/dist/web-ui-assets/assets/{html-derivative-DqKFB45a.js → html-derivative-N9AU_aiL.js} +1 -1
  31. package/dist/web-ui-assets/assets/{http-W2kJIb17.js → http-yFDJl3gv.js} +1 -1
  32. package/dist/web-ui-assets/assets/{hurl-BPP15du4.js → hurl-CIGeOBK2.js} +1 -1
  33. package/dist/web-ui-assets/assets/{index-DxJXK3Wd.js → index-zkBC82Wl.js} +2 -2
  34. package/dist/web-ui-assets/assets/{java-CiXai22Q.js → java-Ar_hCEd5.js} +1 -1
  35. package/dist/web-ui-assets/assets/{javascript-D0FppWrP.js → javascript-CAN1vxRM.js} +1 -1
  36. package/dist/web-ui-assets/assets/{jinja-CWG5-sza.js → jinja-CUnd_v0D.js} +1 -1
  37. package/dist/web-ui-assets/assets/{jison-cOsrWzww.js → jison-DkTpZHxU.js} +1 -1
  38. package/dist/web-ui-assets/assets/{json-XbmODvle.js → json-4JHHm6tv.js} +1 -1
  39. package/dist/web-ui-assets/assets/{jsx-mJqeGY4c.js → jsx-B_H-_0Li.js} +1 -1
  40. package/dist/web-ui-assets/assets/{julia-BdcYFVHa.js → julia-dnSsLWEc.js} +1 -1
  41. package/dist/web-ui-assets/assets/{just-k9fwxQeO.js → just-CEwIOa2N.js} +1 -1
  42. package/dist/web-ui-assets/assets/{latex-DsCiv24r.js → latex-B1ICfqDe.js} +1 -1
  43. package/dist/web-ui-assets/assets/{liquid-Z1mRd5Zz.js → liquid-B1fj2wiT.js} +1 -1
  44. package/dist/web-ui-assets/assets/{lua-Bzj_Tug1.js → lua-CQf9tEbB.js} +1 -1
  45. package/dist/web-ui-assets/assets/{marko-DCWJ6InG.js → marko-B14iEITE.js} +1 -1
  46. package/dist/web-ui-assets/assets/{mdc-BiDzlOVO.js → mdc-_KQwbym8.js} +1 -1
  47. package/dist/web-ui-assets/assets/{nginx-CrcnVXr2.js → nginx-ClNzgFQl.js} +1 -1
  48. package/dist/web-ui-assets/assets/{nim-aGQHFkSA.js → nim-Dw8QObp-.js} +1 -1
  49. package/dist/web-ui-assets/assets/{org-PK4kj_eY.js → org-B51yx_Tx.js} +1 -1
  50. package/dist/web-ui-assets/assets/{perl-D3G2gSrI.js → perl-DLCCwaC1.js} +1 -1
  51. package/dist/web-ui-assets/assets/{php-CsLfIIir.js → php-CL-uaO29.js} +1 -1
  52. package/dist/web-ui-assets/assets/{pug-C6W2hWqK.js → pug-DkBENREJ.js} +1 -1
  53. package/dist/web-ui-assets/assets/{qml-DSW9q5LC.js → qml-ClbJFFI5.js} +1 -1
  54. package/dist/web-ui-assets/assets/{r-B-3pSpuO.js → r-XUrK4grx.js} +1 -1
  55. package/dist/web-ui-assets/assets/{razor-C_CuCwIy.js → razor-DqSMwGmL.js} +1 -1
  56. package/dist/web-ui-assets/assets/{regexp-CeyuG6Fi.js → regexp-BSFJ_-TJ.js} +1 -1
  57. package/dist/web-ui-assets/assets/{rst-DU4PpH3P.js → rst-B7tMGYn-.js} +1 -1
  58. package/dist/web-ui-assets/assets/{ruby-D5ZXnJSN.js → ruby-BYrWHkBB.js} +1 -1
  59. package/dist/web-ui-assets/assets/{sas-DEMG3crt.js → sas-D-Mi-ZRr.js} +1 -1
  60. package/dist/web-ui-assets/assets/{scss-RRvNPlkB.js → scss-55HhYd4M.js} +1 -1
  61. package/dist/web-ui-assets/assets/{shellscript-DvNJoK8b.js → shellscript-WUEN4iWi.js} +1 -1
  62. package/dist/web-ui-assets/assets/{shellsession-DcLwGQko.js → shellsession-Ciheliad.js} +1 -1
  63. package/dist/web-ui-assets/assets/{soy-fRr4TFyv.js → soy-CafU_uPV.js} +1 -1
  64. package/dist/web-ui-assets/assets/{sql-CZq5Do0A.js → sql-DeKe_haY.js} +1 -1
  65. package/dist/web-ui-assets/assets/{stata-BVzP3-hg.js → stata-BBkdAkCn.js} +1 -1
  66. package/dist/web-ui-assets/assets/{surrealql-CRG6M3CX.js → surrealql-wu5RlJnG.js} +1 -1
  67. package/dist/web-ui-assets/assets/{svelte-mbzR5YPZ.js → svelte-DxIeVq8R.js} +1 -1
  68. package/dist/web-ui-assets/assets/{templ-CDDxWKGO.js → templ-Lj5RUv5J.js} +1 -1
  69. package/dist/web-ui-assets/assets/{tex-BnZTddV2.js → tex-9jYK7mHi.js} +1 -1
  70. package/dist/web-ui-assets/assets/{ts-tags-DMsudOTd.js → ts-tags-BuzwQUez.js} +1 -1
  71. package/dist/web-ui-assets/assets/{tsx-C9ayfSCP.js → tsx-UsxPa86A.js} +1 -1
  72. package/dist/web-ui-assets/assets/{twig-DtZ_QKkH.js → twig-B51i7Ozb.js} +1 -1
  73. package/dist/web-ui-assets/assets/{typescript-7o1ktZx5.js → typescript-DMHh-0ba.js} +1 -1
  74. package/dist/web-ui-assets/assets/{typst-qQVZxMsq.js → typst-BOD5AJSC.js} +1 -1
  75. package/dist/web-ui-assets/assets/{vue-html-QOBetGcW.js → vue-html-B9IwtKYs.js} +1 -1
  76. package/dist/web-ui-assets/assets/{vue-BPVR-cGn.js → vue-uYltmeEy.js} +1 -1
  77. package/dist/web-ui-assets/assets/{vue-vine-CtRxyh1B.js → vue-vine-DLZ0OiIA.js} +1 -1
  78. package/dist/web-ui-assets/assets/{xml-C8OcHGBO.js → xml-hKTv5UOt.js} +1 -1
  79. package/dist/web-ui-assets/assets/{xsl-BQVELcLb.js → xsl-CQdCmkQ2.js} +1 -1
  80. package/dist/web-ui-assets/assets/{yaml-B1xnkGXA.js → yaml-CUNK3s1f.js} +1 -1
  81. package/dist/web-ui-assets/index.html +1 -1
  82. package/package.json +1 -1
@@ -76,9 +76,9 @@ Error generating stack: `+e.message+`
76
76
  `))+1))}let o=`#`.repeat(i),s=n.enter(`headingAtx`),c=n.enter(`phrasing`);a.move(o+` `);let l=n.containerPhrasing(e,{before:`# `,after:`
77
77
  `,...a.current()});return/^[\t ]/.test(l)&&(l=h_(l.charCodeAt(0))+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}x_.peek=S_;function x_(e){return e.value||``}function S_(){return`<`}C_.peek=w_;function C_(e,t,n,r){let i=f_(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`image`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`![`);return l+=c.move(n.safe(e.alt,{before:l,after:`]`,...c.current()})),l+=c.move(`](`),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),l+=c.move(`)`),o(),l}function w_(){return`!`}T_.peek=E_;function T_(e,t,n,r){let i=e.referenceType,a=n.enter(`imageReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`![`),l=n.safe(e.alt,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function E_(){return`!`}D_.peek=O_;function D_(e,t,n){let r=e.value||``,i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=` `+r+` `);++a<n.unsafe.length;){let e=n.unsafe[a],t=n.compilePattern(e),i;if(e.atBreak)for(;i=t.exec(r);){let e=i.index;r.charCodeAt(e)===10&&r.charCodeAt(e-1)===13&&e--,r=r.slice(0,e)+` `+r.slice(i.index+1)}}return i+r+i}function O_(){return"`"}function k_(e,t){let n=rd(e);return!(t.options.resourceLink||!e.url||e.title||!e.children||e.children.length!==1||e.children[0].type!==`text`||n!==e.url&&`mailto:`+n!==e.url||!/^[a-z][a-z+.-]+:/i.test(e.url)||/[\0- <>\u007F]/.test(e.url))}A_.peek=j_;function A_(e,t,n,r){let i=f_(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r),s,c;if(k_(e,n)){let t=n.stack;n.stack=[],s=n.enter(`autolink`);let r=o.move(`<`);return r+=o.move(n.containerPhrasing(e,{before:r,after:`>`,...o.current()})),r+=o.move(`>`),s(),n.stack=t,r}s=n.enter(`link`),c=n.enter(`label`);let l=o.move(`[`);return l+=o.move(n.containerPhrasing(e,{before:l,after:`](`,...o.current()})),l+=o.move(`](`),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter(`destinationLiteral`),l+=o.move(`<`),l+=o.move(n.safe(e.url,{before:l,after:`>`,...o.current()})),l+=o.move(`>`)):(c=n.enter(`destinationRaw`),l+=o.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...o.current()}))),c(),e.title&&(c=n.enter(`title${a}`),l+=o.move(` `+i),l+=o.move(n.safe(e.title,{before:l,after:i,...o.current()})),l+=o.move(i),c()),l+=o.move(`)`),s(),l}function j_(e,t,n){return k_(e,n)?`<`:`[`}M_.peek=N_;function M_(e,t,n,r){let i=e.referenceType,a=n.enter(`linkReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`[`),l=n.containerPhrasing(e,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function N_(){return`[`}function P_(e){let t=e.options.bullet||`*`;if(t!==`*`&&t!==`+`&&t!==`-`)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function F_(e){let t=P_(e),n=e.options.bulletOther;if(!n)return t===`*`?`-`:`*`;if(n!==`*`&&n!==`+`&&n!==`-`)throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function I_(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function L_(e){let t=e.options.rule||`*`;if(t!==`*`&&t!==`-`&&t!==`_`)throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function R_(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?I_(n):P_(n),s=e.ordered?o===`.`?`)`:`.`:F_(n),c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let t=e.children?e.children[0]:void 0;if((o===`*`||o===`-`)&&t&&(!t.children||!t.children[0])&&n.stack[n.stack.length-1]===`list`&&n.stack[n.stack.length-2]===`listItem`&&n.stack[n.stack.length-3]===`list`&&n.stack[n.stack.length-4]===`listItem`&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),L_(n)===o&&t){let t=-1;for(;++t<e.children.length;){let n=e.children[t];if(n&&n.type===`listItem`&&n.children&&n.children[0]&&n.children[0].type===`thematicBreak`){c=!0;break}}}}c&&(o=s),n.bulletCurrent=o;let l=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),l}function z_(e){let t=e.options.listItemIndent||`one`;if(t!==`tab`&&t!==`one`&&t!==`mixed`)throw Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function B_(e,t,n,r){let i=z_(n),a=n.bulletCurrent||P_(n);t&&t.type===`list`&&t.ordered&&(a=(typeof t.start==`number`&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i===`tab`||i===`mixed`&&(t&&t.type===`list`&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+` `.repeat(o-a.length)),s.shift(o);let c=n.enter(`listItem`),l=n.indentLines(n.containerFlow(e,s.current()),u);return c(),l;function u(e,t,n){return t?(n?``:` `.repeat(o))+e:(n?a:a+` `.repeat(o-a.length))+e}}function V_(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}var H_=Ym([`break`,`delete`,`emphasis`,`footnote`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`inlineMath`,`link`,`linkReference`,`mdxJsxTextElement`,`mdxTextExpression`,`strong`,`text`,`textDirective`]);function U_(e,t,n,r){return(e.children.some(function(e){return H_(e)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function W_(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}G_.peek=K_;function G_(e,t,n,r){let i=W_(n),a=n.enter(`strong`),o=n.createTracker(r),s=o.move(i+i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=g_(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=h_(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=g_(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+h_(d));let p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function K_(e,t,n){return n.options.strong||`*`}function q_(e,t,n,r){return n.safe(e.value,r)}function J_(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Y_(e,t,n){let r=(L_(n)+(n.options.ruleSpaces?` `:``)).repeat(J_(n));return n.options.ruleSpaces?r.slice(0,-1):r}var X_={blockquote:n_,break:o_,code:u_,definition:p_,emphasis:__,hardBreak:o_,heading:b_,html:x_,image:C_,imageReference:T_,inlineCode:D_,link:A_,linkReference:M_,list:R_,listItem:B_,paragraph:V_,root:U_,strong:G_,text:q_,thematicBreak:Y_};function Z_(){return{enter:{table:Q_,tableData:nv,tableHeader:nv,tableRow:ev},exit:{codeText:rv,table:$_,tableData:tv,tableHeader:tv,tableRow:tv}}}function Q_(e){let t=e._align;this.enter({type:`table`,align:t.map(function(e){return e===`none`?null:e}),children:[]},e),this.data.inTable=!0}function $_(e){this.exit(e),this.data.inTable=void 0}function ev(e){this.enter({type:`tableRow`,children:[]},e)}function tv(e){this.exit(e)}function nv(e){this.enter({type:`tableCell`,children:[]},e)}function rv(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,iv));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function iv(e,t){return t===`|`?t:e}function av(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:`
78
78
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
79
- `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return $g(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=X_.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function ov(){return{exit:{taskListCheckValueChecked:cv,taskListCheckValueUnchecked:cv,paragraph:lv}}}function sv(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:uv}}}function cv(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function lv(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function uv(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=X_.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function dv(){return[_g(),Vg(),Kg(),Z_(),ov()]}function fv(e){return{extensions:[vg(),Hg(e),qg(),av(e),sv()]}}var pv={tokenize:Dv,partial:!0},mv={tokenize:Ov,partial:!0},hv={tokenize:kv,partial:!0},gv={tokenize:Av,partial:!0},_v={tokenize:jv,partial:!0},vv={name:`wwwAutolink`,tokenize:Tv,previous:Mv},yv={name:`protocolAutolink`,tokenize:Ev,previous:Nv},bv={name:`emailAutolink`,tokenize:wv,previous:Pv},xv={};function Sv(){return{text:xv}}for(var Cv=48;Cv<123;)xv[Cv]=bv,Cv++,Cv===58?Cv=65:Cv===91&&(Cv=97);xv[43]=bv,xv[45]=bv,xv[46]=bv,xv[95]=bv,xv[72]=[bv,yv],xv[104]=[bv,yv],xv[87]=[bv,vv],xv[119]=[bv,vv];function wv(e,t,n){let r=this,i,a;return o;function o(t){return!Fv(t)||!Pv.call(r,r.previous)||Iv(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return Fv(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(_v,u,l)(t):t===45||t===95||vd(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&_d(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function Tv(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!Mv.call(r,r.previous)||Iv(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(pv,e.attempt(mv,e.attempt(hv,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function Ev(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&Nv.call(r,r.previous)&&!Iv(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(_d(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||bd(t)||wd(t)||Ed(t)||Td(t)?n(t):e.attempt(mv,e.attempt(hv,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function Dv(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Ov(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(gv,c,s)(t):t===null||wd(t)||Ed(t)||t!==45&&Td(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function kv(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(gv,t,a)(o):o===null||wd(o)||Ed(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Av(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||wd(o)||Ed(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||wd(e)||Ed(e)?t(e):r(e)}function a(e){return _d(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):_d(t)?(e.consume(t),o):n(t)}}function jv(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return vd(e)?n(e):t(e)}}function Mv(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||wd(e)}function Nv(e){return!_d(e)}function Pv(e){return!(e===47||Fv(e))}function Fv(e){return e===43||e===45||e===46||e===95||vd(e)}function Iv(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Lv={tokenize:Gv,partial:!0};function Rv(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:Hv,continuation:{tokenize:Uv},exit:Wv}},text:{91:{name:`gfmFootnoteCall`,tokenize:Vv},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:zv,resolveTo:Bv}}}}function zv(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=gd(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function Bv(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function Vv(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||wd(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(gd(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return wd(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function Hv(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||wd(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=gd(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return wd(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),Z(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function Uv(e,t,n){return e.check(Ud,t,e.attempt(Lv,t,n))}function Wv(e){e.exit(`gfmFootnoteDefinition`)}function Gv(e,t,n){let r=this;return Z(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function Kv(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&ld(o,o.length,0,Id(s,e.slice(r+1,n),t)),ld(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),ld(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=Fd(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=Fd(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var qv=class{constructor(){this.map=[]}add(e,t,n){Jv(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function Jv(e,t,n,r){let i=0;if(n!==0||r.length!==0){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Yv(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function Xv(){return{flow:{null:{name:`table`,tokenize:Zv,resolveAll:Qv}}}}function Zv(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124||(o=!0,a+=1),u(e)}function u(t){return t===null?n(t):Y(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):X(t)?Z(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||wd(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,X(t)?Z(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return X(t)?Z(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||Y(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return X(t)?Z(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||Y(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||Y(n)?(e.exit(`tableRow`),t(n)):X(n)?Z(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||wd(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function Qv(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new qv;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(ey(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=$v(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=$v(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=$v(f,t,o,i,n,d)):(o[0]=o[1],d=$v(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&ey(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=Yv(t.events,n))}return e}function $v(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},ty(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=ty(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=ty(t.events,n[2]),a=ty(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},ty(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function ey(e,t,n,r,i){let a=[],o=ty(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function ty(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var ny={name:`tasklistCheck`,tokenize:iy};function ry(){return{text:{91:ny}}}function iy(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return wd(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return Y(r)?t(r):X(r)?e.check({tokenize:ay},t,n)(r):n(r)}}function ay(e,t,n){return Z(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function oy(e){return fd([Sv(),Rv(),Kv(e),Xv(),ry()])}var sy={};function cy(e){let t=this,n=e||sy,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(oy(n)),a.push(dv()),o.push(fv(n))}var ly=`modulepreload`,uy=function(e){return`/`+e},dy={},fy=function(e){return e.pathname.endsWith(`.css`)},py=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},my=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=uy(t,n);let r=s(t),i=fy(r);return py(dy,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:ly,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},hy=null,gy=new Map;function _y(){return hy||=my(async()=>{let{createHighlighter:e}=await import(`./dist-Ct8xc1yl.js`);return{createHighlighter:e}},[]).then(({createHighlighter:e})=>e({themes:[`github-dark`],langs:[`plaintext`]})),hy}function vy(e){let t=gy.get(e);if(t)return t;let n=my(async()=>{let{bundledLanguages:e,isSpecialLang:t}=await import(`./dist-Ct8xc1yl.js`);return{bundledLanguages:e,isSpecialLang:t}},[]).then(async({bundledLanguages:t,isSpecialLang:n})=>{if(n(e))return;let r=t[e];if(!r)throw Error(`unknown lang: ${e}`);let i=await _y();i.getLoadedLanguages().includes(e)||await i.loadLanguage(r)}).catch(t=>{throw gy.delete(e),t});return gy.set(e,n),n}function yy({code:e,language:t}){let[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(0),[o,s]=(0,O.useState)(!1),c=(0,O.useRef)(null);(0,O.useEffect)(()=>{let n=!1;async function i(){let i=await _y();if(n)return;let o=`plaintext`;if(t){let{isSpecialLang:e}=await my(async()=>{let{isSpecialLang:e}=await import(`./dist-Ct8xc1yl.js`);return{isSpecialLang:e}},[]),r=i.getLoadedLanguages();e(t)||r.includes(t)?o=t:(vy(t).then(()=>{n||a(e=>e+1)}).catch(()=>{}),o=`plaintext`)}try{let t=i.codeToHtml(e,{lang:o,theme:`github-dark`});n||r(t)}catch{}}return r(null),i().catch(()=>{}),()=>{n=!0}},[e,t,i]),(0,O.useEffect)(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);let l=(0,O.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{s(!0),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>s(!1),2e3)}).catch(()=>{})},[e]);return(0,R.jsxs)(`div`,{className:`relative group rounded-md bg-secondary overflow-hidden mb-2`,children:[t&&(0,R.jsx)(`div`,{className:`text-[10px] text-muted-foreground px-3 pt-1.5 select-none`,children:t}),(0,R.jsx)(`button`,{onClick:l,"aria-label":`Copy code`,className:`absolute top-1.5 right-2 z-10 opacity-0 group-hover:opacity-100 transition-opacity rounded p-1 text-muted-foreground hover:text-foreground hover:bg-white/10`,children:o?(0,R.jsx)(ye,{size:13,strokeWidth:2.5}):(0,R.jsx)(Ne,{size:13,strokeWidth:2})}),n===null?(0,R.jsx)(`pre`,{className:`overflow-x-auto p-3 font-mono text-xs leading-5 text-foreground`,children:(0,R.jsx)(`code`,{children:e})}):(0,R.jsx)(`div`,{className:`overflow-x-auto text-xs leading-5 [&>pre]:p-3 [&>pre]:m-0 [&>pre]:bg-transparent! [&>pre]:font-mono`,dangerouslySetInnerHTML:{__html:n}})]})}var by={h1:({children:e})=>(0,R.jsx)(`h1`,{className:`mb-3 text-xl font-bold`,children:e}),h2:({children:e})=>(0,R.jsx)(`h2`,{className:`mb-2 text-lg font-semibold`,children:e}),h3:({children:e})=>(0,R.jsx)(`h3`,{className:`mb-1.5 text-base font-semibold`,children:e}),p:({children:e})=>(0,R.jsx)(`p`,{className:`mb-2 last:mb-0 leading-relaxed`,children:e}),ul:({children:e})=>(0,R.jsx)(`ul`,{className:`mb-2 ml-4 list-disc space-y-0.5`,children:e}),ol:({children:e})=>(0,R.jsx)(`ol`,{className:`mb-2 ml-4 list-decimal space-y-0.5`,children:e}),li:({children:e})=>(0,R.jsx)(`li`,{className:`text-sm`,children:e}),blockquote:({children:e})=>(0,R.jsx)(`blockquote`,{className:`mb-2 border-l-2 border-brand/50 pl-3 italic text-muted-foreground`,children:e}),a:({href:e,children:t})=>e&&/^(https?:\/\/|\/(?!\/)|#)/i.test(e)?(0,R.jsx)(`a`,{href:e,className:`text-brand underline underline-offset-2 hover:text-brand/80`,target:`_blank`,rel:`noopener noreferrer`,children:t}):(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:t}),strong:({children:e})=>(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:e}),em:({children:e})=>(0,R.jsx)(`em`,{className:`italic text-muted-foreground`,children:e}),hr:()=>(0,R.jsx)(`hr`,{className:`my-3 border-border`}),table:({children:e})=>(0,R.jsx)(`div`,{className:`mb-2 overflow-x-auto rounded border border-border`,children:(0,R.jsx)(`table`,{className:`w-full text-sm`,children:e})}),thead:({children:e})=>(0,R.jsx)(`thead`,{className:`bg-secondary text-secondary-foreground`,children:e}),th:({children:e})=>(0,R.jsx)(`th`,{className:`px-3 py-1.5 text-left font-medium`,children:e}),td:({children:e})=>(0,R.jsx)(`td`,{className:`border-t border-border px-3 py-1.5`,children:e}),code:({children:e,className:t})=>/language-(\w+)/.exec(t??``)?.[1]?(0,R.jsx)(`code`,{className:L(`text-xs`,t),children:e}):(0,R.jsx)(`code`,{className:`rounded bg-secondary px-1 py-0.5 font-mono text-[11px] text-foreground`,children:e}),pre:({children:e})=>{let t=e,n=/language-(\w+)/.exec(t?.props?.className??``)?.[1],r=String(t?.props?.children??``).replace(/\n$/,``);return(0,R.jsx)(yy,{code:r,language:n})}};function xy({text:e,className:t}){return(0,R.jsx)(`div`,{className:L(`text-sm text-foreground`,t),children:(0,R.jsx)(ig,{remarkPlugins:[cy],components:by,children:e})})}function Sy(){return(0,R.jsx)(`span`,{className:`streaming-cursor`,"aria-hidden":`true`})}var Cy=/^[ \t]*(`{3,}|~{4,})/;function wy(e,t){if(t>=e.length)return t;let n=e.lastIndexOf(`
79
+ `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return $g(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=X_.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function ov(){return{exit:{taskListCheckValueChecked:cv,taskListCheckValueUnchecked:cv,paragraph:lv}}}function sv(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:uv}}}function cv(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function lv(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function uv(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=X_.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function dv(){return[_g(),Vg(),Kg(),Z_(),ov()]}function fv(e){return{extensions:[vg(),Hg(e),qg(),av(e),sv()]}}var pv={tokenize:Dv,partial:!0},mv={tokenize:Ov,partial:!0},hv={tokenize:kv,partial:!0},gv={tokenize:Av,partial:!0},_v={tokenize:jv,partial:!0},vv={name:`wwwAutolink`,tokenize:Tv,previous:Mv},yv={name:`protocolAutolink`,tokenize:Ev,previous:Nv},bv={name:`emailAutolink`,tokenize:wv,previous:Pv},xv={};function Sv(){return{text:xv}}for(var Cv=48;Cv<123;)xv[Cv]=bv,Cv++,Cv===58?Cv=65:Cv===91&&(Cv=97);xv[43]=bv,xv[45]=bv,xv[46]=bv,xv[95]=bv,xv[72]=[bv,yv],xv[104]=[bv,yv],xv[87]=[bv,vv],xv[119]=[bv,vv];function wv(e,t,n){let r=this,i,a;return o;function o(t){return!Fv(t)||!Pv.call(r,r.previous)||Iv(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return Fv(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(_v,u,l)(t):t===45||t===95||vd(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&_d(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function Tv(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!Mv.call(r,r.previous)||Iv(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(pv,e.attempt(mv,e.attempt(hv,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function Ev(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&Nv.call(r,r.previous)&&!Iv(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(_d(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||bd(t)||wd(t)||Ed(t)||Td(t)?n(t):e.attempt(mv,e.attempt(hv,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function Dv(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Ov(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(gv,c,s)(t):t===null||wd(t)||Ed(t)||t!==45&&Td(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function kv(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(gv,t,a)(o):o===null||wd(o)||Ed(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Av(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||wd(o)||Ed(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||wd(e)||Ed(e)?t(e):r(e)}function a(e){return _d(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):_d(t)?(e.consume(t),o):n(t)}}function jv(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return vd(e)?n(e):t(e)}}function Mv(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||wd(e)}function Nv(e){return!_d(e)}function Pv(e){return!(e===47||Fv(e))}function Fv(e){return e===43||e===45||e===46||e===95||vd(e)}function Iv(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Lv={tokenize:Gv,partial:!0};function Rv(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:Hv,continuation:{tokenize:Uv},exit:Wv}},text:{91:{name:`gfmFootnoteCall`,tokenize:Vv},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:zv,resolveTo:Bv}}}}function zv(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=gd(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function Bv(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function Vv(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||wd(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(gd(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return wd(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function Hv(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||wd(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=gd(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return wd(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),Z(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function Uv(e,t,n){return e.check(Ud,t,e.attempt(Lv,t,n))}function Wv(e){e.exit(`gfmFootnoteDefinition`)}function Gv(e,t,n){let r=this;return Z(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function Kv(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&ld(o,o.length,0,Id(s,e.slice(r+1,n),t)),ld(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),ld(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=Fd(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=Fd(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var qv=class{constructor(){this.map=[]}add(e,t,n){Jv(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function Jv(e,t,n,r){let i=0;if(n!==0||r.length!==0){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Yv(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function Xv(){return{flow:{null:{name:`table`,tokenize:Zv,resolveAll:Qv}}}}function Zv(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124||(o=!0,a+=1),u(e)}function u(t){return t===null?n(t):Y(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):X(t)?Z(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||wd(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,X(t)?Z(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return X(t)?Z(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||Y(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return X(t)?Z(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||Y(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||Y(n)?(e.exit(`tableRow`),t(n)):X(n)?Z(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||wd(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function Qv(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new qv;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(ey(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=$v(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=$v(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=$v(f,t,o,i,n,d)):(o[0]=o[1],d=$v(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&ey(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=Yv(t.events,n))}return e}function $v(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},ty(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=ty(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=ty(t.events,n[2]),a=ty(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},ty(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function ey(e,t,n,r,i){let a=[],o=ty(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function ty(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var ny={name:`tasklistCheck`,tokenize:iy};function ry(){return{text:{91:ny}}}function iy(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return wd(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return Y(r)?t(r):X(r)?e.check({tokenize:ay},t,n)(r):n(r)}}function ay(e,t,n){return Z(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function oy(e){return fd([Sv(),Rv(),Kv(e),Xv(),ry()])}var sy={};function cy(e){let t=this,n=e||sy,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(oy(n)),a.push(dv()),o.push(fv(n))}var ly=`modulepreload`,uy=function(e){return`/`+e},dy={},fy=function(e){return e.pathname.endsWith(`.css`)},py=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},my=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=uy(t,n);let r=s(t),i=fy(r);return py(dy,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:ly,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},hy=null,gy=new Map;function _y(){return hy||=my(async()=>{let{createHighlighter:e}=await import(`./dist-UwYaNxlm.js`);return{createHighlighter:e}},[]).then(({createHighlighter:e})=>e({themes:[`github-dark`],langs:[`plaintext`]})),hy}function vy(e){let t=gy.get(e);if(t)return t;let n=my(async()=>{let{bundledLanguages:e,isSpecialLang:t}=await import(`./dist-UwYaNxlm.js`);return{bundledLanguages:e,isSpecialLang:t}},[]).then(async({bundledLanguages:t,isSpecialLang:n})=>{if(n(e))return;let r=t[e];if(!r)throw Error(`unknown lang: ${e}`);let i=await _y();i.getLoadedLanguages().includes(e)||await i.loadLanguage(r)}).catch(t=>{throw gy.delete(e),t});return gy.set(e,n),n}function yy({code:e,language:t}){let[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(0),[o,s]=(0,O.useState)(!1),c=(0,O.useRef)(null);(0,O.useEffect)(()=>{let n=!1;async function i(){let i=await _y();if(n)return;let o=`plaintext`;if(t){let{isSpecialLang:e}=await my(async()=>{let{isSpecialLang:e}=await import(`./dist-UwYaNxlm.js`);return{isSpecialLang:e}},[]),r=i.getLoadedLanguages();e(t)||r.includes(t)?o=t:(vy(t).then(()=>{n||a(e=>e+1)}).catch(()=>{}),o=`plaintext`)}try{let t=i.codeToHtml(e,{lang:o,theme:`github-dark`});n||r(t)}catch{}}return r(null),i().catch(()=>{}),()=>{n=!0}},[e,t,i]),(0,O.useEffect)(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);let l=(0,O.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{s(!0),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>s(!1),2e3)}).catch(()=>{})},[e]);return(0,R.jsxs)(`div`,{className:`relative group rounded-md bg-secondary overflow-hidden mb-2`,children:[t&&(0,R.jsx)(`div`,{className:`text-[10px] text-muted-foreground px-3 pt-1.5 select-none`,children:t}),(0,R.jsx)(`button`,{onClick:l,"aria-label":`Copy code`,className:`absolute top-1.5 right-2 z-10 opacity-0 group-hover:opacity-100 transition-opacity rounded p-1 text-muted-foreground hover:text-foreground hover:bg-white/10`,children:o?(0,R.jsx)(ye,{size:13,strokeWidth:2.5}):(0,R.jsx)(Ne,{size:13,strokeWidth:2})}),n===null?(0,R.jsx)(`pre`,{className:`overflow-x-auto p-3 font-mono text-xs leading-5 text-foreground`,children:(0,R.jsx)(`code`,{children:e})}):(0,R.jsx)(`div`,{className:`overflow-x-auto text-xs leading-5 [&>pre]:p-3 [&>pre]:m-0 [&>pre]:bg-transparent! [&>pre]:font-mono`,dangerouslySetInnerHTML:{__html:n}})]})}var by={h1:({children:e})=>(0,R.jsx)(`h1`,{className:`mb-3 text-xl font-bold`,children:e}),h2:({children:e})=>(0,R.jsx)(`h2`,{className:`mb-2 text-lg font-semibold`,children:e}),h3:({children:e})=>(0,R.jsx)(`h3`,{className:`mb-1.5 text-base font-semibold`,children:e}),p:({children:e})=>(0,R.jsx)(`p`,{className:`mb-2 last:mb-0 leading-relaxed`,children:e}),ul:({children:e})=>(0,R.jsx)(`ul`,{className:`mb-2 ml-4 list-disc space-y-0.5`,children:e}),ol:({children:e})=>(0,R.jsx)(`ol`,{className:`mb-2 ml-4 list-decimal space-y-0.5`,children:e}),li:({children:e})=>(0,R.jsx)(`li`,{className:`text-sm`,children:e}),blockquote:({children:e})=>(0,R.jsx)(`blockquote`,{className:`mb-2 border-l-2 border-brand/50 pl-3 italic text-muted-foreground`,children:e}),a:({href:e,children:t})=>e&&/^(https?:\/\/|\/(?!\/)|#)/i.test(e)?(0,R.jsx)(`a`,{href:e,className:`text-brand underline underline-offset-2 hover:text-brand/80`,target:`_blank`,rel:`noopener noreferrer`,children:t}):(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:t}),strong:({children:e})=>(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:e}),em:({children:e})=>(0,R.jsx)(`em`,{className:`italic text-muted-foreground`,children:e}),hr:()=>(0,R.jsx)(`hr`,{className:`my-3 border-border`}),table:({children:e})=>(0,R.jsx)(`div`,{className:`mb-2 overflow-x-auto rounded border border-border`,children:(0,R.jsx)(`table`,{className:`w-full text-sm`,children:e})}),thead:({children:e})=>(0,R.jsx)(`thead`,{className:`bg-secondary text-secondary-foreground`,children:e}),th:({children:e})=>(0,R.jsx)(`th`,{className:`px-3 py-1.5 text-left font-medium`,children:e}),td:({children:e})=>(0,R.jsx)(`td`,{className:`border-t border-border px-3 py-1.5`,children:e}),code:({children:e,className:t})=>/language-(\w+)/.exec(t??``)?.[1]?(0,R.jsx)(`code`,{className:L(`text-xs`,t),children:e}):(0,R.jsx)(`code`,{className:`rounded bg-secondary px-1 py-0.5 font-mono text-[11px] text-foreground`,children:e}),pre:({children:e})=>{let t=e,n=/language-(\w+)/.exec(t?.props?.className??``)?.[1],r=String(t?.props?.children??``).replace(/\n$/,``);return(0,R.jsx)(yy,{code:r,language:n})}};function xy({text:e,className:t}){return(0,R.jsx)(`div`,{className:L(`text-sm text-foreground`,t),children:(0,R.jsx)(ig,{remarkPlugins:[cy],components:by,children:e})})}function Sy(){return(0,R.jsx)(`span`,{className:`streaming-cursor`,"aria-hidden":`true`})}var Cy=/^[ \t]*(`{3,}|~{4,})/;function wy(e,t){if(t>=e.length)return t;let n=e.lastIndexOf(`
80
80
  `,t-1)+1,r=e.slice(n,t);if(Cy.test(r)){let n=e.indexOf(`
81
- `,t);return n===-1?e.length:n+1}return t}function Ty({text:e,isStreaming:t,speed:n=80,onComplete:r}){let i=(0,O.useRef)(0),[a,o]=(0,O.useState)(0),s=(0,O.useRef)(null),c=(0,O.useRef)(null),l=(0,O.useRef)(!1),u=(0,O.useRef)(r);(0,O.useEffect)(()=>{u.current=r},[r]);let d=(0,O.useRef)(n);(0,O.useEffect)(()=>{d.current=n});let f=!t&&i.current===0&&e.length>0,p=(0,O.useCallback)(()=>{if(s.current!==null)return;function n(r){let a=r-(c.current??r);c.current=r;let f=d.current/1e3,p=Math.max(1,Math.floor(f*a)),m=i.current,h=e.length;if(m<h){let t=wy(e,Math.min(m+p,h));i.current=t,o(t)}i.current>=e.length&&!t?(s.current=null,c.current=null,l.current||(l.current=!0,u.current?.())):s.current=requestAnimationFrame(n)}s.current=requestAnimationFrame(n)},[e,t]);(0,O.useEffect)(()=>{if(f)i.current=e.length,o(e.length),l.current||(l.current=!0,u.current?.());else return(i.current<e.length||t)&&p(),()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)}},[e,t,f]);let m=f?e.length:a,h=e.slice(0,m),g=m<e.length||t;return(0,R.jsxs)(`span`,{className:`streaming-text-root`,children:[(0,R.jsx)(xy,{text:h}),g&&(0,R.jsx)(Sy,{})]})}function Ey({kind:e,text:t,className:n}){let[r,i]=(0,O.useState)(!1),a=(0,O.useRef)(null);(0,O.useEffect)(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]);function o(){navigator.clipboard.writeText(t).then(()=>{i(!0),a.current!==null&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),2e3)}).catch(()=>{})}return(0,R.jsx)(`div`,{className:L(`absolute top-1 right-1`,`opacity-0 group-hover:opacity-100 transition-opacity duration-150`,n),children:(0,R.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-card px-1 py-0.5 shadow-sm`,children:e===`assistant`&&(0,R.jsx)(Dy,{onClick:o,title:r?`Copied!`:`Copy`,children:r?(0,R.jsx)(ye,{className:`h-3.5 w-3.5 text-status-running`}):(0,R.jsx)(Ne,{className:`h-3.5 w-3.5`})})})})}function Dy({onClick:e,title:t,children:n}){return(0,R.jsx)(`button`,{type:`button`,onClick:e,title:t,className:`h-6 w-6 rounded flex items-center justify-center hover:bg-secondary text-muted-foreground hover:text-foreground transition-colors`,children:n})}function Oy({text:e}){return(0,R.jsxs)(`div`,{className:`group relative flex flex-col items-end gap-1`,children:[(0,R.jsx)(`span`,{className:`text-[11px] font-medium uppercase tracking-widest text-muted-foreground/50`,children:`You`}),(0,R.jsx)(`p`,{className:`max-w-2xl text-sm leading-relaxed text-foreground whitespace-pre-wrap text-right`,children:e}),(0,R.jsx)(Ey,{kind:`user`,text:e})]})}function ky({text:e,isStreaming:t=!1}){return(0,R.jsxs)(`div`,{className:`group relative flex flex-col gap-1`,children:[(0,R.jsx)(`span`,{className:`text-[11px] font-medium uppercase tracking-widest text-brand/60`,children:`Agent`}),(0,R.jsx)(`div`,{className:`max-w-3xl`,children:t?(0,R.jsx)(Ty,{text:e,isStreaming:!0}):(0,R.jsx)(xy,{text:e})}),(0,R.jsx)(Ey,{kind:`assistant`,text:e})]})}function Ay({message:e}){return(0,R.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-xl border border-destructive/20 bg-destructive/5 px-4 py-3`,children:[(0,R.jsx)(Ce,{className:`mt-0.5 h-4 w-4 shrink-0 text-status-failed`}),(0,R.jsx)(`p`,{className:`text-sm leading-relaxed text-status-failed`,children:e})]})}function jy({text:e}){return(0,R.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border bg-muted/30 px-3 py-2`,children:[(0,R.jsx)($e,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e})]})}function My({item:e}){return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border bg-muted/30 px-3 py-1.5`,children:[(0,R.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`BG`}),(0,R.jsx)(`span`,{className:`text-xs text-foreground`,children:e.label}),(0,R.jsx)(`span`,{className:L(`ml-auto font-mono text-[10px] capitalize`,e.status===`completed`?`text-status-running`:``,e.status===`failed`?`text-status-failed`:``,e.status===`running`?`text-status-blocked`:``),children:e.status})]})}function Ny(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===void 0){n++;continue}if(r.kind!==`subagent`){t.push({kind:`item`,item:r}),n++;continue}let i=[];for(;n<e.length;){let t=e[n];if(t===void 0||t.kind!==`subagent`)break;i.push(t),n++}t.push({kind:`subagent-group`,items:i,id:i[0].id})}return t}function Py(e,t=!1){switch(e.kind){case`user`:return(0,R.jsx)(Oy,{text:e.text});case`assistant`:return(0,R.jsx)(ky,{text:e.text,isStreaming:t});case`thinking`:return(0,R.jsx)(uc,{text:e.text});case`tool`:return(0,R.jsx)(Vc,{...e});case`error`:return(0,R.jsx)(Ay,{message:e.message});case`notice`:return(0,R.jsx)(jy,{text:e.text});case`bg_job`:return(0,R.jsx)(My,{item:e});case`subagent`:return null}}function Fy(e,t=!1){switch(e.kind){case`user`:return(0,R.jsx)(Oy,{text:e.text});case`assistant`:return(0,R.jsx)(ky,{text:e.text,isStreaming:t});case`thinking`:return(0,R.jsx)(uc,{text:e.text});case`error`:return(0,R.jsx)(Ay,{message:e.message});case`notice`:return(0,R.jsx)(jy,{text:e.text});case`bg_job`:return(0,R.jsx)(My,{item:e});default:return null}}function Iy({sessionId:e,...t}){return(0,R.jsx)(Mc.Provider,{value:e??null,children:(0,R.jsx)(Ly,{...t})})}function Ly({items:e,totals:t,spineMode:n=!0,turnActive:r=!1}){let i=(0,O.useMemo)(()=>Ny(e),[e]),a=Al(e),o=(0,O.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(e[t]?.kind===`assistant`)return e[t].id;return null},[e]),s=(0,O.useCallback)((e,t)=>{let n=e.kind===`user`&&t>0,i=r&&e.id===o;return(0,R.jsxs)(`div`,{children:[n&&(0,R.jsx)(`div`,{className:`my-6 border-t border-border/40`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`py-2 px-1`,children:Fy(e,i)})]},e.id)},[r,o]);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-0 max-w-4xl mx-auto w-full`,children:[t&&(0,R.jsx)($c,{totals:t,className:`sticky top-0 z-10 mb-4 rounded-md border border-border bg-card px-3 py-1.5`}),e.length===0?(0,R.jsx)(`p`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`No transcript items yet.`}):n?(0,R.jsx)(kl,{slots:a,renderTextItem:s}):i.map((e,t)=>{if(e.kind===`item`){let{item:n}=e,i=n.kind===`user`&&t>0,a=r&&n.id===o;return(0,R.jsxs)(`div`,{children:[i&&(0,R.jsx)(`div`,{className:`my-6 border-t border-border/40`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`py-2 px-1`,children:Py(n,a)})]},n.id)}let n=el(e.items);return(0,R.jsx)(`div`,{className:`py-2 px-1`,children:(0,R.jsx)(Jc,{roots:n})},e.id)})]})}var Ry={preference:`Preference`,convention:`Convention`,decision:`Decision`,learning:`Learning`};function zy({type:e}){return(0,R.jsx)(`span`,{className:L(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,e===`fact`?`bg-blue-500/15 text-blue-400`:`bg-violet-500/15 text-violet-400`),children:e})}function By({category:e}){return e?(0,R.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-zinc-700 text-zinc-300`,children:Ry[e]??e}):null}function Vy({result:e}){let t=e.content.length>200?e.content.slice(0,200)+`…`:e.content,n=e.created_at?new Date(e.created_at).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):null;return(0,R.jsxs)(`div`,{className:`rounded-lg border border-zinc-800 bg-zinc-900 p-3 space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,R.jsx)(zy,{type:e.type}),(0,R.jsx)(By,{category:e.category}),n&&(0,R.jsx)(`span`,{className:`text-xs text-zinc-500 ml-auto`,children:n})]}),(0,R.jsx)(`p`,{className:`text-sm text-zinc-300 leading-relaxed whitespace-pre-wrap break-words`,children:t})]})}function Hy({pct:e,truncated:t}){let n=Math.min(e,100);return(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`div`,{className:`flex-1 h-2 rounded-full bg-zinc-800 overflow-hidden`,children:(0,R.jsx)(`div`,{className:L(`h-full rounded-full transition-all`,e>=100?`bg-red-500`:e>=80?`bg-amber-400`:`bg-accent`),style:{width:`${n}%`}})}),t&&(0,R.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-amber-400/15 text-amber-400`,children:`Truncated`})]})}function Uy({hot:e}){if(!e)return null;let{content:t,usage:n}=e;return(0,R.jsxs)(`section`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-zinc-200`,children:`HOT Memory`}),(0,R.jsxs)(`span`,{className:`text-xs text-zinc-500`,children:[n.tokens.toLocaleString(),` / `,n.maxTokens.toLocaleString(),` tokens`]})]}),(0,R.jsx)(Hy,{pct:n.pct,truncated:n.truncated}),t?(0,R.jsx)(`pre`,{className:`rounded-md border border-zinc-800 bg-zinc-950 p-3 text-xs text-zinc-300 font-mono overflow-x-auto whitespace-pre-wrap max-h-48`,children:t}):(0,R.jsx)(`p`,{className:`text-xs text-zinc-500 italic`,children:`No hot memory loaded.`})]})}var Wy=[{value:``,label:`All Categories`},{value:`preference`,label:`Preference`},{value:`convention`,label:`Convention`},{value:`decision`,label:`Decision`},{value:`learning`,label:`Learning`}];function Gy(){let[e,t]=(0,O.useState)(null),[n,r]=(0,O.useState)(``),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null);(0,O.useEffect)(()=>{yc(`/api/memory/hot`).then(t).catch(()=>{})},[]);let f=(0,O.useCallback)(async e=>{e.preventDefault(),l(!0),d(null);try{let e=new URLSearchParams({q:n,limit:`20`});i&&e.set(`category`,i);let t=await yc(`/api/memory/search?${e.toString()}`);s(t.results)}catch(e){d(e instanceof Error?e.message:`Search failed`)}finally{l(!1)}},[n,i]);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-6 p-4`,children:[(0,R.jsx)(Uy,{hot:e}),(0,R.jsxs)(`section`,{className:`space-y-3`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-zinc-200`,children:`Search Memory`}),(0,R.jsxs)(`form`,{onSubmit:f,className:`flex gap-2 flex-wrap`,children:[(0,R.jsx)(`input`,{type:`text`,value:n,onChange:e=>r(e.target.value),placeholder:`FTS5 query…`,className:`flex-1 min-w-0 rounded-md border border-zinc-700 bg-zinc-900 px-3 py-1.5 text-sm text-zinc-100 placeholder-zinc-500 focus:outline-none focus:ring-1 focus:ring-accent`}),(0,R.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:`rounded-md border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-100 focus:outline-none focus:ring-1 focus:ring-accent`,children:Wy.map(e=>(0,R.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,R.jsx)(`button`,{type:`submit`,disabled:c,className:`rounded-md bg-accent px-3 py-1.5 text-sm font-medium text-white disabled:opacity-50 hover:opacity-90 transition-opacity`,children:c?`Searching…`:`Search`})]}),u&&(0,R.jsx)(`p`,{className:`text-xs text-red-400`,children:u}),o!==null&&(0,R.jsx)(`div`,{className:`space-y-2`,children:o.length===0?(0,R.jsx)(`p`,{className:`text-sm text-zinc-500 italic text-center py-6`,children:`No results found.`}):o.map(e=>(0,R.jsx)(Vy,{result:e},`${e.type}-${e.created_at}-${e.content.slice(0,32)}`))})]})]})}var Ky={success:{label:`Success`,className:`bg-status-done/20 text-status-done border-status-done/30`},error:{label:`Error`,className:`bg-status-failed/20 text-status-failed border-status-failed/30`},skipped:{label:`Skipped`,className:`bg-muted text-muted-foreground border-border`}};function qy(e){if(e<1e3)return`${e}ms`;let t=Math.floor(e/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Jy(e){return new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Yy({schedule:e,onClose:t}){let[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let t=!1;return a(!0),s(null),yc(`/api/schedules/${e.id}/history`).then(e=>{t||r(e.history)}).catch(e=>{t||s(e instanceof Error?e.message:`Failed to load history`)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e.id]),(0,O.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t]),(0,R.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,R.jsxs)(`div`,{className:`flex max-h-[80vh] w-full max-w-lg flex-col rounded-xl border border-border bg-card shadow-xl`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-5 py-4`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{className:`text-sm font-semibold`,children:e.name}),(0,R.jsx)(`p`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:e.cron})]}),(0,R.jsx)(`button`,{onClick:t,className:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,"aria-label":`Close`,children:`✕`})]}),(0,R.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-5 py-3`,children:[i&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`Loading history…`}),o&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-status-failed`,children:o}),!i&&!o&&n.length===0&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`No runs recorded yet.`}),!i&&!o&&n.length>0&&(0,R.jsx)(`ul`,{className:`space-y-2`,children:n.map((e,t)=>{let n=Ky[e.status];return(0,R.jsxs)(`li`,{className:`flex items-start gap-3 rounded-lg border border-border bg-background/50 px-4 py-3`,children:[(0,R.jsx)(`span`,{className:L(`mt-0.5 shrink-0 rounded-full border px-2 py-0.5 text-xs font-medium`,n.className),children:n.label}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:Jy(e.triggeredAt)}),(0,R.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:qy(e.durationMs)})]}),e.errorMessage&&(0,R.jsx)(`p`,{className:`mt-1 truncate font-mono text-xs text-status-failed`,children:e.errorMessage})]})]},`${e.taskId}-${e.triggeredAt}-${t}`)})})]})]})})}function Xy({status:e}){return e?(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:L(`size-2 rounded-full`,e.running?`animate-pulse bg-status-done`:`bg-status-failed`)}),(0,R.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.running?`Running${e.tasks==null?``:` (${e.tasks} task${e.tasks===1?``:`s`})`}`:`Stopped`})]}):null}function Zy({checked:e,onChange:t,disabled:n}){return(0,R.jsx)(`button`,{role:`switch`,"aria-checked":e,onClick:e=>{e.stopPropagation(),t()},disabled:n,className:L(`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent`,`transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e?`bg-brand`:`bg-muted`),children:(0,R.jsx)(`span`,{className:L(`block size-4 rounded-full bg-white shadow transition-transform`,e?`translate-x-4`:`translate-x-0`)})})}function Qy({schedule:e,onToggle:t,onDelete:n,onShowHistory:r}){let[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(!1),c=async()=>{a(!0),await t(e.id).finally(()=>a(!1))},l=async t=>{t.stopPropagation(),window.confirm(`Delete schedule "${e.name}"? This cannot be undone.`)&&(s(!0),await n(e.id).finally(()=>s(!1)))},u=e.trigger===`both`?`cron + session start`:e.trigger??`cron`;return(0,R.jsxs)(`div`,{className:L(`group flex cursor-pointer flex-col gap-3 rounded-xl border border-border bg-card p-4`,`transition-colors hover:border-brand/40 hover:bg-accent/30`,!e.enabled&&`opacity-60`),onClick:()=>r(e),children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,R.jsx)(`p`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:e.cron})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(Zy,{checked:e.enabled,onChange:()=>{c()},disabled:i}),(0,R.jsx)(`button`,{onClick:l,disabled:o,"aria-label":`Delete schedule ${e.name}`,className:L(`flex size-7 items-center justify-center rounded-md text-muted-foreground`,`opacity-0 transition-opacity group-hover:opacity-100`,`hover:bg-destructive/20 hover:text-status-failed`,`disabled:cursor-not-allowed disabled:opacity-40`),children:`🗑`})]})]}),(0,R.jsx)(`code`,{className:`block truncate rounded-md bg-secondary px-3 py-2 font-mono text-xs text-secondary-foreground`,children:e.command}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 capitalize`,children:u}),e.notifyOn&&e.notifyOn!==`never`&&(0,R.jsxs)(`span`,{className:`rounded bg-muted px-1.5 py-0.5`,children:[`notify: `,e.notifyOn]}),(0,R.jsx)(`span`,{className:`ml-auto`,children:`Click for history`})]})]})}var $y={name:``,command:``,cron:``,trigger:`cron`,notifyOn:`failure`,enabled:!0};function eb({onCreated:e,onCancel:t}){let[n,r]=(0,O.useState)($y),[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(null),c=async t=>{if(t.preventDefault(),s(null),!n.name.trim())s(`Name is required.`);else if(!n.command.trim())s(`Command is required.`);else if(!n.cron.trim())s(`Cron expression is required.`);else{a(!0);try{let t=await yc(`/api/schedules`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});e(t.schedule,t.syncNote)}catch(e){s(e instanceof Error?e.message:`Failed to create schedule.`)}finally{a(!1)}}},l=(e,t)=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground`,children:e}),t]}),u=L(`h-8 rounded-md border border-border bg-card px-3 text-sm`,`placeholder:text-muted-foreground/50`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`);return(0,R.jsxs)(`form`,{onSubmit:e=>{c(e)},className:`flex flex-col gap-4 rounded-xl border border-brand/40 bg-card p-4`,children:[(0,R.jsx)(`p`,{className:`text-sm font-semibold`,children:`New Schedule`}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[l(`Name *`,(0,R.jsx)(`input`,{type:`text`,className:u,placeholder:`e.g. Nightly cleanup`,value:n.name,onChange:e=>r(t=>({...t,name:e.target.value})),required:!0,disabled:i})),l(`Cron expression *`,(0,R.jsx)(`input`,{type:`text`,className:L(u,`font-mono`),placeholder:`0 2 * * *`,value:n.cron,onChange:e=>r(t=>({...t,cron:e.target.value})),required:!0,disabled:i}))]}),l(`Command *`,(0,R.jsx)(`input`,{type:`text`,className:L(u,`font-mono`),placeholder:`/my-skill --auto`,value:n.command,onChange:e=>r(t=>({...t,command:e.target.value})),required:!0,disabled:i})),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[l(`Trigger`,(0,R.jsxs)(`select`,{className:u,value:n.trigger,onChange:e=>r(t=>({...t,trigger:e.target.value})),disabled:i,children:[(0,R.jsx)(`option`,{value:`cron`,children:`cron`}),(0,R.jsx)(`option`,{value:`sessionstart`,children:`session start`}),(0,R.jsx)(`option`,{value:`both`,children:`both`})]})),l(`Notify on`,(0,R.jsxs)(`select`,{className:u,value:n.notifyOn,onChange:e=>r(t=>({...t,notifyOn:e.target.value})),disabled:i,children:[(0,R.jsx)(`option`,{value:`failure`,children:`failure`}),(0,R.jsx)(`option`,{value:`always`,children:`always`}),(0,R.jsx)(`option`,{value:`never`,children:`never`})]})),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground`,children:`Enabled`}),(0,R.jsx)(`div`,{className:`flex h-8 items-center`,children:(0,R.jsx)(Zy,{checked:n.enabled,onChange:()=>r(e=>({...e,enabled:!e.enabled})),disabled:i})})]})]}),o&&(0,R.jsx)(`p`,{className:`rounded-md border border-status-failed/30 bg-status-failed/10 px-3 py-2 text-xs text-status-failed`,children:o}),(0,R.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:t,disabled:i,className:L(`h-8 rounded-md px-3 text-sm text-muted-foreground`,`hover:bg-accent hover:text-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`),children:`Cancel`}),(0,R.jsx)(`button`,{type:`submit`,disabled:i,className:L(`h-8 rounded-md bg-brand px-4 text-sm font-medium text-white`,`hover:bg-brand/90`,`disabled:cursor-not-allowed disabled:opacity-50`),children:i?`Creating…`:`Create`})]})]})}function tb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(null),[u,d]=(0,O.useState)(!1),[f,p]=(0,O.useState)(null);(0,O.useEffect)(()=>{let e=!1;return a(!0),s(null),Promise.all([yc(`/api/schedules`),yc(`/api/daemon/status`)]).then(([n,i])=>{e||(t(n.schedules),r(i))}).catch(t=>{e||s(t instanceof Error?t.message:`Failed to load schedules`)}).finally(()=>{e||a(!1)}),()=>{e=!0}},[]);let m=(0,O.useCallback)(async e=>{let n=await yc(`/api/schedules/${e}/toggle`,{method:`POST`});t(t=>t.map(t=>t.id===e?{...t,enabled:n.enabled}:t)),n.syncNote&&(p(n.syncNote),setTimeout(()=>p(null),8e3))},[]),h=(0,O.useCallback)(async e=>{await yc(`/api/schedules/${e}`,{method:`DELETE`}),t(t=>t.filter(t=>t.id!==e))},[]),g=(0,O.useCallback)((e,n)=>{t(t=>[...t,e]),d(!1),n&&(p(n),setTimeout(()=>p(null),8e3))},[]);return i?(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading schedules…`})}):(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4 overflow-y-auto p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`Schedules`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(Xy,{status:n}),(0,R.jsx)(`button`,{onClick:()=>d(e=>!e),className:L(`h-7 rounded-md px-3 text-xs font-medium`,u?`bg-muted text-muted-foreground hover:bg-muted/80`:`bg-brand text-white hover:bg-brand/90`),children:u?`Cancel`:`+ New Schedule`})]})]}),u&&(0,R.jsx)(eb,{onCreated:g,onCancel:()=>d(!1)}),f&&(0,R.jsx)(`p`,{className:`rounded-lg border border-yellow-500/30 bg-yellow-500/10 px-4 py-3 text-sm text-yellow-700 dark:text-yellow-400`,children:f}),o&&(0,R.jsx)(`p`,{className:`rounded-lg border border-status-failed/30 bg-status-failed/10 px-4 py-3 text-sm text-status-failed`,children:o}),!o&&e.length===0&&!u&&(0,R.jsx)(`p`,{className:`mt-8 text-center text-sm text-muted-foreground`,children:`No schedules configured.`}),(0,R.jsx)(`div`,{className:`grid gap-3`,children:e.map(e=>(0,R.jsx)(Qy,{schedule:e,onToggle:m,onDelete:h,onShowHistory:l},e.id))}),c&&(0,R.jsx)(Yy,{schedule:c,onClose:()=>l(null)})]})}function nb(e,t){let n=(t??Date.now())-e;if(n<1e3)return`${n}ms`;let r=Math.floor(n/1e3);if(r<60)return`${r}s`;let i=Math.floor(r/60);return i<60?`${i}m ${r%60}s`:`${Math.floor(i/60)}h ${i%60}m`}function rb(e){let t=Math.floor((Date.now()-e)/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function ib(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}var ab={running:`bg-green-500/20 text-green-400 border border-green-500/30`,completed:`bg-blue-500/20 text-blue-400 border border-blue-500/30`,failed:`bg-red-500/20 text-red-400 border border-red-500/30`,cancelled:`bg-neutral-500/20 text-neutral-400 border border-neutral-500/30`};function ob(e){return e.status!==`running`}function sb({status:e}){return(0,R.jsxs)(`span`,{className:L(`inline-flex items-center gap-1.5 rounded px-1.5 py-0.5 text-xs font-medium`,ab[e]),children:[e===`running`&&(0,R.jsx)(`span`,{className:`size-1.5 rounded-full bg-green-400 animate-pulse`}),e]})}function cb({job:e,now:t,onCancel:n}){let[r,i]=(0,O.useState)(!1),[a,o]=(0,O.useState)(!1),[s,c]=(0,O.useState)(null),l=nb(e.startedAt,e.status===`running`?t:e.endedAt),u=rb(e.startedAt),d=r?M:xe;return(0,R.jsxs)(`div`,{className:`rounded-lg border border-neutral-800 bg-neutral-900 overflow-hidden`,children:[(0,R.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>i(e=>!e),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i(e=>!e))},className:`w-full text-left px-4 py-3 flex flex-col gap-2 hover:bg-neutral-800/50 transition-colors cursor-pointer`,children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,R.jsx)(d,{className:`size-3.5 shrink-0 text-neutral-500`}),(0,R.jsx)(`span`,{className:`text-sm font-medium text-neutral-100 truncate`,children:e.label||e.jobId})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,R.jsx)(sb,{status:e.status}),e.status===`running`&&(0,R.jsxs)(`button`,{type:`button`,onClick:async t=>{t.stopPropagation(),c(null),o(!0);try{await n(e.jobId)}catch(e){c(e instanceof Error?e.message:String(e))}finally{o(!1)}},disabled:a,"aria-label":`Cancel job ${e.jobId}`,className:L(`flex items-center gap-1 rounded px-1.5 py-0.5 text-xs`,`text-neutral-500 hover:text-red-400 hover:bg-red-500/10`,`disabled:opacity-40 transition-colors`),children:[(0,R.jsx)(Vt,{className:`size-3`}),a?`Cancelling…`:`Cancel`]})]})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-neutral-500 pl-5`,children:[(0,R.jsx)(`span`,{className:`font-mono bg-neutral-800 rounded px-1.5 py-0.5 text-neutral-300`,children:ib(e.model)}),(0,R.jsx)(`span`,{children:l}),(0,R.jsx)(`span`,{children:u})]}),(e.status===`failed`||e.status===`cancelled`)&&e.stopReason&&(0,R.jsxs)(`div`,{className:`pl-5 text-xs text-neutral-500`,children:[(0,R.jsx)(`span`,{className:`text-neutral-600`,children:`reason:`}),` `,(0,R.jsx)(`span`,{className:`font-mono text-neutral-400 line-clamp-2`,title:e.stopReason,children:e.stopReason})]}),s&&(0,R.jsx)(`p`,{className:`pl-5 text-xs text-red-400`,title:s,children:s.length>200?s.slice(0,200)+`…`:s})]}),r&&(0,R.jsxs)(`div`,{className:`border-t border-neutral-800 px-4 py-3 bg-neutral-950 grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 text-xs`,children:[(0,R.jsx)(lb,{label:`Job ID`,value:e.jobId,mono:!0}),(0,R.jsx)(lb,{label:`Subagent ID`,value:e.subagentId,mono:!0}),(0,R.jsx)(lb,{label:`Model`,value:e.model,mono:!0}),(0,R.jsx)(lb,{label:`Status`,value:e.status}),(0,R.jsx)(lb,{label:`Started`,value:new Date(e.startedAt).toLocaleString()}),e.endedAt!==void 0&&(0,R.jsx)(lb,{label:`Ended`,value:new Date(e.endedAt).toLocaleString()}),(0,R.jsx)(lb,{label:`Duration`,value:l}),e.parentSessionId&&(0,R.jsx)(lb,{label:`Parent session`,value:e.parentSessionId,mono:!0}),e.stopReason&&(0,R.jsx)(lb,{label:`Stop reason`,value:e.stopReason.length>200?e.stopReason.slice(0,200)+`…`:e.stopReason,mono:!0}),(0,R.jsx)(lb,{label:`Prompt hash`,value:e.promptHash,mono:!0}),(0,R.jsx)(lb,{label:`Schema version`,value:String(e.schemaVersion)})]})]})}function lb({label:e,value:t,mono:n=!1}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-neutral-600 whitespace-nowrap`,children:e}),(0,R.jsx)(`span`,{className:L(`text-neutral-300 break-all`,n&&`font-mono`),children:t})]})}function ub({label:e,count:t}){return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-neutral-500 uppercase tracking-wider`,children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(`span`,{className:`rounded-full bg-neutral-800 px-1.5 py-0.5 text-neutral-400 normal-case`,children:t})]})}function db(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(()=>Date.now()),c=(0,O.useRef)(null),l=(0,O.useCallback)((e=!1)=>{e||r(!0),a(null),yc(`/api/bg-jobs`).then(({jobs:e})=>t([...e].sort((e,t)=>t.startedAt-e.startedAt))).catch(e=>a(e instanceof Error?e.message:String(e))).finally(()=>{e||r(!1)})},[]);(0,O.useEffect)(()=>{l()},[l]),(0,O.useEffect)(()=>{let t=e.some(e=>!ob(e));return t&&!c.current&&(c.current=setInterval(()=>l(!0),5e3)),!t&&c.current&&(clearInterval(c.current),c.current=null),()=>{c.current&&=(clearInterval(c.current),null)}},[e,l]),(0,O.useEffect)(()=>{if(!e.some(e=>!ob(e)))return;let t=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(t)},[e]);let u=(0,O.useCallback)(async e=>{await yc(`/api/bg-jobs/${encodeURIComponent(e)}/cancel`,{method:`POST`}),t(t=>t.map(t=>t.jobId===e?{...t,status:`cancelled`}:t))},[]),d=e.filter(e=>e.status===`running`),f=e.filter(e=>ob(e)),p=e.some(e=>!ob(e));return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-neutral-200`,children:[(0,R.jsx)(pe,{className:`size-4 text-neutral-400`}),`Background Jobs`,p&&(0,R.jsx)(`span`,{className:`text-xs font-normal text-neutral-500`,children:`(auto-refreshing)`})]}),(0,R.jsxs)(`button`,{onClick:()=>l(),disabled:n,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800 disabled:opacity-50 transition-colors`,children:[(0,R.jsx)(Tt,{className:L(`size-3`,n&&`animate-spin`)}),`Refresh`]})]}),i&&(0,R.jsx)(`p`,{className:`rounded border border-red-900/40 bg-red-950/30 px-3 py-2 text-xs text-red-400`,children:i}),!n&&e.length===0&&!i&&(0,R.jsx)(`p`,{className:`text-sm text-neutral-500 text-center py-8`,children:`No background jobs`}),d.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(ub,{label:`Running`,count:d.length}),d.map(e=>(0,R.jsx)(cb,{job:e,now:o,onCancel:u},e.jobId))]}),f.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(ub,{label:`Settled`,count:f.length}),f.map(e=>(0,R.jsx)(cb,{job:e,now:o,onCancel:u},e.jobId))]})]})}var fb=3e3;async function pb(){return(await yc(`/api/handoffs`)).handoffs}async function mb(e,t){await yc(`/api/handoffs/${encodeURIComponent(e)}/answer`,{method:`POST`,body:JSON.stringify({answer:t})})}function hb({handoff:e,onAnswered:t}){let{taskId:n,sessionId:r,createdAt:i,question:a}=e,[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null),f=(0,O.useCallback)(async e=>{l(!0),d(null);try{await mb(n,e),t(n)}catch(e){e instanceof bc&&e.status===409?d(`This handoff is no longer active (already answered).`):d(`Failed to submit — try again.`)}finally{l(!1)}},[n,t]),p=Array.isArray(a.choices)&&a.choices.length>0,m=a.type??`confirm`,h=p||m===`select`||m===`choice`,g=!h&&(m===`confirm`||!a.type),_=(()=>{try{let e=Date.now()-new Date(i).getTime(),t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}catch{return``}})();return(0,R.jsxs)(`div`,{className:L(`rounded-xl border-2 border-yellow-500/60 bg-yellow-500/5 p-4`,`flex flex-col gap-3`),children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(Lt,{className:`mt-0.5 h-4 w-4 shrink-0 text-yellow-500`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Session `,(0,R.jsx)(`span`,{className:`font-mono`,children:r}),_&&(0,R.jsxs)(`span`,{children:[` · `,_]})]}),a.message&&(0,R.jsx)(`p`,{className:`mt-1 text-sm font-medium text-foreground`,children:a.message}),!a.message&&(0,R.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground italic`,children:`(no message)`})]})]}),h&&(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:(a.choices??[]).map((e,t)=>{let n=String(e);return(0,R.jsx)(`button`,{onClick:()=>{f(e)},disabled:c,className:L(`rounded-md border border-border px-3 py-1 text-xs font-medium`,`transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50`),children:n},`${n}-${t}`)})}),g&&(0,R.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,R.jsx)(`button`,{onClick:()=>{f(!1)},disabled:c,className:L(`h-7 rounded-md px-3 text-xs text-muted-foreground`,`hover:bg-accent hover:text-foreground disabled:opacity-50`),children:`No`}),(0,R.jsx)(`button`,{onClick:()=>{f(!0)},disabled:c,className:L(`h-7 rounded-md bg-brand px-3 text-xs font-medium text-white`,`hover:bg-brand/90 disabled:opacity-50`),children:`Yes`})]}),!h&&!g&&(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),disabled:c,placeholder:`Your answer…`,className:L(`flex-1 rounded-md border border-input bg-background px-3 py-1 text-sm`,`placeholder:text-muted-foreground/50`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`),onKeyDown:e=>{e.key===`Enter`&&o.trim()&&f(o)}}),(0,R.jsx)(`button`,{onClick:()=>{f(o)},disabled:c||!o.trim(),className:L(`h-8 rounded-md bg-brand px-3 text-xs font-medium text-white`,`hover:bg-brand/90 disabled:opacity-50`),children:`Submit`})]}),u&&(0,R.jsx)(`p`,{className:`rounded-md border border-status-failed/30 bg-status-failed/10 px-3 py-2 text-xs text-status-failed`,children:u}),(0,R.jsx)(`p`,{className:`font-mono text-[10px] text-muted-foreground/60`,children:n})]})}function gb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(new Set),c=(0,O.useRef)(void 0),l=(0,O.useRef)(!1),u=(0,O.useCallback)(async()=>{if(!l.current){l.current=!0;try{let e=await pb();t(e),a(null)}catch(e){a(e instanceof Error?e.message:`Failed to load handoffs.`)}finally{l.current=!1,r(!1)}}},[]);(0,O.useEffect)(()=>(u(),c.current=setInterval(()=>{u()},fb),()=>clearInterval(c.current)),[u]);let d=(0,O.useCallback)(e=>{s(t=>new Set([...t,e]))},[]),f=e.filter(e=>!o.has(e.taskId));return n?(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading handoffs…`})}):(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4 overflow-y-auto p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`Pending Handoffs`}),f.length>0&&(0,R.jsxs)(`span`,{className:`rounded-full bg-yellow-500/20 px-2 py-0.5 text-xs font-medium text-yellow-700 dark:text-yellow-400`,children:[f.length,` pending`]})]}),i&&(0,R.jsx)(`p`,{className:`rounded-lg border border-status-failed/30 bg-status-failed/10 px-4 py-3 text-sm text-status-failed`,children:i}),!i&&f.length===0&&(0,R.jsx)(`p`,{className:`mt-8 text-center text-sm text-muted-foreground`,children:`No pending handoffs.`}),(0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:f.map(e=>(0,R.jsx)(hb,{handoff:e,onAnswered:d},e.taskId))})]})}function _b({icon:e,title:t,children:n}){return(0,R.jsxs)(`section`,{className:`space-y-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(e,{className:`size-4 text-muted-foreground`}),(0,R.jsx)(`h2`,{className:`text-sm font-semibold`,children:t})]}),(0,R.jsx)(`div`,{className:`rounded-xl border border-border bg-card`,children:n})]})}function vb({label:e,value:t,mono:n=!1,last:r=!1}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!r&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:e}),(0,R.jsx)(`span`,{className:L(`min-w-0 truncate text-right text-xs`,n?`font-mono text-zinc-300`:`text-zinc-200`),children:t})]})}function yb({model:e,last:t}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!t&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`text-xs text-zinc-200`,children:e.label}),(0,R.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e.id})]})}var bb=[{keys:`⌘K`,description:`Open command palette`},{keys:`⌘1`,description:`Go to Sessions`},{keys:`⌘2`,description:`Go to Memory`},{keys:`⌘3`,description:`Go to Schedules`},{keys:`⌘4`,description:`Go to Background Jobs`}];function xb({keys:e,description:t,last:n}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!n&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`text-xs text-zinc-200`,children:t}),(0,R.jsx)(`kbd`,{className:`rounded border border-border bg-secondary px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:e})]})}function Sb({status:e}){return e?(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:L(`size-1.5 rounded-full`,e.running?`animate-pulse bg-status-done`:`bg-status-failed`)}),(0,R.jsx)(`span`,{className:L(`text-xs`,e.running?`text-zinc-200`:`text-muted-foreground`),children:e.running?`Running${e.tasks==null?``:` · ${e.tasks} task${e.tasks===1?``:`s`}`}`:`Stopped`})]}):(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`–`})}function Cb(){let[e,t]=(0,O.useState)({config:null,models:null,daemon:null,configError:null,modelsError:null,daemonError:null});(0,O.useEffect)(()=>{let e=!1,n=e=>e instanceof Error?e.message:`Failed to load`;return Promise.all([yc(`/api/config`).then(e=>({ok:!0,config:e}),e=>({ok:!1,error:n(e)})),yc(`/api/models`).then(e=>({ok:!0,models:e.models}),e=>({ok:!1,error:n(e)})),yc(`/api/daemon/status`).then(e=>({ok:!0,daemon:e}),e=>({ok:!1,error:n(e)}))]).then(([n,r,i])=>{e||t({config:n.ok?n.config:null,configError:n.ok?null:n.error,models:r.ok?r.models:null,modelsError:r.ok?null:r.error,daemon:i.ok?i.daemon:null,daemonError:i.ok?null:i.error})}).catch(()=>{}),()=>{e=!0}},[]);let n=e.config,r=(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Loading…`});return(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-6 overflow-y-auto p-4`,children:[(0,R.jsxs)(_b,{icon:$e,title:`About`,children:[(0,R.jsx)(vb,{label:`AFK version`,value:n?n.version:r,mono:!0}),(0,R.jsx)(vb,{label:`Node.js`,value:n?n.nodeVersion:r,mono:!0}),(0,R.jsx)(vb,{label:`App`,value:`AFK Dashboard`,last:!0})]}),(0,R.jsxs)(_b,{icon:Fe,title:`Model`,children:[(0,R.jsx)(vb,{label:`Default model`,value:n?n.model:r,mono:!0}),e.modelsError?(0,R.jsx)(`div`,{className:`px-4 py-3 text-xs text-status-failed`,children:e.modelsError}):e.models===null?(0,R.jsx)(vb,{label:`Available tiers`,value:r,last:!0}):e.models.length===0?(0,R.jsx)(vb,{label:`Available tiers`,value:`None listed`,last:!0}):e.models.map((t,n)=>(0,R.jsx)(yb,{model:t,last:n===(e.models?.length??0)-1},t.id))]}),(0,R.jsxs)(_b,{icon:qe,title:`Paths`,children:[(0,R.jsx)(vb,{label:`AFK home`,value:n?n.afkHome:r,mono:!0}),(0,R.jsx)(vb,{label:`State dir`,value:n?n.stateDir:r,mono:!0}),(0,R.jsx)(vb,{label:`Config dir`,value:n?n.configDir:r,mono:!0,last:!0})]}),(0,R.jsxs)(_b,{icon:Ze,title:`Web Server`,children:[(0,R.jsx)(vb,{label:`Host`,value:n?n.webHost:r,mono:!0}),(0,R.jsx)(vb,{label:`Port`,value:n?String(n.webPort):r,mono:!0}),(0,R.jsx)(vb,{label:`Daemon`,value:(0,R.jsx)(Sb,{status:e.daemon})}),!e.daemonError&&(0,R.jsx)(vb,{label:`Tasks scheduled`,value:e.daemon?.tasks==null?`–`:String(e.daemon.tasks),last:!0}),e.daemonError&&(0,R.jsx)(vb,{label:`Daemon error`,value:e.daemonError,last:!0})]}),(0,R.jsx)(_b,{icon:tt,title:`Keyboard Shortcuts`,children:bb.map((e,t)=>(0,R.jsx)(xb,{keys:e.keys,description:e.description,last:t===bb.length-1},e.keys))})]})}function wb(e){return e.startsWith(`/`)?e.slice(1):e}function Tb(e){return`/${wb(e)}`}function Eb(e,t){return wb(e).startsWith(wb(t))}function Db({query:e,commands:t,onSelect:n,visible:r}){let[i,a]=(0,O.useState)(0),o=(0,O.useRef)(null),s=t.filter(t=>Eb(t.name,e)).slice(0,8);return(0,O.useEffect)(()=>{a(0)},[e]),(0,O.useEffect)(()=>{(o.current?.children[i])?.scrollIntoView({block:`nearest`})},[i]),!r||s.length===0?null:(0,R.jsx)(`ul`,{ref:o,role:`listbox`,"aria-label":`Slash commands`,className:L(`absolute bottom-full left-0 mb-1 w-full max-h-56 overflow-y-auto`,`rounded-lg border border-border bg-popover shadow-lg z-50`,`text-sm`),children:s.map((e,t)=>(0,R.jsxs)(`li`,{role:`option`,"aria-selected":t===i,className:L(`flex items-baseline gap-2 px-3 py-2 cursor-pointer select-none`,t===i?`bg-accent text-accent-foreground`:`hover:bg-accent/50`),onMouseEnter:()=>a(t),onMouseDown:t=>{t.preventDefault(),n(e.name)},children:[(0,R.jsx)(`span`,{className:`font-mono font-semibold shrink-0`,children:Tb(e.name)}),(0,R.jsx)(`span`,{className:`text-muted-foreground truncate`,children:e.summary})]},e.name))})}function Ob(e,t,n,r,i,a,o){return!t||n===0?!1:e.key===`ArrowDown`?(i((r+1)%n),!0):e.key===`ArrowUp`?(i((r-1+n)%n),!0):e.key===`Enter`?(a(r),!0):e.key===`Escape`&&(o(),!0)}function kb(e){let t=e.trim();return t?t.startsWith(`/`)||t.startsWith(`./`)||t.startsWith(`~/`)||/^[\w.]/.test(t):!1}function Ab({onInsert:e}){let[t,n]=(0,O.useState)(!1),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(!1),s=(0,O.useRef)(null),c=(0,O.useRef)(null),l=(0,O.useRef)(null),u=(0,O.useCallback)(()=>{n(!1),o(!1),i(``)},[]),d=(0,O.useCallback)(()=>{let t=r.trim();kb(t)?(e(`@${t}`),u()):(o(!0),s.current?.focus())},[r,e,u]);return(0,O.useEffect)(()=>{t&&requestAnimationFrame(()=>s.current?.focus())},[t]),(0,O.useEffect)(()=>{if(!t)return;function e(e){let t=e.target;c.current&&!c.current.contains(t)&&l.current&&!l.current.contains(t)&&u()}return document.addEventListener(`click`,e,{capture:!0}),()=>document.removeEventListener(`click`,e,{capture:!0})},[t,u]),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(`button`,{ref:l,type:`button`,onClick:()=>t?u():n(!0),"aria-label":`Insert file reference`,"aria-expanded":t,className:L(`flex h-8 w-8 items-center justify-center rounded-md text-sm`,`transition-colors hover:bg-accent hover:text-accent-foreground`,t&&`bg-accent text-accent-foreground`),title:`Insert @file reference`,children:(0,R.jsx)(Ge,{className:`h-4 w-4`})}),t&&(0,R.jsxs)(`div`,{ref:c,role:`dialog`,"aria-label":`Insert file path`,className:L(`absolute bottom-full left-0 mb-2 w-72 rounded-lg border`,`bg-popover p-3 shadow-lg animate-fade-in`),children:[(0,R.jsxs)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:[`Type a file path. `,(0,R.jsx)(`code`,{className:`text-[10px]`,children:`@~/file.ts`}),` or`,` `,(0,R.jsx)(`code`,{className:`text-[10px]`,children:`@src/file.ts`})]}),(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{ref:s,type:`text`,value:r,onChange:e=>{i(e.target.value),o(!1)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),d()),e.key===`Escape`&&u()},placeholder:`src/foo.ts or ~/file.ts`,autoComplete:`off`,spellCheck:!1,className:L(`flex-1 rounded-md border bg-secondary px-2 py-1 text-sm`,`placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring`,a&&`border-destructive`)}),(0,R.jsx)(`button`,{type:`button`,onClick:d,className:L(`rounded-md bg-primary px-3 py-1 text-sm font-medium`,`text-primary-foreground hover:bg-primary/90`),children:`Add`})]}),a&&(0,R.jsx)(`p`,{className:`mt-1 text-xs text-destructive`,children:`Enter a valid file path.`})]})]})}var jb=[{id:`sonnet`,label:`Sonnet`},{id:`haiku`,label:`Haiku`},{id:`opus`,label:`Opus`}],Mb=`sonnet`;function Nb({onSelect:e,current:t,className:n}){let[r,i]=(0,O.useState)(jb),a=(0,O.useRef)(!1);(0,O.useEffect)(()=>{let e=!1;return yc(`/api/models`).then(t=>{!e&&t.models.length>0&&i(t.models)}).catch(()=>{}),()=>{e=!0}},[]);let o=t??Mb;(0,O.useEffect)(()=>{a.current||(a.current=!0,e(o))},[e,o]);let s=(0,O.useCallback)(t=>{e(t.target.value)},[e]);return(0,R.jsxs)(`div`,{className:L(`relative inline-flex items-center`,n),children:[(0,R.jsx)(`select`,{value:o,onChange:s,"aria-label":`Model`,className:L(`appearance-none rounded-md border bg-secondary pl-2 pr-7 py-1`,`text-xs font-medium text-secondary-foreground`,`cursor-pointer focus:outline-none focus:ring-1 focus:ring-ring`),children:r.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,R.jsx)(M,{className:`pointer-events-none absolute right-1.5 h-3 w-3 text-muted-foreground`})]})}function Pb({queue:e}){let{entries:t,moveItemUp:n,moveItemDown:r,removeItem:i,editItem:a}=e;return t.length===0?null:(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-border/50 px-3 py-2`,children:[(0,R.jsxs)(`p`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:[`Queued (`,t.length,`)`]}),t.map((e,o)=>(0,R.jsx)(Fb,{text:e.text,isFirst:o===0,isLast:o===t.length-1,onMoveUp:()=>n(o),onMoveDown:()=>r(o),onRemove:()=>i(o),onEdit:e=>a(o,e)},e.id))]})}function Fb({text:e,isFirst:t,isLast:n,onMoveUp:r,onMoveDown:i,onRemove:a,onEdit:o}){let[s,c]=(0,O.useState)(!1),[l,u]=(0,O.useState)(e),d=(0,O.useRef)(null);(0,O.useEffect)(()=>{s&&d.current?.focus()},[s]);let f=(0,O.useCallback)(()=>{u(e),c(!0)},[e]),p=(0,O.useCallback)(()=>{let t=l.trim();t&&t!==e&&o(t),c(!1)},[l,e,o]),m=(0,O.useCallback)(()=>{c(!1),u(e)},[e]);return(0,R.jsxs)(`div`,{className:L(`group flex items-center gap-1.5 rounded-md border border-border/50`,`bg-secondary/50 px-2 py-1 text-sm animate-fade-in`),children:[s?(0,R.jsx)(`input`,{ref:d,type:`text`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&p(),e.key===`Escape`&&m()},onBlur:p,className:L(`min-w-0 flex-1 bg-transparent text-sm`,`focus:outline-none`)}):(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/80`,children:e}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 opacity-60 group-hover:opacity-100`,children:[s?(0,R.jsx)(Ib,{label:`Confirm edit`,onClick:p,children:(0,R.jsx)(ye,{className:`h-3 w-3`})}):(0,R.jsx)(Ib,{label:`Edit`,onClick:f,children:(0,R.jsx)(_t,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Move up`,onClick:r,disabled:t,children:(0,R.jsx)(A,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Move down`,onClick:i,disabled:n,children:(0,R.jsx)(ie,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Remove`,onClick:a,destructive:!0,children:(0,R.jsx)(Vt,{className:`h-3 w-3`})})]})]})}function Ib({label:e,onClick:t,disabled:n,destructive:r,children:i}){return(0,R.jsx)(`button`,{type:`button`,onClick:t,disabled:n,"aria-label":e,title:e,className:L(`flex h-5 w-5 items-center justify-center rounded`,`transition-colors`,n?`cursor-not-allowed opacity-30`:r?`hover:bg-destructive/20 hover:text-destructive`:`hover:bg-accent hover:text-accent-foreground`),children:i})}var Lb=null;function Rb(){Lb=null}async function zb(){return Lb||(Lb=(await yc(`/api/commands`)).commands,Lb)}function Bb(e){return e.startsWith(`/`)&&e.indexOf(` `)===-1?e.slice(1):null}function Vb({sessionId:e,sessionMode:t,isBusy:n,queue:r,onModelSelect:i,currentModel:a}){let[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)([]),[f,p]=(0,O.useState)(0),m=(0,O.useRef)(null),h=t===`readonly`,g=Bb(o),_=g!==null&&u.length>0,v=_?u.filter(e=>Eb(e.name,g)).slice(0,8):[];(0,O.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&Rb()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),(0,O.useEffect)(()=>{let e=m.current;if(!e)return;e.style.height=`auto`;let t=(parseInt(getComputedStyle(e).lineHeight)||20)*5;e.style.height=`${Math.min(e.scrollHeight,t)}px`},[o]),(0,O.useEffect)(()=>{g!==null&&zb().then(d).catch(()=>void 0)},[g]);let y=(0,O.useCallback)(async()=>{let t=o.trim();if(!(!t||c||h)){l(!0);try{await yc(`/api/sessions/${e}/prompt`,{method:`POST`,body:JSON.stringify({text:t})}),s(``)}catch{}finally{l(!1)}}},[o,c,h,e]),b=(0,O.useCallback)(async()=>{try{await yc(`/api/sessions/${e}/interrupt`,{method:`POST`})}catch{}},[e]),x=(0,O.useCallback)(e=>{s(`${Tb(e)} `),p(0),m.current?.focus()},[]),S=(0,O.useCallback)(e=>{if(Ob(e,_,v.length,f,p,e=>{let t=v[e];t&&x(t.name)},()=>s(e=>e)))e.preventDefault();else if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),n&&r){let e=o.trim();e&&(r.enqueue(e),s(``))}else y()}},[_,v,f,x,y,n,o,r]),C=(0,O.useCallback)(e=>{let t=m.current;if(!t){s(t=>t+` `+e+` `);return}let n=t.selectionStart??t.value.length,r=t.selectionEnd??n,i=t.value.slice(0,n),a=t.value.slice(r),o=i.length>0&&!/\s$/.test(i)?` `:``,c=i+o+e+` `+a;s(c),requestAnimationFrame(()=>{let r=n+o.length+e.length+1;t.setSelectionRange(r,r),t.focus()})},[]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`pointer-events-none h-8 bg-gradient-to-t from-background/80 to-transparent`}),(0,R.jsxs)(`div`,{className:L(`relative flex flex-col gap-2`,`border-t border-border/50 px-4 py-3`,`backdrop-blur-xl bg-background/80`,`shadow-[0_-4px_16px_-4px_rgba(0,0,0,0.1)]`,h&&`opacity-50`),children:[r&&(0,R.jsx)(Pb,{queue:r}),(0,R.jsx)(Db,{query:g??``,commands:u,onSelect:x,visible:_}),(0,R.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,R.jsx)(Ab,{onInsert:C}),i&&(0,R.jsx)(Nb,{onSelect:i,current:a})]}),(0,R.jsx)(`textarea`,{ref:m,rows:1,value:o,disabled:h||c,onChange:e=>s(e.target.value),onKeyDown:S,placeholder:h?`Read-only session`:`Send a message… (/ for commands)`,className:L(`flex-1 resize-none rounded-xl border border-input bg-background`,`px-3 py-2 text-sm leading-5 shadow-sm`,`placeholder:text-muted-foreground`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed`)}),n?(0,R.jsx)(`button`,{onClick:()=>void b(),title:`Stop`,className:`shrink-0 flex items-center justify-center h-9 w-9 rounded-lg bg-destructive text-destructive-foreground hover:bg-destructive/90 transition-colors`,children:(0,R.jsx)(Nt,{className:`h-4 w-4 fill-current`})}):(0,R.jsx)(`button`,{onClick:()=>void y(),disabled:!o.trim()||c||h,title:`Send`,className:L(`shrink-0 flex items-center justify-center h-9 w-9 rounded-lg`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,`disabled:opacity-40 disabled:cursor-not-allowed`),children:(0,R.jsx)(Dt,{className:`h-4 w-4`})})]})]})]})}async function Hb(e){await yc(`/api/approve`,{method:`POST`,body:JSON.stringify(e)})}function Ub({approval:e,onAnswered:t}){let{id:n,request:r}=e,[i,a]=(0,O.useState)(typeof r.questionDefault==`string`?r.questionDefault:``),[o,s]=(0,O.useState)(!1),[c,l]=(0,O.useState)(null),u=async(e,r)=>{s(!0),l(null);try{await Hb({requestId:n,response:{action:e,content:r}}),t()}catch{l(`Failed to submit — try again`)}finally{s(!1)}},d=r.type??`confirm`;return(0,R.jsxs)(`div`,{className:L(`rounded-lg border-2 border-yellow-500/60 bg-yellow-500/5 p-3 text-sm`,`flex flex-col gap-2`),children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(Lt,{className:`h-4 w-4 text-yellow-500 mt-0.5 shrink-0`}),(0,R.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[r.title&&(0,R.jsx)(`p`,{className:`font-semibold text-foreground`,children:r.title}),r.message&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:r.message}),r.description&&(0,R.jsx)(`p`,{className:`text-muted-foreground/80 text-xs mt-0.5`,children:r.description})]}),(0,R.jsx)(`button`,{onClick:()=>void u(`decline`),disabled:o,className:`shrink-0 text-muted-foreground hover:text-foreground`,title:`Dismiss`,children:(0,R.jsx)(Vt,{className:`h-4 w-4`})})]}),d===`text`&&(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),disabled:o,className:L(`flex-1 rounded border border-input bg-background px-2 py-1 text-sm`,`focus:outline-none focus:ring-1 focus:ring-ring`)}),(0,R.jsx)(Wb,{onClick:()=>void u(`accept`,{text:i}),disabled:o,label:`Submit`,variant:`primary`})]}),d===`confirm`&&(0,R.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,R.jsx)(Wb,{onClick:()=>void u(`decline`),disabled:o,label:`No`,variant:`ghost`}),(0,R.jsx)(Wb,{onClick:()=>void u(`accept`),disabled:o,label:`Yes`,variant:`primary`})]}),(d===`choice`||d===`multi_choice`)&&(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:(r.choices??[]).map(e=>(0,R.jsx)(Wb,{onClick:()=>void u(`accept`,{choice:e}),disabled:o,label:e,variant:`outline`},e))}),c&&(0,R.jsx)(`p`,{className:`text-xs text-red-400`,children:c})]})}function Wb({onClick:e,disabled:t,label:n,variant:r}){return(0,R.jsx)(`button`,{onClick:e,disabled:t,className:L(`rounded px-3 py-1 text-xs font-medium transition-colors disabled:opacity-50`,r===`primary`&&`bg-primary text-primary-foreground hover:bg-primary/90`,r===`ghost`&&`text-muted-foreground hover:text-foreground hover:bg-accent`,r===`outline`&&`border border-border hover:bg-accent`),children:n})}function Gb({approvals:e,onDismiss:t}){let[n,r]=(0,O.useState)(new Set),i=e.filter(e=>!n.has(e.id));if(i.length===0)return null;let a=e=>{r(t=>new Set([...t,e])),t?.()};return(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:i.map(e=>(0,R.jsx)(Ub,{approval:e,onAnswered:()=>a(e.id)},e.id))})}function Kb({open:e,onClose:t,children:n}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:L(`fixed inset-0 z-40 bg-black/50 transition-opacity duration-200 md:hidden`,e?`opacity-100 pointer-events-auto`:`opacity-0 pointer-events-none`),onClick:t,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:L(`fixed inset-y-0 left-0 z-50 w-64 bg-sidebar transition-transform duration-200 ease-in-out md:hidden`,e?`translate-x-0`:`-translate-x-full`),role:`dialog`,"aria-modal":`true`,children:n})]})}function qb({onClick:e,className:t}){return(0,R.jsx)(`button`,{onClick:e,className:L(`inline-flex items-center justify-center rounded-md p-2 text-muted-foreground hover:bg-muted hover:text-foreground md:hidden`,t),"aria-label":`Open sidebar`,children:(0,R.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,R.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M4 6h16M4 12h16M4 18h16`})})})}var Jb=(0,O.createContext)(null),Yb={success:`bg-green-600 text-white`,error:`bg-red-600 text-white`,info:`bg-muted text-muted-foreground border border-border`};function Xb({children:e}){let[t,n]=(0,O.useState)([]),r=(0,O.useRef)(0),i=(0,O.useCallback)((e,t=`info`)=>{let i=++r.current;n(n=>[...n.slice(-2),{id:i,message:e,type:t}]),setTimeout(()=>{n(e=>e.filter(e=>e.id!==i))},3e3)},[]);return(0,R.jsxs)(Jb.Provider,{value:{toast:i},children:[e,(0,R.jsx)(`div`,{className:`fixed bottom-4 right-4 z-50 flex flex-col gap-2 pointer-events-none`,"aria-live":`polite`,"aria-label":`Notifications`,children:t.map(e=>(0,R.jsx)(`div`,{className:L(`pointer-events-auto max-w-sm rounded-lg px-4 py-3 text-sm shadow-lg animate-slide-in-right`,Yb[e.type]),children:e.message},e.id))})]})}var Zb=1e4;function Qb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),o=(0,O.useRef)(void 0),s=(0,O.useCallback)(async()=>{try{let e=await yc(`/api/sessions`);t($b(e.sessions)),a(null)}catch(e){a(e instanceof Error?e.message:`Failed to fetch sessions`)}finally{r(!1)}},[]);return(0,O.useEffect)(()=>(s(),o.current=setInterval(()=>void s(),Zb),()=>clearInterval(o.current)),[s]),{sessions:e,loading:n,error:i,refresh:s}}function $b(e){return[...e].sort((e,t)=>{let n=+!!ex(e),r=+!!ex(t);if(n!==r)return r-n;let i=e.updatedAt?new Date(e.updatedAt).getTime():0;return(t.updatedAt?new Date(t.updatedAt).getTime():0)-i})}function ex(e){return e.mode===`live`||e.alive===!0}var tx=1e3;function nx(){let[e,t]=(0,O.useState)([]),n=(0,O.useRef)(void 0),r=(0,O.useCallback)(async()=>{try{let e=await yc(`/api/pending`);t(e.pending)}catch{}},[]);return(0,O.useEffect)(()=>(r(),n.current=setInterval(()=>void r(),tx),()=>clearInterval(n.current)),[r]),{approvals:e,pendingSessionIds:new Set(e.map(e=>e.sessionId).filter(e=>!!e))}}var rx=15e3,ix=500;function ax(e){let t=e.replace(/\r\n/g,`
81
+ `,t);return n===-1?e.length:n+1}return t}function Ty({text:e,isStreaming:t,speed:n=80,onComplete:r}){let i=(0,O.useRef)(0),[a,o]=(0,O.useState)(0),s=(0,O.useRef)(null),c=(0,O.useRef)(null),l=(0,O.useRef)(!1),u=(0,O.useRef)(r);(0,O.useEffect)(()=>{u.current=r},[r]);let d=(0,O.useRef)(n);(0,O.useEffect)(()=>{d.current=n});let f=!t&&i.current===0&&e.length>0,p=(0,O.useCallback)(()=>{if(s.current!==null)return;function n(r){let a=r-(c.current??r);c.current=r;let f=d.current/1e3,p=Math.max(1,Math.floor(f*a)),m=i.current,h=e.length;if(m<h){let t=wy(e,Math.min(m+p,h));i.current=t,o(t)}i.current>=e.length&&!t?(s.current=null,c.current=null,l.current||(l.current=!0,u.current?.())):s.current=requestAnimationFrame(n)}s.current=requestAnimationFrame(n)},[e,t]);(0,O.useEffect)(()=>{if(f)i.current=e.length,o(e.length),l.current||(l.current=!0,u.current?.());else return(i.current<e.length||t)&&p(),()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)}},[e,t,f]);let m=f?e.length:a,h=e.slice(0,m),g=m<e.length||t;return(0,R.jsxs)(`span`,{className:`streaming-text-root`,children:[(0,R.jsx)(xy,{text:h}),g&&(0,R.jsx)(Sy,{})]})}function Ey({kind:e,text:t,className:n}){let[r,i]=(0,O.useState)(!1),a=(0,O.useRef)(null);(0,O.useEffect)(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]);function o(){navigator.clipboard.writeText(t).then(()=>{i(!0),a.current!==null&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),2e3)}).catch(()=>{})}return(0,R.jsx)(`div`,{className:L(`absolute top-1 right-1`,`opacity-0 group-hover:opacity-100 transition-opacity duration-150`,n),children:(0,R.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-card px-1 py-0.5 shadow-sm`,children:e===`assistant`&&(0,R.jsx)(Dy,{onClick:o,title:r?`Copied!`:`Copy`,children:r?(0,R.jsx)(ye,{className:`h-3.5 w-3.5 text-status-running`}):(0,R.jsx)(Ne,{className:`h-3.5 w-3.5`})})})})}function Dy({onClick:e,title:t,children:n}){return(0,R.jsx)(`button`,{type:`button`,onClick:e,title:t,className:`h-6 w-6 rounded flex items-center justify-center hover:bg-secondary text-muted-foreground hover:text-foreground transition-colors`,children:n})}function Oy({text:e}){return(0,R.jsxs)(`div`,{className:`group relative flex flex-col items-end gap-1`,children:[(0,R.jsx)(`span`,{className:`text-[11px] font-medium uppercase tracking-widest text-muted-foreground/50`,children:`You`}),(0,R.jsx)(`p`,{className:`max-w-2xl text-sm leading-relaxed text-foreground whitespace-pre-wrap text-right`,children:e}),(0,R.jsx)(Ey,{kind:`user`,text:e})]})}function ky({text:e,isStreaming:t=!1}){return(0,R.jsxs)(`div`,{className:`group relative flex flex-col gap-1`,children:[(0,R.jsx)(`span`,{className:`text-[11px] font-medium uppercase tracking-widest text-brand/60`,children:`Agent`}),(0,R.jsx)(`div`,{className:`max-w-3xl`,children:t?(0,R.jsx)(Ty,{text:e,isStreaming:!0}):(0,R.jsx)(xy,{text:e})}),(0,R.jsx)(Ey,{kind:`assistant`,text:e})]})}function Ay({message:e}){return(0,R.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-xl border border-destructive/20 bg-destructive/5 px-4 py-3`,children:[(0,R.jsx)(Ce,{className:`mt-0.5 h-4 w-4 shrink-0 text-status-failed`}),(0,R.jsx)(`p`,{className:`text-sm leading-relaxed text-status-failed`,children:e})]})}function jy({text:e}){return(0,R.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border bg-muted/30 px-3 py-2`,children:[(0,R.jsx)($e,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e})]})}function My({item:e}){return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border bg-muted/30 px-3 py-1.5`,children:[(0,R.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`BG`}),(0,R.jsx)(`span`,{className:`text-xs text-foreground`,children:e.label}),(0,R.jsx)(`span`,{className:L(`ml-auto font-mono text-[10px] capitalize`,e.status===`completed`?`text-status-running`:``,e.status===`failed`?`text-status-failed`:``,e.status===`running`?`text-status-blocked`:``),children:e.status})]})}function Ny(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===void 0){n++;continue}if(r.kind!==`subagent`){t.push({kind:`item`,item:r}),n++;continue}let i=[];for(;n<e.length;){let t=e[n];if(t===void 0||t.kind!==`subagent`)break;i.push(t),n++}t.push({kind:`subagent-group`,items:i,id:i[0].id})}return t}function Py(e,t=!1){switch(e.kind){case`user`:return(0,R.jsx)(Oy,{text:e.text});case`assistant`:return(0,R.jsx)(ky,{text:e.text,isStreaming:t});case`thinking`:return(0,R.jsx)(uc,{text:e.text});case`tool`:return(0,R.jsx)(Vc,{...e});case`error`:return(0,R.jsx)(Ay,{message:e.message});case`notice`:return(0,R.jsx)(jy,{text:e.text});case`bg_job`:return(0,R.jsx)(My,{item:e});case`subagent`:return null}}function Fy(e,t=!1){switch(e.kind){case`user`:return(0,R.jsx)(Oy,{text:e.text});case`assistant`:return(0,R.jsx)(ky,{text:e.text,isStreaming:t});case`thinking`:return(0,R.jsx)(uc,{text:e.text});case`error`:return(0,R.jsx)(Ay,{message:e.message});case`notice`:return(0,R.jsx)(jy,{text:e.text});case`bg_job`:return(0,R.jsx)(My,{item:e});default:return null}}function Iy({sessionId:e,...t}){return(0,R.jsx)(Mc.Provider,{value:e??null,children:(0,R.jsx)(Ly,{...t})})}function Ly({items:e,totals:t,spineMode:n=!0,turnActive:r=!1}){let i=(0,O.useMemo)(()=>Ny(e),[e]),a=Al(e),o=(0,O.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(e[t]?.kind===`assistant`)return e[t].id;return null},[e]),s=(0,O.useCallback)((e,t)=>{let n=e.kind===`user`&&t>0,i=r&&e.id===o;return(0,R.jsxs)(`div`,{children:[n&&(0,R.jsx)(`div`,{className:`my-6 border-t border-border/40`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`py-2 px-1`,children:Fy(e,i)})]},e.id)},[r,o]);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-0 max-w-4xl mx-auto w-full`,children:[t&&(0,R.jsx)($c,{totals:t,className:`sticky top-0 z-10 mb-4 rounded-md border border-border bg-card px-3 py-1.5`}),e.length===0?(0,R.jsx)(`p`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`No transcript items yet.`}):n?(0,R.jsx)(kl,{slots:a,renderTextItem:s}):i.map((e,t)=>{if(e.kind===`item`){let{item:n}=e,i=n.kind===`user`&&t>0,a=r&&n.id===o;return(0,R.jsxs)(`div`,{children:[i&&(0,R.jsx)(`div`,{className:`my-6 border-t border-border/40`,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:`py-2 px-1`,children:Py(n,a)})]},n.id)}let n=el(e.items);return(0,R.jsx)(`div`,{className:`py-2 px-1`,children:(0,R.jsx)(Jc,{roots:n})},e.id)})]})}var Ry={preference:`Preference`,convention:`Convention`,decision:`Decision`,learning:`Learning`};function zy({type:e}){return(0,R.jsx)(`span`,{className:L(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,e===`fact`?`bg-blue-500/15 text-blue-400`:`bg-violet-500/15 text-violet-400`),children:e})}function By({category:e}){return e?(0,R.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-zinc-700 text-zinc-300`,children:Ry[e]??e}):null}function Vy({result:e}){let t=e.content.length>200?e.content.slice(0,200)+`…`:e.content,n=e.created_at?new Date(e.created_at).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):null;return(0,R.jsxs)(`div`,{className:`rounded-lg border border-zinc-800 bg-zinc-900 p-3 space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,R.jsx)(zy,{type:e.type}),(0,R.jsx)(By,{category:e.category}),n&&(0,R.jsx)(`span`,{className:`text-xs text-zinc-500 ml-auto`,children:n})]}),(0,R.jsx)(`p`,{className:`text-sm text-zinc-300 leading-relaxed whitespace-pre-wrap break-words`,children:t})]})}function Hy({pct:e,truncated:t}){let n=Math.min(e,100);return(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`div`,{className:`flex-1 h-2 rounded-full bg-zinc-800 overflow-hidden`,children:(0,R.jsx)(`div`,{className:L(`h-full rounded-full transition-all`,e>=100?`bg-red-500`:e>=80?`bg-amber-400`:`bg-accent`),style:{width:`${n}%`}})}),t&&(0,R.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-amber-400/15 text-amber-400`,children:`Truncated`})]})}function Uy({hot:e}){if(!e)return null;let{content:t,usage:n}=e;return(0,R.jsxs)(`section`,{className:`space-y-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-zinc-200`,children:`HOT Memory`}),(0,R.jsxs)(`span`,{className:`text-xs text-zinc-500`,children:[n.tokens.toLocaleString(),` / `,n.maxTokens.toLocaleString(),` tokens`]})]}),(0,R.jsx)(Hy,{pct:n.pct,truncated:n.truncated}),t?(0,R.jsx)(`pre`,{className:`rounded-md border border-zinc-800 bg-zinc-950 p-3 text-xs text-zinc-300 font-mono overflow-x-auto whitespace-pre-wrap max-h-48`,children:t}):(0,R.jsx)(`p`,{className:`text-xs text-zinc-500 italic`,children:`No hot memory loaded.`})]})}var Wy=[{value:``,label:`All Categories`},{value:`preference`,label:`Preference`},{value:`convention`,label:`Convention`},{value:`decision`,label:`Decision`},{value:`learning`,label:`Learning`}];function Gy(){let[e,t]=(0,O.useState)(null),[n,r]=(0,O.useState)(``),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null);(0,O.useEffect)(()=>{yc(`/api/memory/hot`).then(t).catch(()=>{})},[]);let f=(0,O.useCallback)(async e=>{e.preventDefault(),l(!0),d(null);try{let e=new URLSearchParams({q:n,limit:`20`});i&&e.set(`category`,i);let t=await yc(`/api/memory/search?${e.toString()}`);s(t.results)}catch(e){d(e instanceof Error?e.message:`Search failed`)}finally{l(!1)}},[n,i]);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-6 p-4`,children:[(0,R.jsx)(Uy,{hot:e}),(0,R.jsxs)(`section`,{className:`space-y-3`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-zinc-200`,children:`Search Memory`}),(0,R.jsxs)(`form`,{onSubmit:f,className:`flex gap-2 flex-wrap`,children:[(0,R.jsx)(`input`,{type:`text`,value:n,onChange:e=>r(e.target.value),placeholder:`FTS5 query…`,className:`flex-1 min-w-0 rounded-md border border-zinc-700 bg-zinc-900 px-3 py-1.5 text-sm text-zinc-100 placeholder-zinc-500 focus:outline-none focus:ring-1 focus:ring-accent`}),(0,R.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:`rounded-md border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-100 focus:outline-none focus:ring-1 focus:ring-accent`,children:Wy.map(e=>(0,R.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,R.jsx)(`button`,{type:`submit`,disabled:c,className:`rounded-md bg-accent px-3 py-1.5 text-sm font-medium text-white disabled:opacity-50 hover:opacity-90 transition-opacity`,children:c?`Searching…`:`Search`})]}),u&&(0,R.jsx)(`p`,{className:`text-xs text-red-400`,children:u}),o!==null&&(0,R.jsx)(`div`,{className:`space-y-2`,children:o.length===0?(0,R.jsx)(`p`,{className:`text-sm text-zinc-500 italic text-center py-6`,children:`No results found.`}):o.map(e=>(0,R.jsx)(Vy,{result:e},`${e.type}-${e.created_at}-${e.content.slice(0,32)}`))})]})]})}var Ky={success:{label:`Success`,className:`bg-status-done/20 text-status-done border-status-done/30`},error:{label:`Error`,className:`bg-status-failed/20 text-status-failed border-status-failed/30`},skipped:{label:`Skipped`,className:`bg-muted text-muted-foreground border-border`}};function qy(e){if(e<1e3)return`${e}ms`;let t=Math.floor(e/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Jy(e){return new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Yy({schedule:e,onClose:t}){let[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let t=!1;return a(!0),s(null),yc(`/api/schedules/${e.id}/history`).then(e=>{t||r(e.history)}).catch(e=>{t||s(e instanceof Error?e.message:`Failed to load history`)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e.id]),(0,O.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t]),(0,R.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,R.jsxs)(`div`,{className:`flex max-h-[80vh] w-full max-w-lg flex-col rounded-xl border border-border bg-card shadow-xl`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-5 py-4`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{className:`text-sm font-semibold`,children:e.name}),(0,R.jsx)(`p`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:e.cron})]}),(0,R.jsx)(`button`,{onClick:t,className:`flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,"aria-label":`Close`,children:`✕`})]}),(0,R.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-5 py-3`,children:[i&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`Loading history…`}),o&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-status-failed`,children:o}),!i&&!o&&n.length===0&&(0,R.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground`,children:`No runs recorded yet.`}),!i&&!o&&n.length>0&&(0,R.jsx)(`ul`,{className:`space-y-2`,children:n.map((e,t)=>{let n=Ky[e.status];return(0,R.jsxs)(`li`,{className:`flex items-start gap-3 rounded-lg border border-border bg-background/50 px-4 py-3`,children:[(0,R.jsx)(`span`,{className:L(`mt-0.5 shrink-0 rounded-full border px-2 py-0.5 text-xs font-medium`,n.className),children:n.label}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:Jy(e.triggeredAt)}),(0,R.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:qy(e.durationMs)})]}),e.errorMessage&&(0,R.jsx)(`p`,{className:`mt-1 truncate font-mono text-xs text-status-failed`,children:e.errorMessage})]})]},`${e.taskId}-${e.triggeredAt}-${t}`)})})]})]})})}function Xy({status:e}){return e?(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:L(`size-2 rounded-full`,e.running?`animate-pulse bg-status-done`:`bg-status-failed`)}),(0,R.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.running?`Running${e.tasks==null?``:` (${e.tasks} task${e.tasks===1?``:`s`})`}`:`Stopped`})]}):null}function Zy({checked:e,onChange:t,disabled:n}){return(0,R.jsx)(`button`,{role:`switch`,"aria-checked":e,onClick:e=>{e.stopPropagation(),t()},disabled:n,className:L(`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent`,`transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e?`bg-brand`:`bg-muted`),children:(0,R.jsx)(`span`,{className:L(`block size-4 rounded-full bg-white shadow transition-transform`,e?`translate-x-4`:`translate-x-0`)})})}function Qy({schedule:e,onToggle:t,onDelete:n,onShowHistory:r}){let[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(!1),c=async()=>{a(!0),await t(e.id).finally(()=>a(!1))},l=async t=>{t.stopPropagation(),window.confirm(`Delete schedule "${e.name}"? This cannot be undone.`)&&(s(!0),await n(e.id).finally(()=>s(!1)))},u=e.trigger===`both`?`cron + session start`:e.trigger??`cron`;return(0,R.jsxs)(`div`,{className:L(`group flex cursor-pointer flex-col gap-3 rounded-xl border border-border bg-card p-4`,`transition-colors hover:border-brand/40 hover:bg-accent/30`,!e.enabled&&`opacity-60`),onClick:()=>r(e),children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,R.jsx)(`p`,{className:`mt-0.5 font-mono text-xs text-muted-foreground`,children:e.cron})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(Zy,{checked:e.enabled,onChange:()=>{c()},disabled:i}),(0,R.jsx)(`button`,{onClick:l,disabled:o,"aria-label":`Delete schedule ${e.name}`,className:L(`flex size-7 items-center justify-center rounded-md text-muted-foreground`,`opacity-0 transition-opacity group-hover:opacity-100`,`hover:bg-destructive/20 hover:text-status-failed`,`disabled:cursor-not-allowed disabled:opacity-40`),children:`🗑`})]})]}),(0,R.jsx)(`code`,{className:`block truncate rounded-md bg-secondary px-3 py-2 font-mono text-xs text-secondary-foreground`,children:e.command}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 capitalize`,children:u}),e.notifyOn&&e.notifyOn!==`never`&&(0,R.jsxs)(`span`,{className:`rounded bg-muted px-1.5 py-0.5`,children:[`notify: `,e.notifyOn]}),(0,R.jsx)(`span`,{className:`ml-auto`,children:`Click for history`})]})]})}var $y={name:``,command:``,cron:``,trigger:`cron`,notifyOn:`failure`,enabled:!0};function eb({onCreated:e,onCancel:t}){let[n,r]=(0,O.useState)($y),[i,a]=(0,O.useState)(!1),[o,s]=(0,O.useState)(null),c=async t=>{if(t.preventDefault(),s(null),!n.name.trim())s(`Name is required.`);else if(!n.command.trim())s(`Command is required.`);else if(!n.cron.trim())s(`Cron expression is required.`);else{a(!0);try{let t=await yc(`/api/schedules`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});e(t.schedule,t.syncNote)}catch(e){s(e instanceof Error?e.message:`Failed to create schedule.`)}finally{a(!1)}}},l=(e,t)=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground`,children:e}),t]}),u=L(`h-8 rounded-md border border-border bg-card px-3 text-sm`,`placeholder:text-muted-foreground/50`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`);return(0,R.jsxs)(`form`,{onSubmit:e=>{c(e)},className:`flex flex-col gap-4 rounded-xl border border-brand/40 bg-card p-4`,children:[(0,R.jsx)(`p`,{className:`text-sm font-semibold`,children:`New Schedule`}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[l(`Name *`,(0,R.jsx)(`input`,{type:`text`,className:u,placeholder:`e.g. Nightly cleanup`,value:n.name,onChange:e=>r(t=>({...t,name:e.target.value})),required:!0,disabled:i})),l(`Cron expression *`,(0,R.jsx)(`input`,{type:`text`,className:L(u,`font-mono`),placeholder:`0 2 * * *`,value:n.cron,onChange:e=>r(t=>({...t,cron:e.target.value})),required:!0,disabled:i}))]}),l(`Command *`,(0,R.jsx)(`input`,{type:`text`,className:L(u,`font-mono`),placeholder:`/my-skill --auto`,value:n.command,onChange:e=>r(t=>({...t,command:e.target.value})),required:!0,disabled:i})),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[l(`Trigger`,(0,R.jsxs)(`select`,{className:u,value:n.trigger,onChange:e=>r(t=>({...t,trigger:e.target.value})),disabled:i,children:[(0,R.jsx)(`option`,{value:`cron`,children:`cron`}),(0,R.jsx)(`option`,{value:`sessionstart`,children:`session start`}),(0,R.jsx)(`option`,{value:`both`,children:`both`})]})),l(`Notify on`,(0,R.jsxs)(`select`,{className:u,value:n.notifyOn,onChange:e=>r(t=>({...t,notifyOn:e.target.value})),disabled:i,children:[(0,R.jsx)(`option`,{value:`failure`,children:`failure`}),(0,R.jsx)(`option`,{value:`always`,children:`always`}),(0,R.jsx)(`option`,{value:`never`,children:`never`})]})),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsx)(`label`,{className:`text-xs font-medium text-muted-foreground`,children:`Enabled`}),(0,R.jsx)(`div`,{className:`flex h-8 items-center`,children:(0,R.jsx)(Zy,{checked:n.enabled,onChange:()=>r(e=>({...e,enabled:!e.enabled})),disabled:i})})]})]}),o&&(0,R.jsx)(`p`,{className:`rounded-md border border-status-failed/30 bg-status-failed/10 px-3 py-2 text-xs text-status-failed`,children:o}),(0,R.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:t,disabled:i,className:L(`h-8 rounded-md px-3 text-sm text-muted-foreground`,`hover:bg-accent hover:text-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`),children:`Cancel`}),(0,R.jsx)(`button`,{type:`submit`,disabled:i,className:L(`h-8 rounded-md bg-brand px-4 text-sm font-medium text-white`,`hover:bg-brand/90`,`disabled:cursor-not-allowed disabled:opacity-50`),children:i?`Creating…`:`Create`})]})]})}function tb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(!0),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(null),[u,d]=(0,O.useState)(!1),[f,p]=(0,O.useState)(null);(0,O.useEffect)(()=>{let e=!1;return a(!0),s(null),Promise.all([yc(`/api/schedules`),yc(`/api/daemon/status`)]).then(([n,i])=>{e||(t(n.schedules),r(i))}).catch(t=>{e||s(t instanceof Error?t.message:`Failed to load schedules`)}).finally(()=>{e||a(!1)}),()=>{e=!0}},[]);let m=(0,O.useCallback)(async e=>{let n=await yc(`/api/schedules/${e}/toggle`,{method:`POST`});t(t=>t.map(t=>t.id===e?{...t,enabled:n.enabled}:t)),n.syncNote&&(p(n.syncNote),setTimeout(()=>p(null),8e3))},[]),h=(0,O.useCallback)(async e=>{await yc(`/api/schedules/${e}`,{method:`DELETE`}),t(t=>t.filter(t=>t.id!==e))},[]),g=(0,O.useCallback)((e,n)=>{t(t=>[...t,e]),d(!1),n&&(p(n),setTimeout(()=>p(null),8e3))},[]);return i?(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading schedules…`})}):(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4 overflow-y-auto p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`Schedules`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(Xy,{status:n}),(0,R.jsx)(`button`,{onClick:()=>d(e=>!e),className:L(`h-7 rounded-md px-3 text-xs font-medium`,u?`bg-muted text-muted-foreground hover:bg-muted/80`:`bg-brand text-white hover:bg-brand/90`),children:u?`Cancel`:`+ New Schedule`})]})]}),u&&(0,R.jsx)(eb,{onCreated:g,onCancel:()=>d(!1)}),f&&(0,R.jsx)(`p`,{className:`rounded-lg border border-yellow-500/30 bg-yellow-500/10 px-4 py-3 text-sm text-yellow-700 dark:text-yellow-400`,children:f}),o&&(0,R.jsx)(`p`,{className:`rounded-lg border border-status-failed/30 bg-status-failed/10 px-4 py-3 text-sm text-status-failed`,children:o}),!o&&e.length===0&&!u&&(0,R.jsx)(`p`,{className:`mt-8 text-center text-sm text-muted-foreground`,children:`No schedules configured.`}),(0,R.jsx)(`div`,{className:`grid gap-3`,children:e.map(e=>(0,R.jsx)(Qy,{schedule:e,onToggle:m,onDelete:h,onShowHistory:l},e.id))}),c&&(0,R.jsx)(Yy,{schedule:c,onClose:()=>l(null)})]})}function nb(e,t){let n=(t??Date.now())-e;if(n<1e3)return`${n}ms`;let r=Math.floor(n/1e3);if(r<60)return`${r}s`;let i=Math.floor(r/60);return i<60?`${i}m ${r%60}s`:`${Math.floor(i/60)}h ${i%60}m`}function rb(e){let t=Math.floor((Date.now()-e)/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function ib(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}var ab={running:`bg-green-500/20 text-green-400 border border-green-500/30`,completed:`bg-blue-500/20 text-blue-400 border border-blue-500/30`,failed:`bg-red-500/20 text-red-400 border border-red-500/30`,cancelled:`bg-neutral-500/20 text-neutral-400 border border-neutral-500/30`};function ob(e){return e.status!==`running`}function sb({status:e}){return(0,R.jsxs)(`span`,{className:L(`inline-flex items-center gap-1.5 rounded px-1.5 py-0.5 text-xs font-medium`,ab[e]),children:[e===`running`&&(0,R.jsx)(`span`,{className:`size-1.5 rounded-full bg-green-400 animate-pulse`}),e]})}function cb({job:e,now:t,onCancel:n}){let[r,i]=(0,O.useState)(!1),[a,o]=(0,O.useState)(!1),[s,c]=(0,O.useState)(null),l=nb(e.startedAt,e.status===`running`?t:e.endedAt),u=rb(e.startedAt),d=r?M:xe;return(0,R.jsxs)(`div`,{className:`rounded-lg border border-neutral-800 bg-neutral-900 overflow-hidden`,children:[(0,R.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>i(e=>!e),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i(e=>!e))},className:`w-full text-left px-4 py-3 flex flex-col gap-2 hover:bg-neutral-800/50 transition-colors cursor-pointer`,children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,R.jsx)(d,{className:`size-3.5 shrink-0 text-neutral-500`}),(0,R.jsx)(`span`,{className:`text-sm font-medium text-neutral-100 truncate`,children:e.label||e.jobId})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,R.jsx)(sb,{status:e.status}),e.status===`running`&&(0,R.jsxs)(`button`,{type:`button`,onClick:async t=>{t.stopPropagation(),c(null),o(!0);try{await n(e.jobId)}catch(e){c(e instanceof Error?e.message:String(e))}finally{o(!1)}},disabled:a,"aria-label":`Cancel job ${e.jobId}`,className:L(`flex items-center gap-1 rounded px-1.5 py-0.5 text-xs`,`text-neutral-500 hover:text-red-400 hover:bg-red-500/10`,`disabled:opacity-40 transition-colors`),children:[(0,R.jsx)(Vt,{className:`size-3`}),a?`Cancelling…`:`Cancel`]})]})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-neutral-500 pl-5`,children:[(0,R.jsx)(`span`,{className:`font-mono bg-neutral-800 rounded px-1.5 py-0.5 text-neutral-300`,children:ib(e.model)}),(0,R.jsx)(`span`,{children:l}),(0,R.jsx)(`span`,{children:u})]}),(e.status===`failed`||e.status===`cancelled`)&&e.stopReason&&(0,R.jsxs)(`div`,{className:`pl-5 text-xs text-neutral-500`,children:[(0,R.jsx)(`span`,{className:`text-neutral-600`,children:`reason:`}),` `,(0,R.jsx)(`span`,{className:`font-mono text-neutral-400 line-clamp-2`,title:e.stopReason,children:e.stopReason})]}),s&&(0,R.jsx)(`p`,{className:`pl-5 text-xs text-red-400`,title:s,children:s.length>200?s.slice(0,200)+`…`:s})]}),r&&(0,R.jsxs)(`div`,{className:`border-t border-neutral-800 px-4 py-3 bg-neutral-950 grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 text-xs`,children:[(0,R.jsx)(lb,{label:`Job ID`,value:e.jobId,mono:!0}),(0,R.jsx)(lb,{label:`Subagent ID`,value:e.subagentId,mono:!0}),(0,R.jsx)(lb,{label:`Model`,value:e.model,mono:!0}),(0,R.jsx)(lb,{label:`Status`,value:e.status}),(0,R.jsx)(lb,{label:`Started`,value:new Date(e.startedAt).toLocaleString()}),e.endedAt!==void 0&&(0,R.jsx)(lb,{label:`Ended`,value:new Date(e.endedAt).toLocaleString()}),(0,R.jsx)(lb,{label:`Duration`,value:l}),e.parentSessionId&&(0,R.jsx)(lb,{label:`Parent session`,value:e.parentSessionId,mono:!0}),e.stopReason&&(0,R.jsx)(lb,{label:`Stop reason`,value:e.stopReason.length>200?e.stopReason.slice(0,200)+`…`:e.stopReason,mono:!0}),(0,R.jsx)(lb,{label:`Prompt hash`,value:e.promptHash,mono:!0}),(0,R.jsx)(lb,{label:`Schema version`,value:String(e.schemaVersion)})]})]})}function lb({label:e,value:t,mono:n=!1}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-neutral-600 whitespace-nowrap`,children:e}),(0,R.jsx)(`span`,{className:L(`text-neutral-300 break-all`,n&&`font-mono`),children:t})]})}function ub({label:e,count:t}){return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-neutral-500 uppercase tracking-wider`,children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(`span`,{className:`rounded-full bg-neutral-800 px-1.5 py-0.5 text-neutral-400 normal-case`,children:t})]})}function db(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(()=>Date.now()),c=(0,O.useRef)(null),l=(0,O.useCallback)((e=!1)=>{e||r(!0),a(null),yc(`/api/bg-jobs`).then(({jobs:e})=>t([...e].sort((e,t)=>t.startedAt-e.startedAt))).catch(e=>a(e instanceof Error?e.message:String(e))).finally(()=>{e||r(!1)})},[]);(0,O.useEffect)(()=>{l()},[l]),(0,O.useEffect)(()=>{let t=e.some(e=>!ob(e));return t&&!c.current&&(c.current=setInterval(()=>l(!0),5e3)),!t&&c.current&&(clearInterval(c.current),c.current=null),()=>{c.current&&=(clearInterval(c.current),null)}},[e,l]),(0,O.useEffect)(()=>{if(!e.some(e=>!ob(e)))return;let t=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(t)},[e]);let u=(0,O.useCallback)(async e=>{await yc(`/api/bg-jobs/${encodeURIComponent(e)}/cancel`,{method:`POST`}),t(t=>t.map(t=>t.jobId===e?{...t,status:`cancelled`}:t))},[]),d=e.filter(e=>e.status===`running`),f=e.filter(e=>ob(e)),p=e.some(e=>!ob(e));return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-neutral-200`,children:[(0,R.jsx)(pe,{className:`size-4 text-neutral-400`}),`Background Jobs`,p&&(0,R.jsx)(`span`,{className:`text-xs font-normal text-neutral-500`,children:`(auto-refreshing)`})]}),(0,R.jsxs)(`button`,{onClick:()=>l(),disabled:n,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800 disabled:opacity-50 transition-colors`,children:[(0,R.jsx)(Tt,{className:L(`size-3`,n&&`animate-spin`)}),`Refresh`]})]}),i&&(0,R.jsx)(`p`,{className:`rounded border border-red-900/40 bg-red-950/30 px-3 py-2 text-xs text-red-400`,children:i}),!n&&e.length===0&&!i&&(0,R.jsx)(`p`,{className:`text-sm text-neutral-500 text-center py-8`,children:`No background jobs`}),d.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(ub,{label:`Running`,count:d.length}),d.map(e=>(0,R.jsx)(cb,{job:e,now:o,onCancel:u},e.jobId))]}),f.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(ub,{label:`Settled`,count:f.length}),f.map(e=>(0,R.jsx)(cb,{job:e,now:o,onCancel:u},e.jobId))]})]})}var fb=3e3;async function pb(){return(await yc(`/api/handoffs`)).handoffs}async function mb(e,t){await yc(`/api/handoffs/${encodeURIComponent(e)}/answer`,{method:`POST`,body:JSON.stringify({answer:t})})}function hb({handoff:e,onAnswered:t}){let{taskId:n,sessionId:r,createdAt:i,question:a}=e,[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(null),f=(0,O.useCallback)(async e=>{l(!0),d(null);try{await mb(n,e),t(n)}catch(e){e instanceof bc&&e.status===409?d(`This handoff is no longer active (already answered).`):d(`Failed to submit — try again.`)}finally{l(!1)}},[n,t]),p=Array.isArray(a.choices)&&a.choices.length>0,m=a.type??`confirm`,h=p,g=!h&&(m===`confirm`||!a.type)&&m!==`select`&&m!==`choice`,_=(()=>{try{let e=Date.now()-new Date(i).getTime(),t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}catch{return``}})();return(0,R.jsxs)(`div`,{className:L(`rounded-xl border-2 border-yellow-500/60 bg-yellow-500/5 p-4`,`flex flex-col gap-3`),children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(Lt,{className:`mt-0.5 h-4 w-4 shrink-0 text-yellow-500`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Session `,(0,R.jsx)(`span`,{className:`font-mono`,children:r}),_&&(0,R.jsxs)(`span`,{children:[` · `,_]})]}),a.message&&(0,R.jsx)(`p`,{className:`mt-1 text-sm font-medium text-foreground`,children:a.message}),!a.message&&(0,R.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground italic`,children:`(no message)`})]})]}),h&&(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:(a.choices??[]).map((e,t)=>{let n=String(e);return(0,R.jsx)(`button`,{onClick:()=>{f(e)},disabled:c,className:L(`rounded-md border border-border px-3 py-1 text-xs font-medium`,`transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50`),children:n},`${n}-${t}`)})}),g&&(0,R.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,R.jsx)(`button`,{onClick:()=>{f(!1)},disabled:c,className:L(`h-7 rounded-md px-3 text-xs text-muted-foreground`,`hover:bg-accent hover:text-foreground disabled:opacity-50`),children:`No`}),(0,R.jsx)(`button`,{onClick:()=>{f(!0)},disabled:c,className:L(`h-7 rounded-md bg-brand px-3 text-xs font-medium text-white`,`hover:bg-brand/90 disabled:opacity-50`),children:`Yes`})]}),!h&&!g&&(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),disabled:c,placeholder:`Your answer…`,className:L(`flex-1 rounded-md border border-input bg-background px-3 py-1 text-sm`,`placeholder:text-muted-foreground/50`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`),onKeyDown:e=>{e.key===`Enter`&&o.trim()&&f(o.trim())}}),(0,R.jsx)(`button`,{onClick:()=>{f(o.trim())},disabled:c||!o.trim(),className:L(`h-8 rounded-md bg-brand px-3 text-xs font-medium text-white`,`hover:bg-brand/90 disabled:opacity-50`),children:`Submit`})]}),u&&(0,R.jsx)(`p`,{className:`rounded-md border border-status-failed/30 bg-status-failed/10 px-3 py-2 text-xs text-status-failed`,children:u}),(0,R.jsx)(`p`,{className:`font-mono text-[10px] text-muted-foreground/60`,children:n})]})}function gb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(new Set),c=(0,O.useRef)(void 0),l=(0,O.useRef)(!1),u=(0,O.useCallback)(async()=>{if(!l.current){l.current=!0;try{let e=await pb();t(e),a(null)}catch(e){a(e instanceof Error?e.message:`Failed to load handoffs.`)}finally{l.current=!1,r(!1)}}},[]);(0,O.useEffect)(()=>{u();function e(){c.current=setInterval(()=>{u()},fb)}function t(){clearInterval(c.current)}function n(){document.hidden?t():(u(),e())}return document.hidden||e(),document.addEventListener(`visibilitychange`,n),()=>{t(),document.removeEventListener(`visibilitychange`,n)}},[u]);let d=(0,O.useCallback)(e=>{s(t=>new Set([...t,e]))},[]),f=e.filter(e=>!o.has(e.taskId));return n?(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading handoffs…`})}):(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4 overflow-y-auto p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`Pending Handoffs`}),f.length>0&&(0,R.jsxs)(`span`,{className:`rounded-full bg-yellow-500/20 px-2 py-0.5 text-xs font-medium text-yellow-700 dark:text-yellow-400`,children:[f.length,` pending`]})]}),i&&(0,R.jsx)(`p`,{className:`rounded-lg border border-status-failed/30 bg-status-failed/10 px-4 py-3 text-sm text-status-failed`,children:i}),!i&&f.length===0&&(0,R.jsx)(`p`,{className:`mt-8 text-center text-sm text-muted-foreground`,children:`No pending handoffs.`}),(0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:f.map(e=>(0,R.jsx)(hb,{handoff:e,onAnswered:d},e.taskId))})]})}function _b({icon:e,title:t,children:n}){return(0,R.jsxs)(`section`,{className:`space-y-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(e,{className:`size-4 text-muted-foreground`}),(0,R.jsx)(`h2`,{className:`text-sm font-semibold`,children:t})]}),(0,R.jsx)(`div`,{className:`rounded-xl border border-border bg-card`,children:n})]})}function vb({label:e,value:t,mono:n=!1,last:r=!1}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!r&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:e}),(0,R.jsx)(`span`,{className:L(`min-w-0 truncate text-right text-xs`,n?`font-mono text-zinc-300`:`text-zinc-200`),children:t})]})}function yb({model:e,last:t}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!t&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`text-xs text-zinc-200`,children:e.label}),(0,R.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e.id})]})}var bb=[{keys:`⌘K`,description:`Open command palette`},{keys:`⌘1`,description:`Go to Sessions`},{keys:`⌘2`,description:`Go to Memory`},{keys:`⌘3`,description:`Go to Schedules`},{keys:`⌘4`,description:`Go to Background Jobs`}];function xb({keys:e,description:t,last:n}){return(0,R.jsxs)(`div`,{className:L(`flex items-center justify-between gap-4 px-4 py-2.5`,!n&&`border-b border-border`),children:[(0,R.jsx)(`span`,{className:`text-xs text-zinc-200`,children:t}),(0,R.jsx)(`kbd`,{className:`rounded border border-border bg-secondary px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:e})]})}function Sb({status:e}){return e?(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:L(`size-1.5 rounded-full`,e.running?`animate-pulse bg-status-done`:`bg-status-failed`)}),(0,R.jsx)(`span`,{className:L(`text-xs`,e.running?`text-zinc-200`:`text-muted-foreground`),children:e.running?`Running${e.tasks==null?``:` · ${e.tasks} task${e.tasks===1?``:`s`}`}`:`Stopped`})]}):(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`–`})}function Cb(){let[e,t]=(0,O.useState)({config:null,models:null,daemon:null,configError:null,modelsError:null,daemonError:null});(0,O.useEffect)(()=>{let e=!1,n=e=>e instanceof Error?e.message:`Failed to load`;return Promise.all([yc(`/api/config`).then(e=>({ok:!0,config:e}),e=>({ok:!1,error:n(e)})),yc(`/api/models`).then(e=>({ok:!0,models:e.models}),e=>({ok:!1,error:n(e)})),yc(`/api/daemon/status`).then(e=>({ok:!0,daemon:e}),e=>({ok:!1,error:n(e)}))]).then(([n,r,i])=>{e||t({config:n.ok?n.config:null,configError:n.ok?null:n.error,models:r.ok?r.models:null,modelsError:r.ok?null:r.error,daemon:i.ok?i.daemon:null,daemonError:i.ok?null:i.error})}).catch(()=>{}),()=>{e=!0}},[]);let n=e.config,r=(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Loading…`});return(0,R.jsxs)(`div`,{className:`flex flex-1 flex-col gap-6 overflow-y-auto p-4`,children:[(0,R.jsxs)(_b,{icon:$e,title:`About`,children:[(0,R.jsx)(vb,{label:`AFK version`,value:n?n.version:r,mono:!0}),(0,R.jsx)(vb,{label:`Node.js`,value:n?n.nodeVersion:r,mono:!0}),(0,R.jsx)(vb,{label:`App`,value:`AFK Dashboard`,last:!0})]}),(0,R.jsxs)(_b,{icon:Fe,title:`Model`,children:[(0,R.jsx)(vb,{label:`Default model`,value:n?n.model:r,mono:!0}),e.modelsError?(0,R.jsx)(`div`,{className:`px-4 py-3 text-xs text-status-failed`,children:e.modelsError}):e.models===null?(0,R.jsx)(vb,{label:`Available tiers`,value:r,last:!0}):e.models.length===0?(0,R.jsx)(vb,{label:`Available tiers`,value:`None listed`,last:!0}):e.models.map((t,n)=>(0,R.jsx)(yb,{model:t,last:n===(e.models?.length??0)-1},t.id))]}),(0,R.jsxs)(_b,{icon:qe,title:`Paths`,children:[(0,R.jsx)(vb,{label:`AFK home`,value:n?n.afkHome:r,mono:!0}),(0,R.jsx)(vb,{label:`State dir`,value:n?n.stateDir:r,mono:!0}),(0,R.jsx)(vb,{label:`Config dir`,value:n?n.configDir:r,mono:!0,last:!0})]}),(0,R.jsxs)(_b,{icon:Ze,title:`Web Server`,children:[(0,R.jsx)(vb,{label:`Host`,value:n?n.webHost:r,mono:!0}),(0,R.jsx)(vb,{label:`Port`,value:n?String(n.webPort):r,mono:!0}),(0,R.jsx)(vb,{label:`Daemon`,value:(0,R.jsx)(Sb,{status:e.daemon})}),!e.daemonError&&(0,R.jsx)(vb,{label:`Tasks scheduled`,value:e.daemon?.tasks==null?`–`:String(e.daemon.tasks),last:!0}),e.daemonError&&(0,R.jsx)(vb,{label:`Daemon error`,value:e.daemonError,last:!0})]}),(0,R.jsx)(_b,{icon:tt,title:`Keyboard Shortcuts`,children:bb.map((e,t)=>(0,R.jsx)(xb,{keys:e.keys,description:e.description,last:t===bb.length-1},e.keys))})]})}function wb(e){return e.startsWith(`/`)?e.slice(1):e}function Tb(e){return`/${wb(e)}`}function Eb(e,t){return wb(e).startsWith(wb(t))}function Db({query:e,commands:t,onSelect:n,visible:r}){let[i,a]=(0,O.useState)(0),o=(0,O.useRef)(null),s=t.filter(t=>Eb(t.name,e)).slice(0,8);return(0,O.useEffect)(()=>{a(0)},[e]),(0,O.useEffect)(()=>{(o.current?.children[i])?.scrollIntoView({block:`nearest`})},[i]),!r||s.length===0?null:(0,R.jsx)(`ul`,{ref:o,role:`listbox`,"aria-label":`Slash commands`,className:L(`absolute bottom-full left-0 mb-1 w-full max-h-56 overflow-y-auto`,`rounded-lg border border-border bg-popover shadow-lg z-50`,`text-sm`),children:s.map((e,t)=>(0,R.jsxs)(`li`,{role:`option`,"aria-selected":t===i,className:L(`flex items-baseline gap-2 px-3 py-2 cursor-pointer select-none`,t===i?`bg-accent text-accent-foreground`:`hover:bg-accent/50`),onMouseEnter:()=>a(t),onMouseDown:t=>{t.preventDefault(),n(e.name)},children:[(0,R.jsx)(`span`,{className:`font-mono font-semibold shrink-0`,children:Tb(e.name)}),(0,R.jsx)(`span`,{className:`text-muted-foreground truncate`,children:e.summary})]},e.name))})}function Ob(e,t,n,r,i,a,o){return!t||n===0?!1:e.key===`ArrowDown`?(i((r+1)%n),!0):e.key===`ArrowUp`?(i((r-1+n)%n),!0):e.key===`Enter`?(a(r),!0):e.key===`Escape`&&(o(),!0)}function kb(e){let t=e.trim();return t?t.startsWith(`/`)||t.startsWith(`./`)||t.startsWith(`~/`)||/^[\w.]/.test(t):!1}function Ab({onInsert:e}){let[t,n]=(0,O.useState)(!1),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(!1),s=(0,O.useRef)(null),c=(0,O.useRef)(null),l=(0,O.useRef)(null),u=(0,O.useCallback)(()=>{n(!1),o(!1),i(``)},[]),d=(0,O.useCallback)(()=>{let t=r.trim();kb(t)?(e(`@${t}`),u()):(o(!0),s.current?.focus())},[r,e,u]);return(0,O.useEffect)(()=>{t&&requestAnimationFrame(()=>s.current?.focus())},[t]),(0,O.useEffect)(()=>{if(!t)return;function e(e){let t=e.target;c.current&&!c.current.contains(t)&&l.current&&!l.current.contains(t)&&u()}return document.addEventListener(`click`,e,{capture:!0}),()=>document.removeEventListener(`click`,e,{capture:!0})},[t,u]),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(`button`,{ref:l,type:`button`,onClick:()=>t?u():n(!0),"aria-label":`Insert file reference`,"aria-expanded":t,className:L(`flex h-8 w-8 items-center justify-center rounded-md text-sm`,`transition-colors hover:bg-accent hover:text-accent-foreground`,t&&`bg-accent text-accent-foreground`),title:`Insert @file reference`,children:(0,R.jsx)(Ge,{className:`h-4 w-4`})}),t&&(0,R.jsxs)(`div`,{ref:c,role:`dialog`,"aria-label":`Insert file path`,className:L(`absolute bottom-full left-0 mb-2 w-72 rounded-lg border`,`bg-popover p-3 shadow-lg animate-fade-in`),children:[(0,R.jsxs)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:[`Type a file path. `,(0,R.jsx)(`code`,{className:`text-[10px]`,children:`@~/file.ts`}),` or`,` `,(0,R.jsx)(`code`,{className:`text-[10px]`,children:`@src/file.ts`})]}),(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{ref:s,type:`text`,value:r,onChange:e=>{i(e.target.value),o(!1)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),d()),e.key===`Escape`&&u()},placeholder:`src/foo.ts or ~/file.ts`,autoComplete:`off`,spellCheck:!1,className:L(`flex-1 rounded-md border bg-secondary px-2 py-1 text-sm`,`placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring`,a&&`border-destructive`)}),(0,R.jsx)(`button`,{type:`button`,onClick:d,className:L(`rounded-md bg-primary px-3 py-1 text-sm font-medium`,`text-primary-foreground hover:bg-primary/90`),children:`Add`})]}),a&&(0,R.jsx)(`p`,{className:`mt-1 text-xs text-destructive`,children:`Enter a valid file path.`})]})]})}var jb=[{id:`sonnet`,label:`Sonnet`},{id:`haiku`,label:`Haiku`},{id:`opus`,label:`Opus`}],Mb=`sonnet`;function Nb({onSelect:e,current:t,className:n}){let[r,i]=(0,O.useState)(jb),a=(0,O.useRef)(!1);(0,O.useEffect)(()=>{let e=!1;return yc(`/api/models`).then(t=>{!e&&t.models.length>0&&i(t.models)}).catch(()=>{}),()=>{e=!0}},[]);let o=t??Mb;(0,O.useEffect)(()=>{a.current||(a.current=!0,e(o))},[e,o]);let s=(0,O.useCallback)(t=>{e(t.target.value)},[e]);return(0,R.jsxs)(`div`,{className:L(`relative inline-flex items-center`,n),children:[(0,R.jsx)(`select`,{value:o,onChange:s,"aria-label":`Model`,className:L(`appearance-none rounded-md border bg-secondary pl-2 pr-7 py-1`,`text-xs font-medium text-secondary-foreground`,`cursor-pointer focus:outline-none focus:ring-1 focus:ring-ring`),children:r.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,R.jsx)(M,{className:`pointer-events-none absolute right-1.5 h-3 w-3 text-muted-foreground`})]})}function Pb({queue:e}){let{entries:t,moveItemUp:n,moveItemDown:r,removeItem:i,editItem:a}=e;return t.length===0?null:(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-border/50 px-3 py-2`,children:[(0,R.jsxs)(`p`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:[`Queued (`,t.length,`)`]}),t.map((e,o)=>(0,R.jsx)(Fb,{text:e.text,isFirst:o===0,isLast:o===t.length-1,onMoveUp:()=>n(o),onMoveDown:()=>r(o),onRemove:()=>i(o),onEdit:e=>a(o,e)},e.id))]})}function Fb({text:e,isFirst:t,isLast:n,onMoveUp:r,onMoveDown:i,onRemove:a,onEdit:o}){let[s,c]=(0,O.useState)(!1),[l,u]=(0,O.useState)(e),d=(0,O.useRef)(null);(0,O.useEffect)(()=>{s&&d.current?.focus()},[s]);let f=(0,O.useCallback)(()=>{u(e),c(!0)},[e]),p=(0,O.useCallback)(()=>{let t=l.trim();t&&t!==e&&o(t),c(!1)},[l,e,o]),m=(0,O.useCallback)(()=>{c(!1),u(e)},[e]);return(0,R.jsxs)(`div`,{className:L(`group flex items-center gap-1.5 rounded-md border border-border/50`,`bg-secondary/50 px-2 py-1 text-sm animate-fade-in`),children:[s?(0,R.jsx)(`input`,{ref:d,type:`text`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&p(),e.key===`Escape`&&m()},onBlur:p,className:L(`min-w-0 flex-1 bg-transparent text-sm`,`focus:outline-none`)}):(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/80`,children:e}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 opacity-60 group-hover:opacity-100`,children:[s?(0,R.jsx)(Ib,{label:`Confirm edit`,onClick:p,children:(0,R.jsx)(ye,{className:`h-3 w-3`})}):(0,R.jsx)(Ib,{label:`Edit`,onClick:f,children:(0,R.jsx)(_t,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Move up`,onClick:r,disabled:t,children:(0,R.jsx)(A,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Move down`,onClick:i,disabled:n,children:(0,R.jsx)(ie,{className:`h-3 w-3`})}),(0,R.jsx)(Ib,{label:`Remove`,onClick:a,destructive:!0,children:(0,R.jsx)(Vt,{className:`h-3 w-3`})})]})]})}function Ib({label:e,onClick:t,disabled:n,destructive:r,children:i}){return(0,R.jsx)(`button`,{type:`button`,onClick:t,disabled:n,"aria-label":e,title:e,className:L(`flex h-5 w-5 items-center justify-center rounded`,`transition-colors`,n?`cursor-not-allowed opacity-30`:r?`hover:bg-destructive/20 hover:text-destructive`:`hover:bg-accent hover:text-accent-foreground`),children:i})}var Lb=null;function Rb(){Lb=null}async function zb(){return Lb||(Lb=(await yc(`/api/commands`)).commands,Lb)}function Bb(e){return e.startsWith(`/`)&&e.indexOf(` `)===-1?e.slice(1):null}function Vb({sessionId:e,sessionMode:t,isBusy:n,queue:r,onModelSelect:i,currentModel:a}){let[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)([]),[f,p]=(0,O.useState)(0),m=(0,O.useRef)(null),h=t===`readonly`,g=Bb(o),_=g!==null&&u.length>0,v=_?u.filter(e=>Eb(e.name,g)).slice(0,8):[];(0,O.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&Rb()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),(0,O.useEffect)(()=>{let e=m.current;if(!e)return;e.style.height=`auto`;let t=(parseInt(getComputedStyle(e).lineHeight)||20)*5;e.style.height=`${Math.min(e.scrollHeight,t)}px`},[o]),(0,O.useEffect)(()=>{g!==null&&zb().then(d).catch(()=>void 0)},[g]);let y=(0,O.useCallback)(async()=>{let t=o.trim();if(!(!t||c||h)){l(!0);try{await yc(`/api/sessions/${e}/prompt`,{method:`POST`,body:JSON.stringify({text:t})}),s(``)}catch{}finally{l(!1)}}},[o,c,h,e]),b=(0,O.useCallback)(async()=>{try{await yc(`/api/sessions/${e}/interrupt`,{method:`POST`})}catch{}},[e]),x=(0,O.useCallback)(e=>{s(`${Tb(e)} `),p(0),m.current?.focus()},[]),S=(0,O.useCallback)(e=>{if(Ob(e,_,v.length,f,p,e=>{let t=v[e];t&&x(t.name)},()=>s(e=>e)))e.preventDefault();else if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),n&&r){let e=o.trim();e&&(r.enqueue(e),s(``))}else y()}},[_,v,f,x,y,n,o,r]),C=(0,O.useCallback)(e=>{let t=m.current;if(!t){s(t=>t+` `+e+` `);return}let n=t.selectionStart??t.value.length,r=t.selectionEnd??n,i=t.value.slice(0,n),a=t.value.slice(r),o=i.length>0&&!/\s$/.test(i)?` `:``,c=i+o+e+` `+a;s(c),requestAnimationFrame(()=>{let r=n+o.length+e.length+1;t.setSelectionRange(r,r),t.focus()})},[]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`pointer-events-none h-8 bg-gradient-to-t from-background/80 to-transparent`}),(0,R.jsxs)(`div`,{className:L(`relative flex flex-col gap-2`,`border-t border-border/50 px-4 py-3`,`backdrop-blur-xl bg-background/80`,`shadow-[0_-4px_16px_-4px_rgba(0,0,0,0.1)]`,h&&`opacity-50`),children:[r&&(0,R.jsx)(Pb,{queue:r}),(0,R.jsx)(Db,{query:g??``,commands:u,onSelect:x,visible:_}),(0,R.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,R.jsx)(Ab,{onInsert:C}),i&&(0,R.jsx)(Nb,{onSelect:i,current:a})]}),(0,R.jsx)(`textarea`,{ref:m,rows:1,value:o,disabled:h||c,onChange:e=>s(e.target.value),onKeyDown:S,placeholder:h?`Read-only session`:`Send a message… (/ for commands)`,className:L(`flex-1 resize-none rounded-xl border border-input bg-background`,`px-3 py-2 text-sm leading-5 shadow-sm`,`placeholder:text-muted-foreground`,`focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed`)}),n?(0,R.jsx)(`button`,{onClick:()=>void b(),title:`Stop`,className:`shrink-0 flex items-center justify-center h-9 w-9 rounded-lg bg-destructive text-destructive-foreground hover:bg-destructive/90 transition-colors`,children:(0,R.jsx)(Nt,{className:`h-4 w-4 fill-current`})}):(0,R.jsx)(`button`,{onClick:()=>void y(),disabled:!o.trim()||c||h,title:`Send`,className:L(`shrink-0 flex items-center justify-center h-9 w-9 rounded-lg`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,`disabled:opacity-40 disabled:cursor-not-allowed`),children:(0,R.jsx)(Dt,{className:`h-4 w-4`})})]})]})]})}async function Hb(e){await yc(`/api/approve`,{method:`POST`,body:JSON.stringify(e)})}function Ub({approval:e,onAnswered:t}){let{id:n,request:r}=e,[i,a]=(0,O.useState)(typeof r.questionDefault==`string`?r.questionDefault:``),[o,s]=(0,O.useState)(!1),[c,l]=(0,O.useState)(null),u=async(e,r)=>{s(!0),l(null);try{await Hb({requestId:n,response:{action:e,content:r}}),t()}catch{l(`Failed to submit — try again`)}finally{s(!1)}},d=r.type??`confirm`;return(0,R.jsxs)(`div`,{className:L(`rounded-lg border-2 border-yellow-500/60 bg-yellow-500/5 p-3 text-sm`,`flex flex-col gap-2`),children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(Lt,{className:`h-4 w-4 text-yellow-500 mt-0.5 shrink-0`}),(0,R.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[r.title&&(0,R.jsx)(`p`,{className:`font-semibold text-foreground`,children:r.title}),r.message&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:r.message}),r.description&&(0,R.jsx)(`p`,{className:`text-muted-foreground/80 text-xs mt-0.5`,children:r.description})]}),(0,R.jsx)(`button`,{onClick:()=>void u(`decline`),disabled:o,className:`shrink-0 text-muted-foreground hover:text-foreground`,title:`Dismiss`,children:(0,R.jsx)(Vt,{className:`h-4 w-4`})})]}),d===`text`&&(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[(0,R.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),disabled:o,className:L(`flex-1 rounded border border-input bg-background px-2 py-1 text-sm`,`focus:outline-none focus:ring-1 focus:ring-ring`)}),(0,R.jsx)(Wb,{onClick:()=>void u(`accept`,{text:i}),disabled:o,label:`Submit`,variant:`primary`})]}),d===`confirm`&&(0,R.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,R.jsx)(Wb,{onClick:()=>void u(`decline`),disabled:o,label:`No`,variant:`ghost`}),(0,R.jsx)(Wb,{onClick:()=>void u(`accept`),disabled:o,label:`Yes`,variant:`primary`})]}),(d===`choice`||d===`multi_choice`)&&(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:(r.choices??[]).map(e=>(0,R.jsx)(Wb,{onClick:()=>void u(`accept`,{choice:e}),disabled:o,label:e,variant:`outline`},e))}),c&&(0,R.jsx)(`p`,{className:`text-xs text-red-400`,children:c})]})}function Wb({onClick:e,disabled:t,label:n,variant:r}){return(0,R.jsx)(`button`,{onClick:e,disabled:t,className:L(`rounded px-3 py-1 text-xs font-medium transition-colors disabled:opacity-50`,r===`primary`&&`bg-primary text-primary-foreground hover:bg-primary/90`,r===`ghost`&&`text-muted-foreground hover:text-foreground hover:bg-accent`,r===`outline`&&`border border-border hover:bg-accent`),children:n})}function Gb({approvals:e,onDismiss:t}){let[n,r]=(0,O.useState)(new Set),i=e.filter(e=>!n.has(e.id));if(i.length===0)return null;let a=e=>{r(t=>new Set([...t,e])),t?.()};return(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:i.map(e=>(0,R.jsx)(Ub,{approval:e,onAnswered:()=>a(e.id)},e.id))})}function Kb({open:e,onClose:t,children:n}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:L(`fixed inset-0 z-40 bg-black/50 transition-opacity duration-200 md:hidden`,e?`opacity-100 pointer-events-auto`:`opacity-0 pointer-events-none`),onClick:t,"aria-hidden":`true`}),(0,R.jsx)(`div`,{className:L(`fixed inset-y-0 left-0 z-50 w-64 bg-sidebar transition-transform duration-200 ease-in-out md:hidden`,e?`translate-x-0`:`-translate-x-full`),role:`dialog`,"aria-modal":`true`,children:n})]})}function qb({onClick:e,className:t}){return(0,R.jsx)(`button`,{onClick:e,className:L(`inline-flex items-center justify-center rounded-md p-2 text-muted-foreground hover:bg-muted hover:text-foreground md:hidden`,t),"aria-label":`Open sidebar`,children:(0,R.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:(0,R.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M4 6h16M4 12h16M4 18h16`})})})}var Jb=(0,O.createContext)(null),Yb={success:`bg-green-600 text-white`,error:`bg-red-600 text-white`,info:`bg-muted text-muted-foreground border border-border`};function Xb({children:e}){let[t,n]=(0,O.useState)([]),r=(0,O.useRef)(0),i=(0,O.useCallback)((e,t=`info`)=>{let i=++r.current;n(n=>[...n.slice(-2),{id:i,message:e,type:t}]),setTimeout(()=>{n(e=>e.filter(e=>e.id!==i))},3e3)},[]);return(0,R.jsxs)(Jb.Provider,{value:{toast:i},children:[e,(0,R.jsx)(`div`,{className:`fixed bottom-4 right-4 z-50 flex flex-col gap-2 pointer-events-none`,"aria-live":`polite`,"aria-label":`Notifications`,children:t.map(e=>(0,R.jsx)(`div`,{className:L(`pointer-events-auto max-w-sm rounded-lg px-4 py-3 text-sm shadow-lg animate-slide-in-right`,Yb[e.type]),children:e.message},e.id))})]})}var Zb=1e4;function Qb(){let[e,t]=(0,O.useState)([]),[n,r]=(0,O.useState)(!0),[i,a]=(0,O.useState)(null),o=(0,O.useRef)(void 0),s=(0,O.useCallback)(async()=>{try{let e=await yc(`/api/sessions`);t($b(e.sessions)),a(null)}catch(e){a(e instanceof Error?e.message:`Failed to fetch sessions`)}finally{r(!1)}},[]);return(0,O.useEffect)(()=>(s(),o.current=setInterval(()=>void s(),Zb),()=>clearInterval(o.current)),[s]),{sessions:e,loading:n,error:i,refresh:s}}function $b(e){return[...e].sort((e,t)=>{let n=+!!ex(e),r=+!!ex(t);if(n!==r)return r-n;let i=e.updatedAt?new Date(e.updatedAt).getTime():0;return(t.updatedAt?new Date(t.updatedAt).getTime():0)-i})}function ex(e){return e.mode===`live`||e.alive===!0}var tx=1e3;function nx(){let[e,t]=(0,O.useState)([]),n=(0,O.useRef)(void 0),r=(0,O.useCallback)(async()=>{try{let e=await yc(`/api/pending`);t(e.pending)}catch{}},[]);return(0,O.useEffect)(()=>(r(),n.current=setInterval(()=>void r(),tx),()=>clearInterval(n.current)),[r]),{approvals:e,pendingSessionIds:new Set(e.map(e=>e.sessionId).filter(e=>!!e))}}var rx=15e3,ix=500;function ax(e){let t=e.replace(/\r\n/g,`
82
82
  `).split(`
83
83
 
84
84
  `),n=t.pop()??``,r=[];for(let e of t){if(e.trim()===``)continue;let t,n;for(let r of e.split(`